720 likes | 835 Views
The 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. Two objectives.
E N D
The 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
Two 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
Introduction • 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 < 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 = • 22:1 2 3 0 • 22:1 2 4 0 • 22:1 3 4 0 1in3 has number 22 M = {1 !2 !3 !4} satisfies all
Variation 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 = 22:1 2 3 0 22:1 2 4 0 in MAX-CSP({22},?). Highest value for ? 22:1 3 4 0 22: 2 3 4 0 1in3 has number 22
P1 = you P2 = I Evergreen(3,2) game 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 P2’s profit. • Take turns. R2, P2 R1, P1 100% R2, 0% R1 100% R1, 0% R2
Protocol choice • Randomly choose symmetric R1 and symmetric R2 (independently) between 1 and 255 (Throw two dice choosing symmetric relations).
Tell 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?
Game strategy in a nutshell • Choose G={R1,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.
Our approach by Example:SAT 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
excellent 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)
Our 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) > 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 = Hk=1, absH1(mb1) > f • MAYBE, the closer absH1(mb1) comes to f, the better • NO, UP or clause learning absH= abstract representation of H
8/9 7/9 abstract representation 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 H 3/9 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/7=7/9 H0 3/7=5/9 maximum assignment away from max bias: blurry 0 1 2 3 4 5
8/9 7/9 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 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/8=8/9 6/8=7/9 H1 maximum assignment away from max bias: blurry 2/7=3/8 0 1 2 3 4 5
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/7=8/9 6/8 = 7/9 5/7=7/9 abstract representation guarantees 7/9 abstract representation guarantees 8/9 H0 UBCSAT H1 NEVER GOES DOWN: DERANDOMIZATION
rank 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
First 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?
Where we are • Introduction • Look-forward • Look-backward • SPOT: how to use the look-ahead polynomials together with superresolution.
Look Forward • Why? • To make informed decisions • To play the Evergreen game • How? • Abstract representation based on look-ahead polynomials
Look-ahead Polynomial(Intuition) • The look-ahead polynomial computes the expected fraction of satisfied constraints among all random assignments that are produced with bias p.
Consider 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)
Look-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.
The 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
Bernstein Polynomials http://graphics.idav.ucdavis.edu/education/CAGDNotes/Bernstein-Polynomials.pdf
Look-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?
Remember? 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): 22:1 2 3 0 22:1 2 4 0 22:1 3 4 0 22: 2 3 4 0
Mathematical 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, e>0. 1 not always (solid) u = critical transition point always (fluid) 0
The Magic Number • u = 4/9
Produce the Magic Number • Use an optimally biased coin • 1/3 in this case • In general: min max problem
The 22 reductions:Needed for implementation 1,0 2,0 22 60 240 3,0 2,1 3,1 1,1 2,0 3,0 3 15 255 3,1 2,1 22 is expanded into 6 additional relations. 0
The 22 N-Mappings:Needed 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.
General 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, e>0. 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?
Context • 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.
General 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, e>0. 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
min max problem sat(H,M) = fraction of satisfied constraints in CSP(G)-instance H by assignment M tG = min max sat(H,M) all CSP(G) instances H all (0,1) assignments M
Problem reductions are the key • Solution to simpler problem implies solution to original problem.
min 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
Reduction achieved • Instead of minimizing over all constraint systems it is sufficient to minimize over the symmetric constraint systems.
Reduction • 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.
Symmetric 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 . .
min 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
Observations • 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.
The Game Evergreen(r,m) for Boolean MAX-CSP(G), r>1,m>0 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).
For Evergreen(3,2) 100% R1, 0% R2 100% R2, 0% R1
Evergreen(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.
Evergreen(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 P2’s profit. R2, P2 R1, P1 100% R2, 0% R1 100% R1, 0% R2