Top Banner
Re-implementing and Extending a Hybrid SAT–IP Approach to Maximum Satisfiability Paul Saikko HIIT & Dept. of Computer Science University of Helsinki Finland 1 st August, 2017 1 / 34
79

Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Sep 09, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Re-implementing and Extending a Hybrid SAT–IPApproach to Maximum Satisfiability

Paul Saikko

HIIT & Dept. of Computer ScienceUniversity of Helsinki

Finland

1st August, 2017

1 / 34

Page 2: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Problems

Goal: Find exact solutions to computationally difficult problems

DecisionDetermine if a solution exists

OptimizationFind, with respect to a given objective function, the best solution

I smallestI fastestI cheapestI most probableI etc...

2 / 34

Page 3: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Problems

DecisionI Can a given propositional logic formula be

satisfied? (SAT) [Cook, 1971]I Hardware and software

verification [Kropf, 2013, Silva et al., 2008]

OptimizationI Determining the locations of production

and storage facilities and facility layoutoptimization [Azadivar and Wang, 2000]

I Scheduling: e.g. air traffic, course times inuniversities, shifts in workplaces [Lau, 1996]

3 / 34

Page 4: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Motivation

Many problems are NP–hard or harder

Why try to solve them exactly?

I Exact solutions save time, money, resources

I Algorithms perform much better than worst–case on real–worldproblems

I Exactly solve simplified problems for better approximations

4 / 34

Page 5: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Motivation

Many problems are NP–hard or harder

Why try to solve them exactly?

I Exact solutions save time, money, resources

I Algorithms perform much better than worst–case on real–worldproblems

I Exactly solve simplified problems for better approximations

4 / 34

Page 6: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Declarative programming

Impractical to develop algoritms for every problem and everyvariation

Solution1. Model problem using a constraint language2. Solve using a generic algorithm (solver) for that constraint

language

BenefitsI Easy to reformulate and refine problem definitionI Solver development benefits many different problem domains

5 / 34

Page 7: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Constraint languages

Many approaches to model and solve constrained optimizationproblems:

I Integer linear programming (IP / LP)

I Finite-domain constraint satisfaction/optimization (CP)

I Boolean satisfiability (SAT)

I Maximum satisfiability (MaxSAT)

I Prolog, Answer set programming (ASP), SMT, etc ...

6 / 34

Page 8: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Constraint languages

Many approaches to model and solve constrained optimizationproblems:

I Integer linear programming (IP / LP)

I Finite-domain constraint satisfaction/optimization (CP)

I Boolean satisfiability (SAT)

I Maximum satisfiability (MaxSAT)

I Prolog, Answer set programming (ASP), SMT, etc ...

6 / 34

Page 9: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Integer linear programming

Maximize or minimize a linear objective function f :

f (x1, . . . , xn) = w1x1 + · · ·+ wnxn

Subject to linear constraints of type:

a1x1 + · · ·+ anxn ≤ k or a1x1 + · · ·+ anxn ≥ k

NP–hard if we restrict xi to integer values

7 / 34

Page 10: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example: Hitting sets

Given a collection of elements U and a set S of sets s0, . . . , sn ⊂ U

A hitting set H of S contains at least one element from each si

NP–hard problem: Find smallest or minimum-cost H [Karp, 1972]

8 / 34

Page 11: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example: Hitting sets

Given a collection of elements U and a set S of sets s0, . . . , sn ⊂ U

A hitting set H of S contains at least one element from each si

NP–hard problem: Find smallest or minimum-cost H [Karp, 1972]

8 / 34

Page 12: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example: Hitting sets

Given a collection of elements U and a set S of sets s0, . . . , sn ⊂ U

A hitting set H of S contains at least one element from each si

NP–hard problem: Find smallest or minimum-cost H [Karp, 1972]

8 / 34

Page 13: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example: Hitting sets

Given a collection of elements U and a set S of sets s0, . . . , sn ⊂ U

A hitting set H of S contains at least one element from each si

NP–hard problem: Find smallest or minimum-cost H [Karp, 1972]

8 / 34

Page 14: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example: Hitting sets

Minimum hitting set has a simple IP formulation:

For each element e in U, create a binary variable xe

Meaning: xe = 1 if e ∈ H otherwise xe = 0

minimize∑e∈U

xe ,

Single linear constraint for each s:

subject to∑e∈s

xe ≥ 1 ∀s ∈ S

9 / 34

Page 15: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Boolean Satisfiability

I First NP–complete problem [Cook, 1971]

I Given a propositional logic formula, does a truth assignmentexist that satisfies the formula?

I Polynomial transformation to equivalent conjunctive normalform (CNF) formula [Tseitin, 1983]

10 / 34

Page 16: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Syntax of Boolean logic

I Variables: x1, x2, x3, . . .

I Literals: variable xi or its negation ¬xi

I Clauses: disjunction (logical OR) of literalse.g. x1 ∨ ¬x2 ∨ x3

I CNF Formula: conjunction (logical AND) of clausese.g. (x1 ∨ x2) ∧ (¬x3) ∧ (x2) ∧ (x1 ∨ ¬x2 ∨ ¬x3)

11 / 34

Page 17: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Semantics of Boolean logic

I Truth assignment: τ : X → {0, 1} gives each variable xi avalue of 0 or 1

I Literals: xi is satisfied if τ(xi) = 1¬xi is satisfied if τ(xi) = 0

I Clauses: satisfied if at least one of its literals is satisfied

I CNF Formula: satisfied if all of its clauses are satisfied

12 / 34

Page 18: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

F =

(x1 ∨ x2 ∨ x3) ∧(¬x1 ∨ x2 ∨ x3) ∧(x1 ∨ ¬x2 ∨ x3) ∧(x1 ∨ x2 ∨ ¬x3) ∧(¬x1 ∨ ¬x2 ∨ x3) ∧(x1 ∨ ¬x2 ∨ ¬x3) ∧(¬x1 ∨ ¬x2 ∨ ¬x3)

Satisfiable? YESτ : {x1 = 1, x2 = 0, x3 = 1}

13 / 34

Page 19: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

F =

(x1 ∨ x2 ∨ x3) ∧(¬x1 ∨ x2 ∨ x3) ∧(x1 ∨ ¬x2 ∨ x3) ∧(x1 ∨ x2 ∨ ¬x3) ∧(¬x1 ∨ ¬x2 ∨ x3) ∧(x1 ∨ ¬x2 ∨ ¬x3) ∧(¬x1 ∨ ¬x2 ∨ ¬x3)

Satisfiable?

YESτ : {x1 = 1, x2 = 0, x3 = 1}

13 / 34

Page 20: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

F =

(x1 ∨ x2 ∨ x3) ∧(¬x1 ∨ x2 ∨ x3) ∧(x1 ∨ ¬x2 ∨ x3) ∧(x1 ∨ x2 ∨ ¬x3) ∧(¬x1 ∨ ¬x2 ∨ x3) ∧(x1 ∨ ¬x2 ∨ ¬x3) ∧(¬x1 ∨ ¬x2 ∨ ¬x3)

Satisfiable?

YES

τ : {x1 = 1, x2 = 0, x3 = 1}

13 / 34

Page 21: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

F =

(x1 ∨ x2 ∨ x3) ∧(¬x1 ∨ x2 ∨ x3) ∧(x1 ∨ ¬x2 ∨ x3) ∧(x1 ∨ x2 ∨ ¬x3) ∧(¬x1 ∨ ¬x2 ∨ x3) ∧(x1 ∨ ¬x2 ∨ ¬x3) ∧(¬x1 ∨ ¬x2 ∨ ¬x3)

Satisfiable? YESτ : {x1 = 1, x2 = 0, x3 = 1}

13 / 34

Page 22: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

CNF Encodings

Clauses are very simple constraints, easy to reason aboutMore complex constraints must be encoded in CNF form to be used

Example: "Exactly one of x1, x2, x3 is true"

1. (x1 ∨ x2 ∨ x3) "At least one of x1, x2, x3 is true"

2.(¬x1 ∨ ¬x2)(¬x2 ∨ ¬x3)(¬x1 ∨ ¬x3)

"At least one of each pair of x1, x2, x3 is false"

14 / 34

Page 23: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

CNF Encodings

Clauses are very simple constraints, easy to reason aboutMore complex constraints must be encoded in CNF form to be used

Example: "Exactly one of x1, x2, x3 is true"

1. (x1 ∨ x2 ∨ x3) "At least one of x1, x2, x3 is true"

2.(¬x1 ∨ ¬x2)(¬x2 ∨ ¬x3)(¬x1 ∨ ¬x3)

"At least one of each pair of x1, x2, x3 is false"

14 / 34

Page 24: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

CNF Encodings

Clauses are very simple constraints, easy to reason aboutMore complex constraints must be encoded in CNF form to be used

Example: "Exactly one of x1, x2, x3 is true"

1. (x1 ∨ x2 ∨ x3) "At least one of x1, x2, x3 is true"

2.(¬x1 ∨ ¬x2)(¬x2 ∨ ¬x3)(¬x1 ∨ ¬x3)

"At least one of each pair of x1, x2, x3 is false"

14 / 34

Page 25: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

CNF Encodings

Clauses are very simple constraints, easy to reason aboutMore complex constraints must be encoded in CNF form to be used

Example: "Exactly one of x1, x2, x3 is true"

1. (x1 ∨ x2 ∨ x3) "At least one of x1, x2, x3 is true"

2.(¬x1 ∨ ¬x2)(¬x2 ∨ ¬x3)(¬x1 ∨ ¬x3)

"At least one of each pair of x1, x2, x3 is false"

14 / 34

Page 26: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

SAT solvers

I SAT solvers very efficient on real-world problems

I Often handle up to millions of variables and clauses

I Constraint driven clause learning (CDCL) algorithm implicitlyexploits structure

I Solvers provide satisfying assignment or proof of unsatisfiability

15 / 34

Page 27: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

MaxSAT

An optimization extension of SAT

Given an unsatisfiable formula F , find a truth assignment τ thatmaximizes the number of satisfied clauses

Example:F = (x1 ∨ x2)∧ (¬x1 ∨ x2)∧ (x1 ∨ ¬x2)∧ (¬x1 ∨ ¬x2)∧ (¬x1)∧ (x2)

τ : {x1 = 0, x2 = 1}

16 / 34

Page 28: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

MaxSAT

An optimization extension of SAT

Given an unsatisfiable formula F , find a truth assignment τ thatmaximizes the number of satisfied clauses

Example:F = (x1 ∨ x2)∧ (¬x1 ∨ x2)∧ (x1 ∨ ¬x2)∧ (¬x1 ∨ ¬x2)∧ (¬x1)∧ (x2)

τ : {x1 = 0, x2 = 1}

16 / 34

Page 29: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

MaxSAT

An optimization extension of SAT

Given an unsatisfiable formula F , find a truth assignment τ thatmaximizes the number of satisfied clauses

Example:F = (x1 ∨ x2)∧ (¬x1 ∨ x2)∧ (x1 ∨ ¬x2)∧ (¬x1 ∨ ¬x2)∧ (¬x1)∧ (x2)

τ : {x1 = 0, x2 = 1}

16 / 34

Page 30: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

MaxSAT

An optimization extension of SAT

Given an unsatisfiable formula F , find a truth assignment τ thatmaximizes the number of satisfied clauses

Example:F = (x1 ∨ x2)∧ (¬x1 ∨ x2)∧ (x1 ∨ ¬x2)∧ (¬x1 ∨ ¬x2)∧ (¬x1)∧ (x2)

τ : {x1 = 0, x2 = 1}

16 / 34

Page 31: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

MaxSAT

An optimization extension of SAT

Given an unsatisfiable formula F , find a truth assignment τ thatmaximizes the number of satisfied clauses

Example:F = (x1 ∨ x2)∧ (¬x1 ∨ x2)∧ (x1 ∨ ¬x2)∧ (¬x1 ∨ ¬x2)∧ (¬x1)∧ (x2)

τ : {x1 = 0, x2 = 1}

16 / 34

Page 32: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Variants of MaxSAT

Weighted MaxSATI Assign positive weights to clausesI Maximize the total weight of satisfied clauses

Partial MaxSATI Mandatory (hard) and optional (soft) clausesI Maximize the number of satisfied soft clauses such that all

hard clauses are satisfied

17 / 34

Page 33: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Applications

Recently MaxSAT has been successfully utilized in many problemdomains.

I design debugging [Chen et al., 2009]I software dependencies [Argelich et al., 2010]I data visualization [Bunte et al., 2014]I causal discovery [Hyttinen et al., 2014]I model–based diagnosis [Marques-Silva et al., 2015]I abstract argumentation [Wallner et al., 2016]I correlation clustering [Berg and Järvisalo, 2017]I and more ...

18 / 34

Page 34: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Unsatisfiable cores

A subset of clauses κ of a formula F , which cannot be satisfied bythe same truth assignment.

Found by SAT solver if formula unsatisfiable.

Example:F = (¬x1 ∨ x2) ∧ (¬x1 ∨ ¬x2) ∧ (x1 ∨ ¬x2) ∧ (x1 ∨ x2) ∧ (x1) ∧ (x2)

Has (minimal) cores:I {(¬x1 ∨ x2), (¬x1 ∨ ¬x2), (x1 ∨ ¬x2), (x1 ∨ x2)}I {(¬x1 ∨ x2), (¬x1 ∨ ¬x2), (x1)}I {(¬x1 ∨ ¬x2), (x1 ∨ ¬x2), (x2)}

19 / 34

Page 35: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Unsatisfiable cores

A subset of clauses κ of a formula F , which cannot be satisfied bythe same truth assignment.

Found by SAT solver if formula unsatisfiable.

Example:F = (¬x1 ∨ x2) ∧ (¬x1 ∨ ¬x2) ∧ (x1 ∨ ¬x2) ∧ (x1 ∨ x2) ∧ (x1) ∧ (x2)

Has (minimal) cores:I {(¬x1 ∨ x2), (¬x1 ∨ ¬x2), (x1 ∨ ¬x2), (x1 ∨ x2)}I {(¬x1 ∨ x2), (¬x1 ∨ ¬x2), (x1)}I {(¬x1 ∨ ¬x2), (x1 ∨ ¬x2), (x2)}

19 / 34

Page 36: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Unsatisfiable cores

A subset of clauses κ of a formula F , which cannot be satisfied bythe same truth assignment.

Found by SAT solver if formula unsatisfiable.

Example:F = (¬x1 ∨ x2) ∧ (¬x1 ∨ ¬x2) ∧ (x1 ∨ ¬x2) ∧ (x1 ∨ x2) ∧ (x1) ∧ (x2)

Has (minimal) cores:I {(¬x1 ∨ x2), (¬x1 ∨ ¬x2), (x1 ∨ ¬x2), (x1 ∨ x2)}I {(¬x1 ∨ x2), (¬x1 ∨ ¬x2), (x1)}I {(¬x1 ∨ ¬x2), (x1 ∨ ¬x2), (x2)}

19 / 34

Page 37: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Solving (plain) MaxSAT with SAT solvers

Bounds-based algorithm (e.g. in [Martins et al., 2014])1. Encode "k clauses in formula can be satisfied" as CNF2. SAT solve original formula F with above constraints

I Satisfiable? Increase kI Unsatisfiable? Decrease k

3. Repeat until largest satisfiable k found

Core-based algorithm (e.g. [Fu and Malik, 2006])1. SAT solve the formula F

I Satisfiable? Optimum foundI Unsatisfiable? Get a core κ

2. Relax F such that exactly one clause in κ can be left unsatified3. Repeat until satisfiable

20 / 34

Page 38: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Solving (plain) MaxSAT with SAT solvers

Bounds-based algorithm (e.g. in [Martins et al., 2014])1. Encode "k clauses in formula can be satisfied" as CNF2. SAT solve original formula F with above constraints

I Satisfiable? Increase kI Unsatisfiable? Decrease k

3. Repeat until largest satisfiable k found

Core-based algorithm (e.g. [Fu and Malik, 2006])1. SAT solve the formula F

I Satisfiable? Optimum foundI Unsatisfiable? Get a core κ

2. Relax F such that exactly one clause in κ can be left unsatified3. Repeat until satisfiable

20 / 34

Page 39: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

MaxSAT algorithms

SAT–based algorithms?I Deal poorly with diverse clause weightsI SAT formula grows as constraints added or formula relaxed

Rewrite formula as IP problem?I Natively handles weighted objective functionsI IP solvers poorly suited to proving unsatisfiability

Best of both worlds?I Implicit hitting set algorithm [Moreno-Centeno and Karp, 2013]

for MaxSAT [Davies, 2013]

21 / 34

Page 40: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

MaxSAT algorithms

SAT–based algorithms?I Deal poorly with diverse clause weightsI SAT formula grows as constraints added or formula relaxed

Rewrite formula as IP problem?I Natively handles weighted objective functionsI IP solvers poorly suited to proving unsatisfiability

Best of both worlds?I Implicit hitting set algorithm [Moreno-Centeno and Karp, 2013]

for MaxSAT [Davies, 2013]

21 / 34

Page 41: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

MaxSAT algorithms

SAT–based algorithms?I Deal poorly with diverse clause weightsI SAT formula grows as constraints added or formula relaxed

Rewrite formula as IP problem?I Natively handles weighted objective functionsI IP solvers poorly suited to proving unsatisfiability

Best of both worlds?I Implicit hitting set algorithm [Moreno-Centeno and Karp, 2013]

for MaxSAT [Davies, 2013]

21 / 34

Page 42: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Solutions, cores and hitting sets

I A MaxSAT solution cannot satisfy every clause in any core

I For every core, a solution leaves at least one clause unsatisfied

I Unsatisfied clauses form a hitting set of the set of all cores K

I If the solution is optimal, this is a minimum hitting set

22 / 34

Page 43: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Solutions, cores and hitting sets

I A MaxSAT solution cannot satisfy every clause in any core

I For every core, a solution leaves at least one clause unsatisfied

I Unsatisfied clauses form a hitting set of the set of all cores K

I If the solution is optimal, this is a minimum hitting set

22 / 34

Page 44: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Solutions, cores and hitting sets

I A MaxSAT solution cannot satisfy every clause in any core

I For every core, a solution leaves at least one clause unsatisfied

I Unsatisfied clauses form a hitting set of the set of all cores K

I If the solution is optimal, this is a minimum hitting set

22 / 34

Page 45: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Solutions, cores and hitting sets

I A MaxSAT solution cannot satisfy every clause in any core

I For every core, a solution leaves at least one clause unsatisfied

I Unsatisfied clauses form a hitting set of the set of all cores K

I If the solution is optimal, this is a minimum hitting set

22 / 34

Page 46: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Implicit hitting set algorithmDo we need the set of all cores K?

I Enough to find large enough K ′ ⊂ K that K ′ has sameminimum hitting set H

How do we know if we have enough cores?I Test satisfiability of F \ HI If satisfiable, all cores are hit by H

IHS algorithm loopRepeat:1. SAT solve F \ H

I Satisfiable? Optimal solution foundI Unsatisfiable? Add core κ to K

2. H ← MinimumCostHittingSet(K )

23 / 34

Page 47: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Implicit hitting set algorithmDo we need the set of all cores K?

I Enough to find large enough K ′ ⊂ K that K ′ has sameminimum hitting set H

How do we know if we have enough cores?I Test satisfiability of F \ HI If satisfiable, all cores are hit by H

IHS algorithm loopRepeat:1. SAT solve F \ H

I Satisfiable? Optimal solution foundI Unsatisfiable? Add core κ to K

2. H ← MinimumCostHittingSet(K )

23 / 34

Page 48: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Implicit hitting set algorithmDo we need the set of all cores K?

I Enough to find large enough K ′ ⊂ K that K ′ has sameminimum hitting set H

How do we know if we have enough cores?I Test satisfiability of F \ HI If satisfiable, all cores are hit by H

IHS algorithm loopRepeat:1. SAT solve F \ H

I Satisfiable? Optimal solution foundI Unsatisfiable? Add core κ to K

2. H ← MinimumCostHittingSet(K )

23 / 34

Page 49: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

ExampleInput: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?

SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 50: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?

SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 51: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT?

OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 52: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}

{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 53: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT?

OPT?

SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}

{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 54: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}

{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 55: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT?

OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}

{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 56: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}

{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 57: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT?

OPT?

SAT Solverc1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}

{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 58: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}

{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 59: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT?

OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}

{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 60: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 61: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT?

OPT?

SAT Solverc1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 62: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 63: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT?

OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 64: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Example

Input: F = (¬x1 ∨ x2, 7) ∧ (¬x1 ∨ ¬x2, 8) ∧(x1 ∨ ¬x2, 7) ∧ (x1 ∨ x2, 3) ∧ (x1, 3) ∧ (x2, 3)

c1 : (¬x1 ∨ x2)c2 : (¬x1 ∨ ¬x2)c3 : (x1 ∨ ¬x2)c4 : (x1 ∨ x2)c5 : (x1)c6 : (x2)

w(c1) = 7w(c2) = 8w(c3) = 7w(c4) = 3w(c5) = 3w(c6) = 3

SAT? OPT?SAT Solver

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

IP Solver

{c1, c2, c3, c4}

UNSAT

{c1, c2, c3, c4}{c1, c2, c3, c4}

{c4}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c1, c2, c5}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c1, c2, c3, c4}{c1, c2, c5}

{c4, c5}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

{c2, c3, c6}

UNSAT

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c1, c2, c3, c4}{c1, c2, c5}{c2, c3, c6}

{c2}

c1 : (¬x1 ∨ x2)∧c2 : (¬x1 ∨ ¬x2)∧c3 : (x1 ∨ ¬x2)∧c4 : (x1 ∨ x2)∧c5 : (x1)∧c6 : (x2)

Output{x1 = 1, x2 = 1}

cost = 8

SAT

24 / 34

Page 65: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

M.Sc. Thesis work

LMHS Solver [Saikko et al., 2016a]

I Implement implicit hitting set algorithm for MaxSAT fromscratch.

I MiniSat as SAT solverI IBM CPLEX as IP solver

MaxSAT EvaluationsEntered in 2015, 2016, 2017 international evaluations ofstate-of-the-art MaxSAT solvers

I 2015: 1st (of 29) in both categories of weighted partialMaxSAT

I 2016: 2nd and 3rd

25 / 34

Page 66: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

M.Sc. Thesis work

LMHS Solver [Saikko et al., 2016a]

I Implement implicit hitting set algorithm for MaxSAT fromscratch.

I MiniSat as SAT solverI IBM CPLEX as IP solver

MaxSAT EvaluationsEntered in 2015, 2016, 2017 international evaluations ofstate-of-the-art MaxSAT solvers

I 2015: 1st (of 29) in both categories of weighted partialMaxSAT

I 2016: 2nd and 3rd

25 / 34

Page 67: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Going further...

LMHS solver development has led to:

I In thesis: LMHS incremental API used to solve sub–problemsin Bayesian network structure solver

I IJCAI’15: Integrated MaxSAT preprocessing [Berg et al., 2015]

I KR’16: Implicit hitting–set approach extended to abductivereasoning [Saikko et al., 2016b]

I CP’17: Use IP technique of reduced–cost fixing in the algorithmto simplify the problem during search [Bacchus et al., 2017]

I IJCAI’17: Domain–specific application for learning optimalcausal graphs [Hyttinen et al., 2017]

26 / 34

Page 68: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Summary

1. Constrained optimization problems

2. Boolean logic and satisfiability3. MaxSAT4. Implicit hitting set algorithms5. The LMHS solver and recent work

27 / 34

Page 69: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Summary

1. Constrained optimization problems2. Boolean logic and satisfiability

3. MaxSAT4. Implicit hitting set algorithms5. The LMHS solver and recent work

27 / 34

Page 70: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Summary

1. Constrained optimization problems2. Boolean logic and satisfiability3. MaxSAT

4. Implicit hitting set algorithms5. The LMHS solver and recent work

27 / 34

Page 71: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Summary

1. Constrained optimization problems2. Boolean logic and satisfiability3. MaxSAT4. Implicit hitting set algorithms

5. The LMHS solver and recent work

27 / 34

Page 72: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Summary

1. Constrained optimization problems2. Boolean logic and satisfiability3. MaxSAT4. Implicit hitting set algorithms5. The LMHS solver and recent work

27 / 34

Page 73: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Thanks

Questions?

Slides with complete references athttp://cs.helsinki.fi/u/psaikko/msc-slides.pdf

28 / 34

Page 74: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Extension to abductive reasoning

I Logical reasoning problem:I Given a theory T , set of possible

hypothesis H, observations M:Find a subset of H that is consistent withT and entails M.

I ΣP2 –complete, harder than NP

I Extend IHS algorithm with two–phase coreextraction

I KR paper [Saikko et al., 2016b]

29 / 34

Page 75: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

Core-Guided Approach to Learning Optimal Causal Graphs

Dseptor SolverI LMHS with domain–specific

featuresI Improves on state-of-the-art

performanceI IJCAI paper [Hyttinen et al., 2017]

Domain–specificimprovements

I Precomputed coresI Tighter bounds from

underlying graphI Core extraction heuristics

10 20 30 40 50

020

0040

0060

00

instances (sorted for each line)

solv

ing

time

per

inst

ance

(s)

Real−world data, 6−10 nodes, 240−11520 soft constraints

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●

● ● ● ●● ● ●

●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●

●●

● ●

DseptorMaxinoQMaxSATLMHSMaxHSMSCG15bMSCG15aWPM3OpenWBOCPLEX

30 / 34

Page 76: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

References I

Argelich, J., Berre, D. L., Lynce, I., Silva, J. P. M., and Rapicault, P. (2010).Solving linux upgradeability problems using boolean optimization.In Proc. LoCoCo, pages 11–22.

Azadivar, F. and Wang, J. (2000).Facility layout optimization using simulation and genetic algorithms.International Journal of Production Research, 38(17):4369–4383.

Bacchus, F., Hyttinen, A., Järvisalo, M., and Saikko, P. (2017).Reduced cost fixing in maxsat.In Proc. CP.To appear.

Berg, J. and Järvisalo, M. (2017).Cost-optimal constrained correlation clustering via weighted partial maximum satisfiability.Artif. Intell., 244:110–142.

Berg, J., Saikko, P., and Järvisalo, M. (2015).Improving the effectiveness of SAT-based preprocessing for MaxSAT.In Proc. IJCAI, pages 239–245. AAAI Press.

Bunte, K., Järvisalo, M., Berg, J., Myllymäki, P., Peltonen, J., and Kaski, S. (2014).Optimal neighborhood preserving visualization by maximum satisfiability.In Proc. AAAI, pages 1694–1700.

Chen, Y., Safarpour, S., Veneris, A. G., and Silva, J. P. M. (2009).Spatial and temporal design debug using partial maxsat.In Proc. GLSVLSI, pages 345–350.

31 / 34

Page 77: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

References II

Cook, S. A. (1971).The complexity of theorem-proving procedures.In Proc. STOC, pages 151–158. ACM.

Davies, J. (2013).Solving MAXSAT by Decoupling Optimization and Satisfaction.PhD thesis, University of Toronto.

Fu, Z. and Malik, S. (2006).On solving the partial MAX-SAT problem.In Proc. SAT, volume 4121 of LNCS, pages 252–265. Springer.

Hyttinen, A., Eberhardt, F., and Järvisalo, M. (2014).Constraint-based causal discovery: Conflict resolution with answer set programming.In Proc. UAI, pages 340–349.

Hyttinen, A., Saikko, P., and Järvisalo, M. (2017).A core-guided approach to learning optimal causal graphs.In Proc. IJCAI, pages 645–651. AAAI Press.

Karp, R. M. (1972).Reducibility among combinatorial problems.In Proc. Complexity of Computer Computations, The IBM Research Symposia Series, pages 85–103.Plenum Press.

Kropf, T. (2013).Introduction to Formal Hardware Verification.Springer Science & Business Media.

32 / 34

Page 78: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

References III

Lau, H. C. (1996).On the complexity of manpower shift scheduling.Computers & Operations Research, 23(1):93–102.

Marques-Silva, J., Janota, M., Ignatiev, A., and Morgado, A. (2015).Efficient model based diagnosis with maximum satisfiability.In Proc. IJCAI, pages 1966–1972.

Martins, R., Manquinho, V. M., and Lynce, I. (2014).Open-WBO: A modular MaxSAT solver,.In Proc. SAT, volume 8561 of LNCS, pages 438–445. Springer.

Moreno-Centeno, E. and Karp, R. M. (2013).The implicit hitting set approach to solve combinatorial optimization problems with an application tomultigenome alignment.Operations Research, 61(2):453–468.

Saikko, P., Berg, J., and Järvisalo, M. (2016a).LMHS: A SAT-IP hybrid maxsat solver.In Proc. SAT, pages 539–546.

Saikko, P., Wallner, J. P., and Järvisalo, M. (2016b).Implicit hitting set algorithms for reasoning beyond NP.In Proc. KR, pages 104–113.

Silva, V. D., Kroening, D., and Weissenbacher, G. (2008).A survey of automated techniques for formal software verification.IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 27(7):1165–1178.

33 / 34

Page 79: Re-implementing and Extending a Hybrid SAT IP Approach to ... · Re-implementingandExtendingaHybridSAT–IP ApproachtoMaximumSatisfiability PaulSaikko HIIT&Dept. ofComputerScience

References IV

Tseitin, G. S. (1983).On the complexity of derivation in propositional calculus.In Automation of Reasoning, pages 466–483. Springer.

Wallner, J. P., Niskanen, A., and Järvisalo, M. (2016).Complexity results and algorithms for extension enforcement in abstract argumentation.In Proc. AAAI, pages 1088–1094.

34 / 34