Counting minimal transversals in β -acyclic Hypergraph Benjamin Bergougnoux, Florent Capelli † , Mamadou M. Kanté ⋆ ⋆ LIMOS, CNRS, Université Clermont Auvergne † Université Lille 3, CRIStAL, CNRS, INRIA Algorithm Seminar, Bergen, November 22, 2019
Hypergraphs 4 1 2 3 5 7 6 2 / 23
Definitions Transversal A set of vertices intersecting all hyperedges. ◮ Transversals of graph: Vertex Cover. ◮ Minimal w.r.t. inclusion. ◮ Every vertex has a private hyperedge. 4 1 2 3 5 7 6 3 / 23
Definitions Transversal A set of vertices intersecting all hyperedges. ◮ Transversals of graph: Vertex Cover. ◮ Minimal w.r.t. inclusion. ◮ Every vertex has a private hyperedge. 4 1 2 2 3 5 7 6 3 / 23
Motivations ◮ Graphs: vertex covers, dominating sets (transversals of closed neighborhoods),... ◮ AI: models of monotone CNF-formula. Counting and enumerating them have a lot of applications ◮ Graphs Theory, A.I. (robustness), Datamining, Model-checking,... 4 / 23
Counting Goal Find the number of solutions to some problem. ◮ An analogous hierarchy to P ⊆ NP . ◮ Polynomial ◮ # P ◮ # P -hard / complete ◮ Counting can be much harder than finding: ◮ Minimal Transversal, Perfect Matching, 2-SAT,... ◮ k -path, k -cycle! 5 / 23
Minimality matters Theorem [Okamoto, Uno, Uehara 2005] In chordal graphs: ◮ Counting transversals is doable in polynomial time. ◮ Counting minimal transversals is # P -complete. ◮ Chordal graph: no induced cycle of size ≤ 4 . 6 / 23
β -acyclic Definition A hypergraph is β -acyclic if it does not have β -cycles. ◮ The incidence graph (vertices/hyperedges) is Bipartite Chordal. 7 / 23
β -acyclic Definition bis A hypergraph is β -acyclic if ◮ Strong Elimination ordering on V ( H ) : β -leaf e 1 e 2 e 3 e ℓ e 1 ⊆ e 2 ⊆ e 3 ⊆ . . . ⊆ e ℓ ◮ Not related to the x -width of the incidence graph. 8 / 23
Results on β -acyclic hypergraph Theorem [Brault-Baron, Capelli, Mengel 2017] We can count the transversals of a β -acyclic hypergraph in polynomial time. Theorem [B., Capelli, Kanté 2017] We can count the minimal transversals of a β -acyclic hypergraph in polynomial time. ◮ The ingredients: recursive decomposition and “blocked transversals”. 9 / 23
Basic facts x H Fact The nb. of minimal transversals of H not containing x is the nb. of minimal transversals of H − x . 10 / 23
Basic facts H − x Fact The nb. of minimal transversals of H not containing x is the nb. of minimal transversals of H − x . 10 / 23
Basic facts x H 11 / 23
Basic facts H \ H ( x ) 11 / 23
Basic facts H \ H ( x ) 11 / 23
Basic facts x H 11 / 23
Basic facts x H Lemma T ∪ x is a min. transversal of H iff: ◮ T is a min. transversal of H \ H ( x ) ◮ T is not a transversal of H 11 / 23
Formula Corollary The following values are equal: ◮ The nb. of minimal transversals of H containing x . ◮ The nb. of minimal transversals of H − H ( x ) that are not transversals of H . ◮ The nb. of minimal transversals of H − H ( x ) minus the nb. of minimal transversals of H − H ( x ) that are transversals of H . 12 / 23
Blocked-Transversals S : a subset of vertices. Definition S -blocked transversal of H (denoted by S -btr( H ) ): ◮ Minimal transversals of H and of H \ H ( S ) ◮ ∅ -btr( H ) = min. transversals of H . ◮ Private hyperedges cannot contain a vertex of S . x H 13 / 23
Blocked Transversal Lemma (reformulation) The nb. of minimal transversals of H = nb. of min. transversals of H excluding x + nb. of min. transversals of H \ H ( x ) − nb. of min. transversals of H \ H ( x ) and of H . 14 / 23
Blocked Transversal Lemma (reformulation) The nb. of minimal transversals of H = # ∅ -btr( H − x ) + nb. of min. transversals of H \ H ( x ) − nb. of min. transversals of H \ H ( x ) and of H . 14 / 23
Blocked Transversal Lemma (reformulation) The nb. of minimal transversals of H = # ∅ -btr( H − x ) + # ∅ -btr( H \ H ( x )) − nb. of min. transversals of H \ H ( x ) and of H . 14 / 23
Blocked Transversal Lemma (reformulation) The nb. of minimal transversals of H = # ∅ -btr( H − x ) + # ∅ -btr( H \ H ( x )) − # x -btr( H ) . 14 / 23
Blocked Transversal Lemma (reformulation) The nb. of minimal transversals of H = # ∅ -btr( H − x ) + # ∅ -btr( H \ H ( x )) − # x -btr( H ) . Lemma (generalization) The nb. of S -blocked transversals of H = # S -btr( H − x ) + # S -btr( H \ H ( x )) − # S ∪ { x } -btr( H \ ( H ( x ) ∩ H ( S ))) . 14 / 23
Blocked Transversal Using the formula leads to a combinatorial explosion in general! 15 / 23
Decomposition of β -acyclic hypergraph ◮ Strong elimination ordering on V ( H ) : x 1 , . . . , x n . ◮ Induced order on the hyperedges : e 1 , . . . , e m . Definition H ( x, e ) ⇒ the hyperedges � e connected to e through vertices � x . 4 1 1 3 3 7 H (3 , { 2 , 3 } ) H 6 2 2 5 ◮ H ( x n , e m ) = H . ◮ Goal is to compute # ∅ -btr( H ( x n , e m )) with the help of: ◮ The formula: # S -btr( H ) = # S -btr( H − x )+# S -btr( H \ H ( x )) − # S ∪ { x } -btr( H \ ( H ( x ) ∩ H ( S ))) ◮ Structural properties of the hypergraphs H ( x, e ) . 16 / 23
Avoid the explosion Combinatorial explosion ! To compute # { w } -btr( H ) we need to compute: ◮ # { x, w } -btr( H \ ( H ( x ) ∩ H ( w ))) ,... But in β -acyclic hypergraphs We can compute # { x, w } -btr( H \ ( H ( x ) ∩ H ( w ))) from ◮ # x -btr( H ′ ) . ◮ # w -btr( H ′ ) . We can express each H ′ as a H ( y, f ) where y < x . 17 / 23
Dynamic programming # ∅ -btr( H (5 , e 5 )) 5 4 3 2 1 18 / 23
Dynamic programming # ∅ -btr ( H (5 , e 5 )) 5 # ∅ -btr( H (4 , e 5 )) # ∅ -btr( H (4 , e 2 )) #5-btr( H (4 , e 5 )) 4 3 2 # ∅ -btr( H (2 , e 1 )) 1 Each term is computable from smaller terms. 18 / 23
Dynamic programming # ∅ -btr ( H (5 , e 5 )) 5 # ∅ -btr( H (4 , e 5 )) # ∅ -btr( H (4 , e 2 )) #5-btr( H (4 , e 5 )) 4 # ∅ -btr( H (3 , e 2 )) #4-btr( H (3 , e 2 )) 3 # ∅ -btr( H (2 , e 5 )) 2 #4-btr( H (2 , e 5 )) 1 Each term is computable from smaller terms. 18 / 23
Dynamic programming # ∅ -btr ( H (5 , e 5 )) 5 # ∅ -btr( H (4 , e 5 )) # ∅ -btr( H (4 , e 2 )) #5-btr( H (4 , e 5 )) 4 # ∅ -btr( H (3 , e 2 )) #4-btr( H (3 , e 2 )) 3 2 1 Each term is computable from smaller terms. 18 / 23
Dynamic programming # ∅ -btr ( H (5 , e 5 )) 5 # ∅ -btr ( H (4 , e 5 )) # ∅ -btr ( H (4 , e 2 )) #5 -btr ( H (4 , e 5 )) 4 # ∅ -btr ( H (3 , e 2 )) #4 -btr ( H (3 , e 2 )) 3 #5 -btr ( H (2 , e 5 )) 2 # ∅ -btr ( H (2 , e 1 )) 1 Each term is computable from smaller terms. 18 / 23
Dynamic programming # ∅ -btr ( H (5 , e 5 )) 5 4 3 2 1 We end up with a DAG. 18 / 23
Dynamic programming # ∅ -btr ( H (5 , e 5 )) 5 4 3 2 1 Sink are easily computable. 18 / 23
Dynamic programming # ∅ -btr( H (5 , e 5 )) 5 4 3 2 1 As a salmon, we go back to the source. 18 / 23
Dynamic programming # ∅ -btr ( H (5 , e 5 )) 5 4 3 2 1 As a salmon, we go back to the source. 18 / 23
Dynamic programming # ∅ -btr ( H (5 , e 5 )) 5 4 3 2 1 Number of terms is polynomial ⇒ Algorithm polynomial. 18 / 23
Result and Consequences Theorem [B. , Capelli, Kanté 2017] We can count the number of minimal transversals of a β -acyclic hypergraph in polynomial time. ◮ Min. dominating sets ⇒ min. transversals of closed neighborhoods. ◮ Strongly chordal graphs ⇔ { N [ x ] | x ∈ V ( G ) } is β -acyclic. Corollary We can count the number of min. dominating sets of Strongly Chordal graph in polynomial time. 19 / 23
Minimal dominating sets ◮ Stongly Chordal graphs ⇔ Chordal graphs + k -sun free, for k � 3 . 3-sun 4-sun 5-sun [Kanté, Uno 2017] Counting min. dominating sets of Chordal graphs is # P -complete. 20 / 23
Minimal dominating sets ◮ Stongly Chordal graphs ⇔ Chordal graphs + k -sun free, for k � 3 . 3-sun 4-sun 5-sun [Kanté, Uno 2017] Counting min. dominating sets of Chordal graphs is # P -complete. Conjecture [Kanté, Uno 2017] Counting min. dominating sets of a subclass of Chordal graphs is ◮ doable in polynomial time if this class is k -sun free, for k � 4 , ◮ # P -complet otherwise. 20 / 23
Possible generalizations Theorem [Brault-Baron, Capelli, Mengel 2015] We can count the Models of a β -acyclic CNF-formula in polynomial time. Corollary of our result We can count the minimal models of a monotone β -acyclic CNF-formula in polynomial time. ◮ Can we do it for non-monotone formulas? 21 / 23
Beyond β -acyclicity Hypertree width Para-NP-hard β -hypertree width ? point-width β -acyclic mim (incidence graph) cw (incidence graph) Polytime or XP tw (incidence graph) 22 / 23
Thank you! 23 / 23
Recommend
More recommend