community based partitioning for maxsat solving
play

Community-based Partitioning for MaxSAT Solving Ruben Martins Vasco - PowerPoint PPT Presentation

Community-based Partitioning for MaxSAT Solving Ruben Martins Vasco Manquinho In es Lynce IST/INESC-ID, Technical University of Lisbon, Portugal July 10, 2013 What is Maximum Satisfiability? CNF Formula: x 2 x 2 x 1 x 3 x


  1. Community-based Partitioning for MaxSAT Solving Ruben Martins Vasco Manquinho Inˆ es Lynce IST/INESC-ID, Technical University of Lisbon, Portugal July 10, 2013

  2. What is Maximum Satisfiability? CNF Formula: ¯ x 2 ∨ ¯ x 2 ∨ ¯ x 1 x 3 x 1 x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 3 x 1 • Formula is unsatisfiable 2 / 13

  3. What is Maximum Satisfiability? CNF Formula: ¯ x 2 ∨ ¯ x 2 ∨ ¯ x 1 x 3 x 1 x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 3 x 1 • Formula is unsatisfiable • Maximum Satisfiability (MaxSAT): ◦ Find an assignment that maximizes (minimizes) number of satisfied (unsatisfied) clauses 2 / 13

  4. What is Maximum Satisfiability? CNF Formula: ¯ x 2 ∨ ¯ x 2 ∨ ¯ x 1 x 3 x 1 x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 3 x 1 • An optimal solution would be: ◦ ν = { x 1 = 1 , x 2 = 1 , x 3 = 1 } • This assignment unsatisfies only 1 clause 2 / 13

  5. MaxSAT Problems • MaxSAT: ◦ All clauses are soft ◦ Minimize number of unsatisfied soft clauses 3 / 13

  6. MaxSAT Problems • MaxSAT: ◦ All clauses are soft ◦ Minimize number of unsatisfied soft clauses • Partial MaxSAT: ◦ Clauses are soft or hard ◦ Hard clauses must be satisfied ◦ Minimize number of unsatisfied soft clauses 3 / 13

  7. MaxSAT Problems • MaxSAT: ◦ All clauses are soft ◦ Minimize number of unsatisfied soft clauses • Partial MaxSAT: ◦ Clauses are soft or hard ◦ Hard clauses must be satisfied ◦ Minimize number of unsatisfied soft clauses • Weighted Partial MaxSAT: ◦ Clauses are soft or hard ◦ Weights associated with soft clauses ◦ Minimize sum of weights of unsatisfied soft clauses 3 / 13

  8. MaxSAT Algorithms • Branch and Bound: ◦ Extensive use of lower bounding procedures ◦ Restrictive use of MaxSAT inference rules • Linear search on the number of unsatisfied clauses: ◦ Each time a new solution is found, a new constraint is added that excludes solutions with higher cost • Unsatisfiability-based solvers: ◦ Iterative identification and relaxation of unsatisfiable subformulas 4 / 13

  9. MaxSAT Algorithms • Branch and Bound: ◦ Extensive use of lower bounding procedures ◦ Restrictive use of MaxSAT inference rules • Linear search on the number of unsatisfied clauses: ◦ Each time a new solution is found, a new constraint is added that excludes solutions with higher cost • Unsatisfiability-based solvers: ◦ Iterative identification and relaxation of unsatisfiable subformulas 4 / 13

  10. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h (Hard): ¯ x 2 ∨ ¯ x 2 ∨ ¯ x 1 x 3 ϕ s (Soft): x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 1 x 3 x 1 5 / 13

  11. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h : ¯ x 2 ∨ ¯ x 2 ∨ ¯ x 1 x 3 ϕ s : x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 1 x 3 x 1 • Formula is unsatisfiable 5 / 13

  12. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h : ¯ x 2 ∨ ¯ x 2 ∨ ¯ x 1 x 3 ϕ s : x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 1 x 3 x 1 • Formula is unsatisfiable • Identify an unsatisfiable core 5 / 13

  13. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h : ¯ x 2 ∨ ¯ x 2 ∨ ¯ CNF( r 1 + r 2 ≤ 1) x 1 x 3 ϕ s : x 1 ∨ r 1 x 3 ∨ r 2 x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 1 • Relax unsatisfiable core: ◦ Add relaxation variables ◦ Add at-most-one constraint 5 / 13

  14. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h : x 2 ∨ ¯ ¯ x 2 ∨ ¯ CNF( r 1 + r 2 ≤ 1) x 1 x 3 ϕ s : x 1 ∨ r 1 x 3 ∨ r 2 x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 1 • Formula is unsatisfiable 5 / 13

  15. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h : x 2 ∨ ¯ ¯ x 2 ∨ ¯ CNF( r 1 + r 2 ≤ 1) x 1 x 3 ϕ s : x 1 ∨ r 1 x 3 ∨ r 2 x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 1 • Formula is unsatisfiable • Identify an unsatisfiable core 5 / 13

  16. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h : ¯ x 2 ∨ ¯ x 2 ∨ ¯ CNF( r 1 + r 2 ≤ 1) CNF( r 3 + . . . + r 6 ≤ 1) x 1 x 3 ϕ s : x 1 ∨ r 1 ∨ r 3 x 3 ∨ r 2 ∨ r 4 x 2 ∨ ¯ x 1 ∨ r 5 x 3 ∨ x 1 ∨ r 6 ¯ • Relax unsatisfiable core: ◦ Add relaxation variables ◦ Add at-most-one constraint 5 / 13

  17. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h : ¯ x 2 ∨ ¯ x 2 ∨ ¯ CNF( r 1 + r 2 ≤ 1) CNF( r 3 + . . . + r 6 ≤ 1) x 1 x 3 ϕ s : x 1 ∨ r 1 ∨ r 3 x 3 ∨ r 2 ∨ r 4 x 2 ∨ ¯ x 1 ∨ r 5 x 3 ∨ x 1 ∨ r 6 ¯ • Formula is satisfiable • An optimal solution would be: ◦ ν = { x 1 = 1 , x 2 = 0 , x 3 = 0 } 5 / 13

  18. Unsatisfiability-based Algorithms (Fu&Malik [SAT’06]) Partial MaxSAT Formula: ϕ h : ¯ x 2 ∨ ¯ x 2 ∨ ¯ x 1 x 3 ϕ s : x 2 ∨ ¯ ¯ x 3 ∨ x 1 x 1 x 3 x 1 • Formula is satisfiable • An optimal solution would be: ◦ ν = { x 1 = 1 , x 2 = 0 , x 3 = 0 } • This assignment unsatisfies 2 soft clauses 5 / 13

  19. Unsatisfiability-based Algorithms • Fu&Malik algorithm can be generalized for weighted partial MaxSAT (Manquinho et al. [SAT’09], Ans´ otegui et al. [SAT’09]) • Unsatisfiability-based algorithms are very effective on industrial benchmarks 6 / 13

  20. Unsatisfiability-based Algorithms • Fu&Malik algorithm can be generalized for weighted partial MaxSAT (Manquinho et al. [SAT’09], Ans´ otegui et al. [SAT’09]) • Unsatisfiability-based algorithms are very effective on industrial benchmarks • However, performance is related with the unsatisfiable cores given by the SAT solver: ◦ Some unsatisfiable cores may be unnecessarily large 6 / 13

  21. Unsatisfiability-based Algorithms • Fu&Malik algorithm can be generalized for weighted partial MaxSAT (Manquinho et al. [SAT’09], Ans´ otegui et al. [SAT’09]) • Unsatisfiability-based algorithms are very effective on industrial benchmarks • However, performance is related with the unsatisfiable cores given by the SAT solver: ◦ Some unsatisfiable cores may be unnecessarily large ◦ Solution: Partitioning of the soft clauses 6 / 13

  22. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 7 / 13

  23. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula 7 / 13

  24. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula (3) While the formula is unsatisfiable: ◦ Relax unsatisfiable core 7 / 13

  25. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula (3) While the formula is unsatisfiable: ◦ Relax unsatisfiable core (4) The formula is satisfiable: ◦ If there are no more partitions: ⊲ Optimum found ◦ Otherwise, go back to 2 7 / 13

  26. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula (3) While the formula is unsatisfiable: ◦ Relax unsatisfiable core γ 1 ∪ γ 2 (4) The formula is satisfiable: ◦ If there are no more partitions: ⊲ Optimum found ◦ Otherwise, go back to 2 7 / 13

  27. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula (3) While the formula is unsatisfiable: ◦ Relax unsatisfiable core γ 1 ∪ γ 2 (4) The formula is satisfiable: ◦ If there are no more partitions: ⊲ Optimum found ◦ Otherwise, go back to 2 7 / 13

  28. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula (3) While the formula is unsatisfiable: ◦ Relax unsatisfiable core γ 1 ∪ γ 2 (4) The formula is satisfiable: ◦ If there are no more partitions: ⊲ Optimum found ◦ Otherwise, go back to 2 7 / 13

  29. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula (3) While the formula is unsatisfiable: ◦ Relax unsatisfiable core γ 1 ∪ γ 2 (4) The formula is satisfiable: ◦ If there are no more partitions: ⊲ Optimum found γ 1 ∪ γ 2 ∪ γ 3 ◦ Otherwise, go back to 2 7 / 13

  30. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula (3) While the formula is unsatisfiable: ◦ Relax unsatisfiable core γ 1 ∪ γ 2 (4) The formula is satisfiable: ◦ If there are no more partitions: ⊲ Optimum found γ 1 ∪ γ 2 ∪ γ 3 ◦ Otherwise, go back to 2 7 / 13

  31. Unsatisfiability-based Algorithm w/ Partitioning (Martins et al. [ECAI’12]) (1) Partition the soft clauses γ 1 γ 2 γ 3 (2) Add a new partition to the formula (3) While the formula is unsatisfiable: ◦ Relax unsatisfiable core γ 1 ∪ γ 2 (4) The formula is satisfiable: ◦ If there are no more partitions: ⊲ Optimum found γ 1 ∪ γ 2 ∪ γ 3 ◦ Otherwise, go back to 2 7 / 13

Recommend


More recommend