UBC March 20071 The Evergreen Project: The Promise of Polynomials to Boost CSP/SAT Solvers* Karl J. Lieberherr Northeastern University Boston joint work.

Slides:



Advertisements
Similar presentations
On allocations that maximize fairness Uriel Feige Microsoft Research and Weizmann Institute.
Advertisements

GAME THEORY.
Nash’s Theorem Theorem (Nash, 1951): Every finite game (finite number of players, finite number of pure strategies) has at least one mixed-strategy Nash.
P-Optimal CSP Solvers Applied to Software Security P-Optimal CSP Solvers Applied to Software Security Ahmed Abdel Mohsen and Karl Lieberherr College of.
Max Cut Problem Daniel Natapov.
Lecture 22: April 18 Probabilistic Method. Why Randomness? Probabilistic method: Proving the existence of an object satisfying certain properties without.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
The Theory of NP-Completeness
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Computational problems, algorithms, runtime, hardness
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
The Theory of NP-Completeness
Hardness Results for Problems
10/31/02CSE Greedy Algorithms CSE Algorithms Greedy Algorithms.
T Ball (1 Relation) What Your Robots Do Karl Lieberherr CSU 670 Spring 2009.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Software Development Developing a MAX-CSP Solver Karl Lieberherr.
SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
SDG Mittagsseminar1 Using Artificial Markets to Teach Computer Science Through Trading Robots How to get students interested in algorithms, combinatorial.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Private Approximation of Search Problems Amos Beimel Paz Carmi Kobbi Nissim Enav Weinreb (Technion)
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
UBC March The Evergreen Project: The Promise of Polynomials to Boost CSP/SAT Techniques* Karl J. Lieberherr Northeastern University Boston joint.
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
UBC March The Evergreen Project: How To Learn From Mistakes Caused by Blurry Vision in MAX-CSP Solving Karl J. Lieberherr Northeastern University.
UBC March The Evergreen Project: The Promise of Polynomials to Boost CSP/SAT Solvers* Karl J. Lieberherr Northeastern University Boston joint work.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
UBC March The Evergreen Project: How To Learn From Mistakes Caused by Blurry Vision in MAX-CSP Solving Karl J. Lieberherr Northeastern University.
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
NP-Complete problems.
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
UBC March The Evergreen Project: The Promise of Polynomials to Boost CSP/SAT Techniques* Karl J. Lieberherr Northeastern University Boston joint.
Managing Software Development Karl Lieberherr. Manage a significant program from requirements to implementation We wrote requirements. We wrote several.
Accelerating Random Walks Wei Wei and Bart Selman.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
UBC March The Evergreen Project: The Promise of Polynomials to Boost CSP/SAT Solvers* Karl J. Lieberherr Northeastern University Boston joint work.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
PhD March The Evergreen Project: How To Learn From Mistakes Caused by Blurry Vision in MAX-CSP Solving Karl J. Lieberherr Northeastern University.
Space Complexity. Reminder: P, NP classes P is the class of problems that can be solved with algorithms that runs in polynomial time NP is the class of.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Non-LP-Based Approximation Algorithms Fabrizio Grandoni IDSIA
Approximation Algorithms based on linear programming.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Search: Games & Adversarial Search Artificial Intelligence CMSC January 28, 2003.
Propositional Calculus: Boolean Algebra and Simplification
Objective of This Course
Inside Microsoft Research
Games & Adversarial Search
Presentation transcript:

UBC March 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

UBC March 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

UBC March 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: –22: –22: in3 has number 22 M = {1 !2 !3 !4} satisfies all

UBC March 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: : in MAX-CSP({22},?). Highest value for ? 22: : in3 has number 22

UBC March 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. R1, P1 R2, P2 100% R1, 0% R2100% R2, 0% R1 P1 = you P2 = I

UBC March Protocol choice Randomly choose symmetric R1 and symmetric R2 (independently) between 1 and 255 (Throw two dice choosing symmetric relations).

UBC March 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?

UBC March 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.

UBC March Our approach by Example: SAT Rank 2 example 14 : : : : : : : : : : 1 2 = or(1 2) 7: 1 3 = or(!1 !3) = H Evergreen game: maximize payoff find maximum assignment

UBC March appmean = approximation of the mean (k variables true) Blurry vision What do we learn from the abstract representation abs H ? 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”. excellent peripheral vision = k 8/9 7/9

UBC March 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), abs H (mb) > f MAYBE, The closer abs H () 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 = H k=1, abs H1 (mb1) > f MAYBE, the closer abs H1 (mb1) comes to f, the better NO, UP or clause learning abs H = abstract representation of H

UBC March : : : : : : : : : : : : : : : : : : /9 6/7 = 8/9 3/7=5/9 3/9H H0 abstract representation maximum assignment away from max bias: blurry 7/9 5/7=7/9

UBC March : : : : : : : : : : : : : : : : : : /9 7/8=8/9 6/8=7/9 H H1 3/8 2/7=3/ maximum assignment away from max bias: blurry 7/9 clearly above 3/4

UBC March /9 7/9 14 : : : : : : : : : /7=8/9 5/7=7/9 7/8 = 8/9 6/8 = 7/9 abstract representation guarantees 7/9 abstract representation guarantees 7/9 abstract representation guarantees 8/9 H H0 H1 NEVER GOES DOWN: DERANDOMIZATION UBCSAT

UBC March : : : : : : rank 2 10: 1 = or(1) 7: 1 2 = or(!1 !2) 5 : : : : : : rank 2 5: 1 = or(!1) 13: 1 2 = or(1 !2) 4/6 3/6 abstract representation guarantees * 6 = 3.75: 4 satisfied. 4/6 3/6 4/ The effect of n-map Evergreen game: G = {10,7} How do you choose a CSP(G)-instance to minimize payoff? …

UBC March 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?

UBC March Where we are Introduction Look-forward Look-backward SPOT: how to use the look-ahead polynomials together with superresolution.

UBC March Look Forward Why? –To make informed decisions –To play the Evergreen game How? –Abstract representation based on look-ahead polynomials

UBC March 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.

UBC March Consider an instance: 40 variables, 1000 constraints (1in3) 1, …,40 22: : Abstract representation: reduce the instance to look-ahead polynomial 3p(1-p) 2 = B 1,3 (p) (Bernstein)

UBC March p(1-p) 2 for MAX-CSP({22})

UBC March Look-ahead Polynomial (Definition) H is a CSP(G) instance. N is an arbitrary assignment. The look-ahead polynomial la H,N (p) computes the expected fraction of satisfied constraints of H when each variable in N is flipped with probability p.

UBC March The general case MAX-CSP(G) G = {R 1, … }, t R (F) = fraction of constraints in F that use R. x = p appSAT R (x) over all R is a super set of the Bernstein polynomials (computer graphics, weighted sum of Bernstein polynomials)

UBC March Rational Bezier Curves

UBC March Bernstein Polynomials

UBC March all the appSAT R (x) polynomials

UBC March 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?

UBC March 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: : : :

UBC March Mathematical Critical Transition Point MAX-CSP({22},f): For f ≤ u: problem has always a solution For f ≥ u +  : problem has not always a solution,    u  critical transition point always (fluid) not always (solid)

UBC March The Magic Number u = 4/9

UBC March p(1-p) 2 for MAX-CSP({22})

UBC March Produce the Magic Number Use an optimally biased coin –1/3 in this case In general: min max problem

UBC March The 22 reductions: Needed for implementation ,0 1,1 2,1 2,0 3,0 3,1 3,0 3,1 2,0 2,1 22 is expanded into 6 additional relations.

UBC March The 22 N-Mappings: Needed for implementation is expanded into 7 additional relations

UBC March General Dichotomy Theorem MAX-CSP(G,f): For each finite set G of relations closed under renaming there exists an algebraic number t G : For f ≤ t G : MAX-CSP(G,f) has polynomial solution For f ≥ t G +  : MAX-CSP(G,f) is NP-complete,   t G  critical transition point easy (fluid) Polynomial hard (solid) NP-complete due to Lieberherr/Specker (1979, 1982) polynomial solution: Use optimally biased coin. Derandomize. P-Optimal.  implications for the Evergreen game? Are you a better player?

UBC March 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.

UBC March General Dichotomy Theorem (Discussion) MAX-CSP(G,f): For each finite set G of relations closed under renaming there exists an algebraic number t G For f ≤ t G : MAX-CSP(G,f) has polynomial solution For f ≥ t G +  : MAX-CSP(G,f) is NP-complete,   t G  critical transition point easy (fluid), Polynomial (finding an assignment) constant proofs (done statically using look-ahead polynomials) no clause learning hard (solid), NP-complete exponential, super-polynomial proofs ??? relies on clause learning 

UBC March min max problem t G = min max sat(H,M) all (0,1) assignments M all CSP(G) instances H sat(H,M) = fraction of satisfied constraints in CSP(G)-instance H by assignment M

UBC March Problem reductions are the key Solution to simpler problem implies solution to original problem.

UBC March min max problem t G = lim min max sat(H,M,n) all (0,1) assignments M to n variables n to infinity sat(H,M,n) = fraction of satisfied constraints in CSP(G)-instance H by assignment M with n variables. all SYMMETRIC CSP(G) -instances H with n variables

UBC March Reduction achieved Instead of minimizing over all constraint systems it is sufficient to minimize over the symmetric constraint systems.

UBC March 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.

UBC March 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

UBC March min max problem t G = 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 sat(H,M,n) = fraction of satisfied constraints in system S by assignment I all SYMMETRIC CSP(G) -instances H with n variables

UBC March 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.

UBC March

UBC March 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. 1.The players use P1 to choose a set G of m relations of rank r closed under renamings. 2.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). 3.Player 2 gets paid the fraction of constraints she can satisfy in H (100 seconds limit). 4.Take turns (go to 1).

UBC March For Evergreen(3,2) 100% R1, 0% R2 100% R2, 0% R1

UBC March 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.

UBC March 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. R1, P1 R2, P2 100% R1, 0% R2100% R2, 0% R1

UBC March Problem 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.

UBC March Protocol choice: variant 3 Randomly choose symmetric R1 and symmetric R2 (independently) between 1 and 255 (Throw two dice).

UBC March 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? 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

UBC March For Evergreen(3,2) 100% R1, 0% R2 100% R2, 0% R1 Tells us how to mix the two relations

UBC March Role of t G in the Evergreen(3,2) game 1: Instance construction: Choose a CSP(G) instance so that only the fraction t G can be satisfied: symmetric formula. 2: Choose an algorithm so that at least the fraction t G is satisfied. (2 gets paid t G from 1).

UBC March Game strategy in a nutshell 1. Best: Choose t G instance 2. Best: Get’s paid t G etc.

UBC March Additional 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: papers/publications.html

UBC March Additional Information Useful unpublished paper on look-ahead polynomials: biblio/partial-sat-II.html biblio/partial-sat-II.html Technical report on the topic of this talk: biblio/POptMAXCSP.html biblio/POptMAXCSP.html

UBC March Future 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?

UBC March Conclusions 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.

UBC March Polynomials for rank 3 x^3 x^2 x^1 x^0 relation For 2: x*(1-x) 2 =x 3 -2x 2 +x maximum at x=1/3; 1/3*(2/3) 2 =4/27

UBC March Recall (f*g)’ = f’*g + f*g’ (f 2 )’ = 2*f * f’ For relation 2: –x*(1-x) 2 = (1-x) 2 + x*2(1-x)*(-1)= (1-x)(1-3x) –x=1 is minimum –x=1/3 is maximum –value at maximum: 4/27

UBC March Check: 2 and 4 should be the same

UBC March Harold concern: intension, extension: query, predicate extension = intension(software) Harold Ossher: confirmed pointcuts

UBC March 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. 1.The players use P1 to choose a set G of m relations of rank r. 2.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). 3.Player 2 gets paid by player 1 the fraction of constraints she can satisfy in H (100 seconds limit). 4.Take turns (go to 1).

UBC March Evergreen(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). Don’t choose two odd numbers: All false would satisfy all constraints. Don’t choose both numbers above 128: All true would satisfy all constraints.

UBC March 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. 1.The players use P1 to choose a set G of m relations of rank r. 2.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). 3.Player 2 gets paid by player 1 the fraction of constraints she can satisfy in H (100 seconds limit). 4.Take turns (go to 1).

UBC March Requirements 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

UBC March What 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).

UBC March What 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.

UBC March Question for Daniel p(x) = t1*p1(x)+t2*p2(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?

UBC March Question 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.