Ordering Metro Lines by Block Crossings Martin Fink Lehrstuhl f - - PowerPoint PPT Presentation

ordering metro lines by block crossings
SMART_READER_LITE
LIVE PREVIEW

Ordering Metro Lines by Block Crossings Martin Fink Lehrstuhl f - - PowerPoint PPT Presentation

Ordering Metro Lines by Block Crossings Martin Fink Lehrstuhl f ur Informatik I Universit at W urzburg Joint work with Sergey Pupyrev 1 /18 Metro Maps Vienna 2 /18 Metro Maps Paris 3 /18 Metro Maps Metro Lines 4


slide-1
SLIDE 1

/18 1

Ordering Metro Lines by Block Crossings

Martin Fink Lehrstuhl f¨ ur Informatik I Universit¨ at W¨ urzburg

Joint work with Sergey Pupyrev

slide-2
SLIDE 2

/18 2

Metro Maps – Vienna

slide-3
SLIDE 3

/18 3

Metro Maps – Paris

slide-4
SLIDE 4

/18 4

Metro Maps – Metro Lines

slide-5
SLIDE 5

/18 4

Metro Maps – Metro Lines

Previous work, e.g. [N¨

  • llenburg and Wolff, 2011]
slide-6
SLIDE 6

/18 4

Metro Maps – Metro Lines

Previous work, e.g. [N¨

  • llenburg and Wolff, 2011]

Focus on drawing underlying graph

slide-7
SLIDE 7

/18 5

Metro Line Crossing Minimization

Insert all lines L into embedded graph G = (V , E) such that ...

slide-8
SLIDE 8

/18 5

Metro Line Crossing Minimization

Insert all lines L into embedded graph G = (V , E) such that ...

slide-9
SLIDE 9

/18 5

Metro Line Crossing Minimization

Insert all lines L into embedded graph G = (V , E) such that ... the number of crossings is minimized.

slide-10
SLIDE 10

/18 5

Metro Line Crossing Minimization

Insert all lines L into embedded graph G = (V , E) such that ... the number of crossings is minimized. crossings are placed on edges if possible.

slide-11
SLIDE 11

/18 5

Metro Line Crossing Minimization

Insert all lines L into embedded graph G = (V , E) such that ... the number of crossings is minimized. crossings are placed on edges if possible.

slide-12
SLIDE 12

/18 5

Metro Line Crossing Minimization

Insert all lines L into embedded graph G = (V , E) such that ... the number of crossings is minimized. crossings are placed on edges if possible.

slide-13
SLIDE 13

/18 5

Metro Line Crossing Minimization

Insert all lines L into embedded graph G = (V , E) such that ... the number of crossings is minimized. crossings are placed on edges if possible.

slide-14
SLIDE 14

/18 5

Metro Line Crossing Minimization

Insert all lines L into embedded graph G = (V , E) such that ... the number of crossings is minimized. crossings are placed on edges if possible. NP-hard [Bekos et al., 2007] & [Fink, Pupyrev, 2013]

slide-15
SLIDE 15

/18 6

Path Terminal Property

Line terminals are leaves of the graph.

slide-16
SLIDE 16

/18 6

Path Terminal Property

Line terminals are leaves of the graph. Follow two lines:

slide-17
SLIDE 17

/18 6

Path Terminal Property

Line terminals are leaves of the graph. Follow two lines:

slide-18
SLIDE 18

/18 6

Path Terminal Property

Line terminals are leaves of the graph. Follow two lines:

  • crossing
slide-19
SLIDE 19

/18 6

Path Terminal Property

Line terminals are leaves of the graph. Follow two lines:

  • crossing

Crossing Minimization: Solvable in linear time [Pupyrev et al., 2012]

slide-20
SLIDE 20

/18 6

Path Terminal Property

Line terminals are leaves of the graph. Follow two lines:

  • crossing

Crossing Minimization: Solvable in linear time [Pupyrev et al., 2012] additional restriction: two lines intersect in a path

slide-21
SLIDE 21

/18 7

New Model: Block Crossings

4 single crossings

slide-22
SLIDE 22

/18 7

New Model: Block Crossings

4 single crossings 1 block crossing

slide-23
SLIDE 23

/18 7

New Model: Block Crossings

4 single crossings 1 block crossing

slide-24
SLIDE 24

/18 7

New Model: Block Crossings

4 single crossings 1 block crossing 12 single crossings

slide-25
SLIDE 25

/18 7

New Model: Block Crossings

4 single crossings 1 block crossing 12 single crossings 3 block crossings

slide-26
SLIDE 26

/18 8

Block Crossing Minimization

New problem variants: BCM: Minimize the number of block crossings

slide-27
SLIDE 27

/18 8

Block Crossing Minimization

New problem variants: BCM: Minimize the number of block crossings MBCM: Minimize the number of monotone block crossings

slide-28
SLIDE 28

/18 8

Block Crossing Minimization

New problem variants: BCM: Minimize the number of block crossings MBCM: Minimize the number of monotone block crossings no double crossings!

slide-29
SLIDE 29

/18 9

Single Edge

slide-30
SLIDE 30

/18 9

Single Edge

slide-31
SLIDE 31

/18 9

Single Edge

slide-32
SLIDE 32

/18 9

Single Edge

slide-33
SLIDE 33

/18 9

Single Edge

slide-34
SLIDE 34

/18 9

Single Edge

slide-35
SLIDE 35

/18 9

Single Edge

slide-36
SLIDE 36

/18 9

Single Edge

1 2 3 4 5 1 2 3 4 5

slide-37
SLIDE 37

/18 9

Single Edge

1 2 3 4 5 1 2 3 4 5

slide-38
SLIDE 38

/18 9

Single Edge

1 2 3 4 5 1 2 3 4 5 Equivalent to Sorting by Transpositions for permutations

slide-39
SLIDE 39

/18 9

Single Edge

1 2 3 4 5 1 2 3 4 5 Equivalent to Sorting by Transpositions for permutations NP-hard [Bulteau et al., 2012]

slide-40
SLIDE 40

/18 9

Single Edge

1 2 3 4 5 1 2 3 4 5 Equivalent to Sorting by Transpositions for permutations NP-hard [Bulteau et al., 2012] simple 3-approximation [Bafna, Pevzner, 1998]

slide-41
SLIDE 41

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5

slide-42
SLIDE 42

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5

slide-43
SLIDE 43

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5

slide-44
SLIDE 44

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5

slide-45
SLIDE 45

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs

slide-46
SLIDE 46

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation

slide-47
SLIDE 47

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation

slide-48
SLIDE 48

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation

slide-49
SLIDE 49

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation

slide-50
SLIDE 50

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation

slide-51
SLIDE 51

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation

slide-52
SLIDE 52

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation ≤ |L| − 1 crossings

slide-53
SLIDE 53

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation ≤ |L| − 1 crossings

slide-54
SLIDE 54

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation ≤ |L| − 1 crossings

slide-55
SLIDE 55

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation ≤ |L| − 1 crossings ≤ 3 good pairs can be created per crossing 3-approx.

slide-56
SLIDE 56

/18 10

Single Edge – 3-approximation

1 2 3 4 5 1 2 3 4 5 |L| + 1 good pairs no good pair for simple permutation ≤ |L| − 1 crossings ≤ 3 good pairs can be created per crossing 3-approx. solution uses monotone block crossings!

slide-57
SLIDE 57

/18 11

Path

slide-58
SLIDE 58

/18 11

Path

slide-59
SLIDE 59

/18 11

Path

slide-60
SLIDE 60

/18 11

Path

slide-61
SLIDE 61

/18 11

Path

lines end

slide-62
SLIDE 62

/18 11

Path

lines end

  • lines start
slide-63
SLIDE 63

/18 11

Path

lines end

  • lines start

Redefine good pairs:

slide-64
SLIDE 64

/18 11

Path

lines end

  • lines start

Redefine good pairs: – lines end together

slide-65
SLIDE 65

/18 11

Path

lines end

  • lines start

Redefine good pairs: – lines end together – inheritance b a1 a2

slide-66
SLIDE 66

/18 11

Path

lines end

  • lines start

Redefine good pairs: – lines end together – inheritance b a1 a2 ≤ 3 good pairs created per crossing

slide-67
SLIDE 67

/18 12

Path – 3-approximation

e treat edges from left to right

slide-68
SLIDE 68

/18 12

Path – 3-approximation

e treat edges from left to right

slide-69
SLIDE 69

/18 12

Path – 3-approximation

e treat edges from left to right identify good pairs

slide-70
SLIDE 70

/18 12

Path – 3-approximation

e treat edges from left to right

slide-71
SLIDE 71

/18 12

Path – 3-approximation

e treat edges from left to right

slide-72
SLIDE 72

/18 12

Path – 3-approximation

e treat edges from left to right

slide-73
SLIDE 73

/18 12

Path – 3-approximation

e treat edges from left to right bring ending lines to top/bottom keeping good pairs together

slide-74
SLIDE 74

/18 12

Path – 3-approximation

e treat edges from left to right bring ending lines to top/bottom keeping good pairs together create 1 good pair per block crossing crossing

slide-75
SLIDE 75

/18 12

Path – 3-approximation

e treat edges from left to right bring ending lines to top/bottom keeping good pairs together create 1 good pair per block crossing crossing

  • ptimum creates up to 3

3-approximation

slide-76
SLIDE 76

/18 12

Path – 3-approximation

e treat edges from left to right bring ending lines to top/bottom keeping good pairs together create 1 good pair per block crossing crossing

  • ptimum creates up to 3

3-approximation Special Case: Destroying good pairs e l

a c b a

  • ptimal strategy available:
slide-77
SLIDE 77

/18 12

Path – 3-approximation

e treat edges from left to right bring ending lines to top/bottom keeping good pairs together create 1 good pair per block crossing crossing

  • ptimum creates up to 3

3-approximation Special Case: Destroying good pairs e l

a c b a

  • ptimal strategy available:

– preferably destroy non-initial good pair – if none: destroy longest-living good pair

slide-78
SLIDE 78

/18 12

Path – 3-approximation

e treat edges from left to right bring ending lines to top/bottom keeping good pairs together create 1 good pair per block crossing crossing

  • ptimum creates up to 3

3-approximation algorithm can be adjusted for monotone block crossings

slide-79
SLIDE 79

/18 12

Path – 3-approximation

e treat edges from left to right bring ending lines to top/bottom keeping good pairs together create 1 good pair per block crossing crossing

  • ptimum creates up to 3

3-approximation algorithm can be adjusted for monotone block crossings adjust inheritance of good pairs: c b a1 a2

slide-80
SLIDE 80

/18 12

Path – 3-approximation

e treat edges from left to right bring ending lines to top/bottom keeping good pairs together create 1 good pair per block crossing crossing

  • ptimum creates up to 3

3-approximation algorithm can be adjusted for monotone block crossings adjust inheritance of good pairs: c b a1 a2

new strategy when destroying good pairs: ensure monotonicity

slide-81
SLIDE 81

/18 13

Trees - an upper bound

root at some leave

slide-82
SLIDE 82

/18 13

Trees - an upper bound

root at some leave after treating edge recursively order subtrees

slide-83
SLIDE 83

/18 13

Trees - an upper bound

root at some leave after treating edge recursively order subtrees

slide-84
SLIDE 84

/18 13

Trees - an upper bound

root at some leave after treating edge recursively order subtrees

slide-85
SLIDE 85

/18 13

Trees - an upper bound

root at some leave after treating edge recursively order subtrees insert lines between subtrees

slide-86
SLIDE 86

/18 13

Trees - an upper bound

root at some leave after treating edge recursively order subtrees insert lines between subtrees ≤ 2 crossings per line

slide-87
SLIDE 87

/18 13

Trees - an upper bound

root at some leave after treating edge recursively order subtrees insert lines between subtrees ≤ 2 crossings per line right insertion order needed for: – avoiding vertex crossings – avoiding double crossings

slide-88
SLIDE 88

/18 13

Trees - an upper bound

root at some leave after treating edge recursively order subtrees insert lines between subtrees ≤ 2 crossings per line right insertion order needed for: – avoiding vertex crossings – avoiding double crossings worst-case instances: 2|L| − 3 crossings necessary

slide-89
SLIDE 89

/18 14

Upward Trees

slide-90
SLIDE 90

/18 14

Upward Trees

simplification use tree algorithm 6-approximation for monotone block crossings

slide-91
SLIDE 91

/18 15

General Graphs

Process edges in arbitrary order

slide-92
SLIDE 92

/18 15

General Graphs

Process edges in arbitrary order Completely sort lines on an edge

slide-93
SLIDE 93

/18 15

General Graphs

Process edges in arbitrary order Completely sort lines on an edge

slide-94
SLIDE 94

/18 15

General Graphs

Process edges in arbitrary order Completely sort lines on an edge lines l, l′ seen together on edge will never cross (again) l l′

slide-95
SLIDE 95

/18 15

General Graphs

Process edges in arbitrary order Completely sort lines on an edge lines l, l′ seen together on edge will never cross (again) l l′ lines l, l′ seen together for the first time information gain

slide-96
SLIDE 96

/18 16

General Graphs – Sorting an Edge

e

slide-97
SLIDE 97

/18 16

General Graphs – Sorting an Edge

e follow lines

slide-98
SLIDE 98

/18 16

General Graphs – Sorting an Edge

e follow lines

slide-99
SLIDE 99

/18 16

General Graphs – Sorting an Edge

e follow lines

slide-100
SLIDE 100

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges

slide-101
SLIDE 101

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges

slide-102
SLIDE 102

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges

slide-103
SLIDE 103

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges identify groups of lines

slide-104
SLIDE 104

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges identify groups of lines group stays parallel

slide-105
SLIDE 105

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges identify groups of lines group stays parallel consider pairs of groups

slide-106
SLIDE 106

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges identify groups of lines group stays parallel consider pairs of groups

slide-107
SLIDE 107

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges identify groups of lines group stays parallel consider pairs of groups

slide-108
SLIDE 108

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges identify groups of lines group stays parallel consider pairs of groups merge lines if possible

slide-109
SLIDE 109

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges identify groups of lines group stays parallel consider pairs of groups merge lines if possible sort by insertion into largest group

slide-110
SLIDE 110

/18 16

General Graphs – Sorting an Edge

e follow lines find cut edges identify groups of lines group stays parallel consider pairs of groups merge lines if possible sort by insertion into largest group undo merging

slide-111
SLIDE 111

/18 17

General Graphs – Analysis

e finally: all edges

  • rdered
slide-112
SLIDE 112

/18 17

General Graphs – Analysis

e finally: all edges

  • rdered

pairs of lines cross at most once monotone block crossings

slide-113
SLIDE 113

/18 17

General Graphs – Analysis

e finally: all edges

  • rdered

pairs of lines cross at most once monotone block crossings (bc(e))2 ≤ I(e) information gain block crossings on edge

slide-114
SLIDE 114

/18 17

General Graphs – Analysis

e finally: all edges

  • rdered

pairs of lines cross at most once monotone block crossings (bc(e))2 ≤ I(e) information gain block crossings on edge

  • e∈E(bc(e))2 ≤ |L|2
slide-115
SLIDE 115

/18 17

General Graphs – Analysis

e finally: all edges

  • rdered

pairs of lines cross at most once monotone block crossings (bc(e))2 ≤ I(e) information gain block crossings on edge

  • e∈E(bc(e))2 ≤ |L|2

Using Cauchy-Schwarz:

  • e∈E bc(e) ≤ |L|
  • |E ′|
slide-116
SLIDE 116

/18 17

General Graphs – Analysis

e finally: all edges

  • rdered

pairs of lines cross at most once monotone block crossings (bc(e))2 ≤ I(e) information gain block crossings on edge

  • e∈E(bc(e))2 ≤ |L|2

Using Cauchy-Schwarz:

  • e∈E bc(e) ≤ |L|
  • |E ′|

worst-case instances: Ω(|L|

  • |E ′|) block

crossings necessary

slide-117
SLIDE 117

/18 18

Conclusion

new model for counting crossings approximations for paths and upward trees tight upper bound for trees algorithm for general graphs upper bound asymptotically tight

slide-118
SLIDE 118

/18 18

Conclusion

new model for counting crossings approximations for paths and upward trees tight upper bound for trees algorithm for general graphs upper bound asymptotically tight Open Questions: Complexity of monotone block crossings on a single edge? Approximations for trees / general graphs?

slide-119
SLIDE 119

/18 18

Conclusion

new model for counting crossings approximations for paths and upward trees tight upper bound for trees algorithm for general graphs upper bound asymptotically tight Open Questions: Complexity of monotone block crossings on a single edge? Approximations for trees / general graphs?

Thank you!