Traversing the Machining Graph Danny Chen, Notre Dame Rudolf Fleischer, Li Jian, Wang Haitao,Zhu Hong, Fudan Sep,2006
2D-Milling
Example [Arkin,Held,Smith’00] Zigzag machining
Example [Tang,Joneja’03]:
Example [Tang,Joneja’03]:
The Model
We are stuck Non-compulsory edge (be traversed at most once) Compulsory edge (be traversed exactly once)
The Model We are stuck: jump
The Model Goal: minimize jumps
Greedy?
2 jumps
Greedy?
2 jumps
Greedy?
1 jump
Greedy? 1 jump
Greedy? 2 jumps
Greedy? 1 jump
Greedy? 1 jump
Greedy?
no jump
Greedy? May be exponential
What is Known Simple polygon: NP-hard? Some heuristics [Held’91, Tang,Chou,Chen’98] Polygon with h holes: NP-hard [Arkin,Held,Smith’00] 5OPT+6h jumps [AHS’00] Opt+h+N jumps [Tang,Joneja’03]
What we Show Simple polygon: NP-hard? No, linear time (DP) Some heuristics [Held’91, Tang,Chou,Chen’98] Polygon with h holes: NP-hard [Arkin,Held,Smith’00] 5OPT+6h jumps [AHS’00] Opt+h+N jumps [Tang,Joneja’03] OPT+εh jumps in polynomial time Opt jumps in linear+O(1) O(h) time (DP)
lemma Lemma [Arkin,Held,Smith’00]: There exists a optimal solution s.t. (1) every path starts and ends with compulsory edges. (2) No two non-compulsory edges are traversed consecutively. (alternating lemma)
Simple Pocket: The Dual Tree
Simple Pocket: Dynamic Programming start at the leaves
Simple Pocket: Dynamic Programming
Dynamic Programming Does path end here? 5 cases constant time per node
Polygon with h Holes time O(n)+O(1) O(h)
Polygon with h Holes Identify O(h) pivotal nodes.
Polygon with h Holes Using arbitrary strategy to cut all the cycles gives a (O(1)^O(h))*O(n) algorithms. Identify O(h) pivotal node whose removal s.t. 1.break all cycles. 2.each remaining (dual) tree is adjacent to O(1) pivotal nodes. Then, we can do it in (O(1)^O(h))+O(n) time.
Polygon with h Holes: Boundary graph
Polygon with h Holes: Minimum Restrict Path Cover Boundary graph Original Pocket Forbidden pairs: (e_1,e_4) and (e_2,e_3) e_1e_2 e_4e_3
A valid path: no forbidden pairs appear in one path. MRPC: find min # valid paths cover all vertices. Polygon with h Holes: Minimum Restrict Path Cover
Graph with Bounded Tree Width (informal) Polygon with h Holes: Minimum Restrict Path Cover Tree Graph with bound treewidth O(1) communicatons 1 communicaton
Polygon with h Holes: Minimum Restrict Path Cover(MRPC) It turns out MRPC can be solved in linear time by dynamic programming if the boundary graph has bounded treewidth. (assume its tree-decomposition is given) Remark: If tree-decomposition is not given, find 3-approximation to treewidth in time O(n log n). [Reed’92]
Polygon with h Holes: k-outerplanar graph:
Polygon with h Holes: k-outerplanar graph: Peel off the outer layer
Polygon with h Holes: k-outerplanar graph: Peel off the outer layer Peel again
Polygon with h Holes: k-outerplanar graph: Theorem: if a graph is k-outerplanar, it has treewidth 3k-1. [Bodlaender’88] Peel off the outer layer Peel again --nothing left… A 3-outplanar graph
Polygon with h Holes Lemma: (1) If dual graph has a bounded treewidth and bounded degree, its corresponding boundary graph has bounded treewidth. (2) If dual graph is a k-outplanar graph, its corresponding boundary graph is a 2k-outerplanar graph.
Thus, if the dual graph is (1) a graph with bounded treewidth and bounded degree, or (2)a k-outerplanar graph, MRPC can be solved in polynomial time. Polygon with h Holes
Cut: Polygon with h Holes Approximation for general planar graphs Original Pocket After cut
Cut an edge (in the dual): Polygon with h Holes Approximation for general planar graphs Original dual After cut
Polygon with h Holes Approximation for general planar graphs Decompose dual into a series of k-outerplanar graph k Baker’s technique
Polygon with h Holes Approximation for general planar graphs Decompose dual into a series of k-outerplanar graph by cutting edges
Intuitively, cutting one edge reduce the number of face by one. use 2h/k cuts to decompose the dual (planar) graph into series of (k+1)- outerplanar graphs Polygon with h Holes Approximation for general planar graphs
solve these (k+1)-outerplanar graphs optimally, then put solutions together for a solution with at most OPT+4h/k jumps choose k=4/ε OPT+εh jumps in polynomial time Polygon with h Holes Approximation for general planar graphs
Thank You!