efficiently enumerating minimal triangulations
play

Efficiently Enumerating Minimal Triangulations Nofar Carmeli Batya - PowerPoint PPT Presentation

Efficiently Enumerating Minimal Triangulations Nofar Carmeli Batya Kenig Benny Kimelfeld Recent Trends in Knowledge Compilation 09/2017 1 Outline Short background TDs in probabilistic inference and knowledge compilation The


  1. Efficiently Enumerating Minimal Triangulations Nofar Carmeli Batya Kenig Benny Kimelfeld Recent Trends in Knowledge Compilation 09/2017 1

  2. Outline • Short background • TDs in probabilistic inference and knowledge compilation • The enumeration algorithm • Case study • An open problem 2

  3. Tree Decompositions Tree decomposition Tree Graph Every edge is contained in some bag Every node occurs in a connected subtree 3

  4. Generate a tree decomposition �(�, �) � 1. Triangulate the graph � � Every cycle of length > 3 has a chord � � Now �(� + �) is chordal , and � is called a triangulation of � A triangulation � is minimal if no edge can be removed while maintaining chordality 4

  5. Generate a tree decomposition �(�, �) 2. Extract the maximal cliques � = � � , … , � � in �(�, � + �) � • A chordal graph has at most |�| maximal cliques [Fulkerson+1965] • Can be easily and efficiently found � � �(�, ℰ′ ) is a �� = 2 �(�, ℰ) �, �, � �, �, � TD of �(�, �) � � � = 1 �� = 2 �, �, � 3. Connect the maximal cliques into a graph �(�, ℰ) where � � , � � ∈ ℰ iff � � ∩ � � ≠ ∅ • The weight of each edge � � , � ∈ ℰ is �� = |� � ∩ � � | � 4. Let �(�, ℰ′ ) be a maximum weight spanning tree of �(�, ℰ) 5

  6. Outline • Short background • TDs in probabilistic inference and knowledge compilation • The enumeration algorithm • Case study • An open problem 6

  7. Tree Decompositions in KC and Probabilistic Inference • Find a set of variables ! that decompose the problem into one or more independent subproblems Guided by a TD • For every possible assignment to the variables in ! • Independently solve smaller subproblems • Merge results (product) We want ! to be small • Aggregate results corresponding to different assignments (sum, max) 7

  8. Concrete Examples • C2D compiler [Darwiche’01, Darwiche ‘04, Chavira+Darwiche ’08,…] • Guided by a d-tree • Min-fill heuristic • Repeatedly apply hypergraph partitioning ( hmetis ) • Choose one with smallest width A form of • MiniC2D compiler [Oztok+Darwiche ‘15] tree-decomposition • Guided by a Decision-Vtree • Min-fill heuristic • Repeatedly apply of Hypergraph partitioning ( hmetis ) • Choose one with smallest width • AND/OR search [Dechter ‘13, Marinescu+ ‘14, Otten+ ’14, Lam+ ’16,…] • Guided by a Pseudo-Tree • Various heuristics: MCS, Min-Degree, Min-Fill,3 8

  9. Which TD to use ?? Choosing the right TD can have a profound impact on running time. time What makes these so much better for the problem? width BN: 100 vars 9

  10. Which TD to use ?? • Improving the Efficiency of Dynamic Programing on Tree Decompositions via Machine Learning [Abseher+ IJCAI ‘15] • Even TDs of the same width may yield extremely diverging runtimes • Other parameters influence the runtime at least to the same extent as width • Main idea: generate a pool of TDs and then choose the one with the “greatest promise” • Authors generate 10 TDs for every problem instance using min-fill • Apply ML algorithms for ranking the TDs according to their expected performance Required: Large amounts of diverse TDs in order to extract important features 10

  11. Which TDs not to use? Better tree decomposition Tree decomposition Better tree decomposition Graph Avoid: 1. Redundant bags 2. Redundant edges Minimal ( bag equivalent) Proper triangulations tree decompositions 11

  12. Outline • Short background • TDs in probabilistic inference and knowledge compilation • The enumeration algorithm • Case study • An open problem 12

  13. Goal Problem: Enumerating all minimal triangulations of a graph 1. Complexity guarantees 2. Effective practical solution Exponentially many minimal triangulations, what is an “efficient” algorithm? 13

  14. Efficiency of enumeration algorithms [Johnson,Papadimitriou,Yannakakis 88] polynomial delay start time Delay between successive answers is poly(input) incremental polynomial time start time Delay before answer i is polynomial in input + i 14

  15. The main theoretical result Main Theorem: Given a graph, it is possible to enumerate in incremental polynomial time: - The minimal triangulations - The proper TDs 15

  16. Goal: Enumerate Minimal Triangulations • A bijection [Parra&Scheffler97]: minimal triangulations ↔ maximal sets of saturated non-crossing minimal vertex separators 16

  17. Goal: Enumerate Maximal Independent Sets Enumerating max independent sets can be done in polynomial delay [Johnson+88] Problem: The graph may be of exponential size! … Challenge: Solve without generating the graph … 17

  18. The Enumeration Algorithm • Separator graph � !, ℇ of �(�, �) may be of exponential size but3 • We can efficiently enumerate the minimal separator set ! • Polynomial-delay iterator [Berry+99] • We can efficiently test whether a pair #, $ ∈ ℇ • Size of each maximal independent set % ⊆ ! of � is less than |�| • A triangulation of � has at most � − 1 minimal vertex separators [Fulkerson+1965] • We can efficiently (P-time) extend any independent set to one that is maximal • Extension Triangulation • We can apply any known triangulation algorithm for extension • MCS-M [Berry+02] • LB_TRIANG [Berry+06] 18

  19. Shifting a Min-Triangulation with a Min-Separator Node Maximal Independent set of non-crossing minimal separators s- shifting T : 1. Add s to T 2. Extract max. subset of non-crossing min-separators containing s 3. Extend to a minimal triangulation s -shift of T Min-Fill MCS … s T s 19 s

  20. Validate that the s -extension The Enumeration Algorithm is not already in Q or P ( 1. Generate a minimal triangulation T 0 Algorithm 2. Insert T 0 into Q Repeat until Q is empty : Min-Sep Iterator 1. Move some T from Q to P 2. Print T next () P 3. Insert into Q an s -shift of T for all Q minimal separators s in ( 4. Repeat until Q is non-empty or ! Iterator . hasNext() 1. + ← Iterator . -./0() 2. Insert into Q an s -shift of T for all minimal triangulations T in P + -extension Output: 20

  21. Experiments Is the algorithm effective? Does it help improve standard measures? 21

  22. Experiments • C++ implementation • Triangulation algorithms: MCS-M [Berry+02] LB-Triang [Berry+06] with min fill heuristics • Datasets: • Database queries, TPC-H (LogicBlox translation) 2-19 nodes, 1-46 edges • Probabilistic graphical models, UAI inference challenge 60-1039 nodes, 135-1696 edges • Random 30-200 nodes, 131-13955 edges 22

  23. Experiments • A single run (UAI, 414 nodes, 801 edges, MCS-M, 30 minutes) 50 7000 4500 46 all results 45 6232 4000 6000 39 number of results 40 ≤ � results 3500 5000 35 3000 3934 30 width 4000 2500 fill 25 2000 3000 Min width results 20 1500 15 2000 1000 10 1000 500 5 0 0 0 0 5 10 15 20 25 30 0 5 10 15 20 25 30 time (minutes) time (minutes) 23

  24. Outline • Short background • TDs in probabilistic inference and knowledge compilation • The enumeration algorithm • Case study • An open problem 24

  25. Case Study On the Impact of Pseudo-Trees on the Performance of Optimization Algorithms over AND/OR Search Spaces Héctor Otero Mediero Rina Dechter 25

  26. AND/OR Search Tree [Dechter and Mateescu 2007, Dechter 20133] A F B ℎ ≤ ∗ ⋅ log8 G A B E C F Solution tree : corresponds to a D C D E G OR A complete configuration of all primal graph pseudo tree AND variables [Freuder and Quinn 1985] 1 0 OR B B AND 1 0 1 0 OR C C F F F F C C AND 0 1 0 0 0 0 1 0 1 1 1 1 0 1 0 1 OR E D G G G G G G G G E D E D E D E D E D E D E D AND 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 26

  27. Experiments • Use enumeration algorithm to generate pseudo trees of varying width and height ℎ 9 • Test the influence of , ℎ , and their ratio 1 ≤ : ≤ 8 on execution times. 27

  28. Experiments time time width width BN: 100 vars, domain size: 2 Pedigree: 385 vars 28

  29. Experiments time time time width width Promedas: 1005 vars WCSP: 143 vars, 29

  30. Outline • Short background • TDs in probabilistic inference and knowledge compilation • The enumeration algorithm • Case study • An open problem 30

  31. Polynomial Delay ?? • We could enumerate minimal triangulations in p-delay if we could answer the following decision problem efficiently Given �(�, �) and two sets ;, < of vertex pairs X, Y ⊆ � × � Is there a minimal triangulation ℎ(�, � + �) such that: 1. ; ⊆ � 2. < ∩ � = ∅ 31

  32. The Decision Problem Does there exist a minimal triangulation ℎ(�, � + �) of �(�, �) such that: 1. ; ⊆ � 2. < ∩ � = ∅ Does there exist a chordal supergraph of � , ℎ(�, ℇ) such that: � ∪ ; ⊆ ℇ ⊆ (� × �) ∖ < The chordal graph sandwich problem is NP-complete [Golumbick+1994] 32

  33. Future Work • Theoretical • Polynomial delay • Practical • Optimizing / parallelizing the algorithm • Heuristically ranked enumeration 33

  34. Thank you 34

Recommend


More recommend