enumeration of circuits and minimal forbidden sets
play

Enumeration of Circuits and Minimal Forbidden Sets Frederik Stork - PowerPoint PPT Presentation

Enumeration of Circuits and Minimal Forbidden Sets Frederik Stork ILOG GmbH, Germany Marc Uetz Universiteit Maastricht, Netherlands Independence Systems Given ground set V , | V | = n , then I 2 V is independence system if W U I


  1. Enumeration of Circuits and Minimal Forbidden Sets Frederik Stork ILOG GmbH, Germany Marc Uetz Universiteit Maastricht, Netherlands

  2. Independence Systems Given ground set V , | V | = n , then I ⊆ 2 V is independence system if W ⊆ U ∈ I ⇒ W ∈ I Bases B : B ∈ I ⊆ -maximal Circuits C : C �∈ I ⊆ -minimal bases = spanning trees Example. I = forests in a graph: circuits = simple cycles ✛ ✘ Given membership oracle for I , we want to enumerate all circuits of I . ✚ ✙

  3. Complexity of Enumeration Problems Given V , and an implicit, say poly ( n ) description of C ⊆ 2 V . • Total polynomial time: Enumeration of C in time poly ( n, |C| ) • Incremental polynomial time: Given X ⊆ C , either compute U ∈ C \ X or decide X = C in time poly ( n, |X| ) [Valiant’79, Johnson, Yannakakis, Papadimitriou’88]

  4. Maximal Independent Set Enumeration is Hard Theorem. Unless P = NP, no algorithm exists that enumerates the bases B of any independence system I in total polynomial time. [Lawler, Lenstra, Rinnooy Kan ’80] Proof. Reduction from Satisfiability .

  5. Likewise. . . Theorem. Unless P = NP, no algorithm exists that enumerates the circuits C of any independence system I in total polynomial time. Proof. Given I , suppose A is such an algorithm. Define I D by W ∈ I D : ⇔ V \ W �∈ I . max. indep. for I D ⇔ V \ U U min. cover for I . Then A enumerates max. indep. sets of any I D Question. Particular independence systems?

  6. Motivation: Resource Constrained Scheduling i, j jobs ∈ V := { 1 , ..., n } b k ≺ partial order on V (precedence constraints) availability of resource k b k resource k as required by job j a kj V ( t ) Resource constraints: � j ∈ V ( t ) a kj ≤ b k for all k and t

  7. Circuits = Minimal Forbidden Sets trivial: F = { i, j } with i ≺ j , or non-trivial: • F anti-chain for poset ( V, ≺ ) � • for some k j ∈ F a kj > b k • F ⊆ –minimal Required for: • policies in stochastic scheduling • cutting planes for IP formulations • · · ·

  8. Independence System Hypergraph • nodes V = jobs • hyperedges C = min. forb. sets jobs U ⊆ V feasible ⇔ U independent set in ( V, C ) Problem: List of all (non-trivial) minimal forbidden sets C required But: The (non-trivial) minimal forbidden sets C not given explicitly

  9. Ax ≤ b Given Explicitly: Linear System Ax ≤ b Ax ≤ b i j     · · · a 11 a 1 n b 1 jobs U ⊆ V feasible a 21 · · · a 2 n b 2       x 1 . . . . . .     ⇔ . . .     x 2       Ax ( U ) ≤ b · · ·  ≤ a k 1 a kn b k . .       .      · · · 1     x n . i ≺ j .     1 1 .     · · · 1 Minimally infeasible vectors x ∈ { 0 , 1 } n = minimal forbidden sets F

  10. The Enumeration Problem Assume A ≥ 0 , b ≥ 0 , integral. ★ ✥ Linear inequality system Ax ≤ b Input: All circuits: minimal infeasible { 0 , 1 } –vectors x Output: ✧ ✦

  11. Poly-Time Enumeration is Hard Theorem. Unless P = NP, no total poly-time algorithm exists for the enumeration problem. Proof. Take graph G = ( V, E ) , decision prob- 1. A outputs min. infeas. x with lem ∃ indep. set ≥ t ? Define ≥ t one’s → G ‘Yes’ k i j 2. A terminates w/o min. infeas.     · · · 1 x with ≥ t one’s → G ‘No’   x 1 { k, j } 1 1 1     x 2 . . { i, j }       1 1  ≤ . . . 3. A outputs no min. infeas. x       .      · · · 1 with ≥ t one’s, and doesn’t     x n 1 1 1 1 1 t − 1 terminate → G ‘Yes’ . . . hence A decides NP-hard In- Assume total poly-time algorithm A , with dep.Set p ( n, |C| ) . Let A run for p ( n, | E | ) + 1 time.

  12. Poly-Time Enumeration for the Dual is easier ★ ✥ The ‘Dual’: Linear inequality system Ax ≤ b Input: All maximal feasible { 0 , 1 } –vectors x Output: ✧ ✦ Theorem. There is an incremental (quasi-)poly-time algorithm [order t o (log t ) ] [Boros, Elbassoni, Gurvich, Khachiyan, Makino ’02] Proof idea. # min. infeas. x ≤ nm # max. feas. x , so generate both sets, solved by reduction to (generalized) hypergraph dualization [Fredman & Khachiyan ’96] Note. Such an algorithm is not likely to exist to for min. infeasible x for Ax ≤ b .

  13. The Counting Problem ★ ✥ Input: Linear inequality system Ax ≤ b Output: # of min. infeasible { 0 , 1 } –vectors x ✧ ✦

  14. Counting is Hard Theorem. The counting problem is #P-complete. (#P-hardness) Given a poset ( V, ≺ ) . Consider MaxAC : Compute Proof. maximum cardinality anti-chain • MaxAC is #P-complete k i j [Provan & Ball ’83]     · · · 1   x 1 k ≺ j 1 1 1     x 2 . . i ≺ j       • max. cardinality t in poly ( n ) 1 1  ≤ . . .       .      [Max-Flow reduction] · · · 1     x n 1 1 1 1 1 t − 1 Then: # of min. infeasible { 0 , 1 } –vectors x = | ≺ | + # of MaxAC ’s

  15. Implementation of Enumeration Algorithm   x 1 � � � � 3 2 1 1 3 x 2 . C = {{ 1,2 } , { 1,3 } , { 1,4 } , { 2,3,4 }}  ≤   1 1 0 0 1 x 3  x 4 ∅ 1 2 3 4 2 3 4 3 4 4 3 4 4 4 T (2 V ) T ( C ) 4 C = leaves of tree T ( C ) (several heuristics to fathom the tree)

  16. Empirical: Comparison to Divide & Conquer 1. for any row k of Ax ≤ b , compute C k (incr. poly time) 2. store only ⊆ –minimal sets of � C k [Lawler, Lensta, Rinnooy Kan ’80, Bartusch ’84] ∅ CPU (sec.) max. CPU (sec.) Divide & Conquer 2.19 102.0 Computation of T ( C ) 0.01 0.2 480 scheduling instances with 30 jobs and 4 resources

  17. Analysis: Special cases Scheduling application with one resource type k i j     · · · 1   x 1 k ≺ j 1 1 1     x 2 . . i ≺ j       1 1  ≤ . . .       .      · · · 1     x n ≥ · · · ≥ a 1 a n b Task: Enumerate all min. infeas. x ∈ { 0 , 1 } n Theorem. Our enumeration algorithm can be imple- mented to do this in incremental polynomial time.

  18. Analysis [contd.] 1) Any infeas. set in T ( C ) is ∅ min. infeasible. 1 2 2) At any node, poly ( n ) test decides Proof idea. if infeasible descendant exists (max. 3 4 3 weight anti-chain!) 4 3) put all together. . . T ( C )

  19. Discussion • Surprising: minimal infeasible x harder than maximal feasible x for Ax ≤ b • Related: (generalized) dualization of hypergraphs [e.g., Endre Boros et. al.] • Open: ∃ Poly-time enumeration algorithm for general scheduling problem?

  20. Complexity of Counting Problems Given V and an implicit description of C ⊆ 2 V , |C| = c . • Membership in #P: c can be determined by counting the accepting computations of a nondet. poly-time Turing machine • #P-hardness: Computation of c yields a solution for any problem in #P (typically: parsimonious reduction) • #P-complete problems: Counting hamiltonian cycles or perfect matchings in a bipartite graph

Recommend


More recommend