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

comparing temporal graphs
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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.

slide-2
SLIDE 2

1/18

Temporal Graphs

t t t t G G G G

slide-3
SLIDE 3

1/18

Temporal Graphs

t = 1 t = 2 t t G G G G

slide-4
SLIDE 4

1/18

Temporal Graphs

t = 1 t = 2 t = 3 t G G G G

slide-5
SLIDE 5

1/18

Temporal Graphs

t = 1 t = 2 t = 3 t = 4 G G G G

slide-6
SLIDE 6

1/18

Temporal Graphs

t = 1 t = 2 t = 3 t = 4 G1 G2 G3 G4

slide-7
SLIDE 7

1/18

Temporal Graphs

t = 1 t = 2 t = 3 t = 4 G1 G2 G3 G4

G

slide-8
SLIDE 8

2/18

slide-9
SLIDE 9

2/18

N N N N C C C C C C C C O O H H H H H H H H H H

slide-10
SLIDE 10

3/18

slide-11
SLIDE 11

4/18

?

∼ =

slide-12
SLIDE 12

5/18

Main Question

How can we measure the similarity / distance between two temporal graphs G, H?

slide-13
SLIDE 13

6/18

Graph distance using vertex signatures

G

A A B C A A B C

H

A A C B A A C B M Example vertex signatures: v label of v labels of v’s neighbors dist G H min

M v w M

v w CM G H

all maximal matchings between the two vertex sets

slide-14
SLIDE 14

6/18

Graph distance using vertex signatures

G

A A B C A A B C

H

A A C B A A C B M Example vertex signatures: σ(v) = (label of v, labels of v’s neighbors) dist G H min

M v w M

v w CM G H

all maximal matchings between the two vertex sets

slide-15
SLIDE 15

6/18

Graph distance using vertex signatures

G

A A B C A A B C

H

A A C B A A C B M Example vertex signatures: σ(v) = (label of v, labels of v’s neighbors) dist G H min

M v w M

v w CM G H

all maximal matchings between the two vertex sets

slide-16
SLIDE 16

6/18

Graph distance using vertex signatures

G

A A B C A A B C

H

A A C B A A C B M Example vertex signatures: σ(v) = (label of v, labels of v’s neighbors) dist(G, H) = min

M

  • (v,w)∈M

σ(v) − σ(w)

  • CM(G, H)

all maximal matchings between the two vertex sets

slide-17
SLIDE 17

6/18

Graph distance using vertex signatures

G

A A B C A A B C

H

A A C B A A C B M Example vertex signatures: σ(v) = (label of v, labels of v’s neighbors) dist(G, H) = min

M∈M

  • (v,w)∈M

σ(v) − σ(w)

  • CM(G, H)

all maximal matchings between the two vertex sets

slide-18
SLIDE 18

7/18

Graph distance using vertex signatures

dist(G, H) = min

M∈M CM(G, H)

Jouili and Tabbone (GbRPR 2009). Computation in cubic time using Jonker-Volgenant (or Hungarian).

slide-19
SLIDE 19

7/18

Graph distance using vertex signatures

dist(G, H) = min

M∈M CM(G, H)

◮ Jouili and Tabbone (GbRPR 2009). Computation in cubic time using Jonker-Volgenant (or Hungarian).

slide-20
SLIDE 20

7/18

Graph distance using vertex signatures

dist(G, H) = min

M∈M CM(G, H)

◮ Jouili and Tabbone (GbRPR 2009). ◮ Computation in cubic time using Jonker-Volgenant (or Hungarian).

slide-21
SLIDE 21

8/18

Time Warping

Problem: The two temporal graphs may have difgerent lifetimes. Even worse, they can have difgerent (non-homogeneous) time scales. Solution: Time warping — assign each layer to the other

  • ne it resembles most (no crossings allowed!).
slide-22
SLIDE 22

8/18

Time Warping

Problem: The two temporal graphs may have difgerent lifetimes. Even worse, they can have difgerent (non-homogeneous) time scales.

G

Solution: Time warping — assign each layer to the other

  • ne it resembles most (no crossings allowed!).
slide-23
SLIDE 23

8/18

Time Warping

Problem: The two temporal graphs may have difgerent lifetimes. Even worse, they can have difgerent (non-homogeneous) time scales.

G H

Solution: Time warping — assign each layer to the other

  • ne it resembles most (no crossings allowed!).
slide-24
SLIDE 24

8/18

Time Warping

Problem: The two temporal graphs may have difgerent lifetimes. Even worse, they can have difgerent (non-homogeneous) time scales.

G H

Solution: Time warping — assign each layer to the other

  • ne it resembles most (no crossings allowed!).
slide-25
SLIDE 25

9/18

dtgw-distance

dist(G, H) = min

W

min

M∈M t u W

CM(G

t

, H

u

)

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.

slide-26
SLIDE 26

9/18

dtgw-distance

dtgw-dist(G, H) = min

W ∈W

min

M∈M

  • (t,u)∈W

CM(Gt, Hu)

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.

slide-27
SLIDE 27

9/18

dtgw-distance

dtgw-dist(G, H) = min

W ∈W

min

M∈M

  • (t,u)∈W

CM(Gt, Hu)

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.

slide-28
SLIDE 28

9/18

dtgw-distance

dtgw-dist(G, H) = min

W ∈W

min

M∈M

  • (t,u)∈W

CM(Gt, Hu)

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.

slide-29
SLIDE 29

10/18

Pairwise distances

G H

slide-30
SLIDE 30

10/18

Pairwise distances

G H

slide-31
SLIDE 31

10/18

Pairwise distances

G H

slide-32
SLIDE 32

10/18

Pairwise distances

G H

slide-33
SLIDE 33

10/18

Pairwise distances

G H

slide-34
SLIDE 34

10/18

Pairwise distances

G H

slide-35
SLIDE 35

10/18

Pairwise distances

G H

slide-36
SLIDE 36

11/18

time warping vertex-vertex distances layer-layer distances vertex matching

required for

slide-37
SLIDE 37

12/18

Hardness

◮ Computing dtgw-dist(G, H) is NP-hard … … and probably1 impossible in

  • #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 .

1assuming ETH

slide-38
SLIDE 38

12/18

Hardness

◮ Computing dtgw-dist(G, H) is NP-hard … ◮ … and probably1 impossible in 2o(#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 .

1assuming ETH

slide-39
SLIDE 39

12/18

Hardness

◮ Computing dtgw-dist(G, H) is NP-hard … ◮ … and probably1 impossible in 2o(#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 .

1assuming ETH

slide-40
SLIDE 40

12/18

Hardness

◮ Computing dtgw-dist(G, H) is NP-hard … ◮ … and probably1 impossible in 2o(#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 .

1assuming ETH

slide-41
SLIDE 41

12/18

Hardness

◮ Computing dtgw-dist(G, H) is NP-hard … ◮ … and probably1 impossible in 2o(#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 .

1assuming ETH

slide-42
SLIDE 42

12/18

Hardness

◮ Computing dtgw-dist(G, H) is NP-hard … ◮ … and probably1 impossible in 2o(#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(G, H) = 0.

1assuming ETH

slide-43
SLIDE 43

13/18

Testing for dtgw-dist(G, H) = 0

G H

slide-44
SLIDE 44

13/18

Testing for dtgw-dist(G, H) = 0

G H

slide-45
SLIDE 45

13/18

Testing for dtgw-dist(G, H) = 0

G H

slide-46
SLIDE 46

13/18

Testing for dtgw-dist(G, H) = 0

G H

slide-47
SLIDE 47

13/18

Testing for dtgw-dist(G, H) = 0

G H

slide-48
SLIDE 48

13/18

Testing for dtgw-dist(G, H) = 0

G H

slide-49
SLIDE 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.

slide-50
SLIDE 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.

slide-51
SLIDE 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.

slide-52
SLIDE 52

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.

slide-53
SLIDE 53

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.

slide-54
SLIDE 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.

slide-55
SLIDE 55

16/18

Experiment: Noise

  • 1. Take a couple of real world temporal graphs2.
  • 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

2sociopatterns.org

slide-56
SLIDE 56

16/18

Experiment: Noise

  • 1. Take a couple of real world temporal graphs2.
  • 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

2sociopatterns.org

slide-57
SLIDE 57

16/18

Experiment: Noise

  • 1. Take a couple of real world temporal graphs2.
  • 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

2sociopatterns.org

slide-58
SLIDE 58

16/18

Experiment: Noise

  • 1. Take a couple of real world temporal graphs2.
  • 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

2sociopatterns.org

slide-59
SLIDE 59

16/18

Experiment: Noise

  • 1. Take a couple of real world temporal graphs2.
  • 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

2sociopatterns.org

slide-60
SLIDE 60

17/18

Experiment: De-anonymization

  • 1. Vertices: People at a conference.
  • 2. Two temporal graphs:

2.1 A: edges = face-to-face contacts 2.2 B: edges = proximity

  • 3. Compute dtgw-distance.
  • 4. Look at the vertex matching.

Result

86% of people correctly identifjed, using only v deg v . Robust against misaligned times.

slide-61
SLIDE 61

17/18

Experiment: De-anonymization

  • 1. Vertices: People at a conference.
  • 2. Two temporal graphs:

2.1 A: edges = face-to-face contacts 2.2 B: edges = proximity

  • 3. Compute dtgw-distance.
  • 4. Look at the vertex matching.

Result

86% of people correctly identifjed, using only v deg v . Robust against misaligned times.

slide-62
SLIDE 62

17/18

Experiment: De-anonymization

  • 1. Vertices: People at a conference.
  • 2. Two temporal graphs:

2.1 A: edges = face-to-face contacts 2.2 B: edges = proximity

  • 3. Compute dtgw-distance.
  • 4. Look at the vertex matching.

Result

86% of people correctly identifjed, using only v deg v . Robust against misaligned times.

slide-63
SLIDE 63

17/18

Experiment: De-anonymization

  • 1. Vertices: People at a conference.
  • 2. Two temporal graphs:

2.1 A: edges = face-to-face contacts 2.2 B: edges = proximity

  • 3. Compute dtgw-distance.
  • 4. Look at the vertex matching.

Result

86% of people correctly identifjed, using only v deg v . Robust against misaligned times.

slide-64
SLIDE 64

17/18

Experiment: De-anonymization

  • 1. Vertices: People at a conference.
  • 2. Two temporal graphs:

2.1 A: edges = face-to-face contacts 2.2 B: edges = proximity

  • 3. Compute dtgw-distance.
  • 4. Look at the vertex matching.

Result

◮ 86% of people correctly identifjed, using only σ(v) = deg(v). Robust against misaligned times.

slide-65
SLIDE 65

17/18

Experiment: De-anonymization

  • 1. Vertices: People at a conference.
  • 2. Two temporal graphs:

2.1 A: edges = face-to-face contacts 2.2 B: edges = proximity

  • 3. Compute dtgw-distance.
  • 4. Look at the vertex matching.

Result

◮ 86% of people correctly identifjed, using only σ(v) = deg(v). ◮ Robust against misaligned times.

slide-66
SLIDE 66

18/18

DTGW-distance

…can help you compare structures that change over time (aka temporal graphs). …is very hard in theory but mostly easy in practice.

Open questions

Is “dtgw-dist d” decidable in f d poly ? Can you fjnd approximation algorithms with guaranteed approximation quality? Which vertex signatures work best in difgerent settings?

slide-67
SLIDE 67

18/18

DTGW-distance

◮ …can help you compare structures that change over time (aka temporal graphs). …is very hard in theory but mostly easy in practice.

Open questions

Is “dtgw-dist d” decidable in f d poly ? Can you fjnd approximation algorithms with guaranteed approximation quality? Which vertex signatures work best in difgerent settings?

slide-68
SLIDE 68

18/18

DTGW-distance

◮ …can help you compare structures that change over time (aka temporal graphs). ◮ …is very hard in theory but mostly easy in practice.

Open questions

Is “dtgw-dist d” decidable in f d poly ? Can you fjnd approximation algorithms with guaranteed approximation quality? Which vertex signatures work best in difgerent settings?

slide-69
SLIDE 69

18/18

DTGW-distance

◮ …can help you compare structures that change over time (aka temporal graphs). ◮ …is very hard in theory but mostly easy in practice.

Open questions

Is “dtgw-dist d” decidable in f d poly ? Can you fjnd approximation algorithms with guaranteed approximation quality? Which vertex signatures work best in difgerent settings?

slide-70
SLIDE 70

18/18

DTGW-distance

◮ …can help you compare structures that change over time (aka temporal graphs). ◮ …is very hard in theory but mostly easy in practice.

Open questions

◮ Is “dtgw-dist(G, H) ≤ d” decidable in f (d) · poly(G, H)? Can you fjnd approximation algorithms with guaranteed approximation quality? Which vertex signatures work best in difgerent settings?

slide-71
SLIDE 71

18/18

DTGW-distance

◮ …can help you compare structures that change over time (aka temporal graphs). ◮ …is very hard in theory but mostly easy in practice.

Open questions

◮ Is “dtgw-dist(G, H) ≤ d” decidable in f (d) · poly(G, H)? ◮ Can you fjnd approximation algorithms with guaranteed approximation quality? Which vertex signatures work best in difgerent settings?

slide-72
SLIDE 72

18/18

DTGW-distance

◮ …can help you compare structures that change over time (aka temporal graphs). ◮ …is very hard in theory but mostly easy in practice.

Open questions

◮ Is “dtgw-dist(G, H) ≤ d” decidable in f (d) · poly(G, H)? ◮ Can you fjnd approximation algorithms with guaranteed approximation quality? ◮ Which vertex signatures work best in difgerent settings?