thick paths and minimum-cost flows in polygonal domains valentin polishchuk joint work with joseph...

54
Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Upload: adele-garrett

Post on 27-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Thick Paths and

Minimum-Cost Flows in Polygonal Domains

Valentin Polishchuk joint work with

Joseph Mitchell

Page 2: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Geometric Shortest Paths

• Given:– (Outer) Polygon P– Polygonal obstacles – Pair of terminals (s, t)

• Find: – shortest s-t path – avoiding obstacles

• Efficient Algorithms Known

Page 3: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Multiple Paths

• Given– K pairs of terminals (sk,tk)

• Find – shortest sk-tk paths

• minsum • minmax

– non-crossing

• NP-hard [Bastert and Fekete’98]

– no obstacles – minsum or minmax– L1 or L2

• Terminals on the boundary of P– linear time [Papadopolou’99]

OK

Not allowed

Page 4: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

A Thick Path

Thick path =

reference_path unit_circle

Minkowski sum

Length =

length(reference_path)

©

Page 5: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Finding 1 Shortest Thick Path

Inflate by 1

Find shortest reference path

Inflate the reference path

Page 6: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

K Thick Non-Crossing Paths• Shortest sk-tk paths

– minsum – minmax

• Thick• Non-intersecting

Not allowedOK

Page 7: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Motivations

• VLSI: wire thickness• Robotics: circular robot• Sensor field

– Short paths• Close to bd

– congestion

– Well-separated• Medial axis

– Long

• Shortest paths– given separation

• Air Traffic Management: safety margins

Page 8: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Previous Work: Point Obstacles

• Continuous Homotopic Routing (VLSI)[Cole and Siegel’84, Leiserson and Maley’85, Maley’90, Gao, Jerrum Kaufman, Mehlhorn and

Rülling’88]

This Work• Polygonal Domains

from [Gao et al.’88]

Page 9: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Simple Polygons: K = 2

Inflate by 1

Route s2-t2 path

Inflate P(s1,t1) by 2

Find shortest reference path

Same on the other side

InflateNon-crossing

• Each path is ASAP (as short as possible)– given the existence of the other

• minsum, minmax: “Ideal” routing (VLSI) [Maley’90]

Page 10: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

“Gluing” Shortest Thick Paths

Page 11: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Simple Polygons: K ≥ 2• Map to circle

– chords sk-tk

• For k = 1…Kdk(u,v): kth depth of ∂C(u,v) ≡

≡ 2 • (# of chords between ∂C(u,v) and sk-tk) + 1

– Inflate ∂P(u,v) by dk(u,v)

– Find shortest reference path– Inflate the reference path

Page 12: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Running Time: 1 pathdk(u,v) O(K)

Inflate ∂P(u,v) by dk(u,v):

O(n+K) [Kedem, Livine, Pach and Sharir’86; Chin, Snoeyink and Wang’99]

Splinegon O(n+K) [Dobkin and Souvaine’90]

Find shortest reference path

O(n+K)

[(e©Cdk (e))

Page 13: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Running Time: K paths

• O(K(n+K))

• Worst-case optimal– kth path

• Ω(n+k) complexity

Page 14: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

• Linear size – Fat Graphs [Duncan, Efrat, Kobourov, Step, Wenk‘02]

– Thin paths [Papadopolou’99]

• Compute in linear time [Chin, Snoeyink and Wang’99]

• Report: O(# of edges)

Implicit Paths Representation

Page 15: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Polygons with Holes

Assume: Terminals on the outer boundary

• Given K pairs of terminals (sk,tk)

• Find shortest thin non-crossing sk-tk paths

– NP-hard [Bastert and Fekete’98]

• no obstacles

• L1 or L2

• minsum or minmax

Approach: scroll through “threadings”

Page 16: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Small Number of Holes

Threading:above/below holes

For every threadings

For k = 1…KInflate correspondingly

Shortest reference path

of given threading

Page 17: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Threading vs. Homotopy

• SP of given homotopy [Hershberger,

Snoeyink’94]

• Threading doesn’t define homotopy

• ∞ homotopy types with same threading

• Need simple-SP homotopies– finite number

Page 18: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Threading + Order = Homotopy

For every threadings O((K+1)h)For k = 1…KInflate correspondingly O(poly(n,K))

For every order, in which holes are visited h!define homotopy type

Find SP of the homotopy type O(poly(n,K))

O((K+1)hh! poly(n,K))

Page 19: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Large Number of Holes

[Holst and Pina’02]

NP-complete

Length-bounded disjoint paths in planar graph

Short thick non-crossing paths in geometric domains

Page 20: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Flows in Continua

Page 21: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

• Network• capacities• costs

• Find– maxflow– min-cost flow

• Maxflow/Mincut Theorem• Flow Decomposition Theorem

Network Flows

4

4

1

11

21

3s t

4

4

1

11

21

31

1

111

1

4

4

1

11

21

3s t

4

4

1

11

21

31

1

111

1

Page 22: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Flows in Geometric Domain• Polygonal domain P

– source and sink edges • Cut

– partition domain into subsets S and T– capacity

• length of the boundary between S and T• Flow

– vector field

Page 23: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Maxflow = Mincut4

41

11

21

3 t4

41

11

21

31

1

111

1s s t

Flow Decomposition

[Strang’83,Mitchell’90] This talk

Page 24: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Problems Statement

Given: Polygonal domain Psources S and sinks T

Find flow vector field σ

div σ = 0 inside P σ • n = 0 on ∂P\{S,T}|σ| ≤ 1 – capacity

V = sT σ • n ds = – sS σ • n ds MaxFlow

Find σ that maximizes V

Min-Cost FlowGiven VFind σ that minimizes cost

Page 25: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Objectives

|ls| – length of streamline through s in Sminsum sS |ls|ds

minmax maxS |ls| [Mitchell’90]

min-area Area(supp σ) – “optimal design” [Strang’83]

Page 26: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Constraints (WLOG)

saturated: |σ| = 1 or 0

no closed streamlines

|σ • n| = 1 on S,T

minsum = min-area sS |ls|ds Area(supp σ)

Our Results

minsum = minmax sS |ls|ds maxS |ls|

in simple P

Page 27: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Flow Decomposition

Flow = U of paths (e.g., streamlines)

Continuous Flow

Decomposition Theorem:

Min-Cost Flow = U of shortest thick pathslinear #

Page 28: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Canonical Part

Thick path – “sausage”

Canonical part – strip

Page 29: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Auxiliary ProblemThe Segment Interconnection Problem

Given segments(sk,tk) on ∂P, k=1…K

|sk| = |tk| =wk

Connect sk to tk with

width-wk “strip”

minsum: SIP∑

minmax: SIPmax

Page 30: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

P’ = P augmented with

diameter-wk semicirclesglued along sk, tk

reside in a Riemann sheet

SIP =(Canonical parts) thick non-crossing paths

within P’

between midpoints of (sk,tk)

SIP: (Re)formulationP

sk

P’

Page 31: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

SIP = Thick Non-Crossing Paths

SIP∑ = SIPmax

Equivalent Problems

Page 32: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

ls – streamline of σ through s in S

ls: S → T

σab – restriction of σ

Split a into sk, k=1…K

Split b into tk, k=1…K

SIP(sk,tk), width w/K

Strip → ls as K → ∞

Min-cost σab = SIP(sk,tk)

Equivalent Problems (Another Pair)

a

b

Contiguous subsets of S

mapped into Contiguous subsets of T

ls(a) = b,

|a| = |b| = w

Page 33: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Min-cost σab = SIP(sk,tk) == K Shortest Thick Non-Crossing Paths= 1 Shortest Thick Path (Canonical Part from a to b)

σ = σab

a

b

Putting Things Together

by “Gluing”

Min-cost Flow =

Thick Non-Crossing

Paths

=

b’

a’

+ σa’b’ + σ …Intervals of continuity of ls:S→T and its inverse

Page 34: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

The Continuous Flow Decomposition Theorem

The support of

a minimum-cost flow

may be decomposed into a linear number of

the canonical parts of

shortest thick non-crossing paths

Page 35: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

ConclusionShortest Thick Non-Crossing Paths

Continuous Homotopic Routing in polygonal domains

simple polygonslinear-size data structure

linear-time

1 thick path output efficiently

polygonal domainssmall number of holes

polynomial-time algorithms

large number of holesNP-hardness

Page 36: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

ConclusionContinuous Flows in Geometric Domains

Optimal design, river routing

Continuous Flow Decomposition Theorem

Page 37: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell
Page 38: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell
Page 39: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell
Page 40: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell
Page 41: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell
Page 42: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Greedy vs. Selfish

“Ideal” routing (VLSI) [Maley’90]

– each path is ASAP (as short as possible)• given the existence of the other

– minsum – minmax

Page 43: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Balanced Transshipment with Source-Sink Separation

• Given – sources si, sinks tk i=1…I, k=1…K

– s1…sI,tK…t1 around ∂P

– ∑|si| = ∑ |tk| = V

• Ship V from sources to sinks

Go around ∂P– match sources and sinks– solve SIP = Thick Non-Crossing Paths

Page 44: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

K=2: Weakly NP-hard

• Reduce from Partition – Given numbers {c1…cm}, c1+…+cm = S– Is there a subset summing to S/2?

• Partition feasible iff 2 disjoint s-t paths length ≤ S/2+2(m+1) each

[Holst and Pina’02]

Page 45: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Rectilinearize

Page 46: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Running Time: 1 Pathdk(u,v) O(K)

Inflate ∂P(u,v) by dk(u,v) S(e©dk(e))

Page 47: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Pseudodiscs Property

Lemma: – pseudodiscs Feasible d(f,e) ≥ 2(x+y)

not pseudodiscs d(f,e) < |dk(f) – dk(e)| =

|2(x+z) – 2(y+z)| = 2|x – y|

Proof:

S(e©dk(e))

e©dk(e)f ©dk(f )

not pseudodiscs

Page 48: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

– Early work: heuristics, restricted versions [Hsu’83, AKMSW’86]

|S| = |T| = V

Page 49: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Simple Polygons

• 1 path– linear time

• Linear-size data structure– linear-time to compute

• Output 1 thick path – O(combinatorial complexity)

– NEED PICTURE

Page 50: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Hardness Results

• Short non-crossing thick paths – polygons with holes

• NP-hard

• 2 short non-crossing thick rectilinear monotone paths – polygons with holes

• weakly NP-complete

• NEED PICTURE

Page 51: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Related Work: Optimal Design Problem• Our Problem

min Area(supp σ) = ∫P |σ| dA |σ| = 1 on supp σ

• Subject todiv σ = 0 inside P

σ • n = 0 on ∂P\{S,T}

|σ| ≤ 1

sT σ • n ds = -sS σ • n ds = V

• [Kohn, Strang ’80s]

min ∫P |σ| dA

• Subject todiv σ = 0 inside P

|σ| ≤ 1

σ • n = f on ∂P

Numerical methods [extensive literature]

Special CaseMore

General

Page 52: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Problems Statement (with animations)

Given: Polygonal domain Psources S and sinks T

Find flow vector field σ

div σ = 0 inside P σ • n = 0 on ∂P \ {S,T}|σ| ≤ 1 – capacity

V = ∫T σ • n ds = – ∫S σ • n ds MaxFlow

Find σ that maximizes V

Min-Cost FlowGiven VFind σ that minimizes cost

Page 53: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

ls – streamline of σ through s in S

ls: S → T

σab – restriction of σ

Split a into sk, k=1…K

Split b into tk, k=1…K

SIP(sk,tk), width w/K

Strip → ls as K → ∞

Min-cost σab = SIP(sk,tk)

Equivalent Problems (Another Pair) with anim

a

b

Contiguous subsets of S

mapped into Contiguous subsets of T

ls(a) = b,

|a| = |b| = w

Page 54: Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell

Pseudodiscs Property

[BKOS’97]

Lemma: – pseudodiscsS(e©dk(e))