Where hard problems are
10/28 Phase Transition
Homework 3 returned
Homework 4 socket opened
(No office hours today)
Davis-Putnam-Logeman-Loveland
Procedure
detect failure
DPLL Example
Pick p;
set p=true
unit propagation Clauses
(p,s,u) satisfied (remove) (p,s,u)
p;(~p,q) q derived; set q=T (~p, q)
(~p,q) satisfied (remove) (~q, r)
(q,~s,t) satisfied (remove) (q,~s,t)
q;(~q,r)r derived; set r=T (r,s)
(~q,r) satisfied (remove) s was not Pure (~s,t)
(r,s) satisfied (remove) in all clauses (only (~s,u)
The remaining ones)
pure literal elimination
in all the remaining clauses, s occurs negative
set ~s=True (i.e. s=False)
At this point all clauses satisfied. Return
p=T,q=T;r=T;s=False
Model-checking by Stochastic Clauses
1. (p,s,u)
Hill-climbing 2. (~p, q)
3. (~q, r)
4. (q,~s,t)
• Start with a model (a random t/f
assignment to propositions) 5. (r,s)
• For I = 1 to max_flips do 6. (~s,t)
– If model satisfies clauses then 7. (~s,u)
return model
– Else clause := a randomly selected
clause from clauses that is false in Consider the assignment ―all false‖
model
• With probability p whichever -- clauses 1 (p,s,u) & 5 (r,s) are violated
symbol in clause maximizes the --Pick one—say 5 (r,s)
number of satisfied clauses [if we flip r, 1 (remains) violated
/*greedy step*/
• With probability (1-p) flip the
if we flip s, 4,6,7 are violated]
value in model of a randomly So, greedy thing is to flip r
selected symbol from clause we get all false, except r
/*random step*/
otherwise, pick either randomly
• Return Failure
Remarkably good in practice!!
Theoretically we only know that phase transition ratio
occurs between 3.26 and 4.596.
Experimentally, it seems to be close to 4.3
(We also have a proof that 3-SAT has sharp threshold)
Phase Transition in SAT
Progress in nailing the bound.. (just FYI)
Not discussed
in class
http://www.ipam.ucla.edu/publications/ptac2002/ptac2002_dachlioptas_formulas.pdf
An easy upper bound for 3-sat
transition (optional)
• Suppose there are n variables and c clauses
• Probability that a random assignment satisfied a clause if 7/8
– Each clause contains 3 variables; so 23 possible assignments for the variables. Of
these, just one, the all false one, makes the clause false
• Probability that all c clauses are satisfied is (7/8)c (assuming clause
independence; holds when n>>3)
• There are 2n possible random assignments. So, the number of assignments
which will satisfy the entire 3SAT instance is 2n (7/8)c This is the expected
number of satisfying assignments
• We want to know when the expected num of satisfying assignments becomes
less than 1 (i.e., unsatisfiable)
– 2n (7/8)c 1/log2 8/7 = 1/0.1926 = 5.1921
CSP:SAT with multi-valued variables
• It is easy to generalize the SAT problem to handle
non-boolean variables
– CSP problem
• Given a set of discrete variables and their domains
• And a set of constraints (expressed as legal value combinations
that can be taken by various subsets of the variables)
– Clausal constraints (such as p=>q ) can be seen in this way too
• Find a model (an assignment of domain values to the
variables) that satisfies all constraints
– SAT is a boolean CSP
We can model any CSP
problem also as a SAT
problem
Consider the variables
―WA-is-red‖
―WA-is-green‖….
|V|*|D| boolean variables
--but this leads to some
loss of structure
We will mostly talk about
discrete domain variables
All CSPs can be compiled
to binary CSPs (by introducing
additional variables)
Most early work on CSP
concentrated on binary CSPs
10/30
Counseling today during office hours
Backtracking Search
As is the case for SAT, basic search
For CSP is in the space of partial
Assignments
--extend the assignment by selecting
a variable and considering all its
Red
values (in different branches) Violates
--prune any (even partial) assignment if it
violates a constraint
Most of the SAT improvements work for
CSP too. Main differences are:
--Variable selection heuristics
CSP solvers typically consider most
constrained variable first heuristic
(i.e., heuristic with the smallest domain)
--Value selection heuristics
CSP solvers consider ―least constraining value first‖ heuristic
-- Lookahead
Instead of unit propagation, CSP solvers use
variety of constraint propagation algorithms
(forward checking, arc-consistency, path consistency)
Variable Ordering Strategies
Notice that for ―boolean CSPs‖ (SAT), most constrained variable
heuristics are less effective (since all variables have domains of
size 2 (normal), 1 (have a specific value) or 0 (backtrack)
Value Ordering Heuristics
Lookahead
Variable ordering can be improved in the presence of FC
DVO (Dynamic variable ordering)
--Consider the variable with the smallest
remaining domain next
2-consistency
Forward checking
will stop thinking
everyone has non-empty
domains.
However, NT is blue;
Graphplan mutex propagation can be if you propagate that
Seen as a form of 3-consistency we know that SA cannot
Enforcement.. be blue. This means SA
is empty domain
Summary of Propositional Logic
• Syntax
• Semantics (entailment)
• Entailment computation
– Model-theoretic
• Using CSP techniques
– Proof-theoretic
• Resolution refutation
– Heuristics to limit type of resolutions
» Set of support
• Connection to CSP
– K-consistency can be seen as a form of limited
inference
Why FOPC
If your thesis is utter vacuous
Use first-order predicate calculus.
With sufficient formality
The sheerest banality
Will be hailed by the critics:
"Miraculous!"
Tarskian Interpretations
Left-leg-of
Inference in first order logic
• For ―ground‖ sentences (i.e., sentences without any
quantification), all the old rules work directly
– P(a,b)=> Q(a); P(a,b) |= Q(a)
– ~P(a,b) V Q(a) resolved with P(a,b) gives Q(a)
• What about quantified sentences?
– Universal Instantiation (a universally quantified
statement entails every instantiation of it)
xyP( x, y) Q( x)entailsP(a, b) Q(b)
• Can we combine these (so we can avoid unnecessary
instantiations?) Yes. Generalized modus ponens
xyP( x, y) Q( x); P(a, b) | q(b)
• Needs UNIFICATION