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 .

Recommend


More recommend