euclidean steiner forest colored non-crossing · philipp kindermann lg theoretische informatik...
Post on 25-Oct-2020
0 Views
Preview:
TRANSCRIPT
Colored Non-Crossing
Euclidean Steiner Forest
Philipp KindermannLG Theoretische Informatik
FernUniversitat in Hagen
Joint work withSergey Bereg, Krzysztof Fleszar, Sergey Pupyrev,
Joachim Spoerhase & Alexander Wolff
Colored Steiner Forest
Colored Steiner Forestc©Google Maps
Colored Steiner Forestc©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC]
Colored Steiner Forestc©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com]
Colored Steiner Forestc©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com] c©Leeners, LLC
Colored Steiner ForestEuler diagrams [Simonetto Auber Archambault, CGF’09]c©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com] c©Leeners, LLC
Colored Steiner ForestBubbleSets [Collins Penn Carpendale, TVCG’09]c©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com] c©Leeners, LLC
Colored Steiner ForestLineSets [Alper Riche Ramos Czerwinski, TVCG’11]c©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com] c©Leeners, LLC
Colored Steiner ForestKelpFusion [Meulemans Riche Speckmann Alper Dwyer, TVCG’13]c©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com] c©Leeners, LLC
Colored Steiner ForestGMap (Graph-to-Map) [Hu Gansner Kobourov, CGA’10]c©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com] c©Leeners, LLC
Colored Steiner Foresta better solution [Efrat Hu Kobourov Pupyrev, GD’14]c©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com] c©Leeners, LLC
Colored Steiner Foresta better solution
all regions arecontiguous anddisjoint
[Efrat Hu Kobourov Pupyrev, GD’14]c©Google Maps
[Icon of Me So Ramen by Moxy Games, LLC] [Aha-Soft, via seaicons.com] c©Leeners, LLC
Colored Steiner Forest
Colored Steiner Forest
Colored Steiner Forest
n points, k colors
Colored Steiner Forest
n points, k colors
→ k Steiner Trees
Colored Steiner Forest
n points, k colors
→ k Steiner Treesunion planar
Colored Steiner Forest
n points, k colors
→ k Steiner Treesunion planar
Colored Steiner Forest
n points, k colors
→ k Steiner Treesunion planar
Bad Examples
Bad Examples
Bad Examples
Bad Examples
Bad Examples
Bad Examples
Bad Examples
Known Results
1-CESF (= Euclidean Steiner Tree)
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]• admits a PTAS [Arora, JACM’98][Mitchell, SICOMP’99]
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]• admits a PTAS [Arora, JACM’98][Mitchell, SICOMP’99]
n/2-CESF (= Euclidean Matching)
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]• admits a PTAS [Arora, JACM’98][Mitchell, SICOMP’99]
n/2-CESF (= Euclidean Matching)• is NP-hard [Bastert Fekete, TR’98]
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]• admits a PTAS [Arora, JACM’98][Mitchell, SICOMP’99]
n/2-CESF (= Euclidean Matching)• is NP-hard [Bastert Fekete, TR’98]• O(n log
√n)-approx. [Chan Hoffmann Kiazyk Lubiw, GD’13]
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]• admits a PTAS [Arora, JACM’98][Mitchell, SICOMP’99]
n/2-CESF (= Euclidean Matching)• is NP-hard [Bastert Fekete, TR’98]• O(n log
√n)-approx. [Chan Hoffmann Kiazyk Lubiw, GD’13]
k-CESF
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]• admits a PTAS [Arora, JACM’98][Mitchell, SICOMP’99]
n/2-CESF (= Euclidean Matching)• is NP-hard [Bastert Fekete, TR’98]• O(n log
√n)-approx. [Chan Hoffmann Kiazyk Lubiw, GD’13]
k-CESF• has a kρ-approximation [Efrat Hu Kobourov Pupyrev, GD’14]
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]• admits a PTAS [Arora, JACM’98][Mitchell, SICOMP’99]
n/2-CESF (= Euclidean Matching)• is NP-hard [Bastert Fekete, TR’98]• O(n log
√n)-approx. [Chan Hoffmann Kiazyk Lubiw, GD’13]
k-CESF• has a kρ-approximation [Efrat Hu Kobourov Pupyrev, GD’14]
Steiner ratio
Known Results
1-CESF (= Euclidean Steiner Tree)• is NP-hard [Garey Johnson, 1979]• admits a PTAS [Arora, JACM’98][Mitchell, SICOMP’99]
n/2-CESF (= Euclidean Matching)• is NP-hard [Bastert Fekete, TR’98]• O(n log
√n)-approx. [Chan Hoffmann Kiazyk Lubiw, GD’13]
k-CESF• has a kρ-approximation [Efrat Hu Kobourov Pupyrev, GD’14]
Steiner ratio
ρ ≤ 1.21 [Chung Graham, ANYAS’85]
2-CESF
2-CESF
2-CESF
2-CESF
2-CESF
2-CESF
2-CESF
Rounding to the Grid
Rounding to the Grid
• L0 diameter of smallestbounding box• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity L0/L
L0
Rounding to the Grid
• L0 diameter of smallestbounding box• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity L0/L
L0
Rounding to the Grid
• L0 diameter of smallestbounding box• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity L0/L
Rounding to the Grid
• L0 diameter of smallestbounding box• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity L0/L
Rounding to the Grid
• L0 diameter of smallestbounding box• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity L0/L 1
Rounding to the Grid
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Rounding to the Grid
→ (even,even)
→ (odd,odd)
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Rounding to the Grid
→ (even,even)
→ (odd,odd)
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
≤√
2
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
≤√
2
≤ 2√
2
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
Going Back
≤√
2
≤ 2√
2
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
in total ≤ 3√
2n ≤ εL ≤ εOPT
Going Back
≤√
2
≤ 2√
2
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
in total ≤ 3√
2n ≤ εL ≤ εOPT
Going Back
≤√
2
≤ 2√
2
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
in total ≤ 3√
2n ≤ εL ≤ εOPT
Going Back
≤√
2
≤ 2√
2
• 3√
2n/ε ≤ L ≤ 6√
2n/ε• (L× L)-grid• granularity 1
in total ≤ 3√
2n ≤ εL ≤ εOPT
2-CESF instance I → rounded instance I ∗ → solution LI
|LI | ≤ (1 + ε)OPTI∗ ≤ (1 + ε)2OPTI
Quadtree Placement
Quadtree Placement
level 0
Quadtree Placement
level 0
level 1
Quadtree Placement
. . . . . .
level 0
level 1
level 2. . .
Quadtree Placement
. . . . . .
level 0
level 1
level 2. . .
...
level log L
......
...
Quadtree Placement
• m = 4 log(L)/ε
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
m portals
m portals
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
m portals
m portals• level-i-square has at most
4m portals on its margin
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
• level-i-square has at most4m portals on its margin
• place origin uniformly atrandom
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
• level-i-square has at most4m portals on its margin
• place origin uniformly atrandom
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
• level-i-square has at most4m portals on its margin
• place origin uniformly atrandom
portal-respecting solution:crosses grid lines only at portals
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
• level-i-square has at most4m portals on its margin
• place origin uniformly atrandom
portal-respecting solution:crosses grid lines only at portals
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
• level-i-square has at most4m portals on its margin
• place origin uniformly atrandom
portal-respecting solution:crosses grid lines only at portals
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
• level-i-square has at most4m portals on its margin
• place origin uniformly atrandom
portal-respecting solution:crosses grid lines only at portals
line ` crosses drawing t(`) times;
expected length increase: ≤ εt(`)
4
Quadtree Placement
• m = 4 log(L)/ε
• portals on level-i-line withdistance L/(2im)
• level-i-square has at most4m portals on its margin
• place origin uniformly atrandom
portal-respecting solution:crosses grid lines only at portals
line ` crosses drawing t(`) times;
expected length increase: ≤ εt(`)
4
2-CESF instance I → portal-respecting solution L|L| ≤ (1 + ε)3OPTI
3-Light Solution
3-light solution: each portal is crossed at most 3 times
3-Light Solution
3-light solution: each portal is crossed at most 3 times
3-Light Solution
3-light solution: each portal is crossed at most 3 times
3-Light Solution
3-light solution: each portal is crossed at most 3 times
3-Light Solution
3-light solution: each portal is crossed at most 3 times
3-Light Solution
3-light solution: each portal is crossed at most 3 times
3-Light Solution
3-light solution: each portal is crossed at most 3 times
3-Light Solution
3-light solution: each portal is crossed at most 3 times
3-Light Solution
3-light solution: each portal is crossed at most 3 times
width= 0
3-Light Solution
3-light solution: each portal is crossed at most 3 times
width= 0
2-CESF instance I → portal-respecting 3-light solution L∗|L∗| ≤ (1 + ε)3OPTI
3-Light Solution
3-light solution: each portal is crossed at most 3 times
width= 0
2-CESF instance I → portal-respecting 3-light solution L∗|L∗| ≤ (1 + ε)3OPTI ≤ (1 + ε′)OPTI
Putting Things Together
Use a dynamic program!
Putting Things Together
Use a dynamic program! A subproblem consists of:
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
crossing non-crossing
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
crossing non-crossing
O(n2)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
crossing non-crossing
O(n2) 2O(log n/ε) = nO(1/ε)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
crossing non-crossing
O(n2) 2O(log n/ε) = nO(1/ε)
CO(log n/ε) = nO(1/ε)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
Base case: unit square
O(n2) 2O(log n/ε) = nO(1/ε)
CO(log n/ε) = nO(1/ε)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
Base case: unit square• portals (and points) only in corners
O(n2) 2O(log n/ε) = nO(1/ε)
CO(log n/ε) = nO(1/ε)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
Base case: unit square• portals (and points) only in corners• solve with PTAS for EST
O(n2) 2O(log n/ε) = nO(1/ε)
CO(log n/ε) = nO(1/ε)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
Base case: unit square• portals (and points) only in corners• solve with PTAS for EST
Composite squares:
O(n2) 2O(log n/ε) = nO(1/ε)
CO(log n/ε) = nO(1/ε)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
Base case: unit square• portals (and points) only in corners• solve with PTAS for EST
Composite squares:• divide into squares (acc. to quadtree)
O(n2) 2O(log n/ε) = nO(1/ε)
CO(log n/ε) = nO(1/ε)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
Base case: unit square• portals (and points) only in corners• solve with PTAS for EST
Composite squares:• divide into squares (acc. to quadtree)• solve each combination of nO(1/ε)
compatible subproblems
O(n2) 2O(log n/ε) = nO(1/ε)
CO(log n/ε) = nO(1/ε)
Putting Things Together
Use a dynamic program! A subproblem consists of:• a square of the quadtree• up to three red and blue points on each portal• non-crossing partition of the points into sets of same color
Base case: unit square• portals (and points) only in corners• solve with PTAS for EST
Composite squares:• divide into squares (acc. to quadtree)• solve each combination of nO(1/ε)
compatible subproblems
2-CESF admits a PTAS.
O(n2) 2O(log n/ε) = nO(1/ε)
CO(log n/ε) = nO(1/ε)
3-CESF
3-CESF
3-CESF
3-CESF
3-CESF admits a (5/3 + ε)-approximation algorithm.
k-CESF
k-CESF
• split into 2 groups
k-CESF
• split into 2 groups• use PTAS for the groups
k-CESF
• split into 2 groups• use PTAS for the groups
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF
• split into 2 groups• use PTAS for the groups• Construct trees fromthis “super-tree”
k-CESF admits an
• (k + ε)-approximation algorithm is k is odd• (k − 1 + ε)-approximation algorithm is k is even
top related