Graph Stories in Small Area 27th Int. Symposium on Graph Drawing and - - PowerPoint PPT Presentation

graph stories in small area
SMART_READER_LITE
LIVE PREVIEW

Graph Stories in Small Area 27th Int. Symposium on Graph Drawing and - - PowerPoint PPT Presentation

Graph Stories in Small Area 27th Int. Symposium on Graph Drawing and Network Visualization (GD 2019) Manuel Borrazzo, Giordano Da Lozzo , Fabrizio Frati, Maurizio Patrignani D EPARTMENT OF E NGINEERING R OMA T RE U NIVERSITY GD19 - Graph


slide-1
SLIDE 1

GD’19 - Graph Stories in Small Area GD’19 - Graph Stories in Small Area

Graph Stories in Small Area

27th Int. Symposium on Graph Drawing and Network Visualization (GD 2019)

DEPARTMENT OF ENGINEERING · ROMA TRE UNIVERSITY

GD’19 - Graph Stories in Small Area

Manuel Borrazzo, Giordano Da Lozzo, Fabrizio Frati, Maurizio Patrignani

slide-2
SLIDE 2

GD’19 - Graph Stories in Small Area

Graph stories

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

W n n + W

slide-3
SLIDE 3

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

1 W n n + W

slide-4
SLIDE 4

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

1 2 W n n + W edge (1, 2) bw vertices of G that exist at the same time

slide-5
SLIDE 5

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

1 2 3 W n n + W

slide-6
SLIDE 6

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

2 3 4

  • ne vertex is

born and one dies W < t ≤ n W n n + W

slide-7
SLIDE 7

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

3 4 5

  • ne vertex is

born and one dies W < t ≤ n W n n + W

slide-8
SLIDE 8

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

4 5 6

  • ne vertex is

born and one dies W < t ≤ n W n n + W

slide-9
SLIDE 9

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

5 6 7

  • ne vertex is

born and one dies W < t ≤ n W n n + W

slide-10
SLIDE 10

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

6 7 8

  • ne vertex is

born and one dies W < t ≤ n W n n + W

slide-11
SLIDE 11

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W vertices

  • nly die

t > n

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

7 8

  • ne vertex is

born and one dies W < t ≤ n W n n + W

slide-12
SLIDE 12

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W vertices

  • nly die

t > n

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

8

  • ne vertex is

born and one dies W < t ≤ n W n n + W

slide-13
SLIDE 13

GD’19 - Graph Stories in Small Area

Graph stories

vertices are

  • nly born

t ≤ W vertices

  • nly die

t > n

G

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10 11 time

W = 3 Graphs that change over time:

◮ vertices enter the graph one after the other, at discrete time instants ◮ each persists in the graph for a fixed amount of time W (window size)

  • ne vertex is

born and one dies W < t ≤ n W n n + W

slide-14
SLIDE 14

GD’19 - Graph Stories in Small Area

Graph stories

G

τ(

) = 1

τ(

) = 2

τ(

) = 3

τ(

) = 4

τ(

) = 5

τ(

) = 6

τ(

) = 7

τ(

) = 8

Definition 1

A graph story is a triple G, τ, W

◮ G = (V, E) is a graph ◮ a bijection τ : V ↔ {1, . . . , |V|} ◮ W is a positive integer

vertex v appears in G at time τ(v) vertex v leaves G at time τ(v) + W

W = 3

1 2 3 4 5 6 7 8

v e r t i c e s t i m e

slide-15
SLIDE 15

GD’19 - Graph Stories in Small Area

Graph stories

G

τ(

) = 1

τ(

) = 2

τ(

) = 3

τ(

) = 4

τ(

) = 5

τ(

) = 6

τ(

) = 7

τ(

) = 8 Gt := the subgraph of G induced by Vt = {v ∈ V : t−W < τ(v) ≤ t} G5

Definition 1

A graph story is a triple G, τ, W

◮ G = (V, E) is a graph ◮ a bijection τ : V ↔ {1, . . . , |V|} ◮ W is a positive integer

vertex v appears in G at time τ(v) vertex v leaves G at time τ(v) + W

W = 3

1 2 3 4 5 6 7 8

v e r t i c e s t i m e

fixed lifetime ≃ sliding window

slide-16
SLIDE 16

GD’19 - Graph Stories in Small Area

Graph stories

G

τ(

) = 1

τ(

) = 2

τ(

) = 3

τ(

) = 4

τ(

) = 5

τ(

) = 6

τ(

) = 7

τ(

) = 8 Gt := the subgraph of G induced by Vt = {v ∈ V : t−W < τ(v) ≤ t} G6

Definition 1

A graph story is a triple G, τ, W

◮ G = (V, E) is a graph ◮ a bijection τ : V ↔ {1, . . . , |V|} ◮ W is a positive integer

vertex v appears in G at time τ(v) vertex v leaves G at time τ(v) + W

W = 3

1 2 3 4 5 6 7 8

v e r t i c e s t i m e

fixed lifetime ≃ sliding window

slide-17
SLIDE 17

GD’19 - Graph Stories in Small Area

Graph stories

Definition 1

A graph story is a triple G, τ, W

◮ G = (V, E) is a graph ◮ a bijection τ : V ↔ {1, . . . , |V|} ◮ W is a positive integer

, , , , ,

G3 G4 G5 G6 vertex v appears in G at time τ(v) vertex v leaves G at time τ(v) + W

G1, G2, . . . , GW−1, GW , . . . , Gn, Gn+1, . . . , Gn+W−1

size < W size < W size = W sequence =

slide-18
SLIDE 18

GD’19 - Graph Stories in Small Area

Drawing stories (of graph stories)

Definition 2

A drawing story for G, τ, W is a sequence Γ = Γ1, Γ2, . . . , Γn+W−1 such that:

◮ Γt is a drawing of Gt ◮ if v ∈ V(Gi) ∩ V(Gj), then v is in the same position in Γi and in Γj ◮ if e ∈ E(Gi) ∩ E(Gj), then e is represented by the same curve in Γi and in Γj

i.e., Γ = Γ1, Γ2, . . . , Γn+W−1 is a SEFE of G1, G2, . . . , Gn+W−1 Benefit: preserve the user’s mental map through the sequence

slide-19
SLIDE 19

GD’19 - Graph Stories in Small Area

Drawing stories (of graph stories)

Our focus: drawings stories that are planar, straight-line (→ SGE), and on the grid A graph story G, τ, W may admit such drawing stories even if G is not planar For instance, if W=3 just place the vertices in general positions on a grid

slide-20
SLIDE 20

GD’19 - Graph Stories in Small Area

Drawing stories (of graph stories)

A graph story G, τ, W always admits such drawing stories if G is planar Our focus: drawings stories that are planar, straight-line (→ SGE), and on the grid A graph story G, τ, W may admit such drawing stories even if G is not planar A naive approach would produce drawing stories on the O(n) × O(n) grid (de Fraysseix, Pach and Pollack, Schnyder, . . . ) For instance, if W=3 just place the vertices in general positions on a grid this may result in unnecessarily large drawings

slide-21
SLIDE 21

GD’19 - Graph Stories in Small Area

Drawing stories in small area

RESULTS: We studied (straight-line planar grid) drawing stories of planar graph stories with the goal of producing drawing stories Γ = Γ1, Γ2, . . . , Γn+W−1 such that each Γt ∈ Γ has an area that is a function of W, not of n

slide-22
SLIDE 22

GD’19 - Graph Stories in Small Area

Drawing stories in small area

Theorem 1 [Planar Graph Stories]

There are n-vertex planar graph stories whose every drawing story lies on an Ω(n) × Ω(n) grid

Theorem 2 [Path Stories]

Any n-vertex path story P, τ, W admits a drawing story that lies on a 2W × 2W grid, which is computable in O(n) time

Theorem 3 [Tree Stories]

Any n-vertex tree story T, τ, W admits a drawing story that lies on an (8W + 1) × (8W + 1) grid, which is computable in O(n) time

We studied (straight-line planar grid) drawing stories of planar graph stories with the goal of producing drawing stories Γ = Γ1, Γ2, . . . , Γn+W−1 such that each Γt ∈ Γ has an area that is a function of W, not of n

slide-23
SLIDE 23

GD’19 - Graph Stories in Small Area

Tree stories

Dendrological Gardens, Pruhonice

slide-24
SLIDE 24

GD’19 - Graph Stories in Small Area

Tree stories: bucketing

Key idea: vertices are assigned to buckets according to τ

B1 B2 B3 B4 B5

τ

  • 1

( 1 )

τ

  • 1

( 2 )

τ

  • 1

( W )

τ

  • 1

( n )

τ

  • 1

( 2 W )

τ

  • 1

(

n W

)

buckets time Theorem 3 [Tree Stories]

Any n-vertex tree story T, τ, W admits a drawing story that lies on an (8W +1) × (8W +1) grid, which is computable in O(n) time

◮ v ∈ Bi iff i = ⌊ τ(v)

W ⌋

slide-25
SLIDE 25

GD’19 - Graph Stories in Small Area

Tree stories: bucketing

Key idea: vertices are assigned to buckets according to τ

B1 B2 B3 B4 B5

τ

  • 1

( 1 )

τ

  • 1

( 2 )

τ

  • 1

( W )

τ

  • 1

( n )

τ

  • 1

( 2 W )

τ

  • 1

(

n W

)

buckets time Theorem 3 [Tree Stories]

Any n-vertex tree story T, τ, W admits a drawing story that lies on an (8W +1) × (8W +1) grid, which is computable in O(n) time a b c d

◮ intra-bucket edges: a, b ∈ Bi ◮ inter-bucket edges: c ∈ Bi, d ∈ Bj, with i = j ◮ v ∈ Bi iff i = ⌊ τ(v)

W ⌋

slide-26
SLIDE 26

GD’19 - Graph Stories in Small Area

Tree stories: bucketing

Key idea: vertices are assigned to buckets according to τ

B1 B2 B3 B4 B5

τ

  • 1

( 1 )

τ

  • 1

( 2 )

τ

  • 1

( W )

τ

  • 1

( n )

τ

  • 1

( 2 W )

τ

  • 1

(

n W

)

buckets time Theorem 3 [Tree Stories]

Any n-vertex tree story T, τ, W admits a drawing story that lies on an (8W +1) × (8W +1) grid, which is computable in O(n) time

B1 B2 B3 B4 B5

buckets Gt

t = 7 i = ⌈ 7

4 ⌉ = 2

Property 1

For any t = 1, 2, . . . , n + W − 1, let i = ⌈ t

W⌉. Then Gt is a subgraph of T[Bi−1 ∪ Bi].

slide-27
SLIDE 27

GD’19 - Graph Stories in Small Area

Tree stories: strategy

Theorem 3 [Tree Stories]

Any n-vertex tree story T, τ, W admits a drawing story that lies on an (8W +1) × (8W +1) grid, which is computable in O(n) time

◮ partition V(T) into buckets B1, . . . , B⌈ n

W ⌉

High-level Strategy:

◮ draw T s.t. forests T[Bi ∪ Bi+1] are straight-line

planar on an (8W +1) × (8W +1) grid

  • T[Bi] is a forest

Property 1 Gt is a subgraph of T[Bi−1 ∪ Bi], with i = ⌈ t

W ⌉

slide-28
SLIDE 28

GD’19 - Graph Stories in Small Area

Tree Stories: requirements

8W + 1 8W + 1 can only fit O(W 2) vertices Requirement 1: For n >> W, we need a strategy for reusing space Requirement 2: Since we construct the drawing story for G, τ, W by drawing the forests T[B1 ∪ B2], T[B2 ∪ B3], . . . , T[B⌈ n

W ⌉−1 ∪ B⌈ n W ⌉] independently, we need these drawings to

coincide on their shared vertices

◮ i.e., the drawings for T[Bi ∪ Bi+1] and T[Bi+1 ∪ Bi+2] should induce the same drawing

  • f T[Bi+1]
slide-29
SLIDE 29

GD’19 - Graph Stories in Small Area

Tree Stories

A childish idea: Give me a pinwheel and I will draw your trees!! Drawing Γ′ of T[Bi ∪ Bi+1] Drawing Γ′′ of T[Bi+1 ∪ Bi+2] Bi+1 Bi+1 Bi+1 Bi+1 Bi Bi+2 Bi+2 Bi

◮ we construct special drawings of the forests T[Bi ∪ Bi+1]’s that wrap around the origin ◮ all trees of T[Bj] are drawn close to one of the axis ◮ trees from T[Bj] and T[Bj+2] will reuse the same drawing space ◮ the drawing of the T[Bj]’s must provide strong visibility properties for inter-bucket edges

How to meet the requirements:

slide-30
SLIDE 30

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

Phase 1:

|j − 1| > 1 ⇒ |τ(u) − τ(v)| > W

u ∈ Bj v ∈ Bj

T, τ, W

T B1 B2 B3 B4

|j − 1| = 1

u ∈ Bj v ∈ Bj

1/5

b) remove from T edges between non-consecutive buckets (never visualized) a) assign each vertex to the bucket Bi it belongs to

slide-31
SLIDE 31

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

Phase 1:

|j − 1| > 1 ⇒ |τ(u) − τ(v)| > W

u ∈ Bj v ∈ Bj

T, τ, W

T B1 B2 B3 B4

|j − 1| = 1

u ∈ Bj v ∈ Bj

1/5

b) remove from T edges between non-consecutive buckets (never visualized) a) assign each vertex to the bucket Bi it belongs to

slide-32
SLIDE 32

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

|j − 1| > 1 ⇒ |τ(u) − τ(v)| > W

u ∈ Bj v ∈ Bj

T, τ, W

T B1 B2 B3 B4

|j − 1| = 1

u ∈ Bj v ∈ Bj

2/5

Phase 2: - add inter- or intra-bucket edges to reconnect T, while ensuring that the new intra-bucket edges only connect consecutive buckets

slide-33
SLIDE 33

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

|j − 1| > 1 ⇒ |τ(u) − τ(v)| > W

u ∈ Bj v ∈ Bj

T, τ, W

T B1 B2 B3 B4

|j − 1| = 1

u ∈ Bj v ∈ Bj

2/5

Phase 2: - add inter- or intra-bucket edges to reconnect T, while ensuring that the new intra-bucket edges only connect consecutive buckets pertinent components: maximal connected component of vertices in the same bucket Bi

slide-34
SLIDE 34

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

T, τ, W

T B1 B2 B3 B4 r(T) Phase 3: - root T at a vertex in a pertinent component of B1 R1 R2 R3 R4 R5

  • assign pertinent components to sets Ri’s based on “distance” from the root

each set Ri defines a forest of rooted trees

3/5

Property 2

The children of a vertex v ∈ Ri are either in Ri or in Ri+1

v v′ v′′

slide-35
SLIDE 35

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

T, τ, W

T B1 B2 B3 B4 r(T) R1 R2 R3 R4 R5 each set Ri defines a forest of rooted trees Phase 4: - turn T into an (rooted) ordered tree such that: left-to-right order of the children of v ∈ Ri: children in Ri ≺ children in Ri+1

4/5

v p(v) p(u) (recall Property 2) u

slide-36
SLIDE 36

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

T, τ, W

T B1 B2 B3 B4 r(T) R1 R2 R3 R4 R5 each set Ri defines a forest of rooted trees Phase 4: - turn T into an (rooted) ordered tree such that: left-to-right order of the children of v ∈ Ri: children in Ri ≺ children in Ri+1

4/5

v p(v) p(u) (recall Property 2) u

slide-37
SLIDE 37

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

T, τ, W

T B1 B2 B3 B4 r(T) R1 R2 R3 R4 R5 each set Ri defines a forest of rooted trees Phase 4: - turn T into an (rooted) ordered tree such that: left-to-right order of the children of v ∈ Ri: children in Ri ≺ children in Ri+1

4/5

v p(v) p(u) (recall Property 2) u each set Ri defines a forest

  • f rooted ordered trees
slide-38
SLIDE 38

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

Phase 5: - define rooted ordered forests for each Bi, i.e, lists of rooted ordered trees P1

1

P5

2

P2

2

P3

6

P5

1

P6

2

P3

2

P4

2

r(T) R1 R2 R3 R4 R5 R6 R7 R8 R9 P4

3

P1

2

P1

3

P2

3

P3

3

P1

4

P5

3

P2

4

P3

4

P2

1

P3

1

P4

1

Forests for the semi-axis:

5/5

Fi Fi Fi+1 Fi+1

goal: establish which component is close to which semi-axis and in which order contain all the pertinent components of Bi in the set Rj with

Fi Fi Fi Fi

j ≡ 1 mod 4 j ≡ 3 mod 4 j ≡ 2 mod 4 j ≡ 0 mod 4

slide-39
SLIDE 39

GD’19 - Graph Stories in Small Area

Algorithm’s Phases

Phase 5: - define rooted ordered forests for each Bi, i.e, lists of rooted ordered trees P1

1

P5

2

P2

2

P3

6

P5

1

P6

2

P3

2

P4

2

r(T) R1 R2 R3 R4 R5 R6 R7 R8 R9 P4

3

P1

2

P1

3

P2

3

P3

3

P1

4

P5

3

P2

4

P3

4

P2

1

P3

1

P4

1

P2

1

P3

1

P5

1

, ,

5/5

F1

= special ordering: 1. primarily, according to the ordering of the Ri’s

  • 2. within the same Ri, according to a counter-clockwise Eulerian tour of T

goal: establish which component is close to which semi-axis and in which order

slide-40
SLIDE 40

GD’19 - Graph Stories in Small Area

  • ,
  • ,
  • , and
  • Drawings of Rooted Ordered Forests

Definition 4

T1 (0, 4W) T2

F1

Let F = T1, T2, . . . , Tk be a list of rooted ordered trees, with a total of m ≤ W vertices. A

  • drawing Γ of F is a planar straight-line strictly-upward strictly-leftward order-

preserving grid drawing of F on the (4W +1)×(4W +1) grid with special visibility properties

  • drawing of

Γ

2W 2W + 2 4W

Geometric Visibility 1) does not intersect Γ in its interior 2) contains the segment [(2W,0),(4W,0)]

∀v ∈ V(F1

), the wedge (v) : v (v)

(4W, 0) (2W, 0)

slide-41
SLIDE 41

GD’19 - Graph Stories in Small Area

  • ,
  • ,
  • , and
  • Drawings of Rooted Ordered Forests

Definition 4

T1 (0, 4W) T2

F1

Let F = T1, T2, . . . , Tk be a list of rooted ordered trees, with a total of m ≤ W vertices. A

  • drawing Γ of F is a planar straight-line strictly-upward strictly-leftward order-

preserving grid drawing of F on the (4W +1)×(4W +1) grid with special visibility properties

  • drawing of

Γ

2W 2W + 2 4W

Geometric Visibility 1) does not intersect Γ in its interior 2) contains the segment [(2W,0),(4W,0)]

∀v ∈ V(F1

), the wedge (v) : v (v) visibilty and embedding choice in Phase 4 (children in Ri ≺ children in Ri+1) allow us to draw the inter-bucket edges toward

F2

without crossing the drawing of F1

(4W, 0) (2W, 0)

F2

  • drawing of
slide-42
SLIDE 42

GD’19 - Graph Stories in Small Area

Drawing of T[Bi ∪ Bi+1]...at last!

x y P5 2 P2 2 P1 2 P6 2 P1 1 P4 1 P3 2 P4 2 P2 1 P3 1 P5 1

  • drawing of F1
  • drawing of F2
  • drawing of F1
  • drawing of F2

How to draw T[B1 ∪ B2]:

◮ compute

the , , ,

  • drawings for

the forests

F1

, F2 , F1 , F2

◮ draw the inter-bucket edges

No two inter-bucket edges cross each other because of the ordering of the pertinent components in the forests (Phase 5)

slide-43
SLIDE 43

GD’19 - Graph Stories in Small Area

Open Problems

Planar Graph Stories

◮ Do other notable families of planar graphs admit straight-line planar

drawing stories on a grid of size polynomial in W or polynomial in

W and sublinear in n?

  • e.g.: outerplanar and series-parallel graphs

Different Models

◮ the same vertex is allowed to appear several times ◮ multiple vertices may appear simultaneously (and still |V(Gt)| ≤ W) ◮ how about edges, and not vertices, appearing over time? ◮ What bounds can be shown if G is not a tree, but each Gt is a forest? ◮ Which bounds can be shown if we allow bends?

slide-44
SLIDE 44

GD’19 - Graph Stories in Small Area

Thanks for your attention!!