comparing temporal graphs
play

Comparing Temporal Graphs with Time Warping Malte Renken - PowerPoint PPT Presentation

0/18 Comparing Temporal Graphs with Time Warping Malte Renken Algorithmics and Computational Complexity, TU Berlin, Germany 8. July 2019 Joint work with Vincent Froese, Brijnesh Jain and Rolf Niedermeier. 1/18 Temporal Graphs t t t t


  1. 0/18 Comparing Temporal Graphs with Time Warping Malte Renken Algorithmics and Computational Complexity, TU Berlin, Germany 8. July 2019 Joint work with Vincent Froese, Brijnesh Jain and Rolf Niedermeier.

  2. 1/18 Temporal Graphs t t t t G G G G

  3. 1/18 Temporal Graphs t t G G G G t = 1 t = 2

  4. 1/18 Temporal Graphs t G G G G t = 1 t = 2 t = 3

  5. 1/18 Temporal Graphs G G G G t = 1 t = 2 t = 3 t = 4

  6. 1/18 Temporal Graphs G 1 G 2 G 3 G 4 t = 1 t = 2 t = 3 t = 4

  7. 1/18 Temporal Graphs G 1 G 2 G 3 G 4 t = 1 t = 2 t = 3 t = 4 G

  8. 2/18

  9. 2/18 H H H O C H C H C N C N H C H C C N N O H C H H

  10. 3/18

  11. 4/18 ? ∼ =

  12. 5/18 Main Question How can we measure the similarity / distance between two temporal graphs G , H ?

  13. C M G H 6/18 A w v M v w M min dist G H label of v labels of v ’s neighbors v Example vertex signatures: M B C A Graph distance using vertex signatures B C A A H C B A A C B A A G all maximal matchings between the two vertex sets

  14. C M G H 6/18 Graph distance using vertex signatures w v M v w M min dist G H Example vertex signatures: M B C A A B C A A H C B A A C B A A G all maximal matchings between the two vertex sets σ ( v ) = ( label of v , labels of v ’s neighbors )

  15. C M G H 6/18 Graph distance using vertex signatures w v M v w M min dist G H Example vertex signatures: M B C A A B C A A H C B A A C B A A G all maximal matchings between the two vertex sets σ ( v ) = ( label of v , labels of v ’s neighbors )

  16. 6/18 A M min Example vertex signatures: M B C Graph distance using vertex signatures A B C A A B G A H A all maximal matchings between the two vertex sets C A A B C σ ( v ) = ( label of v , labels of v ’s neighbors ) � dist ( G , H ) = � σ ( v ) − σ ( w ) � ( v , w ) ∈ M � �� � C M ( G , H )

  17. 6/18 A Example vertex signatures: M B C A Graph distance using vertex signatures B C A A H A C G A all maximal matchings between the two vertex sets B C A A B σ ( v ) = ( label of v , labels of v ’s neighbors ) � dist ( G , H ) = min � σ ( v ) − σ ( w ) � M ∈M ( v , w ) ∈ M � �� � C M ( G , H )

  18. 7/18 Graph distance using vertex signatures Jouili and Tabbone (GbRPR 2009). Computation in cubic time using Jonker-Volgenant (or Hungarian). dist ( G , H ) = min M ∈M C M ( G , H )

  19. 7/18 Graph distance using vertex signatures Computation in cubic time using Jonker-Volgenant (or Hungarian). dist ( G , H ) = min M ∈M C M ( G , H ) ◮ Jouili and Tabbone (GbRPR 2009).

  20. 7/18 Graph distance using vertex signatures (or Hungarian). dist ( G , H ) = min M ∈M C M ( G , H ) ◮ Jouili and Tabbone (GbRPR 2009). ◮ Computation in cubic time using Jonker-Volgenant

  21. 8/18 Time Warping lifetimes. Even worse, they can have difgerent (non-homogeneous) time scales. Solution: Time warping — assign each layer to the other one it resembles most (no crossings allowed!). Problem: The two temporal graphs may have difgerent

  22. 8/18 Time Warping lifetimes. Even worse, they can have difgerent (non-homogeneous) time scales. Solution: Time warping — assign each layer to the other one it resembles most (no crossings allowed!). Problem: The two temporal graphs may have difgerent G

  23. 8/18 Time Warping lifetimes. Even worse, they can have difgerent (non-homogeneous) time scales. Solution: Time warping — assign each layer to the other one it resembles most (no crossings allowed!). Problem: The two temporal graphs may have difgerent G H

  24. 8/18 Time Warping lifetimes. Even worse, they can have difgerent (non-homogeneous) time scales. Solution: Time warping — assign each layer to the other one it resembles most (no crossings allowed!). Problem: The two temporal graphs may have difgerent G H

  25. 9/18 dtgw-distance program in quadratic time … Good news: Time warping can be solved by a dynamic all time warpings between the two layer sets u t W t u min W min Bad news: … if all pairwise distances are known in advance. dist ( G , H ) = C M ( G ) , H M ∈M

  26. 9/18 dtgw-distance min all time warpings between the two layer sets Good news: Time warping can be solved by a dynamic program in quadratic time … Bad news: … if all pairwise distances are known in advance. � dtgw-dist ( G , H ) = min C M ( G t , H u ) M ∈M W ∈W ( t , u ) ∈ W

  27. 9/18 dtgw-distance min all time warpings between the two layer sets Good news: Time warping can be solved by a dynamic program in quadratic time … Bad news: … if all pairwise distances are known in advance. � dtgw-dist ( G , H ) = min C M ( G t , H u ) M ∈M W ∈W ( t , u ) ∈ W

  28. 9/18 dtgw-distance min all time warpings between the two layer sets Good news: Time warping can be solved by a dynamic program in quadratic time … Bad news: … if all pairwise distances are known in advance. � dtgw-dist ( G , H ) = min C M ( G t , H u ) M ∈M W ∈W ( t , u ) ∈ W

  29. 10/18 Pairwise distances G H

  30. 10/18 Pairwise distances G H

  31. 10/18 Pairwise distances G H

  32. 10/18 Pairwise distances G H

  33. 10/18 Pairwise distances G H

  34. 10/18 Pairwise distances G H

  35. 10/18 Pairwise distances G H

  36. 11/18 time warping vertex-vertex distances layer-layer distances vertex matching required for

  37. … and probably 1 impossible in 12/18 Hardness o #vertices #layers dtgw-dist … even if you limit the time warping to be “nice” … even if your graphs have maximum degree one. But … … you can check in polynomial time whether dtgw-dist . 1 assuming ETH ◮ Computing dtgw-dist ( G , H ) is NP-hard …

  38. 12/18 Hardness … even if you limit the time warping to be “nice” … even if your graphs have maximum degree one. But … … you can check in polynomial time whether dtgw-dist . 1 assuming ETH ◮ Computing dtgw-dist ( G , H ) is NP-hard … ◮ … and probably 1 impossible in 2 o ( #vertices + #layers + dtgw-dist )

  39. 12/18 Hardness … even if your graphs have maximum degree one. But … … you can check in polynomial time whether dtgw-dist . 1 assuming ETH ◮ Computing dtgw-dist ( G , H ) is NP-hard … ◮ … and probably 1 impossible in 2 o ( #vertices + #layers + dtgw-dist ) ◮ … even if you limit the time warping to be “nice”

  40. 12/18 Hardness But … … you can check in polynomial time whether dtgw-dist . 1 assuming ETH ◮ Computing dtgw-dist ( G , H ) is NP-hard … ◮ … and probably 1 impossible in 2 o ( #vertices + #layers + dtgw-dist ) ◮ … even if you limit the time warping to be “nice” ◮ … even if your graphs have maximum degree one.

  41. 12/18 Hardness But … … you can check in polynomial time whether dtgw-dist . 1 assuming ETH ◮ Computing dtgw-dist ( G , H ) is NP-hard … ◮ … and probably 1 impossible in 2 o ( #vertices + #layers + dtgw-dist ) ◮ … even if you limit the time warping to be “nice” ◮ … even if your graphs have maximum degree one.

  42. 12/18 Hardness But … 1 assuming ETH ◮ Computing dtgw-dist ( G , H ) is NP-hard … ◮ … and probably 1 impossible in 2 o ( #vertices + #layers + dtgw-dist ) ◮ … even if you limit the time warping to be “nice” ◮ … even if your graphs have maximum degree one. ◮ … you can check in polynomial time whether dtgw-dist ( G , H ) = 0 .

  43. 13/18 Testing for dtgw-dist ( G , H ) = 0 G H

  44. 13/18 Testing for dtgw-dist ( G , H ) = 0 G H

  45. 13/18 Testing for dtgw-dist ( G , H ) = 0 G H

  46. 13/18 Testing for dtgw-dist ( G , H ) = 0 G H

  47. 13/18 Testing for dtgw-dist ( G , H ) = 0 G H

  48. 13/18 Testing for dtgw-dist ( G , H ) = 0 G H

  49. 14/18 Heuristic time warping vertex-vertex distances layer-layer distances vertex matching required for Make an educated guess on one of these and start cycling.

  50. 14/18 Heuristic time warping vertex-vertex distances layer-layer distances vertex matching required for Make an educated guess on one of these and start cycling.

  51. 15/18 Heuristic Make an educated guess on one of these and start cycling. Usually reaches a stable state after 2–5 rounds. Depends surprisingly little on your initial guess. Seems to produce good results.

  52. 15/18 Heuristic Make an educated guess on one of these and start cycling. Depends surprisingly little on your initial guess. Seems to produce good results. ◮ Usually reaches a stable state after 2–5 rounds.

  53. 15/18 Heuristic Make an educated guess on one of these and start cycling. Seems to produce good results. ◮ Usually reaches a stable state after 2–5 rounds. ◮ Depends surprisingly little on your initial guess.

  54. 15/18 Heuristic Make an educated guess on one of these and start cycling. ◮ Usually reaches a stable state after 2–5 rounds. ◮ Depends surprisingly little on your initial guess. ◮ Seems to produce good results.

  55. 16/18 Experiment: Noise 2. Make multiple copies of each. 3. Add up to 30% noise (change edges, delete layers) . 4. Compute all pairwise distances with v deg v . Result 2 sociopatterns.org 1. Take a couple of real world temporal graphs 2 .

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend