Euclidean Steiner Forest Colored Non-Crossing · Philipp Kindermann LG Theoretische Informatik...

Post on 25-Oct-2020

0 views 0 download

Transcript of Euclidean Steiner Forest Colored Non-Crossing · Philipp Kindermann LG Theoretische Informatik...

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