pruned dynamic programming
play

Pruned Dynamic Programming for Steiner Tree Yoichi Iwata (NII) - PowerPoint PPT Presentation

Separator-based Pruned Dynamic Programming for Steiner Tree Yoichi Iwata (NII) Takuto Shigemura (U-Tokyo) appeared in AAAI 2019 https://www.aaai.org/Papers/AAAI/2019/AAAI-IwataY.4578.pdf 1 Steiner Tree Problem Steiner tree problem Input:


  1. Separator-based Pruned Dynamic Programming for Steiner Tree Yoichi Iwata (NII) Takuto Shigemura (U-Tokyo) appeared in AAAI 2019 https://www.aaai.org/Papers/AAAI/2019/AAAI-IwataY.4578.pdf 1

  2. Steiner Tree Problem Steiner tree problem Input: graph 𝐻 , terminals 𝐡 βŠ† π‘Š(𝐻) Output: minimum-weight tree connecting 𝐡 𝐡 Various applications: οƒΌ VLSI design π‘ˆ οƒΌ fiber-optic network design οƒΌ team formulation in social networks 2

  3. PACE Challenge 2018 https://pacechallenge.wordpress.com/pace-2018/ Track 1: small number of terminals ( 𝐡 ≀ 136 ) οƒΌ 𝑃 3 |𝐡| π‘œ + 2 |𝐡| 𝑛 + π‘œ log π‘œ by DP [Erickson-Monma-Veinott 87] οƒΌ EMV + 𝐡 βˆ— -search [Hougardy-Silvanus-Vygen 17] Track 2: small tree-width ( π‘₯ ≀ 47 ) οƒΌ π‘₯ 𝑃 π‘₯ 𝑛 by DP οƒΌ 2 𝑃 π‘₯ 𝑛 by a rank-based DP [Bodlaender-Cygan-Kratsch- Nederlof 15] Track 3: heuristic 3

  4. Results https://pacechallenge.org/files/PACE18-report.pdf Track 1: small number of terminals 1. Our team solved 95/100 by pruned DP 2. Maziarz and Polak solved 94/100 by HSV 3. Koch and Rehfeldt solved 93/100 by ILP Track 2: small tree-width 1. Koch and Rehfeldt solved 92/100 by ILP Our team solved 77/100 by pruned DP + π‘₯ π‘₯ -DP 2. 3. Tom van der Zanden solved 58/100 by rank-based DP for public instances: pruned DP alone solved 81/100 π‘₯ π‘₯ -DP alone solved 44/100 combined solved 84/100 4

  5. Outline 1. EMV Algorithm 2. Separator-based Pruning 3. Other techniques 4. Experiments 5

  6. Dynamic Programming [Dreyfus-Wagner 71] For 𝑇 βŠ† π‘Š , let opt 𝑇 ≔ weight of min Steiner tree for terminals 𝑇 . opt 𝑇 βˆͺ {𝑣} = min ቐopt 𝑇 β€² βˆͺ {𝑣} + opt 𝑇 βˆ– 𝑇 β€² βˆͺ {𝑣} 𝑇 β€² βŠ† 𝑇 opt 𝑇 βˆͺ {𝑀} + π‘₯ 𝑀𝑣 𝑀𝑣 ∈ 𝐹 𝐻 β€² 𝑇 𝑇 β€² 𝑣 𝑇 𝑀 𝑣 βˆ– 𝑇 6

  7. EMV Algorithm [Erickson-Monma-Veinott 87] 𝑒 𝑇, 𝑣 = ∞ for βˆ€π‘‡ βŠ† 𝐡 and βˆ€π‘£ ∈ π‘Š 𝑒 𝑏 , 𝑏 = 0 for βˆ€π‘ ∈ 𝐡 for 𝑇 βŠ† 𝐡 in ascending order of |𝑇| update 𝑒(𝑇, 𝑣) for βˆ€π‘£ by Dijkstra for 𝑇 β€² βŠ† 𝐡 βˆ– 𝑇 update 𝑒(𝑇 βˆͺ 𝑇 β€² , 𝑣) for βˆ€π‘£ 𝑃 3 |𝐡| π‘œ + 2 |𝐡| 𝑛 + π‘œ log π‘œ time Can we avoid computing all 𝑒(𝑇, 𝑣) ? β†’ Yes, for special instances. [EMV 87] 7

  8. Special Case [Erickson-Monma-Veinott 87] If the graph if planar and all the terminals are on a single face, the running time is improved to 𝑃( 𝐡 3 π‘œ + 𝐡 2 π‘œ log π‘œ) . 𝐡 1 2 4 3 8

  9. Special Case [Erickson-Monma-Veinott 87] If the graph if planar and all the terminals are on a single face, the running time is improved to 𝑃( 𝐡 3 π‘œ + 𝐡 2 π‘œ log π‘œ) . But, of course, this is too special to apply in practice… 𝐡 1 Steiner tree for {1, 3} always separates {2, 4} . So we can skip the computation 2 of 𝑒( 1,3 ,βˆ—) . In general, we only need to compute 𝑒( 𝑗, 𝑗 + 1, … , π‘˜ ,βˆ—) 4 3 9

  10. Outline 1. EMV Algorithm 2. Separator-based Pruning 3. Other techniques 4. Experiments 10

  11. Important Partial Solution A Steiner tree π‘ˆ for 𝑇 βˆͺ {𝑣} is called important if there is a Steiner tree π‘ˆ β€² for 𝐡 βˆ– 𝑇 βˆͺ {𝑣} s.t. π‘ˆ + π‘ˆ β€² is a minimum Steiner tree for 𝐡 . 𝐡 𝐡 π‘ˆ π‘ˆ 𝑣 𝑣 unimportant important 11

  12. Important Partial Solution A Steiner tree π‘ˆ for 𝑇 βˆͺ {𝑣} is called important if there is a Steiner tree π‘ˆ β€² for 𝐡 βˆ– 𝑇 βˆͺ {𝑣} s.t. π‘ˆ + π‘ˆ β€² is a minimum Steiner tree for 𝐡 . In EMV algorithm, we can safely skip computations for unimportant 𝑇, 𝑣 . But how can we check the importance? 12

  13. Necessary Condition of Importance Key Lemma: A Steiner tree π‘ˆ for 𝑇 βˆͺ {𝑣} is not important if there is an (𝐡 βˆ– 𝑇) -separator 𝐷 such that for every 𝑀 ∈ 𝐷 , there is a Steiner tree for 𝑇 βˆͺ {𝑀} of weight strictly less than the weight of π‘ˆ . 𝐷 𝐷 𝐡 𝐡 π‘₯ π‘ˆ β€²β€² < π‘₯(π‘ˆ) π‘ˆ π‘ˆβ€²β€² 𝑣 𝑣 𝑀 𝑀 π‘ˆβ€² π‘ˆβ€² 13

  14. Separator Construction After computing 𝑒(𝑇,βˆ—) , we compute the minimum 𝑦 s.t. 𝐷 𝑦 ≔ 𝑣 ∈ π‘Š 𝑒 𝑇, 𝑣 ≀ 𝑦 separates 𝐡 βˆ– 𝑇 . Then, 𝐷 𝑦 satisfies the condition for every 𝑇, 𝑣 with 𝑒 𝑇, 𝑣 > 𝑦 . 𝑇 4 3 4 5 5 3 5 5 4 3 3 4 5 5 4 5 14

  15. Pruned DP Algorithm 𝑄 ← βˆ… # set of processed 𝑇 while βˆƒ unprocessed 𝑇 s.t. 𝑒 𝑇, 𝑣 β‰  ∞ for some 𝑣 pick smallest such 𝑇 update 𝑒(𝑇, 𝑣) for βˆ€π‘£ by Dijkstra compute minimum 𝑦 s.t. 𝐷 𝑦 separates 𝐡 βˆ– 𝑇 drop (𝑇, 𝑣) from 𝑒 for βˆ€ 𝑇, 𝑣 s.t. 𝑒 𝑇, 𝑣 > 𝑦 for 𝑇 β€² ∈ 𝑄 s.t. 𝑇 ∩ 𝑇 β€² β‰  βˆ… update 𝑒(𝑇 βˆͺ 𝑇 β€² , 𝑣) for βˆ€π‘£ push 𝑇 into 𝑄 15

  16. Restore dropped information (1) For unimportant (𝑇, 𝑣) , we may have 𝑒 𝑇, 𝑣 > opt 𝑇 βˆͺ 𝑣 . This can interfere with the pruning… 𝑇 𝑇 3 4 3 4 5 Dijkstra 3 5 3 5 6 3 4 3 4 5 5 5 5 6 𝐷 4 does not separate 𝐡 βˆ– 𝑇  16

  17. Restore dropped information (2) Before running Dijkstra, we partially restore 𝑒(𝑇, 𝑣) as follows. For each 𝑣 with 𝑒 𝑇, 𝑣 β‰  ∞ , we construct the corresponding Steiner tree π‘ˆ 𝑣 for 𝑇 βˆͺ {𝑣} , and update 𝑒 𝑇, 𝑀 with 𝑒(𝑇, 𝑣) for βˆ€π‘€ ∈ π‘Š(π‘ˆ 𝑣 ) . 𝑇 𝑇 3 4 3 4 5 Dijkstra 3 5 3 5 5 3 3 4 3 3 4 5 5 4 5 𝐷 4 separates 𝐡 βˆ– 𝑇  17

  18. Restore dropped information (3) If a Steiner tree π‘ˆ for 𝑇 βˆͺ {𝑣} is unimportant, π‘ˆ + 𝑄 𝑣𝑀 is also unimportant. So we can safely drop such (𝑇, 𝑀) . 𝑇 𝑇 3 4 3 4 5 Dijkstra 3 5 3 5 5 3 3 4 3 3 4 5 5 4 5 𝐷 4 separates 𝐡 βˆ– 𝑇  18

  19. Restore dropped information (3) If a Steiner tree π‘ˆ for 𝑇 βˆͺ {𝑣} is unimportant, π‘ˆ + 𝑄 𝑣𝑀 is also unimportant. So we can safely drop such (𝑇, 𝑀) . 𝑇 𝑇 3 4 3 4 Dijkstra 3 3 3 3 4 3 𝐷 4 separates 𝐡 βˆ– 𝑇  19

  20. Outline 1. EMV Algorithm 2. Separator-based Pruning 3. Other techniques 4. Experiments 20

  21. Data Structure (1) 𝑄 ← βˆ… # set of processed 𝑇 while βˆƒ unprocessed 𝑇 s.t. 𝑒 𝑇, 𝑣 β‰  ∞ for some 𝑣 … for 𝑇 β€² ∈ 𝑄 s.t. 𝑇 ∩ 𝑇 β€² β‰  βˆ… update 𝑒(𝑇 βˆͺ 𝑇 β€² , 𝑣) for βˆ€π‘£ push 𝑇 into 𝑄 How can we apply the merge operation efficiently? Let valid 𝑇 ≔ 𝑣 ∈ π‘Š 𝑒 𝑇, 𝑣 β‰  ∞ . We want to find all 𝑇 β€² such that 𝑇 ∩ 𝑇 β€² = βˆ… and 1. valid 𝑇 ∩ valid 𝑇 β€² β‰  βˆ… 2. 21

  22. Data Structure (2) We maintain the set of processed 𝑇 using the following binary trie. Each leaf 𝑒 keeps 𝑇 𝑒 βŠ† 𝐡 . Each internal node 𝑒 with leaves 𝑀 𝑒 keeps 𝐽 𝑗 ≔ځ π‘’βˆˆπ‘€ 𝑗 𝑇 𝑒 1. 𝑉 𝑗 ≔ڂ π‘’βˆˆπ‘€ 𝑗 valid(𝑇 𝑒 ) 2. When searching 𝑇′ , we can stop if 𝑇 ∩ 𝐽 𝑗 β‰  βˆ… or valid 𝑇 ∩ 𝑉 𝑗 = βˆ… . 22

  23. Meet in the Middle Any Steiner tree for 𝐡 can be written as a sum of three Steiner trees for 𝑇 1 , 𝑇 2 , 𝑇 3 with 1 ≀ 𝑇 1 ≀ 𝑇 2 ≀ 𝑇 3 ≀ |𝐡|/2 . 1. We can stop after processing all 𝑇 of size ≀ 𝐡 /2 . 2. When merging, we can iterate only over 𝑇 β€² of size at most 2 𝐡 βˆ’ 2|𝑇| . 𝑄 ← βˆ… # set of processed 𝑇 while βˆƒ unprocessed 𝑇 s.t. 𝑒 𝑇, 𝑣 β‰  ∞ for some 𝑣 … for 𝑇 β€² ∈ 𝑄 s.t. 𝑇 ∩ 𝑇 β€² β‰  βˆ… update 𝑒(𝑇 βˆͺ 𝑇 β€² , 𝑣) for βˆ€π‘£ push 𝑇 into 𝑄 23

  24. Outline 1. EMV Algorithm 2. Separator-based Pruning 3. Other techniques 4. Experiments 24

  25. Environment Data set: from the DIMACS and PACE List of Solvers: β€’ Pruned: the proposed pruned DP algorithm β€’ EMV: the classical DP algorithm HSV: EMV + 𝐡 βˆ— -search β€’ β€’ SCIP-Jack [Gamrath,Koch,Maher,Rehfeldt,Shinano 17] : ILP solver (PACE version) Setting: Intel Xeon E5-2670 (2.6 GHz), single thread, time limit = 30 minutes, memory limit = 6GB (same as PACE) 25

  26. Comparison with EMV οƒΌ No reductions οƒΌ 200 public instances from PACE 26

  27. Power of other techniques DS: Data Structure MM: Meet in the Middle 27

  28. Comparison with HSV οƒΌ No reductions 𝐡 is β€˜ better ’ than 𝐢 on an instance 𝑗 if 𝐡 could solve 𝑗 but B couldn’t or (run-time of 𝐢 ) > (run-time of 𝐡 ) Γ— 10 + 1s. 28

  29. Comparison with HSV 29

  30. Comparison with SCIP-Jack average of 𝑙/π‘œ οƒΌ Pruned used the same reductions as SCIP-Jack οƒΌ Omit too-easy instances solved by the reductions alone 30

  31. Comparison with SCIP-Jack 31

  32. Conclusion and Open Problems οƒΌ Pruned DP is quite effective for Steiner Tree. οƒΌ Further speedup? οƒ˜ Pruning interferes with future pruning… οƒΌ Pruning for tree-decomposition DP? 32

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend