SlideShare a Scribd company logo
Introduction to Max-SAT
and Max-SAT evaluation
(slightly revised version)

Masahiro Sakai
2014-02-27 @ ZIB Berlin
Today’s topics
About Myself
SAT and related problem classes
My experience of Max-SAT evaluation 2013
Towards Max-SAT Evaluation 2014
Conclusion
About myself
Masahiro Sakai (酒井 政裕), from Japan
I’m NOT an expert of “MATHEMATICAL
PROGRAMMING” nor “OPERATIONS RESEARCH”
My background
Logic, Programming Language Theory (Domain
Theory, Type Theory, Functional Programming),
Category Theory, etc.
My job at TOSHIBA
Software Engineering
Model Checking, Specification Mining, etc.
Recommendation System
“Software Abstractions”
Japanese
translation

Textbook about
“Formal Methods”
and Alloy tool
“Types and Programming
Languages”

Japanese
translation

Textbook about “type systems”
About myself (cont’d)
My recent interests:
Decision procedures or Solver algorithms
Because of
my interests in logic
e.g. I’m impressed by decidability of Presburger
arithmetic and theory of real closed fields.
prevalent usage of SAT/SMT solvers in software
engineering (Alloy is one example)
Along the way, I also got interested in mathematical
programming.
I implemented several toy-level implementations of
these algorithms.
My hobby project “toysolver”/“toysat”:
toy-level implementations of
various algorithms
Integer Arithmetic
Cooper’s Algorithm
Omega Test
Gomory’s Cut
Conti-Traverso
Branch-and-bound
Real Arithmetic
Fourier-Motzkin variable
elimination

Gröbner basis
(Buchberger algorithm)
Cylindrical Algebraic
Decomposition
Simplex method
Uninterpreted functions
Congruence Closure
SAT / MaxSAT / Pseudo
Boolean

github.com/msakai/toysolver
SAT and
related problems
SAT
SAT = SATisfiability problem (of propositional logic)
“Given a propositional formula φ containing
propositional variables,
Is there a truth assignment M that makes the
formula true? (i.e. M ⊧ φ)”
SAT solver decides the SAT problem
When the formula is satisfiable,
it also produce one such truth assignment.
SAT: Examples
Example 1: (P∨Q) ∧ (P∨¬Q) ∧ (¬P∨¬Q)
→ “Satisfiable” (or “Feasible” in mathematical programming term)
Assignments: (P,Q) = (TRUE, FALSE))
Example 2: (P∨Q) ∧ (P∨¬Q) ∧ (¬P∨¬Q) ∧ (¬P∨Q)
→ “Unsatisfiable” (or “Infeasible” in mathematical programming term)
Note:
Input formula is usually given in CNF (conjunction normal form)
CNF ::= Clause ∧ … ∧ Clause
Clause ::= Literal ∨ … ∨ Literal
Literal ::= Variable | ¬Variable
Non-CNF formula can be converted to equi-satisfiable CNF in linear
size by introducing auxiliary variables. (“Tseitin encoding”, similar to
linearization of 0-1 integer programing)
Why SAT solvers attract
attentions?
SAT is a classical and canonical NP-complete problem.
But SAT solvers speed up drastically in last 15 years
State-of-art SAT solver can solve problems of

millions

of variables and constraints.
Many applications in software engineering and other fields,
now encode their problems into SAT/SMT and use off-theshelf SAT/SMT solver.
to utilize the advances of off-the-shelf solvers
to separate two concerns:
problem formulation which requires domain knowledge
solving algorithms
SAT: Basic algorithm
Classical algorithm: DPLL (Davis-Putnam-Logemann-Loveland)
algorithm
Tree-search algorithm
Constraint propagation called unit propagation
All except one literals in a clause become false,
the remaining literal is assigned to true.
Modern improvements
CDCL (Conflict-driven clause learning)
Non-chronological backtracking
Efficient data-structure for constraint propagation
Adaptive variable selection heuristics
Restarts, Conflict Clause Minimization, Component caching, etc.
Related problems:
Max-SAT and Pseudo Boolean
Satisfaction/Optimization
“Computer Algebra”
field

Related Problems
more like optimization

More
Arithmetical

RCF
(Real Closed
Field)

PBS

Integer
Program
ming

PBO

SAT

“Mathematical
Programming”
field

Max
SAT

SMT
Automatic
Theorem
Proving

Finite
Model
Finding
“Theorem
Proving”
field

propositional logic to
first-order logic

Focus of this talk.

QBF

This is a rough overview.
Ignore detailed positions
Max-SAT
Max-SAT is an optimization extension of SAT
“Given a set of clauses, find an assignment that
maximize satisfied clause.”
Unlike its name, it’s common to formulate as
minimization of VIOLATED clauses.
Example:
{¬P1∨¬P2, ¬P1∨P3, ¬P1∨¬P3, ¬P2∨P4, ¬P2∨¬P4, P1, P2}
→ (P1, P2, P3, P4)=(F, F, F, T) , 2 clauses are violated
Partial / Weighted
variants of Max-SAT
Partial Max-SAT:
HARD and SOFT clauses
Weighted Max-SAT:

Example of
Weighted Partial Max-SAT

x1 ∨ ¬x2 ∨ x4

each clause has associated cost

¬x1 ∨ ¬x2 ∨ x3

minimize the total costs of
violated clauses

[8] ¬x2 ∨ ¬x4

Weighted Partial Max-SAT:
obvious combination of the two

[4] ¬x3 ∨ x2
[3] x1 ∨ x3
Some Algorithms to solve
Max-SAT family
Convert to Pseudo Boolean Optimization (PBO) or
Integer Programming problems.
Branch-and-Bound
w/ modified version of unit-propagation
w/ specific lower bound computation
(e.g. using disjoint inconsistent subsets)
Unsatisfiability-based (or core-guided) approach
Hybrids of those
Conversion to PBO (1)
Some SAT solvers are extended to handle more expressive
constraints than clauses
Clause
“L1 ∨ … ∨ Ln”

“L1 + … + Ln ≥ 1”

if truth is identified with 1-0
Cardinality constraints
“at least k of {L1, …, Ln} is true”

“L1 + … + Ln ≥ k”

Pseudo boolean constraints
integer-coefficient polynomial inequality constraints
over literals
e.g. 2 L1 + 2 L2L3 + L4 ≥ 3
Conversion to PBO (2)
Pseudo boolean satisfaction (PBS)
satisfiability problems of pseudo-boolean
constraints
Pseudo boolean optimization (PBO)
PBS with objective function
≅ (non-linear) 0-1 integer programming
Conversion to PBO (3)
x1 ∨ ¬x2 ∨ x4
¬x1 ∨ ¬x2 ∨ x3
[8] ¬x2 ∨ ¬x4
[4] ¬x3 ∨ x2
[3] x1 ∨ x3
[2] x6

•
•
•

Minimize
8 r3 + 4 r4 + 3 r5 + 2 ¬x6
Subject to
x1 + ¬x2 + x4 ≥ 1
¬x1 + ¬x2 + x3 ≥ 1
r3 + ¬x2 + ¬x4 ≥ 1
r4 + ¬x3 + x2 ≥ 1

r5 + x1 + x3 ≥ 1
ris are relaxation variables for Soft clause.
Unit clause (e.g. x6) does not need a relaxation variable.
Further conversion to 0-1 ILP is obvious.
PBS/PBO algorithm
PBS
SAT solver is extended to handle pseudo-boolean
constraints
Sometimes “cutting-plane proof system” instead of
“resolution” is used for conflict analysis / learning.
PBO
Satisfiability-based approach
Branch-and-Bound
Unsatisfiability-based approach
PBO: Satisfiability-based
algorithm
Minimize Σnj=1 cj lj
Subject to P
M ← None
UB ← ∞
while true
if P is SAT
M ← getAssignments()
UB ← Σnj=1 cj M(lj)
P ← P ∧ (Σnj=1 cj lj < UB)
else
return M and UB

Many SAT solver allows
incrementally adding
constraints and re-solving.
(It is faster than solving
from scratch, since learnt
lemma and other info are
reused.)

This is linear search on
objective values, but binary
search and more
sophisticated search are
also used.
PBO: Branch-and-Bound
Various lower-bound computation methods are used.
LP relaxation
MIS (Maximum Independent Set) lower bounding
Lagrange relaxation
Note
LP relaxation is tighter, but more time-consuming.
Therefore, sometimes, more lax but cheeper
methods are preferred.
Unsatisfiability-based
Max-SAT algorithm
Treat all SOFT-clauses as HARD clauses, and invoke SAT solver.
If unsatisfiable, relax the unsatisfiable subset, and solve again.
First satisfiable result is the optimal solution.
φW ← φ
while (φW is UNSAT)
do Let φC be an unsatisfiable sub-formula of φW
VR ← ∅

for each soft clause ω ∈ φC
do ωR ← ω ∪ { r }
φW ← (φW  { ω }) ∪ {ωR }
V R ← VR ∪ { r }
φR ← { Σ_{r∈VR} r ≤ 1 }
φW ← φW ∪ φR

/ Clauses in φR are declared hard
/

return |φ| − number of relaxation variables assigned to 1

Can be extended for
weighted version, but
omitted here for simplicity.
For detail, see “Improving
Unsatisfiability-based
Algorithms for Boolean
Optimization” by Vasco
Manquinho, Ruben Martins
and Inês Lynce.
Remark: Semidefinite
Optimization Approaches
SDP (Semi-definite programming) relaxation of MaxSAT is known to be tighter than LP relaxation.
There are beautiful results on approximate
algorithms based on SDP relaxation
Still there are no practical Max-SAT solver that
incorporate SDP, AFAIK.
Max-SAT Evaluation
2013
Max-SAT evaluation
Max-SAT evaluation is the annual Max-SAT solver
competition
one of the solver competitions affiliated with SATconference
Why I submitted to Max-SAT 2013?
I submitted my “toysat” to the Pseudo Boolean
Competition 2012 (PB12) one year ago, and its
performance was not so bad in some categories,
considering it was not tuned up well.
I wanted to re-challenge, but it was the last PB
competition, so I moved to Max-SAT evaluation.
Results of PB12:
PBS/PBO track
DEC-SMALLINT-LIN
1st: SAT 4j PB RES / CP, …, 19th: SCIP spx standard, 20th: toysat
/
DEC-SMALLINT-NLC
1st: pb_cplex, 2nd: SCIP spx standard, …, 18th: toysat, …
DEC-BIGINT-LIN
1st: minisatp, …, 4th: SCIPspx, 16th: toysat, …
OPT-SMALLINT-LIN
1st: pb_cplex, 2nd: SCIP spx E, …, 24th: toysat, …
OPT-SMALLINT-NLC
1st: SCIP spx E, …, 27th: toysat, …
OPT-BIGINT-LIN
1st: SAT4J PB RES / CP, …, 8th: toysat, …
/

DEC: decision problem (PBS)
OPT: optimization problem (PBO)
SMALLINT: all coefficients are ≤220
BIGINT: some coefficients are >220
LIN: linear constraints/objective
NLC: non-linear …
Results of PB12:
WBO track
PARTIAL-BIGINT-LIN
1st: Sat4j PB, 2nd: toysat, 3rd: wbo2sat, …
PARTIAL-SMALLINT-LIN
1st: SCIP spx, 2nd: clasp, 3rd: Sat4j PB, 4th: toysat, …
SOFT-BIGINT-LIN
1st: Sat4j PB, 2nd: toysat, 3rd: npSolver, …
SOFT-SMALLINT-LIN
1st: SCIP spx, 2nd: Sat4j PB, 3rd: clasp, 4th: toysat, …
My submission to
Max-SAT 2013
toysat: my own SAT-based solver
Simple incremental SAT-solving using linear search on
objective values
(since other features are not tuned up / tested enough)
scip-maxsat:
SCIP Optimization Suite 3.0.1 with default configuration
Simple conversion to 0-1 ILP.
glpk-maxsat
GLPK 4.45 with default configuration.
Simple conversion to 0-1 ILP.
Results for Complete Solvers

Winners:
Random

Crafted

Industrial

Results of
Max-SAT 2013

MaxSAT
MaxSatz2013f
ISAC+
WMaxSatz09
ISAC+
Maxsatz2013f
WMaxSatz09
pMiFuMax
ISAC+
WPM1

Weighted
ISAC+
Maxsatz2013f
ckmax–small
ISAC+
Maxsatz2013f
WMaxSatz+
—
—
—

Partial
ISAC+
WMaxSatz+
WMaxSatz09
ISAC+
SCIP-maxsat
ILP
ISAC+
QMaxSAT2-mt
MSUnCore

W. Partial
Maxsatz2013f
ISAC+
WMaxSatz09
MaxHS
ISAC+
ILP
ISAC+
WPM1-2013
wMiFuMax

This time, toysat did not perform well :(

12/17
My opinion:
Benefits of submitting a solver to
competitions
You can benchmark your solver with others for FREE.
Benchmarking solvers is a hassle.
Requires lots of resources.
Not all solvers are open-source.
There are various sets of benchmarks, which
sometimes reveal subtle bugs in your solver.
PB12 revealed a subtle bug of toysat in conflict
analysis of pseudo boolean constraints.
Max-SAT 2013 revealed two bugs in SCIP/SoPlex.
Max-SAT 2013:
Bugs of SCIP
Organizers notified me that SCIP-maxsat produced wrong
results on some instances, and I resubmitted fixed version.
Case 1:
Running out of memory in SoPlex-1.7.1 LP solver leads
to declare non-optimal solution as optimal.
As an ad-hoc measure, I simply modified SoPlex to
terminate its process immediately after memory
allocation error w/o exception handling.
Case 2:
SCIP produced wrong optimal result on ONLY one
instance of the competition.
SCIP-2.1.1 worked correctly, but SCIP-3.0.1 did not!
Michael Winkler fixed the bug. Thanks!!
Towards Max-SAT
Evaluation 2014
My Submission Plan
Important dates
Submission deadline: April 11, 2014
Results of the evaluation: July 8-12, 2014
My plan
SCIP and FibreSCIP
If you do not submit by yourselves, I’ll submit instead.
I’d like to know a configuration that is better than default one.
toysat
I’m tuning its core implementation now, and I’ll adopt more
sophisticated algorithm than linear incremental SAT solving
(e.g. core-guided binary search).
Concluding Remarks
Interaction between
AI/CP and OR community
Now the two fields are overlapping, and interactions
between them are active/interesting research area.
Examples:
SCIP incorporates techniques from SAT/CP.
Cutting-plane proof systems in SAT-based PB
solvers.
SMT solvers use Simplex, cutting-plane, etc. as
“theory solvers” for arithmetic theory.
I hope this direction yields more fruitful results in
the future.
“Computer Algebra”
field

Related Problems
more like optimization

More
Arithmetical

RCF
(Real Closed
Field)

PBS

Integer
Program
ming

PBO

SAT

“Mathematical
Programming”
field

Max
SAT

SMT
Automatic
Theorem
Proving

Finite
Model
Finding
“Theorem
Proving”
field

propositional logic to
first-order logic

Focus of this talk.

QBF

This is a rough overview.
Ignore detailed positions
Any Questions?
Reference
Reference
Diagnose

How a CDCL SAT
Solver works

ω6:
ω4:
¬x8 ¬x9 ¬x7 x8
¬x7 ¬x9
¬x2

ω5:
¬x2 ¬x7 x9
¬x7

Implication Graph
x3@3
x1@1
x4@4

Reason
Side
ω1

ω1

ω2

Clause DB

• ω1: ¬x1
• ω2: ¬x4
• ω3: ¬x5
• ω4: ¬x7
• ω5: ¬x2

Masahiro Sakai
Twitter: @masahiro_sakai

12年9月23日日曜日

Implication Graph

¬x4
x6
¬x6
x8
¬x7

x5@4

x5
x7

x2@2
ω3

ω5
ω5

x9@4

ω6

x7@4
x6@4

ω3

• ω6: ¬x8
• ω7: ¬x8

ω4

x8@4

ω6
Conflict
Side

¬x9
x9

x9

12年9月23日日曜日

http:/
/www.slideshare.net/sakai/how-a-cdcl-satsolver-works
Appendix:
About my icon

=

+

Commutativity makes
category theorists happy!

More Related Content

What's hot

バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係
Kento Tajiri
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
Prunus 1350
 
Visualizing Data Using t-SNE
Visualizing Data Using t-SNEVisualizing Data Using t-SNE
Visualizing Data Using t-SNE
David Khosid
 
Multi-agent Inverse reinforcement learning: 相互作用する行動主体の報酬推定
Multi-agent Inverse reinforcement learning: 相互作用する行動主体の報酬推定Multi-agent Inverse reinforcement learning: 相互作用する行動主体の報酬推定
Multi-agent Inverse reinforcement learning: 相互作用する行動主体の報酬推定
Keiichi Namikoshi
 
AdaFace(CVPR2022)
AdaFace(CVPR2022)AdaFace(CVPR2022)
AdaFace(CVPR2022)
Kazuki Maeno
 
Esercizi 14 1-2011-equaz_logaritmiche
Esercizi 14 1-2011-equaz_logaritmicheEsercizi 14 1-2011-equaz_logaritmiche
Esercizi 14 1-2011-equaz_logaritmiche
Matekanc
 
Latent Dirichlet Allocation
Latent Dirichlet AllocationLatent Dirichlet Allocation
Latent Dirichlet Allocation
Marco Righini
 
変分法
変分法変分法
変分法
弘毅 露崎
 
探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット
H Okazaki
 
Graph Neural Network in practice
Graph Neural Network in practiceGraph Neural Network in practice
Graph Neural Network in practice
tuxette
 
深層生成モデルの理論と導出(Variational Auto-encoderからADGM)
深層生成モデルの理論と導出(Variational Auto-encoderからADGM)深層生成モデルの理論と導出(Variational Auto-encoderからADGM)
深層生成モデルの理論と導出(Variational Auto-encoderからADGM)
Tetsuo Tashiro
 
An introduction on normalizing flows
An introduction on normalizing flowsAn introduction on normalizing flows
An introduction on normalizing flows
Grigoris C
 
MLP輪読会 バンディット問題の理論とアルゴリズム 第3章
MLP輪読会 バンディット問題の理論とアルゴリズム 第3章MLP輪読会 バンディット問題の理論とアルゴリズム 第3章
MLP輪読会 バンディット問題の理論とアルゴリズム 第3章
takashi usami
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
Akira Miyazawa
 
Jarrar: First Order Logic- Inference Methods
Jarrar: First Order Logic- Inference MethodsJarrar: First Order Logic- Inference Methods
Jarrar: First Order Logic- Inference Methods
Mustafa Jarrar
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
 
ECCV2022 paper reading - MultiMAE: Multi-modal Multi-task Masked Autoencoders...
ECCV2022 paper reading - MultiMAE: Multi-modal Multi-task Masked Autoencoders...ECCV2022 paper reading - MultiMAE: Multi-modal Multi-task Masked Autoencoders...
ECCV2022 paper reading - MultiMAE: Multi-modal Multi-task Masked Autoencoders...
Antonio Tejero de Pablos
 
深層ニューラルネットワークの積分表現(Deepを定式化する数学)
深層ニューラルネットワークの積分表現(Deepを定式化する数学)深層ニューラルネットワークの積分表現(Deepを定式化する数学)
深層ニューラルネットワークの積分表現(Deepを定式化する数学)
Katsuya Ito
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11
matsuolab
 
PRML輪読#7
PRML輪読#7PRML輪読#7
PRML輪読#7
matsuolab
 

What's hot (20)

バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係バイナリニューラルネットとハードウェアの関係
バイナリニューラルネットとハードウェアの関係
 
パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成パターン認識と機械学習 §6.2 カーネル関数の構成
パターン認識と機械学習 §6.2 カーネル関数の構成
 
Visualizing Data Using t-SNE
Visualizing Data Using t-SNEVisualizing Data Using t-SNE
Visualizing Data Using t-SNE
 
Multi-agent Inverse reinforcement learning: 相互作用する行動主体の報酬推定
Multi-agent Inverse reinforcement learning: 相互作用する行動主体の報酬推定Multi-agent Inverse reinforcement learning: 相互作用する行動主体の報酬推定
Multi-agent Inverse reinforcement learning: 相互作用する行動主体の報酬推定
 
AdaFace(CVPR2022)
AdaFace(CVPR2022)AdaFace(CVPR2022)
AdaFace(CVPR2022)
 
Esercizi 14 1-2011-equaz_logaritmiche
Esercizi 14 1-2011-equaz_logaritmicheEsercizi 14 1-2011-equaz_logaritmiche
Esercizi 14 1-2011-equaz_logaritmiche
 
Latent Dirichlet Allocation
Latent Dirichlet AllocationLatent Dirichlet Allocation
Latent Dirichlet Allocation
 
変分法
変分法変分法
変分法
 
探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット探索と活用の戦略 ベイズ最適化と多腕バンディット
探索と活用の戦略 ベイズ最適化と多腕バンディット
 
Graph Neural Network in practice
Graph Neural Network in practiceGraph Neural Network in practice
Graph Neural Network in practice
 
深層生成モデルの理論と導出(Variational Auto-encoderからADGM)
深層生成モデルの理論と導出(Variational Auto-encoderからADGM)深層生成モデルの理論と導出(Variational Auto-encoderからADGM)
深層生成モデルの理論と導出(Variational Auto-encoderからADGM)
 
An introduction on normalizing flows
An introduction on normalizing flowsAn introduction on normalizing flows
An introduction on normalizing flows
 
MLP輪読会 バンディット問題の理論とアルゴリズム 第3章
MLP輪読会 バンディット問題の理論とアルゴリズム 第3章MLP輪読会 バンディット問題の理論とアルゴリズム 第3章
MLP輪読会 バンディット問題の理論とアルゴリズム 第3章
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
Jarrar: First Order Logic- Inference Methods
Jarrar: First Order Logic- Inference MethodsJarrar: First Order Logic- Inference Methods
Jarrar: First Order Logic- Inference Methods
 
第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)第10回 配信講義 計算科学技術特論A(2021)
第10回 配信講義 計算科学技術特論A(2021)
 
ECCV2022 paper reading - MultiMAE: Multi-modal Multi-task Masked Autoencoders...
ECCV2022 paper reading - MultiMAE: Multi-modal Multi-task Masked Autoencoders...ECCV2022 paper reading - MultiMAE: Multi-modal Multi-task Masked Autoencoders...
ECCV2022 paper reading - MultiMAE: Multi-modal Multi-task Masked Autoencoders...
 
深層ニューラルネットワークの積分表現(Deepを定式化する数学)
深層ニューラルネットワークの積分表現(Deepを定式化する数学)深層ニューラルネットワークの積分表現(Deepを定式化する数学)
深層ニューラルネットワークの積分表現(Deepを定式化する数学)
 
PRML輪読#11
PRML輪読#11PRML輪読#11
PRML輪読#11
 
PRML輪読#7
PRML輪読#7PRML輪読#7
PRML輪読#7
 

Viewers also liked

Sat Subject Test Math II
Sat Subject Test Math IISat Subject Test Math II
Sat Subject Test Math II
ctcollegetactics
 
Sat Subject Test Math I
Sat Subject Test Math ISat Subject Test Math I
Sat Subject Test Math I
ctcollegetactics
 
Practice PSAT #1
Practice PSAT #1Practice PSAT #1
Practice PSAT #1
ctcollegetactics
 
Sat Introduction
Sat IntroductionSat Introduction
Sat Introduction
Briana Songer
 
ゼロピッチ: MOOC
ゼロピッチ: MOOCゼロピッチ: MOOC
ゼロピッチ: MOOC
Masahiro Sakai
 
6 Steps to Prepare for the SAT
6 Steps to Prepare for the SAT6 Steps to Prepare for the SAT
6 Steps to Prepare for the SAT
Oxford Tutoring
 
SAT/SMT solving in Haskell
SAT/SMT solving in HaskellSAT/SMT solving in Haskell
SAT/SMT solving in Haskell
Masahiro Sakai
 

Viewers also liked (7)

Sat Subject Test Math II
Sat Subject Test Math IISat Subject Test Math II
Sat Subject Test Math II
 
Sat Subject Test Math I
Sat Subject Test Math ISat Subject Test Math I
Sat Subject Test Math I
 
Practice PSAT #1
Practice PSAT #1Practice PSAT #1
Practice PSAT #1
 
Sat Introduction
Sat IntroductionSat Introduction
Sat Introduction
 
ゼロピッチ: MOOC
ゼロピッチ: MOOCゼロピッチ: MOOC
ゼロピッチ: MOOC
 
6 Steps to Prepare for the SAT
6 Steps to Prepare for the SAT6 Steps to Prepare for the SAT
6 Steps to Prepare for the SAT
 
SAT/SMT solving in Haskell
SAT/SMT solving in HaskellSAT/SMT solving in Haskell
SAT/SMT solving in Haskell
 

Similar to Introduction to Max-SAT and Max-SAT Evaluation

Writing a SAT solver as a hobby project
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby project
Masahiro Sakai
 
Algorithms Design Patterns
Algorithms Design PatternsAlgorithms Design Patterns
Algorithms Design Patterns
Ashwin Shiv
 
LP.ppt
LP.pptLP.ppt
Meta online learning: experiments on a unit commitment problem (ESANN2014)
Meta online learning: experiments on a unit commitment problem (ESANN2014)Meta online learning: experiments on a unit commitment problem (ESANN2014)
Meta online learning: experiments on a unit commitment problem (ESANN2014)
Jialin LIU
 
Meetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdfMeetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdf
Deep Learning Italia
 
MODIFIED VORTEX SEARCH ALGORITHM FOR REAL PARAMETER OPTIMIZATION
MODIFIED VORTEX SEARCH ALGORITHM FOR REAL PARAMETER OPTIMIZATIONMODIFIED VORTEX SEARCH ALGORITHM FOR REAL PARAMETER OPTIMIZATION
MODIFIED VORTEX SEARCH ALGORITHM FOR REAL PARAMETER OPTIMIZATION
cscpconf
 
Modified Vortex Search Algorithm for Real Parameter Optimization
Modified Vortex Search Algorithm for Real Parameter Optimization Modified Vortex Search Algorithm for Real Parameter Optimization
Modified Vortex Search Algorithm for Real Parameter Optimization
csandit
 
modeling.ppt
modeling.pptmodeling.ppt
modeling.ppt
ssuser1d6968
 
Bounded Model Checking
Bounded Model CheckingBounded Model Checking
Bounded Model Checking
Ilham Amezzane
 
Global optimization
Global optimizationGlobal optimization
Global optimization
bpenalver
 
Graph Traversal Algorithms - Breadth First Search
Graph Traversal Algorithms - Breadth First SearchGraph Traversal Algorithms - Breadth First Search
Graph Traversal Algorithms - Breadth First Search
Amrinder Arora
 
Solving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docxSolving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docx
whitneyleman54422
 
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATION
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATIONA MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATION
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATION
ijaia
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound technique
ishmecse13
 
Satisfaction And Its Application To Ai Planning
Satisfaction And Its Application To Ai PlanningSatisfaction And Its Application To Ai Planning
Satisfaction And Its Application To Ai Planning
ahmad bassiouny
 
Chapter 4 Simplex Method ppt
Chapter 4  Simplex Method pptChapter 4  Simplex Method ppt
Chapter 4 Simplex Method ppt
Dereje Tigabu
 
PSO and Its application in Engineering
PSO and Its application in EngineeringPSO and Its application in Engineering
PSO and Its application in Engineering
Prince Jain
 
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptxUNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
MinilikDerseh1
 
A Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming ProblemsA Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming Problems
Carrie Romero
 
Music recommendations @ MLConf 2014
Music recommendations @ MLConf 2014Music recommendations @ MLConf 2014
Music recommendations @ MLConf 2014
Erik Bernhardsson
 

Similar to Introduction to Max-SAT and Max-SAT Evaluation (20)

Writing a SAT solver as a hobby project
Writing a SAT solver as a hobby projectWriting a SAT solver as a hobby project
Writing a SAT solver as a hobby project
 
Algorithms Design Patterns
Algorithms Design PatternsAlgorithms Design Patterns
Algorithms Design Patterns
 
LP.ppt
LP.pptLP.ppt
LP.ppt
 
Meta online learning: experiments on a unit commitment problem (ESANN2014)
Meta online learning: experiments on a unit commitment problem (ESANN2014)Meta online learning: experiments on a unit commitment problem (ESANN2014)
Meta online learning: experiments on a unit commitment problem (ESANN2014)
 
Meetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdfMeetup Luglio - Operations Research.pdf
Meetup Luglio - Operations Research.pdf
 
MODIFIED VORTEX SEARCH ALGORITHM FOR REAL PARAMETER OPTIMIZATION
MODIFIED VORTEX SEARCH ALGORITHM FOR REAL PARAMETER OPTIMIZATIONMODIFIED VORTEX SEARCH ALGORITHM FOR REAL PARAMETER OPTIMIZATION
MODIFIED VORTEX SEARCH ALGORITHM FOR REAL PARAMETER OPTIMIZATION
 
Modified Vortex Search Algorithm for Real Parameter Optimization
Modified Vortex Search Algorithm for Real Parameter Optimization Modified Vortex Search Algorithm for Real Parameter Optimization
Modified Vortex Search Algorithm for Real Parameter Optimization
 
modeling.ppt
modeling.pptmodeling.ppt
modeling.ppt
 
Bounded Model Checking
Bounded Model CheckingBounded Model Checking
Bounded Model Checking
 
Global optimization
Global optimizationGlobal optimization
Global optimization
 
Graph Traversal Algorithms - Breadth First Search
Graph Traversal Algorithms - Breadth First SearchGraph Traversal Algorithms - Breadth First Search
Graph Traversal Algorithms - Breadth First Search
 
Solving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docxSolving Optimization Problems using the Matlab Optimization.docx
Solving Optimization Problems using the Matlab Optimization.docx
 
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATION
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATIONA MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATION
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATION
 
Branch and bound technique
Branch and bound techniqueBranch and bound technique
Branch and bound technique
 
Satisfaction And Its Application To Ai Planning
Satisfaction And Its Application To Ai PlanningSatisfaction And Its Application To Ai Planning
Satisfaction And Its Application To Ai Planning
 
Chapter 4 Simplex Method ppt
Chapter 4  Simplex Method pptChapter 4  Simplex Method ppt
Chapter 4 Simplex Method ppt
 
PSO and Its application in Engineering
PSO and Its application in EngineeringPSO and Its application in Engineering
PSO and Its application in Engineering
 
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptxUNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
UNIT-2 Quantitaitive Anlaysis for Mgt Decisions.pptx
 
A Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming ProblemsA Decomposition Technique For Solving Integer Programming Problems
A Decomposition Technique For Solving Integer Programming Problems
 
Music recommendations @ MLConf 2014
Music recommendations @ MLConf 2014Music recommendations @ MLConf 2014
Music recommendations @ MLConf 2014
 

More from Masahiro Sakai

DeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep LearningDeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep Learning
Masahiro Sakai
 
Towards formal verification of neural networks
Towards formal verification of neural networksTowards formal verification of neural networks
Towards formal verification of neural networks
Masahiro Sakai
 
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai
 
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
Masahiro Sakai
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
Masahiro Sakai
 
Aluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through MinimalityAluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through Minimality
Masahiro Sakai
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
Masahiro Sakai
 
How a CDCL SAT solver works
How a CDCL SAT solver worksHow a CDCL SAT solver works
How a CDCL SAT solver works
Masahiro Sakai
 
Omega test and beyond
Omega test and beyondOmega test and beyond
Omega test and beyond
Masahiro Sakai
 
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
Masahiro Sakai
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
Masahiro Sakai
 
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
Masahiro Sakai
 
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
Masahiro Sakai
 
Relaxed Dependency Analysis
Relaxed Dependency AnalysisRelaxed Dependency Analysis
Relaxed Dependency Analysis
Masahiro Sakai
 
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
Masahiro Sakai
 
自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装
Masahiro Sakai
 
Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3
Masahiro Sakai
 
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Masahiro Sakai
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
Masahiro Sakai
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
Masahiro Sakai
 

More from Masahiro Sakai (20)

DeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep LearningDeepXplore: Automated Whitebox Testing of Deep Learning
DeepXplore: Automated Whitebox Testing of Deep Learning
 
Towards formal verification of neural networks
Towards formal verification of neural networksTowards formal verification of neural networks
Towards formal verification of neural networks
 
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
 
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
RClassify: Classifying Race Conditions in Web Applications via Deterministic ...
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
Aluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through MinimalityAluminum: Principled Scenario Exploration through Minimality
Aluminum: Principled Scenario Exploration through Minimality
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
 
How a CDCL SAT solver works
How a CDCL SAT solver worksHow a CDCL SAT solver works
How a CDCL SAT solver works
 
Omega test and beyond
Omega test and beyondOmega test and beyond
Omega test and beyond
 
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
萩野服部研究室 スキー合宿 2012 自己紹介(酒井)
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
 
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
 
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...“Design and Implementation of Generics for the .NET Common Language Runtime”他...
“Design and Implementation of Generics for the .NET Common Language Runtime”他...
 
Relaxed Dependency Analysis
Relaxed Dependency AnalysisRelaxed Dependency Analysis
Relaxed Dependency Analysis
 
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
“Symbolic bounds analysis of pointers, array indices, and accessed memory reg...
 
自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装自然言語をラムダ式で解釈する体系PTQのHaskell実装
自然言語をラムダ式で解釈する体系PTQのHaskell実装
 
Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3Whole Program Paths 等の紹介@PLDIr#3
Whole Program Paths 等の紹介@PLDIr#3
 
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2Run-time Code Generation and Modal-ML の紹介@PLDIr#2
Run-time Code Generation and Modal-ML の紹介@PLDIr#2
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
Introduction to Categorical Programming
Introduction to Categorical ProgrammingIntroduction to Categorical Programming
Introduction to Categorical Programming
 

Recently uploaded

(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
Priyanka Aash
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
Safe Software
 
Semantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software DevelopmentSemantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software Development
Baishakhi Ray
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
aslasdfmkhan4750
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
Priyanka Aash
 
Sonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdfSonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdf
SubhamMandal40
 
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptxDublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Kunal Gupta
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
DianaGray10
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
bellared2
 
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
Priyanka Aash
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
Steven Carlson
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
sunilverma7884
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
Acumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptxAcumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptx
BrainSell Technologies
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 

Recently uploaded (20)

(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
 
Semantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software DevelopmentSemantic-Aware Code Model: Elevating the Future of Software Development
Semantic-Aware Code Model: Elevating the Future of Software Development
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
 
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
 
Sonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdfSonkoloniya documentation - ONEprojukti.pdf
Sonkoloniya documentation - ONEprojukti.pdf
 
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptxDublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
 
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
(CISOPlatform Summit & SACON 2024) Orientation by CISO Platform_ Using CISO P...
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
Acumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptxAcumatica vs. Sage Intacct _Construction_July (1).pptx
Acumatica vs. Sage Intacct _Construction_July (1).pptx
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 

Introduction to Max-SAT and Max-SAT Evaluation

  • 1. Introduction to Max-SAT and Max-SAT evaluation (slightly revised version) Masahiro Sakai 2014-02-27 @ ZIB Berlin
  • 2. Today’s topics About Myself SAT and related problem classes My experience of Max-SAT evaluation 2013 Towards Max-SAT Evaluation 2014 Conclusion
  • 3. About myself Masahiro Sakai (酒井 政裕), from Japan I’m NOT an expert of “MATHEMATICAL PROGRAMMING” nor “OPERATIONS RESEARCH” My background Logic, Programming Language Theory (Domain Theory, Type Theory, Functional Programming), Category Theory, etc. My job at TOSHIBA Software Engineering Model Checking, Specification Mining, etc. Recommendation System
  • 6. About myself (cont’d) My recent interests: Decision procedures or Solver algorithms Because of my interests in logic e.g. I’m impressed by decidability of Presburger arithmetic and theory of real closed fields. prevalent usage of SAT/SMT solvers in software engineering (Alloy is one example) Along the way, I also got interested in mathematical programming. I implemented several toy-level implementations of these algorithms.
  • 7. My hobby project “toysolver”/“toysat”: toy-level implementations of various algorithms Integer Arithmetic Cooper’s Algorithm Omega Test Gomory’s Cut Conti-Traverso Branch-and-bound Real Arithmetic Fourier-Motzkin variable elimination Gröbner basis (Buchberger algorithm) Cylindrical Algebraic Decomposition Simplex method Uninterpreted functions Congruence Closure SAT / MaxSAT / Pseudo Boolean github.com/msakai/toysolver
  • 9. SAT SAT = SATisfiability problem (of propositional logic) “Given a propositional formula φ containing propositional variables, Is there a truth assignment M that makes the formula true? (i.e. M ⊧ φ)” SAT solver decides the SAT problem When the formula is satisfiable, it also produce one such truth assignment.
  • 10. SAT: Examples Example 1: (P∨Q) ∧ (P∨¬Q) ∧ (¬P∨¬Q) → “Satisfiable” (or “Feasible” in mathematical programming term) Assignments: (P,Q) = (TRUE, FALSE)) Example 2: (P∨Q) ∧ (P∨¬Q) ∧ (¬P∨¬Q) ∧ (¬P∨Q) → “Unsatisfiable” (or “Infeasible” in mathematical programming term) Note: Input formula is usually given in CNF (conjunction normal form) CNF ::= Clause ∧ … ∧ Clause Clause ::= Literal ∨ … ∨ Literal Literal ::= Variable | ¬Variable Non-CNF formula can be converted to equi-satisfiable CNF in linear size by introducing auxiliary variables. (“Tseitin encoding”, similar to linearization of 0-1 integer programing)
  • 11. Why SAT solvers attract attentions? SAT is a classical and canonical NP-complete problem. But SAT solvers speed up drastically in last 15 years State-of-art SAT solver can solve problems of millions of variables and constraints. Many applications in software engineering and other fields, now encode their problems into SAT/SMT and use off-theshelf SAT/SMT solver. to utilize the advances of off-the-shelf solvers to separate two concerns: problem formulation which requires domain knowledge solving algorithms
  • 12. SAT: Basic algorithm Classical algorithm: DPLL (Davis-Putnam-Logemann-Loveland) algorithm Tree-search algorithm Constraint propagation called unit propagation All except one literals in a clause become false, the remaining literal is assigned to true. Modern improvements CDCL (Conflict-driven clause learning) Non-chronological backtracking Efficient data-structure for constraint propagation Adaptive variable selection heuristics Restarts, Conflict Clause Minimization, Component caching, etc.
  • 13. Related problems: Max-SAT and Pseudo Boolean Satisfaction/Optimization
  • 14. “Computer Algebra” field Related Problems more like optimization More Arithmetical RCF (Real Closed Field) PBS Integer Program ming PBO SAT “Mathematical Programming” field Max SAT SMT Automatic Theorem Proving Finite Model Finding “Theorem Proving” field propositional logic to first-order logic Focus of this talk. QBF This is a rough overview. Ignore detailed positions
  • 15. Max-SAT Max-SAT is an optimization extension of SAT “Given a set of clauses, find an assignment that maximize satisfied clause.” Unlike its name, it’s common to formulate as minimization of VIOLATED clauses. Example: {¬P1∨¬P2, ¬P1∨P3, ¬P1∨¬P3, ¬P2∨P4, ¬P2∨¬P4, P1, P2} → (P1, P2, P3, P4)=(F, F, F, T) , 2 clauses are violated
  • 16. Partial / Weighted variants of Max-SAT Partial Max-SAT: HARD and SOFT clauses Weighted Max-SAT: Example of Weighted Partial Max-SAT x1 ∨ ¬x2 ∨ x4 each clause has associated cost ¬x1 ∨ ¬x2 ∨ x3 minimize the total costs of violated clauses [8] ¬x2 ∨ ¬x4 Weighted Partial Max-SAT: obvious combination of the two [4] ¬x3 ∨ x2 [3] x1 ∨ x3
  • 17. Some Algorithms to solve Max-SAT family Convert to Pseudo Boolean Optimization (PBO) or Integer Programming problems. Branch-and-Bound w/ modified version of unit-propagation w/ specific lower bound computation (e.g. using disjoint inconsistent subsets) Unsatisfiability-based (or core-guided) approach Hybrids of those
  • 18. Conversion to PBO (1) Some SAT solvers are extended to handle more expressive constraints than clauses Clause “L1 ∨ … ∨ Ln” “L1 + … + Ln ≥ 1” if truth is identified with 1-0 Cardinality constraints “at least k of {L1, …, Ln} is true” “L1 + … + Ln ≥ k” Pseudo boolean constraints integer-coefficient polynomial inequality constraints over literals e.g. 2 L1 + 2 L2L3 + L4 ≥ 3
  • 19. Conversion to PBO (2) Pseudo boolean satisfaction (PBS) satisfiability problems of pseudo-boolean constraints Pseudo boolean optimization (PBO) PBS with objective function ≅ (non-linear) 0-1 integer programming
  • 20. Conversion to PBO (3) x1 ∨ ¬x2 ∨ x4 ¬x1 ∨ ¬x2 ∨ x3 [8] ¬x2 ∨ ¬x4 [4] ¬x3 ∨ x2 [3] x1 ∨ x3 [2] x6 • • • Minimize 8 r3 + 4 r4 + 3 r5 + 2 ¬x6 Subject to x1 + ¬x2 + x4 ≥ 1 ¬x1 + ¬x2 + x3 ≥ 1 r3 + ¬x2 + ¬x4 ≥ 1 r4 + ¬x3 + x2 ≥ 1 r5 + x1 + x3 ≥ 1 ris are relaxation variables for Soft clause. Unit clause (e.g. x6) does not need a relaxation variable. Further conversion to 0-1 ILP is obvious.
  • 21. PBS/PBO algorithm PBS SAT solver is extended to handle pseudo-boolean constraints Sometimes “cutting-plane proof system” instead of “resolution” is used for conflict analysis / learning. PBO Satisfiability-based approach Branch-and-Bound Unsatisfiability-based approach
  • 22. PBO: Satisfiability-based algorithm Minimize Σnj=1 cj lj Subject to P M ← None UB ← ∞ while true if P is SAT M ← getAssignments() UB ← Σnj=1 cj M(lj) P ← P ∧ (Σnj=1 cj lj < UB) else return M and UB Many SAT solver allows incrementally adding constraints and re-solving. (It is faster than solving from scratch, since learnt lemma and other info are reused.) This is linear search on objective values, but binary search and more sophisticated search are also used.
  • 23. PBO: Branch-and-Bound Various lower-bound computation methods are used. LP relaxation MIS (Maximum Independent Set) lower bounding Lagrange relaxation Note LP relaxation is tighter, but more time-consuming. Therefore, sometimes, more lax but cheeper methods are preferred.
  • 24. Unsatisfiability-based Max-SAT algorithm Treat all SOFT-clauses as HARD clauses, and invoke SAT solver. If unsatisfiable, relax the unsatisfiable subset, and solve again. First satisfiable result is the optimal solution. φW ← φ while (φW is UNSAT) do Let φC be an unsatisfiable sub-formula of φW VR ← ∅ for each soft clause ω ∈ φC do ωR ← ω ∪ { r } φW ← (φW { ω }) ∪ {ωR } V R ← VR ∪ { r } φR ← { Σ_{r∈VR} r ≤ 1 } φW ← φW ∪ φR / Clauses in φR are declared hard / return |φ| − number of relaxation variables assigned to 1 Can be extended for weighted version, but omitted here for simplicity. For detail, see “Improving Unsatisfiability-based Algorithms for Boolean Optimization” by Vasco Manquinho, Ruben Martins and Inês Lynce.
  • 25. Remark: Semidefinite Optimization Approaches SDP (Semi-definite programming) relaxation of MaxSAT is known to be tighter than LP relaxation. There are beautiful results on approximate algorithms based on SDP relaxation Still there are no practical Max-SAT solver that incorporate SDP, AFAIK.
  • 27. Max-SAT evaluation Max-SAT evaluation is the annual Max-SAT solver competition one of the solver competitions affiliated with SATconference Why I submitted to Max-SAT 2013? I submitted my “toysat” to the Pseudo Boolean Competition 2012 (PB12) one year ago, and its performance was not so bad in some categories, considering it was not tuned up well. I wanted to re-challenge, but it was the last PB competition, so I moved to Max-SAT evaluation.
  • 28. Results of PB12: PBS/PBO track DEC-SMALLINT-LIN 1st: SAT 4j PB RES / CP, …, 19th: SCIP spx standard, 20th: toysat / DEC-SMALLINT-NLC 1st: pb_cplex, 2nd: SCIP spx standard, …, 18th: toysat, … DEC-BIGINT-LIN 1st: minisatp, …, 4th: SCIPspx, 16th: toysat, … OPT-SMALLINT-LIN 1st: pb_cplex, 2nd: SCIP spx E, …, 24th: toysat, … OPT-SMALLINT-NLC 1st: SCIP spx E, …, 27th: toysat, … OPT-BIGINT-LIN 1st: SAT4J PB RES / CP, …, 8th: toysat, … / DEC: decision problem (PBS) OPT: optimization problem (PBO) SMALLINT: all coefficients are ≤220 BIGINT: some coefficients are >220 LIN: linear constraints/objective NLC: non-linear …
  • 29. Results of PB12: WBO track PARTIAL-BIGINT-LIN 1st: Sat4j PB, 2nd: toysat, 3rd: wbo2sat, … PARTIAL-SMALLINT-LIN 1st: SCIP spx, 2nd: clasp, 3rd: Sat4j PB, 4th: toysat, … SOFT-BIGINT-LIN 1st: Sat4j PB, 2nd: toysat, 3rd: npSolver, … SOFT-SMALLINT-LIN 1st: SCIP spx, 2nd: Sat4j PB, 3rd: clasp, 4th: toysat, …
  • 30. My submission to Max-SAT 2013 toysat: my own SAT-based solver Simple incremental SAT-solving using linear search on objective values (since other features are not tuned up / tested enough) scip-maxsat: SCIP Optimization Suite 3.0.1 with default configuration Simple conversion to 0-1 ILP. glpk-maxsat GLPK 4.45 with default configuration. Simple conversion to 0-1 ILP.
  • 31. Results for Complete Solvers Winners: Random Crafted Industrial Results of Max-SAT 2013 MaxSAT MaxSatz2013f ISAC+ WMaxSatz09 ISAC+ Maxsatz2013f WMaxSatz09 pMiFuMax ISAC+ WPM1 Weighted ISAC+ Maxsatz2013f ckmax–small ISAC+ Maxsatz2013f WMaxSatz+ — — — Partial ISAC+ WMaxSatz+ WMaxSatz09 ISAC+ SCIP-maxsat ILP ISAC+ QMaxSAT2-mt MSUnCore W. Partial Maxsatz2013f ISAC+ WMaxSatz09 MaxHS ISAC+ ILP ISAC+ WPM1-2013 wMiFuMax This time, toysat did not perform well :( 12/17
  • 32. My opinion: Benefits of submitting a solver to competitions You can benchmark your solver with others for FREE. Benchmarking solvers is a hassle. Requires lots of resources. Not all solvers are open-source. There are various sets of benchmarks, which sometimes reveal subtle bugs in your solver. PB12 revealed a subtle bug of toysat in conflict analysis of pseudo boolean constraints. Max-SAT 2013 revealed two bugs in SCIP/SoPlex.
  • 33. Max-SAT 2013: Bugs of SCIP Organizers notified me that SCIP-maxsat produced wrong results on some instances, and I resubmitted fixed version. Case 1: Running out of memory in SoPlex-1.7.1 LP solver leads to declare non-optimal solution as optimal. As an ad-hoc measure, I simply modified SoPlex to terminate its process immediately after memory allocation error w/o exception handling. Case 2: SCIP produced wrong optimal result on ONLY one instance of the competition. SCIP-2.1.1 worked correctly, but SCIP-3.0.1 did not! Michael Winkler fixed the bug. Thanks!!
  • 35. My Submission Plan Important dates Submission deadline: April 11, 2014 Results of the evaluation: July 8-12, 2014 My plan SCIP and FibreSCIP If you do not submit by yourselves, I’ll submit instead. I’d like to know a configuration that is better than default one. toysat I’m tuning its core implementation now, and I’ll adopt more sophisticated algorithm than linear incremental SAT solving (e.g. core-guided binary search).
  • 37. Interaction between AI/CP and OR community Now the two fields are overlapping, and interactions between them are active/interesting research area. Examples: SCIP incorporates techniques from SAT/CP. Cutting-plane proof systems in SAT-based PB solvers. SMT solvers use Simplex, cutting-plane, etc. as “theory solvers” for arithmetic theory. I hope this direction yields more fruitful results in the future.
  • 38. “Computer Algebra” field Related Problems more like optimization More Arithmetical RCF (Real Closed Field) PBS Integer Program ming PBO SAT “Mathematical Programming” field Max SAT SMT Automatic Theorem Proving Finite Model Finding “Theorem Proving” field propositional logic to first-order logic Focus of this talk. QBF This is a rough overview. Ignore detailed positions
  • 41. Reference Diagnose How a CDCL SAT Solver works ω6: ω4: ¬x8 ¬x9 ¬x7 x8 ¬x7 ¬x9 ¬x2 ω5: ¬x2 ¬x7 x9 ¬x7 Implication Graph x3@3 x1@1 x4@4 Reason Side ω1 ω1 ω2 Clause DB • ω1: ¬x1 • ω2: ¬x4 • ω3: ¬x5 • ω4: ¬x7 • ω5: ¬x2 Masahiro Sakai Twitter: @masahiro_sakai 12年9月23日日曜日 Implication Graph ¬x4 x6 ¬x6 x8 ¬x7 x5@4 x5 x7 x2@2 ω3 ω5 ω5 x9@4 ω6 x7@4 x6@4 ω3 • ω6: ¬x8 • ω7: ¬x8 ω4 x8@4 ω6 Conflict Side ¬x9 x9 x9 12年9月23日日曜日 http:/ /www.slideshare.net/sakai/how-a-cdcl-satsolver-works
  • 42. Appendix: About my icon = + Commutativity makes category theorists happy!