Download presentation
Presentation is loading. Please wait.
Published byAdele Garrett Modified over 9 years ago
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
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 ))
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.