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 The Model Compulsory edge The Model (be traversed exactly once) Non-compulsory edge (be traversed at most once) We are stuck The Model We are stuck: jump The Model Goal: minimize jumps Greedy? Greedy? Greedy? Greedy? 2 jumps Greedy? Greedy? Greedy? 2 jumps Greedy? Greedy? 1 jump Greedy? 1 jump Greedy? 2 jumps Greedy? 1 jump Greedy? 1 jump Greedy? Greedy? Greedy? no jump Greedy? May be exponential What is Known Simple polygon: NP-hard? Some heuristics Polygon with h holes: NP-hard 5OPT+6h jumps Opt+h+N jumps [Held’91, Tang,Chou,Chen’98] [Arkin,Held,Smith’00] [AHS’00] [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 Original Pocket Boundary graph e_1 e_2 e_4 e_3 Forbidden pairs: (e_1,e_4) and (e_2,e_3) Polygon with h Holes: Minimum Restrict Path Cover 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) 1 communicaton O(1) communicatons Tree Graph with bound treewidth 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: Peel off the outer layer A 3-outplanar graph Peel again Peel again --nothing left… Theorem: if a graph is k-outerplanar, it has treewidth 3k-1 . [Bodlaender’88] 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. Polygon with h Holes 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 Approximation for general planar graphs Cut: Original Pocket After cut Polygon with h Holes Approximation for general planar graphs Cut an edge (in the dual): Original dual After cut Polygon with h Holes Approximation for general planar graphs Decompose dual into a series of k-outerplanar graph Baker’s technique Polygon with h Holes Approximation for general planar graphs Decompose dual into a series of k-outerplanar graph by cutting edges Polygon with h Holes Approximation for general planar graphs 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 Thank You!