Improvements to Core-Guided Binary Search for MaxSAT

Similar documents
Solving MaxSAT by Successive Calls to a SAT Solver

On Computing Backbones of Propositional Theories

Improving Unsatisfiability-based Algorithms for Boolean Optimization

ahmaxsat: Description and Evaluation of a Branch and Bound Max-SAT Solver

NP-Complete Reductions 2

CS 512, Spring 2017, Handout 10 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Comp487/587 - Boolean Formulas

Algorithms for Satisfiability beyond Resolution.

NP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof

Foundations of Artificial Intelligence

NP-Complete problems

1 Primals and Duals: Zero Sum Games

Essential facts about NP-completeness:

The Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization

A Method for Generating All the Prime Implicants of Binary CNF Formulas

An instance of SAT is defined as (X, S)

CSI 4105 MIDTERM SOLUTION

Introduction to Advanced Results

Foundations of Artificial Intelligence

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

MiniMaxSat: : A new Weighted Solver. Federico Heras Javier Larrosa Albert Oliveras

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK

NP-Complete Reductions 1

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving

1. Introduction Recap

PROPOSITIONAL LOGIC. VL Logik: WS 2018/19

NP-problems continued

Cardinality Networks: a Theoretical and Empirical Study

Polynomial time reduction and NP-completeness. Exploring some time complexity limits of polynomial time algorithmic solutions

NP-Hardness reductions

Notes for Lecture 2. Statement of the PCP Theorem and Constraint Satisfaction

Clause/Term Resolution and Learning in the Evaluation of Quantified Boolean Formulas

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

A brief introduction to Logic. (slides from

Formal definition of P

CS21 Decidability and Tractability

NP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.

Tutorial 1: Modern SMT Solvers and Verification

NP-Completeness. NP-Completeness 1

Theory of Computation Chapter 9

Solving #SAT and MaxSAT by dynamic programming

Foundations of Artificial Intelligence

Complexity (Pre Lecture)

CSCI3390-Lecture 17: A sampler of NP-complete problems

Low-ranksemidefiniteprogrammingforthe. MAX2SAT problem. Bosch Center for Artificial Intelligence

Decision Procedures for Satisfiability and Validity in Propositional Logic

Satisfiability and SAT Solvers. CS 270 Math Foundations of CS Jeremy Johnson

Computing Loops with at Most One External Support Rule

Solving (Weighted) Partial MaxSAT with ILP

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

LOGIC PROPOSITIONAL REASONING

CS21 Decidability and Tractability

Propositional Logic: Evaluating the Formulas

Algebraic Dynamic Programming. Solving Satisfiability with ADP

Generating Hard but Solvable SAT Formulas

CS156: The Calculus of Computation

An Exact Optimization Algorithm for Linear Decomposition of Index Generation Functions

Polynomial-time Reductions

Conjunctive Normal Form and SAT

Chapter 7 Propositional Satisfiability Techniques

Solving Max SAT and #SAT on structured CNF formulas

Conjunctive Normal Form and SAT

Knowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system):

Theory of Computer Science. Theory of Computer Science. E4.1 Overview E4.2 3SAT. E4.3 Graph Problems. E4.4 Summary.

Limitations of Algorithm Power

NP Complete Problems. COMP 215 Lecture 20

arxiv: v1 [cs.lo] 8 Jun 2018

Lecture 18: PCP Theorem and Hardness of Approximation I

Non-Deterministic Time

Chapter 7 Propositional Satisfiability Techniques

Decision Diagrams for Discrete Optimization

Introduction to Solving Combinatorial Problems with SAT

Minimal Model Generation with respect to an Atom Set

NP-problems continued

A New Look at BDDs for Pseudo-Boolean Constraints

Proof Complexity of Quantified Boolean Formulas

Satisfiability Testing of Boolean Combinations of Pseudo-Boolean Constraints using Local-search Techniques

SAT-Solvers: propositional logic in action

Phase Transition and Network Structure in Realistic SAT Problems

Theory of Computation Time Complexity

On Solving Boolean Combinations of UTVPI Constraints

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

Introduction. Chapter Context

Conjunctive Normal Form and SAT

Interpolation. Proof Reduction

SMT Unsat Core Minimization

CS 350 Algorithms and Complexity

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011

Lecture Notes on SAT Solvers & DPLL

Planning as Satisfiability

NP Completeness and Approximation Algorithms

More on NP and Reductions

Increasing the Span of Stars

From structures to heuristics to global solvers

Theory of Computer Science. Theory of Computer Science. E5.1 Routing Problems. E5.2 Packing Problems. E5.3 Conclusion.

Polynomial-time reductions. We have seen several reductions:

Transcription:

Improvements to Core-Guided Binary Search for MaxSAT A.Morgado F.Heras J.Marques-Silva CASL/CSI, University College Dublin Dublin, Ireland SAT, June 2012

Outline Motivation Previous Algorithms - Overview BCD2 Optimizations Results Conclusions

MaxSAT Maximum Satisfiability (MaxSAT) Given a propositional formula in Conjunctive Normal Form (CNF), compute an assignment to the variables that maximizes the number of satisfied clauses (x 1 ) ( x 1 x 2 ) (x 2 ) The instance is unsatisfiable, and the MaxSAT solution is 2

MaxSAT Maximum Satisfiability (MaxSAT) Given a propositional formula in Conjunctive Normal Form (CNF), compute an assignment to the variables that maximizes the number of satisfied clauses (x 1 ) ( x 1 x 2 ) (x 2 ) The instance is unsatisfiable, and the MaxSAT solution is 2 MaxSAT as MinUNSAT - MaxSAT solvers compute the minimum number of falsified clauses (1 in the example)

MaxSAT Maximum Satisfiability (MaxSAT) Given a propositional formula in Conjunctive Normal Form (CNF), compute an assignment to the variables that maximizes the number of satisfied clauses (x 1 ) ( x 1 x 2 ) (x 2 ) The instance is unsatisfiable, and the MaxSAT solution is 2 MaxSAT as MinUNSAT - MaxSAT solvers compute the minimum number of falsified clauses (1 in the example) There are 3 variants of the MaxSAT problem

MaxSAT Variants Partial MaxSAT Set of clauses divided in two: Hard clauses - have to be satisfied Soft clauses - satisfied or not Objective: Minimize the number of falsified soft clauses while satisfying all hard clauses Weighted MaxSAT Clauses have weights associated that represent the cost of falsifying the clause Objective: Minimize the sum of the weights of the falsified clauses Weighted Partial MaxSAT Combines the previous two Objective: Minimize the sum of the weights of the falsified soft clauses while satisfying all the hard clauses

MaxSAT Variants Partial MaxSAT Set of clauses divided in two: Hard clauses -havetobesatisfied Soft clauses -satisfiedornot Objective: Minimize the number of falsified soft clauses while satisfying all hard clauses Weighted MaxSAT Clauses have weights associated that represent the cost of falsifying the clause Objective: Minimize the sum of the weights of the falsified clauses Weighted Partial MaxSAT Combines the previous two Objective: Minimize the sum of the weights of the falsified soft clauses while satisfying all the hard clauses

MaxSAT Variants Partial MaxSAT Set of clauses divided in two: Hard clauses - have to be satisfied Soft clauses - satisfied or not Objective: Minimize the number of falsified soft clauses while satisfying all hard clauses Weighted MaxSAT Clauses have weights associated that represent the cost of falsifying the clause Objective: Minimize the sum of the weights of the falsified clauses Weighted Partial MaxSAT Combines the previous two Objective: Minimize the sum of the weights of the falsified soft clauses while satisfying all the hard clauses

MaxSAT Variants Partial MaxSAT Set of clauses divided in two: Hard clauses - have to be satisfied Soft clauses - satisfied or not Objective: Minimize the number of falsified soft clauses while satisfying all hard clauses Weighted MaxSAT Clauses have weights associated that represent the cost of falsifying the clause Objective: Minimize the sum of the weights of the falsified clauses Weighted Partial MaxSAT Combines the previous two Objective: Minimize the sum of the weights of the falsified soft clauses while satisfying all the hard clauses

MaxSAT Problem Complexity: Decision version of MaxSAT is NP-Complete MaxSAT is p 2 complete Many optimization problems can be modeled as MaxSAT: Bayesian Networks, Physics (Spinglass), BioInformatics (haplotyping, protein alignment), Circuit Debugging, Fault Localization, Graph problems (Max-Cut, Max-Clique), etc.

Motivation Study MaxSAT algorithms based on iteratively calling a SAT solver most of them require an exponential number of calls to the SAT solver

Motivation Study MaxSAT algorithms based on iteratively calling a SAT solver most of them require an exponential number of calls to the SAT solver Binary Search requires a linear number of calls to the SAT solver [fm-sat06]

Motivation Study MaxSAT algorithms based on iteratively calling a SAT solver most of them require an exponential number of calls to the SAT solver Binary Search requires a linear number of calls to the SAT solver [fm-sat06] Extend binary search for MaxSAT: BC - Core-guided binary search: Relax soft clauses on demand as dictated by the unsatisfiable cores found so far [hmms-aaai11] BCD -Core-guided binary search with disjoint cores: Maintaining disjoint cores allows adding smaller constraints [hmms-aaai11] BCD2 - Improvement of BCD: New bounds, better maintenance of the bounds [mhms-sat12]

Computing a MaxSAT Solution - Notation ϕ - Unsatisfiable Weighted CNF Formula: (c i, w i ) weighted clause: c i is a clause w i is a non-negative integer or ; cost of falsifying c i A - Complete Assignment: A = {x 1 =1, x 2 =0,...} Cost of assignment: Sum of weights of falsified clauses OPT - Optimum cost: Minimum cost µ - Upper Bound: Costnot lower than OPT λ OPT µ λ - Lower Bound: Valuelower than OPT

Outline Motivation Previous Algorithms - Overview BCD2 Optimizations Results Conclusions

Binary Search (1/2) Proposed by Fu&Malik SAT2006 (c i, w i ) ((x 1 ), 2) ((x 2 ), 5) (( x 1 x 2 ), )

Binary Search (1/2) Proposed by Fu&Malik SAT2006 (c i, w i ) (c i r i, w i ) ((x 1 ), 2) ((x 2 ), 5) (( x 1 x 2 ), ) ((x 1 r 1 ), 2) ((x 2 r 2 ), 5) (( x 1 x 2 ), )

Binary Search (1/2) Proposed by Fu&Malik SAT2006 (c i, w i ) (c i r i, w i ) ((x 1 ), 2) ((x 2 ), 5) (( x 1 x 2 ), ) ((x 1 r 1 ), 2) ((x 2 r 2 ), 5) (( x 1 x 2 ), ) If A c i then A r i

Binary Search (1/2) Proposed by Fu&Malik SAT2006 (c i, w i ) (c i r i, w i ) ((x 1 ), 2) ((x 2 ), 5) (( x 1 x 2 ), ) ((x 1 r 1 ), 2) ((x 2 r 2 ), 5) (( x 1 x 2 ), ) If A c i then A r i Minimize sum of weights of true relaxation variables Minimize sum of weights of falsified soft clauses

Binary Search (2/2) In each iteration: Consider τ -maximumallowed sum of weights of true r.v.

Binary Search (2/2) In each iteration: Consider τ -maximumallowed sum of weights of true r.v. τ = µ+λ 2

Binary Search (2/2) In each iteration: Consider τ -maximumallowed sum of weights of true r.v. τ = µ+λ 2 Add PB-constraint CNF ( w i r i τ)

Binary Search (2/2) In each iteration: Consider τ -maximumallowed sum of weights of true r.v. τ = µ+λ 2 Add PB-constraint CNF ( w i r i τ) ((x 1 r 1 ), 2) ((x 2 r 2 ), 5) (( x 1 x 2 ), ) µ 0 =8 λ 0 = 1 OPT = 2 λ = 1 µ =8

Binary Search (2/2) In each iteration: Consider τ -maximumallowed sum of weights of true r.v. τ = µ+λ 2 Add PB-constraint CNF ( w i r i τ) ((x 1 r 1 ), 2) ((x 2 r 2 ), 5) (( x 1 x 2 ), ) µ 0 =8 λ 0 = 1 OPT = 2 λ = 1 µ =8 τ= λ+µ 2 =3

Binary Search (2/2) In each iteration: Consider τ -maximumallowed sum of weights of true r.v. τ = µ+λ 2 Add PB-constraint CNF ( w i r i τ) ((x 1 r 1 ), 2) ((x 2 r 2 ), 5) (( x 1 x 2 ), ) µ 1 =3 λ 1 = 1 OPT = 2 λ τ µ =3

Binary Search (2/2) In each iteration: Consider τ -maximumallowed sum of weights of true r.v. τ = µ+λ 2 Add PB-constraint CNF ( w i r i τ) ((x 1 r 1 ), 2) ((x 2 r 2 ), 5) (( x 1 x 2 ), ) µ 2 =3 λ 2 =1 OPT = 2 λ τ µ

Binary Search (2/2) In each iteration: Consider τ -maximumallowed sum of weights of true r.v. τ = µ+λ 2 Add PB-constraint CNF ( w i r i τ) ((x 1 r 1 ), 2) ((x 2 r 2 ), 5) (( x 1 x 2 ), ) µ 3 =2 λ 3 =1 OPT = 2 λ µ

BC - Core-Guided Binary Search Binary Search relaxes all soft clauses State of the art SAT solvers report Unsatisfiable Cores on unsatisfiable formulas ϕ C - Unsatisfiable Core: subset of unsatisfiable clauses

BC - Core-Guided Binary Search Binary Search relaxes all soft clauses State of the art SAT solvers report Unsatisfiable Cores on unsatisfiable formulas ϕ C - Unsatisfiable Core: subset of unsatisfiable clauses BC only relaxes a clause when it belongs to an unsatisfiable core Initially no clause is relaxed On every unsatisfiable iteration obtain the core ϕ C If ϕ C contains unrelaxed soft clauses clauses then relax unrelaxed soft clauses else proceed as Binary Search

BC - Core-Guided Binary Search Binary Search relaxes all soft clauses State of the art SAT solvers report Unsatisfiable Cores on unsatisfiable formulas ϕ C - Unsatisfiable Core: subset of unsatisfiable clauses BC only relaxes a clause when it belongs to an unsatisfiable core Initially no clause is relaxed On every unsatisfiable iteration obtain the core ϕ C If ϕ C contains unrelaxed soft clauses clauses then relax unrelaxed soft clauses else proceed as Binary Search ((x 1, 2) ((x 2 ), 5) ((x 6 ), 1) (( x 1 x 2 ), )

Outline Motivation Previous Algorithms - Overview BCD2 Optimizations Results Conclusions

BCD/BCD2 - Core-Guided Binary Search with Disjoint Cores BC maintains one large PB-constraint Some cores do not intersect other cores throughout the iterations

BCD/BCD2 - Core-Guided Binary Search with Disjoint Cores BC maintains one large PB-constraint Some cores do not intersect other cores throughout the iterations BCD/BCD2 maintain disjoint cores separate: Each disjoint core C i is a core with it own: µ i -upperbound λ i -lowerbound R i -setofrelaxationvariables τ i - middle value Each disjoint core C i adds a PB-constraint to the formula CNF ( r j R i w j r j τ i )

BCD/BCD2 on Example (x 1, 1) (x 6, 1) (x 5, 1) (x 4, 1) (x 3, 1) (x 2, 1) ( x 6, 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1, 1) (x 6, 1) (x 5, 1) (x 4, 1) (x 3, 1) (x 2, 1) ( x 6, 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1, 1) (x 6 r 6, 1) (x 5, 1) (x 4, 1) (x 3, 1) (x 2, 1) ( x 6 r 7, 1) µ =3 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1, 1) (x 6 r 6, 1) (x 5, 1) (x 4, 1) (x 3, 1) (x 2, 1) ( x 6 r 7, 1) µ =3 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5, 1) (x 4, 1) (x 3, 1) (x 2 r 2, 1) µ =3 λ =0 τ =1 CNF (r 1 + r 2 1) ( x 6 r 7, 1) µ =3 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5, 1) (x 4, 1) (x 3, 1) (x 2 r 2, 1) µ =3 λ =0 τ =1 CNF (r 1 + r 2 1) ( x 6 r 7, 1) µ =3 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5, 1) (x 2 r 2, 1) µ =3 λ =0 τ =1 CNF (r 1 + r 2 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =3 λ =0 τ =1 CNF (r 3 + r 4 1) ( x 6 r 7, 1) µ =3 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5, 1) (x 2 r 2, 1) µ =3 λ =0 τ =1 CNF (r 1 + r 2 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =3 λ =0 τ =1 CNF (r 3 + r 4 1) ( x 6 r 7, 1) µ =3 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5 r 5, 1) (x 2 r 2, 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =6 λ =0 τ =3 CNF (r 1 + r 2 + r 3 + r 4 + r 5 3) ( x 6 r 7, 1) µ =3 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5 r 5, 1) (x 2 r 2, 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =6 λ =0 τ =3 CNF (r 1 + r 2 + r 3 + r 4 + r 5 3) ( x 6 r 7, 1) µ =3 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5 r 5, 1) (x 2 r 2, 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =3 λ =0 τ =1 CNF (r 1 + r 2 + r 3 + r 4 + r 5 1) ( x 6 r 7, 1) µ =1 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5 r 5, 1) (x 2 r 2, 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =3 λ =0 τ =1 CNF (r 1 + r 2 + r 3 + r 4 + r 5 1) ( x 6 r 7, 1) µ =1 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5 r 5, 1) (x 2 r 2, 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =3 λ =1 τ =2 CNF (r 1 + r 2 + r 3 + r 4 + r 5 2) ( x 6 r 7, 1) µ =1 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5 r 5, 1) (x 2 r 2, 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =3 λ =1 τ =2 CNF (r 1 + r 2 + r 3 + r 4 + r 5 2) ( x 6 r 7, 1) µ =1 λ =0 τ =1 CNF (r 6 + r 7 1) ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD/BCD2 on Example (x 1 r 1, 1) (x 6 r 6, 1) (x 5 r 5, 1) (x 2 r 2, 1) (x 4 r 4, 1) (x 3 r 3, 1) µ =3 λ =2 ( x 6 r 7, 1) µ =1 λ =0 ( x 1 x 2, ) ( x 2 x 3, ) ( x 3 x 4, ) ( x 4 x 5, ) ( x 5 x 1, )

BCD2 - Improvements Improvements over BCD On the maintenance of upper bound Cost of Clause Global Upper Bound On the maintenance of lower bound New Lower Bound

BCD2 - Improvements on the upper bound Cost of Clause In BCD the cost of a clause consider the relaxation variable w i A(r i ) In BCD2 the cost of a clause disregards the relaxation variable w i (1 A(c i \{r i }))

BCD2 - Improvements on the upper bound Cost of Clause In BCD the cost of a clause consider the relaxation variable w i A(r i ) In BCD2 the cost of a clause disregards the relaxation variable w i (1 A(c i \{r i })) Global Upper Bound BCD only maintains local upper bounds µ i i µ i can increase in some iterations conservative update of µ i over unrelaxed soft clauses the weight of the clause BCD2 maintains µ as global upper bound (and its assignment A µ ) µ i updated on unrelaxed soft clauses with the cost of the clause on A µ

BCD2 - Improvements on the lower bound 1/2 New Lower Bound when merging disjoint cores with unrelaxed clauses Merge C 1,...,C k Add (c 1, w 1 ),...,(c m, w m ) BCD: λ new = λ 1 +...+ λ k

BCD2 - Improvements on the lower bound 1/2 New Lower Bound when merging disjoint cores with unrelaxed clauses Merge C 1,...,C k Add (c 1, w 1 ),...,(c m, w m ) BCD: λ new = λ 1 +...+ λ k BCD2: λ new = λ 1 +...+ λ k + =... (next slide) Why the current unsatisfiable core? Because: Unrelaxed Soft Clauses Disjoint Core needs update of bounds A mix of both

BCD2 - Improvements on the lower bound 2/2 Why the current unsatisfiable core? Because: Unrelaxed Soft Clauses One of the unrelaxed clauses unsatisfied: (c x, w x) Increment by w x

BCD2 - Improvements on the lower bound 2/2 Why the current unsatisfiable core? Because: Unrelaxed Soft Clauses One of the unrelaxed clauses unsatisfied: (c x, w x) Increment by w x Safe minimum: δ 1 = min{w 1,...,w m}

BCD2 - Improvements on the lower bound 2/2 Why the current unsatisfiable core? Because: Unrelaxed Soft Clauses One of the unrelaxed clauses unsatisfied: (c x, w x) Increment by w x Safe minimum: δ 1 = min{w 1,...,w m} Disjoint Core needs update of bounds Update lower bound of disjoint core: λ x = τ x Increment by τ x λ x

BCD2 - Improvements on the lower bound 2/2 Why the current unsatisfiable core? Because: Unrelaxed Soft Clauses One of the unrelaxed clauses unsatisfied: (c x, w x) Increment by w x Safe minimum: δ 1 = min{w 1,...,w m} Disjoint Core needs update of bounds Update lower bound of disjoint core: λ x = τ x Increment by τ x λ x Safe minimum: δ 2 = min{τ 1 λ 1,...,τ k λ k }

BCD2 - Improvements on the lower bound 2/2 Why the current unsatisfiable core? Because: Unrelaxed Soft Clauses One of the unrelaxed clauses unsatisfied: (c x, w x) Increment by w x Safe minimum: δ 1 = min{w 1,...,w m} Disjoint Core needs update of bounds Update lower bound of disjoint core: λ x = τ x Increment by τ x λ x Safe minimum: δ 2 = min{τ 1 λ 1,...,τ k λ k } Amixofboth Safe minimum: δ 1 + δ 2

BCD2 - Improvements on the lower bound 2/2 Why the current unsatisfiable core? Because: Unrelaxed Soft Clauses One of the unrelaxed clauses unsatisfied: (c x, w x) Increment by w x Safe minimum: δ 1 = min{w 1,...,w m} Disjoint Core needs update of bounds Update lower bound of disjoint core: λ x = τ x Increment by τ x λ x Safe minimum: δ 2 = min{τ 1 λ 1,...,τ k λ k } Amixofboth Safe minimum: δ 1 + δ 2 In BCD2 =min{δ 1,δ 2,δ 1 + δ 2 } =min{δ 1,δ 2 }

Outline Motivation Previous Algorithms - Overview BCD2 Optimizations Results Conclusions

Additional Techniques Hardening Adapted the Hardening Rule from B&B MaxSAT algorithms Use global µ and λ i as bounds Whenever bounds are updated then test hardening rule on remaining soft clauses May declare soft clauses as hard Details in the paper

Additional Techniques Hardening Adapted the Hardening Rule from B&B MaxSAT algorithms Use global µ and λ i as bounds Whenever bounds are updated then test hardening rule on remaining soft clauses May declare soft clauses as hard Details in the paper Biased Search Decide τ depending on the outcomes of previous iterations Not necessarily the middle point Details in the paper

Outline Motivation Previous Algorithms - Overview BCD2 Optimizations Results Conclusions

Experimental Results Linux cluster with 50 nodes, each node 3Ghz and 32 GB Time limit 1800 seconds and memory limit 4GB Instances from 2009-2011 MaxSAT Evaluation instances All Non-Random instances - crafted and industrial All categories: (Plain) MaxSAT, Partial MaxSAT, Weighted MaxSAT, Weighted Partial MaxSAT > 2600 instances

BC, BCD and BCD2 (and extensions) 1800 1600 BC BCD BCD2 BCD2-B-H 1400 1200 CPU time 1000 800 600 400 200 0 1500 1550 1600 1650 1700 1750 1800 # Instances BC 1730; BCD 1801; BCD2 1813; BCD2-B-H 1832

BCD vs BCD2 1800 1600 1400 1200 BCD 1000 800 600 400 200 0 0 200 400 600 800 1000 1200 1400 1600 1800 BCD2

BCD vs BCD2 1800 1600 1400 1200 1305 instances with 20% runtime difference: 918 BCD2 wins 387 BCD wins BCD 1000 800 600 400 200 0 0 200 400 600 800 1000 1200 1400 1600 1800 BCD2

BCD vs BCD2 BCD 1800 1600 1400 1200 1000 800 600 400 1305 instances with 20% runtime difference: 918 BCD2 wins 387 BCD wins 1793 instances solved by both: BCD: 124 907 SAT calls BCD2: 68 690 SAT calls 200 0 0 200 400 600 800 1000 1200 1400 1600 1800 BCD2

BCD vs BCD2 BCD 1800 1600 1400 1200 1000 800 600 400 200 0 0 200 400 600 800 1000 1200 1400 1600 1800 BCD2 1305 instances with 20% runtime difference: 918 BCD2 wins 387 BCD wins 1793 instances solved by both: BCD: 124 907 SAT calls BCD2: 68 690 SAT calls close 50% less calls

Outline Motivation Previous Algorithms - Overview BCD2 Optimizations Results Conclusions

Contributions Proposed improvements to BCD Improvement on the organization of the BCD algorithm: Maintain a global upper bound µ and associated assignment A µ Maintain the contribution of each soft clause to the cost New more aggressive lower bound Reduced the number of iterations (fewer SAT calls) Proposed two techniques - Hardening & Biased Search Can be implemented on any core-guided MaxSAT algorithm (that uses upper and lower bounds) BCD2 (with extensions) shown to improved BCD on extensive set of benchmarks

Obrigado. Thank you. Grazie.