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

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