Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell."— Presentation transcript:

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

2 Geometric Shortest Paths Given: –(Outer) Polygon P –Polygonal obstacles –Pair of terminals (s, t) Find: –shortest s-t path –avoiding obstacles Efficient Algorithms Known

3 Multiple Paths Given –K pairs of terminals (s k,t k ) Find –shortest s k -t k paths minsum minmax –non-crossing NP-hard [Bastert and Fekete’98] –no obstacles –minsum or minmax –L 1 or L 2 Terminals on the boundary of P –linear time [Papadopolou’99] OK Not allowed

4 A Thick Path Thick path = reference_path unit_circle Minkowski sum Length = length(reference_path) ©

5 Finding 1 Shortest Thick Path Inflate by 1 Find shortest reference path Inflate the reference path

6 K Thick Non-Crossing Paths Shortest s k -t k paths –minsum –minmax Thick Non-intersecting Not allowed OK

7 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

8 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]

9 Simple Polygons: K = 2 Inflate by 1 Route s 2 -t 2 path Inflate P(s 1,t 1 ) by 2 Find shortest reference path Same on the other side Inflate Non-crossing Each path is ASAP (as short as possible) –given the existence of the other minsum, minmax: “Ideal” routing (VLSI) [Maley’90]

10 “Gluing” Shortest Thick Paths

11 Simple Polygons: K ≥ 2 Map to circle –chords s k -t k For k = 1…K d k (u,v): k th depth of ∂C(u,v) ≡ ≡ 2 (# of chords between ∂C(u,v) and s k -t k ) + 1 –Inflate ∂P(u,v) by d k (u,v) –Find shortest reference path –Inflate the reference path

12 Running Time: 1 path d k (u,v) O(K) Inflate ∂P(u,v) by d k (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 © C d k ( e ) )

13 Running Time: K paths O(K(n+K)) Worst-case optimal –k th path Ω(n+k) complexity

14 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

15 Polygons with Holes Assume: Terminals on the outer boundary Given K pairs of terminals (s k,t k ) Find shortest thin non-crossing s k -t k paths –NP-hard [Bastert and Fekete’98] no obstacles L 1 or L 2 minsum or minmax Approach: scroll through “threadings”

16 Small Number of Holes Threading: above/below holes For every threadings For k = 1…K Inflate correspondingly Shortest reference path of given threading

17 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      

18 Threading + Order = Homotopy For every threadings O((K+1) h ) For k = 1…K Inflate 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) h h! poly(n,K))

19 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

20 Flows in Continua

21 Network capacities costs Find –maxflow –min-cost flow Maxflow/Mincut Theorem Flow Decomposition Theorem Network Flows 4 4 1 1 1 2 1 3 s t 4 4 1 1 1 2 1 3 1 1 1 1 1 1 4 4 1 1 1 2 1 3 s t 4 4 1 1 1 2 1 3 1 1 1 1 1 1

22 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

23 Maxflow = Mincut 4 4 1 1 1 2 1 3 t 4 4 1 1 1 2 1 3 1 1 1 1 1 1 s s t Flow Decomposition [Strang’83, Mitchell’90] This talk

24 Problems Statement Given: Polygonal domain P sources S and sinks T Find flow vector field σ div σ = 0 inside P σ n = 0 on ∂P\{S,T} |σ| ≤ 1 – capacity V = s T σ n ds = – s S σ n ds MaxFlow Find σ that maximizes V Min-Cost Flow Given V Find σ that minimizes cost

25 Objectives | l s | – length of streamline through s in S minsum s S | l s | ds minmax max S | l s | [Mitchell’90] min-area Area ( supp σ ) – “optimal design” [Strang’83]

26 Constraints (WLOG) saturated: |σ| = 1 or 0 no closed streamlines |σ n| = 1 on S,T minsum = min-area s S | l s | ds Area ( supp σ ) Our Results minsum = minmax s S | l s | ds max S | l s | in simple P

27 Flow Decomposition Flow = U of paths(e.g., streamlines) Continuous Flow Decomposition Theorem: Min-Cost Flow = U of shortest thick paths linear #

28 Canonical Part Thick path – “sausage” Canonical part – strip

29 Auxiliary Problem The Segment Interconnection Problem Given segments (s k,t k ) on ∂P, k=1…K |s k | = |t k | =w k Connect s k to t k with width-w k “strip” minsum: SIP ∑ minmax: SIP max

30 P’ = P augmented with diameter-w k semicircles glued along s k, t k reside in a Riemann sheet SIP = (Canonical parts) thick non-crossing paths within P’ between midpoints of (s k,t k ) SIP: (Re)formulation P sksk P’

31 SIP = Thick Non-Crossing Paths SIP ∑ = SIP max Equivalent Problems

32 l s – streamline of σ through s in S l s : S → T σ ab – restriction of σ Split a into s k, k=1…K Split b into t k, k=1…K SIP(s k,t k ), width w/K Strip → l s as K → ∞ Min-cost σ ab = SIP(s k,t k ) Equivalent Problems (Another Pair) a b Contiguous subsets of S mapped into Contiguous subsets of T l s (a) = b, |a| = |b| = w

33 Min-cost σ ab = SIP(s k,t k ) = = 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 l s : S→T and its inverse

34 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

35 Conclusion Shortest Thick Non-Crossing Paths Continuous Homotopic Routing in polygonal domains simple polygons linear-size data structure linear-time 1 thick path output efficiently polygonal domains small number of holes polynomial-time algorithms large number of holes NP-hardness

36 Conclusion Continuous Flows in Geometric Domains Optimal design, river routing Continuous Flow Decomposition Theorem

37

38

39

40

41

42 Greedy vs. Selfish “Ideal” routing (VLSI) [Maley’90] –each path is ASAP (as short as possible) given the existence of the other –minsum –minmax

43 Balanced Transshipment with Source-Sink Separation Given –sources s i, sinks t k i=1…I, k=1…K –s 1 …s I,t K …t 1 around ∂P –∑|s i | = ∑ |t k | = V Ship V from sources to sinks Go around ∂P –match sources and sinks –solve SIP = Thick Non-Crossing Paths

44 K=2: Weakly NP-hard Reduce from Partition –Given numbers {c 1 …c m }, c 1 +…+c m = 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]

45 Rectilinearize

46 Running Time: 1 Path d k (u,v) O(K) Inflate ∂P(u,v) by d k (u,v) S ( e © d k ( e ))

47 Pseudodiscs Property Lemma: – pseudodiscs Feasible d(f,e) ≥ 2(x+y) not pseudodiscs d(f,e) < |d k (f) – d k (e)| = |2(x+z) – 2(y+z)| = 2|x – y| Proof: S ( e © d k ( e )) e © d k ( e ) f © d k ( f ) not pseudodiscs

48 –Early work: heuristics, restricted versions [Hsu’83, AKMSW’86] |S| = |T| = V

49 Simple Polygons 1 path –linear time Linear-size data structure –linear-time to compute Output 1 thick path –O(combinatorial complexity) –NEED PICTURE

50 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

51 Related Work: Optimal Design Problem Our Problem min Area ( supp σ ) = ∫ P | σ | dA |σ| = 1 on supp σ Subject to div σ = 0 inside P σ n = 0 on ∂P\{S,T} |σ| ≤ 1 s T σ n ds = - s S σ n ds = V [Kohn, Strang ’80s] min ∫ P | σ | dA Subject to div σ = 0 inside P |σ| ≤ 1 σ n = f on ∂P Numerical methods [extensive literature] Special Case More General

52 Problems Statement (with animations) Given: Polygonal domain P sources 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 Flow Given V Find σ that minimizes cost

53 l s – streamline of σ through s in S l s : S → T σ ab – restriction of σ Split a into s k, k=1…K Split b into t k, k=1…K SIP(s k,t k ), width w/K Strip → l s as K → ∞ Min-cost σ ab = SIP(s k,t k ) Equivalent Problems (Another Pair) with anim a b Contiguous subsets of S mapped into Contiguous subsets of T l s (a) = b, |a| = |b| = w

54 Pseudodiscs Property [BKOS’97] Lemma: – pseudodiscs S ( e © d k ( e ))


Download ppt "Thick Paths and Minimum-Cost Flows in Polygonal Domains Valentin Polishchuk joint work with Joseph Mitchell."

Similar presentations


Ads by Google