SLIDE 1
Simultaneous embeddings with few bends and crossings Fabrizio Frati - - PowerPoint PPT Presentation
Simultaneous embeddings with few bends and crossings Fabrizio Frati - - PowerPoint PPT Presentation
Simultaneous embeddings with few bends and crossings Fabrizio Frati Michael Hoffmann Vincent Kusters Uni Roma Tre ETH Zurich September 25, 2015 Simultaneous embeddings A simultaneous embedding with fixed edges (SEFE) of G 1 and G 2 is a
SLIDE 2
SLIDE 3
Simultaneous embeddings
A simultaneous embedding with fixed edges (SEFE) of G1 and G2 is a drawing of G1 ∪ G2 that is plane when restricted to G1/G2.
a c e d h b a c f d b g e
SLIDE 4
Simultaneous embeddings
A simultaneous embedding with fixed edges (SEFE) of G1 and G2 is a drawing of G1 ∪ G2 that is plane when restricted to G1/G2.
a c e d h b a c f d b g e a b c d g f e h
SLIDE 5
Simultaneous embeddings
A simultaneous embedding with fixed edges (SEFE) of G1 and G2 is a drawing of G1 ∪ G2 that is plane when restricted to G1/G2.
a c e d h b a c f d b g e a b c d e h
SLIDE 6
Simultaneous embeddings
A simultaneous embedding with fixed edges (SEFE) of G1 and G2 is a drawing of G1 ∪ G2 that is plane when restricted to G1/G2.
a c e d h b a c f d b g e a b c d g f e h
SLIDE 7
Simultaneous embeddings
A simultaneous embedding with fixed edges (SEFE) of G1 and G2 is a drawing of G1 ∪ G2 that is plane when restricted to G1/G2.
a c e d h b a c f d b g e a b c d g f e
SLIDE 8
Simultaneous embeddings
A simultaneous embedding with fixed edges (SEFE) of G1 and G2 is a drawing of G1 ∪ G2 that is plane when restricted to G1/G2.
a c e d h b a c f d b g e a b c d g f e h
SLIDE 9
Simultaneous embeddings
A simultaneous embedding with fixed edges (SEFE) of G1 and G2 is a drawing of G1 ∪ G2 that is plane when restricted to G1/G2.
a c e d h b a c f d b g e a b c d g f e h
SLIDE 10
Simultaneous embeddings
A simultaneous embedding with fixed edges (SEFE) of G1 and G2 is a drawing of G1 ∪ G2 that is plane when restricted to G1/G2.
a c e d h b a c f d b g e a b c d g f e h 2 bends
SLIDE 11
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007).
SLIDE 12
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE.
SLIDE 13
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
SLIDE 14
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
SLIDE 15
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
▶ 9 bends per edge is always sufficient (Grilli et al. 2014).
SLIDE 16
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
▶ 9 bends per edge is always sufficient (Grilli et al. 2014). ▶ 24 crossings per edge pair is always sufficient (Chan et al. 2014).
SLIDE 17
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
▶ 9 bends per edge is always sufficient (Grilli et al. 2014). ▶ 24 crossings per edge pair is always sufficient (Chan et al. 2014).
Our paper:
SLIDE 18
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
▶ 9 bends per edge is always sufficient (Grilli et al. 2014). ▶ 24 crossings per edge pair is always sufficient (Chan et al. 2014).
Our paper:
▶ 1 bend / 4 crossings for tree+tree.
SLIDE 19
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
▶ 9 bends per edge is always sufficient (Grilli et al. 2014). ▶ 24 crossings per edge pair is always sufficient (Chan et al. 2014).
Our paper:
▶ 1 bend / 4 crossings for tree+tree. ▶ 6 bends / 8 crossings for planar+tree.
SLIDE 20
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
▶ 9 bends per edge is always sufficient (Grilli et al. 2014). ▶ 24 crossings per edge pair is always sufficient (Chan et al. 2014).
Our paper:
▶ 1 bend / 4 crossings for tree+tree. ▶ 6 bends / 8 crossings for planar+tree. ▶ 6 bends / 16 crossings for planar+planar.
SLIDE 21
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
▶ 9 bends per edge is always sufficient (Grilli et al. 2014). ▶ 24 crossings per edge pair is always sufficient (Chan et al. 2014).
Our paper:
▶ 1 bend / 4 crossings for tree+tree. (this talk) ▶ 6 bends / 8 crossings for planar+tree. ▶ 6 bends / 16 crossings for planar+planar.
SLIDE 22
Results
Previous work:
▶ Every tree and planar graph admit a SEFE (Frati 2007). ▶ Some pairs of planar graphs do not admit a SEFE. ▶ Complexity of the decision problem is open.
Graph Drawing 2014:
▶ 9 bends per edge is always sufficient (Grilli et al. 2014). ▶ 24 crossings per edge pair is always sufficient (Chan et al. 2014).
Our paper:
▶ 1 bend / 4 crossings for tree+tree. (this talk) ▶ 6 bends / 8 crossings for planar+tree. (long version) ▶ 6 bends / 16 crossings for planar+planar. (long version)
SLIDE 23
SEFE of two trees
Theorem
Let R and B be two trees. There exists a SEFE of R and B in which every edge has at most one bend and every edge pair crosses at most four times.
SLIDE 24
SEFE of two trees
Theorem
Let R and B be two trees. There exists a SEFE of R and B in which every edge has at most one bend and every edge pair crosses at most four times. Number of bends is tight (Geyer, Kaufmann, and Vrt’o 2009).
SLIDE 25
SEFE of two trees
Theorem
Let R and B be two trees. There exists a SEFE of R and B in which every edge has at most one bend and every edge pair crosses at most four times. Number of bends is tight (Geyer, Kaufmann, and Vrt’o 2009). Approach:
SLIDE 26
SEFE of two trees
Theorem
Let R and B be two trees. There exists a SEFE of R and B in which every edge has at most one bend and every edge pair crosses at most four times. Number of bends is tight (Geyer, Kaufmann, and Vrt’o 2009). Approach:
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
SLIDE 27
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
SLIDE 28
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g
SLIDE 29
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g
SLIDE 30
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g
SLIDE 31
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g r(S1) b(S1) r(S2) b(S2)
SLIDE 32
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g r(S1) b(S1) r(S2) b(S2)
SLIDE 33
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g r(S1) b(S1) r(S2) b(S2) a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2)
SLIDE 34
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2)
SLIDE 35
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2)
SLIDE 36
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2) b c a v1 v2 h d e f v1 v2
SLIDE 37
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2) b c a v1 v2 h d e f v1 v2
SLIDE 38
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2) b c a v1 v2 h d e f v1 v2
SLIDE 39
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2) b c a v1 v2 h d e f v1 v2
SLIDE 40
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2) b c a v1 v2 h d e f v1 v2
SLIDE 41
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2) b c a v1 v2 h d e f v1 v2
SLIDE 42
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g a b c d e f v1 v2 h g r(v1) b(v1) r(v2) b(v2) b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5
SLIDE 43
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5
SLIDE 44
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5
SLIDE 45
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
1 2 3 4 5 6 7 1 2 3 4 5 g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5
SLIDE 46
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
1 2 3 4 5 6 7 1 2 3 4 5 g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5 v1 v2
SLIDE 47
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
1 2 3 4 5 6 7 1 2 3 4 5 g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5 v1 v2
SLIDE 48
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
1 2 3 4 5 6 7 1 2 3 4 5 g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5 v1 v2
SLIDE 49
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
1 2 3 4 5 6 7 1 2 3 4 5 g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5 v1 v2
SLIDE 50
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
1 2 3 4 5 6 7 1 2 3 4 5 g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5 v1 v2
SLIDE 51
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
1 2 3 4 5 6 7 1 2 3 4 5 g b c a v1 v2 h d e f v1 v2 x = y = 1 2 3 4 5 6 7 1 2 3 4 5 v1 v2
SLIDE 52
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
g b c a v1 v2 h d e f v1 v2 v1 v2 b c a g h e f d
SLIDE 53
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
v1 v2 b c a g h e f d
SLIDE 54
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
v1 v2 b c a g h e f d
SLIDE 55
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g v1 v2 b c a g h e f d
SLIDE 56
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g v1 v2 b c a g h e f d a b h v2 d v2
SLIDE 57
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g v1 v2 b c a g h e f d a b h v2 d v2
SLIDE 58
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g v2 b c a g h e f d a b h v2 d v2 S1
SLIDE 59
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g v2 b c a g h e f d S1
SLIDE 60
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g v2 b c a g h e f d S1 S1 g S1
SLIDE 61
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g v2 b c a g h e f d S1 S1 g S1
SLIDE 62
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g b c a g h e f d S1 S1 g S2 S1
SLIDE 63
- 1. Construct combinatorial SEFE of R and B.
- 2. Contract components of common graph to obtain R′ and B′.
- 3. Make R′ and B′ hamiltonian.
- 4. Construct SE of R′ and B′ with one bend per edge.
- 5. Expand components of R′ and B′ to obtain SEFE of R and B.
a b c d e f S1 S2 h g b c a g h e f d S2 S1
SLIDE 64
Conclusions
We improved the number of bends/crossings required in a SEFE:
▶ 1 bend / 4 crossings for tree+tree. ▶ 6 bends / 8 crossings for planar+tree. ▶ 6 bends / 16 crossings for planar+planar.
SLIDE 65
Conclusions
We improved the number of bends/crossings required in a SEFE:
▶ 1 bend / 4 crossings for tree+tree. ▶ 6 bends / 8 crossings for planar+tree. ▶ 6 bends / 16 crossings for planar+planar.
Future work:
▶ Improve lower/upper bounds on the number of bends for
planar+planar.
▶ Complexity of deciding SEFE.
SLIDE 66