Title: The Evergreen Project: The Promise of Polynomials to Boost CSP/SAT Solvers*
1The Evergreen Project The Promise of
Polynomials to Boost CSP/SAT Solvers
- Karl J. Lieberherr
- Northeastern University
- Boston
joint work with Ahmed Abdelmeged, Christine Hang
and Daniel Rinehart
Title inspired by a paper by Carla Gomes / David
Shmoys
2Two objectives
- I want you to become
- better writers of MAX-SAT/MAX-CSP solvers
- UBCSAT (Tompkins/Hoos) can it be improved by what
you learn today? - better players of the Evergreen game
3Introduction
- Boolean MAX-CSP(G) for rank d, G set of
relations of rank d - Input
- Input Bag of Constraint CSP(G) instance
- Constraint Relation Set of Variable
- Relation int. // Relation number lt 2 (2 d)
in G - Variable int
- Output
- (0,1) assignment to variables which maximizes the
number of satisfied constraints. - Example Input G 22 of rank 3. H
- 221 2 3 0
- 221 2 4 0
- 221 3 4 0
1in3 has number 22 M 1 !2 !3 !4 satisfies all
4Variation
- MAX-CSP(G,f)
- Given a CSP(G) instance H expressed in n
variables which may assume only the values 0 or
1, find an assignment to the n variables which
satisfies at least the fraction f of the
constraints in H. - Example G 22 of rank 3
- MAX-CSP(22,f) H
- 221 2 3 0
- 221 2 4 0 in MAX-CSP(22,?).
Highest value for ? - 221 3 4 0
- 22 2 3 4 0
1in3 has number 22
5Evergreen(3,2) game
P1 you P2 I
- Two players They agree on a protocol P1 to
choose a set of 2 relations (G) of rank 3. - Player P1 chooses CSP(G)-instance H (limited).
- Player P2 solves H and gets paid by P1 the
fraction that P2 satisfies in H. - This gives nice control to P1. P1 will choose an
instance that will minimize P2s profit. - Take turns.
R2, P2
R1, P1
100 R1, 0 R2
100 R2, 0 R1
6Protocol choice
- Randomly choose symmetric R1 and symmetric R2
(independently) between 1 and 255 (Throw two dice
choosing symmetric relations).
7Tell me
- How would you react as player P1?
- The relations 22 and 22 have been chosen.
- You must create a CSP(22) instance with 1000
variables in which only the smallest possible
fraction can be satisfied. - What kind of instance will this be?
- What kind of algorithm should P2 use to maximize
its payoff?
8Game strategy in a nutshell
- Choose GR1,R2 randomly (both symmetric).
- P1 chooses instance so that payoff is minimized.
- P2 finds solution so that payoff is maximized
(Solve MAX-CSP(G)) - Take turns Choose G
- P2. Choose instance so that payoff is minimized.
9Our approach by ExampleSAT Rank 2 example
- 14 1 2 014 3 4
014 5 6 0 7
1 3 0 7 1 5 0 7
3 5 0 7
2 4 0 7 2 6 0 7
4 6 0
14 1 2 or(1 2) 7 1 3 or(!1 !3)
H
Evergreen game maximize payoff find maximum
assignment
10excellent peripheral vision
0 1 2
3 4 5 6
k
8/9
7/9
Blurry vision
- What do we learn from the abstract representation
absH? - set 1/3 of the variables to true (maximize).
- the best assignment will satisfy at least 7/9
constraints. - very useful but the vision is blurry in the
middle.
appmean approximation of the mean (k variables
true)
11Our approach by Example
- Given a CSP(G)-instance H and an assignment N
which satisfies fraction f in H - Is there an assignment that satisfies more than
f? - YES (we are done), absH(mb) gt f
- MAYBE, The closer absH() comes to f, the better
- Is it worthwhile to set a certain literal k to 1
so that we can reach an assignment which
satisfies more than f - YES (we are done), H1 Hk1, absH1(mb1) gt f
- MAYBE, the closer absH1(mb1) comes to f, the
better - NO, UP or clause learning
absH abstract representation of H
12- 14 1 2 014 3 4
014 5 6 0 7
1 3 0 7 1 5 0 7
3 5 0 7 2 4
0 7 2 6 0 7 4
6 0
8/9
7/9
abstract representation
3/9
H
0 1 2 3 4 5
6
14 2 014 3 4
014 5 6 0 7
1 3 0 7 1 5 0 7
3 5 0 7 2 4
0 7 2 6 0 7 4
6 0
6/7 8/9
5/77/9
H0
3/75/9
maximum assignment away from max bias blurry
0 1 2 3 4
5
13- 14 1 2 014 3 4
014 5 6 0 7
1 3 0 7 1 5 0 7
3 5 0 7 2 4
0 7 2 6 0 7 4
6 0
8/9
7/9
3/8
H
0 1 2 3 4 5
6
clearly above 3/4
14 1 2 014 3 4
014 5 6 0 7
3 0 7 5 0 7
3 5 0 7 2 4
0 7 2 6 0 7 4
6 0
7/88/9
6/87/9
H1
maximum assignment away from max bias blurry
2/73/8
0 1 2 3 4
5
14 14 1 2 014 3 4
014 5 6 0 7
1 3 0 7 1 5 0 7
3 5 0 7 2 4
0 7 2 6 0 7 4
6 0
8/9
7/9
abstract representation guarantees 7/9
H
7/8 8/9
6/78/9
6/8 7/9
5/77/9
abstract representation guarantees 7/9
abstract representation guarantees 8/9
H0
UBCSAT
H1
NEVER GOES DOWN DERANDOMIZATION
15rank 2 10 1 or(1) 7 1 2 or(!1 !2)
4/6
4/6
10 1 0 10 2 0 10 3 0 7 1 2 0 7 1 3
0 7 2 3 0
3/6
3/6
abstract representation guarantees 0.625 6
3.75 4 satisfied.
Evergreen game G 10,7 How do you choose
a CSP(G)-instance to minimize payoff? 0.618
0 1 2
3
4/6
4/6
4/6
4/6
5 1 0 10 2 0 10 3 0 13 1 2 0 13 1 3
0 7 2 3 0
3/6
3/6
rank 2 5 1 or(!1) 13 1 2 or(1 !2)
The effect of n-map
16First Impression
- The abstract representation look-ahead
polynomials seems useful for guiding the search. - The look-ahead polynomials give us averages the
guidance can be misleading because of outliers. - But how can we compute the look-ahead
polynomials? How do the polynomials help play the
Evergreen(3,2) game?
17Where we are
- Introduction
- Look-forward
- Look-backward
- SPOT how to use the look-ahead polynomials
together with superresolution.
18Look Forward
- Why?
- To make informed decisions
- To play the Evergreen game
- How?
- Abstract representation based on look-ahead
polynomials
19Look-ahead Polynomial(Intuition)
- The look-ahead polynomial computes the expected
fraction of satisfied constraints among all
random assignments that are produced with bias p.
20Consider an instance 40 variables,1000
constraints (1in3)
- 1,
,40 - 22 6 7 9 0
- 22 12 27
38 0
Abstract representation reduce the instance
to look-ahead polynomial 3p(1-p)2 B1,3(p)
(Bernstein)
213p(1-p)2 for MAX-CSP(22)
22Look-ahead Polynomial(Definition)
- H is a CSP(G) instance.
- N is an arbitrary assignment.
- The look-ahead polynomial laH,N(p) computes the
expected fraction of satisfied constraints of H
when each variable in N is flipped with
probability p.
23The general case MAX-CSP(G)
G R1, , tR(F) fraction of constraints in
F that use R.
appSATR(x) over all R is a super set of the
Bernstein polynomials (computer graphics,
weighted sum of Bernstein polynomials)
x p
24Rational Bezier Curves
25Bernstein Polynomials
http//graphics.idav.ucdavis.edu/education/CAGDNot
es/Bernstein-Polynomials.pdf
26all the appSATR(x) polynomials
27Look-ahead Polynomial in Action
- Focus on purely mathematical question first
- Algorithmic solution will follow
- Mathematical question Given a CSP(G) instance.
For which fractions f is there always an
assignment satisfying fraction f of the
constraints? In which constraint systems is it
impossible to satisfy many constraints?
28Remember?
- MAX-CSP(G,f)
- Given a CSP(G) instance H expressed in n
variables which may assume only the values 0 or
1, find an assignment to the n variables which
satisfies at least the fraction f of the
constraints in H. - Example G 22 of rank 3
- MAX-CSP(22,f)
- 221 2 3 0
- 221 2 4 0
- 221 3 4 0
- 22 2 3 4 0
29Mathematical Critical Transition Point
MAX-CSP(22,f) For f u problem has always
a solution For f u e problem has not always
a solution, egt0.
1
not always (solid)
u critical transition point
always (fluid)
0
30The Magic Number
313p(1-p)2 for MAX-CSP(22)
32Produce the Magic Number
- Use an optimally biased coin
- 1/3 in this case
- In general min max problem
33The 22 reductionsNeeded for implementation
1,0
2,0
22
60
240
3,0
2,1
3,1
1,1
3,0
2,0
3
15
255
3,1
2,1
22 is expanded into 6 additional relations.
0
34The 22 N-MappingsNeeded for implementation
1
41
134
2
2
0
0
1
1
22
73
146
104
2
2
0
0
97
148
1
22 is expanded into 7 additional relations.
35General Dichotomy Theorem
MAX-CSP(G,f) For each finite set G of relations
closed under renaming there exists an algebraic
number tG For f tG MAX-CSP(G,f) has
polynomial solution For f tG e MAX-CSP(G,f)
is NP-complete, egt0.
1
hard (solid) NP-complete
polynomial solution Use optimally biased
coin. Derandomize. P-Optimal.
tG critical transition point
easy (fluid) Polynomial
0
due to Lieberherr/Specker (1979, 1982)
implications for the Evergreen game? Are you a
better player?
36Context
- Ladner Lad 75 if P !NP, then there are
decision problems in NP that are neither
NP-complete, nor they belong to P. - Conceivable that MAX-CSP(G,f) contains problems
of intermediate complexity.
37General Dichotomy Theorem(Discussion)
MAX-CSP(G,f) For each finite set G of relations
closed under renaming there exists an algebraic
number tG For f tG MAX-CSP(G,f) has
polynomial solution For f tG e MAX-CSP(G,f)
is NP-complete, egt0.
1
hard (solid), NP-complete exponential,
super-polynomial proofs ??? relies on clause
learning
tG critical transition point
easy (fluid), Polynomial (finding an
assignment) constant proofs (done statically
using look-ahead polynomials) no clause learning
0
38min max problem
sat(H,M) fraction of satisfied constraints in
CSP(G)-instance H by assignment M
tG min max
sat(H,M)
all (0,1) assignments M
all CSP(G) instances H
39Problem reductions are the key
- Solution to simpler problem implies solution to
original problem.
40min max problem
sat(H,M,n) fraction of satisfied constraints
in CSP(G)-instance H by assignment M with n
variables.
tG lim min
max sat(H,M,n)
all (0,1) assignments M to n variables
n to infinity
all SYMMETRIC CSP(G) -instances H with n
variables
41Reduction achieved
- Instead of minimizing over all constraint systems
it is sufficient to minimize over the symmetric
constraint systems.
42Reduction
- Symmetric case is the worst-case If in a
symmetric constraint system the fraction f of
constraints can be satisfied, then in any
constraint system the fraction f can be satisfied.
43Symmetric the worst-case
n variables n! permutations
If in the big system the fraction f is satisfied,
then there must be a least one small
system where the fraction f is satisfied
. .
44min max problem
sat(H,M,n) fraction of satisfied constraints
in system S by assignment I
tG lim min
max sat(H,M,n)
all (0,1) assignments M to n variables where
the first k variables are set to 1
n to infinity
all SYMMETRIC CSP(G) -instances H with n
variables
45Observations
- The look-ahead polynomial look-forward approach
has not been used in state-of-the-art MAX-SAT and
Boolean MAX-CSP solvers. - Often a fair coin is used. The optimally biased
coin is often significantly better.
46(No Transcript)
47The Game Evergreen(r,m) for Boolean MAX-CSP(G),
rgt1,mgt0
- Two players They agree on a protocol P1 to
choose a set of m relations of rank r. - The players use P1 to choose a set G of m
relations of rank r closed under renamings. - Player 1 constructs a CSP(G) instance H with 1000
variables and at most 2(1000 choose r)
constraints and gives it to player 2 (1 second
limit). - Player 2 gets paid the fraction of constraints
she can satisfy in H (100 seconds limit). - Take turns (go to 1).
48For Evergreen(3,2)
100 R1, 0 R2
100 R2, 0 R1
49Evergreen(3,2) protocol possibilities
- Variant 1
- Player P2 chooses both relations G
- Player P1 chooses CSP(G) instance H.
- Player P2 solves H and gets paid by P1.
- This gives too much control to P2. P2 can choose
two odd relations which guarantees P2 a pay of 1
independent of how P1 chooses the instance H.
50Evergreen(3,2) protocol possibilities
- Variant 2
- Player P1 chooses a relation R1 (e.g. 22).
- Player P2 chooses a relation R2.
- Player P1 chooses CSP(G) instance H.
- Player P2 solves H and gets paid by P1.
- This gives nice control to P2. P2 will choose a
relation R2 that will maximize P2s profit.
R2, P2
R1, P1
100 R1, 0 R2
100 R2, 0 R1
51Problem with variant 2
- P1 can just ignore relation R2.
- Gives P1 too much control because the payoff for
P2 depends only on R1 chosen by P1.
52Protocol choice variant 3
- Randomly choose symmetric R1 and symmetric R2
(independently) between 1 and 255 (Throw two
dice).
53Tell me
- How would you react as player P1?
- The relations 22 and 22 have been chosen.
- You must create a CSP(22) instance with 1000
variables in which only the smallest possible
fraction can be satisfied. - What kind of instance will this be? 4/9
- What kind of algorithm should P1 use to maximize
its payoff? compute optimal k best MAX-CSP
solver.
symmetric instance with (1000 choose 3)
constraints
54For Evergreen(3,2)
Tells us how to mix the two relations
100 R1, 0 R2
100 R2, 0 R1
55Role of tG in the Evergreen(3,2) game
- 1 Instance construction Choose a CSP(G)
instance so that only the fraction tG can be
satisfied symmetric formula. - 2 Choose an algorithm so that at least the
fraction tG is satisfied. (2 gets paid tG from
1).
56Game strategy in a nutshell
- 1. Best Choose tG instance
- 2. Best Gets paid tG
- etc.
57Additional Information
- Rich literature on clause learning in SAT and CSP
solver domain. Superresolution is the most
general form of clause learning with restarts. - Papers on look-ahead polynomials and
superresolution http//www.ccs.neu.edu/resea
rch/demeter/papers/publications.html
58Additional Information
- Useful unpublished paper on look-ahead
polynomials http//www.ccs.neu.edu/research/demet
er/biblio/partial-sat-II.html - Technical report on the topic of this talk
http//www.ccs.neu.edu/research/demeter/biblio/POp
tMAXCSP.html
59Future work
- Exploring best combination of look-forward and
look-back techniques. - Find all maximum-assignments or estimate their
number. - Robustness of maximum assignments.
- Are our MAX-CSP solvers useful for reasoning
about biological pathways?
60Conclusions
- Presented SPOT, a family of MAX-CSP solvers based
on look-ahead polynomials and non-chronological
backtracking. - SPOT has a desirable property P-optimal.
- SPOT can be implemented very efficiently.
- Preliminary experimental results are encouraging.
A lot more work is needed to assess the practical
value of the look-ahead polynomials.
61Polynomials for rank 3
- x3 x2 x1 x0 relation
- -1 3 -3 1 1
- 1 -2 1 0 2
- 0 1 -2 1 3
- 1 -2 1 0 4
- 0 1 -2 1 5
- For 2 x(1-x)2x3-2x2x
- maximum at x1/3 1/3(2/3)24/27
62Recall
- (fg) fg fg
- (f2) 2f f
- For relation 2
- x(1-x)2 (1-x)2 x2(1-x)(-1) (1-x)(1-3x)
- x1 is minimum
- x1/3 is maximum
- value at maximum 4/27
63Check 2 and 4 should be the same
64Harold
- concern intension, extension query, predicate
- extension intension(software)
- Harold Ossher confirmed pointcuts
65The Game Evergreen(r,m) for Boolean MAX-CSP(G),
rgt1,mgt0
- Two players They agree on a protocol P1 to
choose a set of m relations of rank r. - The players use P1 to choose a set G of m
relations of rank r. - Player 1 constructs a CSP(G) instance H with 1000
variables and at most 2(1000 choose r)
constraints and gives it to player 2 (1 second
limit). - Player 2 gets paid by player 1 the fraction of
constraints she can satisfy in H (100 seconds
limit). - Take turns (go to 1).
66Evergreen(3,2)
- Rank 3 Represent relations by the integer
corresponding to the truth table in standard
sorted order 000 111. - choose relations between 1 and 254 (exclude 0 and
255). - Dont choose two odd numbers All false would
satisfy all constraints. - Dont choose both numbers above 128 All true
would satisfy all constraints.
67The Game Evergreen(r,m) for Boolean MAX-CSP(G),
rgt1,mgt0
- Two players They agree on a protocol P1 to
choose a set of m relations of rank r. - The players use P1 to choose a set G of m
relations of rank r. - Player 1 constructs a CSP(G) instance H with 1000
variables and at most 2(1000 choose r)
constraints and gives it to player 2 (1 second
limit). - Player 2 gets paid by player 1 the fraction of
constraints she can satisfy in H (100 seconds
limit). - Take turns (go to 1).
68Requirements for algorithms and properties to work
- Relative P-optimality
- Absolute P-optimality
- G needs to be closed under renaming and
reductions and n-maps - Look-ahead polynomials
69What happens during the solution process
- Maximum of polynomial will be at the boundary,
say 0. Can be achieved in P. Notice folding
effect. - Many superresolvents will be learned until better
assignment is found. - Most constraints use an odd relation, a few an
even relation (if many constraints can be
satisfied).
70What happens
- Because the polynomial only depends on a few
numbers, it is not sensitive to the detailed
properties of the instance. - But if one variable has a visible bias towards
either 1 or 0, polynomials might detect it. - Adjust the weight of the constraints to bring the
maximum of the polynomial into the middle so that
abs(mb) increases.
71Question for Daniel
- p(x) t1p1(x)t2p2(x)
- mb at 0
- p(mb)
- perturb t1,t2 so that p(x) gets a higher maximum.
The fraction of t1 should go up if R1 is an
unsatisfied relation. - How high can we bring the fraction of satisfied
constraints this way?
72Question
- Does this solve the original problem?
- If we get all all satisfied, yes.
- Can force that, by deleting all but one
unsatisfied and adding them later on. - Are forced to work with many relations.