740 likes | 900 Views
The Evergreen Project: How To Learn From Mistakes Caused by Blurry Vision in MAX-CSP Solving. Karl J. Lieberherr Northeastern University Boston. joint work with Ahmed Abdelmeged, Christine Hang and Daniel Rinehart. Where we are. Introduction Look-forward Look-backward Packed truth tables
E N D
The Evergreen Project:How To Learn From Mistakes Caused by Blurry Vision in MAX-CSP Solving Karl J. Lieberherr Northeastern University Boston joint work with Ahmed Abdelmeged, Christine Hang and Daniel Rinehart
Where we are • Introduction • Look-forward • Look-backward • Packed truth tables • SPOT: how to use the look-ahead polynomials (look-forward) together with superresolution (look-backward).
Problem Snapshot • SAT: classic problem in complexity theory • SAT & MAX-SAT Solvers: working on CNFs (a multi-set of disjunctions). • CSP: constraint satisfaction problem • Each constraint uses a Boolean relation. • e.g. a Boolean relation 1in3(x y z) is satisfied iff exactly one of its parameters is true. • CSP & MAX-CSP Solvers: working on CSP instances (a multi-set of constraints).
Introduction • Boolean MAX-CSP(G) for rank d, G = set of relations of rank d • Input • Input = Bag of Constraint • 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 • 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 MAX-CSP(G) instance 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. 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
Our Approach • Superresolution & P-Optimality Based MAX-CSP Solver • Highlights • Look Forward (in Abstract Representation) • Look Backward (in Transition System) • Packed Truth Tables (in Intermediate Representation)
Where we are • Introduction • Look-forward • Look-backward • Packed truth tables • SPOT: how to use the look-ahead polynomials together with superresolution.
Look Forward • Why? • To make informed decisions • 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 poly. 3p(1-p)2
Look-ahead Polynomial(Definition) • F is a MAX-CSP(G) instance. • N is an arbitrary assignment. • The look-ahead polynomial laF,N(p) computes the expected fraction of satisfied constraints of F 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. x = p
Look-ahead Polynomial in Action • Focus on purely mathematical question first • Algorithmic solution will follow • Mathematical question: Given a MAX-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 MAX-CSP(G) instance 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. 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
Simple example 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
General Dichotomy Theorem MAX-CSP(G,f): For each finite set G of relations 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 polynomial solution: Use optimally biased coin. Derandomize. P-Optimal. hard (solid) tG = critical transition point easy (fluid) 0 due to Lieberherr/Specker
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.
SAT Rank 2 example9 constraints 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) What is the look-ahead polynomial?
excellent peripheral vision Blurry vision • What do we learn from the abstract representation? • 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 blurred in the “middle”. appmean = lookahead is an approximation of the true mean
Where we are • Introduction • Look-forward • Look-back • Packed truth tables • SPOT: how to use the look-ahead polynomials
Look Backward • Why? • to avoid past mistakes • How? • Transition system based on superresolution
Observation • Optimally biased coin technique based on look-ahead polynomials is “best-possible”. • If we could improve it by a trillionth in polynomial time, then P=NP. • We improve it now by learning new constraints that will influence the polynomial.
Clause Learning • Let’s go beyond what an optimally biased coin guarantees! • Goal: satisfy the maximum number of constraints. • Approach: Superresolution. • When to apply: number of constraints guaranteed to be unsatisfied doesn’t decrease • A mistake is made. • Who to blame: the decision literals • They are the culprits. • How to penalize: add the disjunctions of their negations as a superresolvent • The gang of culprits is watched.
Transition Rules • Semi-Superresolution (SSR): NewSR = V (¬k), where k Md M || F || SR || N → M || F || SR, NewSR || N • if unsat(M,SR) > 0 or unsat(M,F) ≥ unsat(N,F).
Algorithm plan • start with an arbitrary assignment N. • while (proof incomplete) { • try to improve N by creating new assignment from scratch using optimally biased coin to flip the assignments; • success: Update N; • failure: learn a new constraint that will prevent same mistake and will “improve” the polynomial. }
Properties of TS • TS finds the maximum in a finite number of steps. • It creates a proof that we indeed found the maximum.
Optimized Semi-Superresolution • Not all decision literals may be responsible for the “mistake”. • Want to find a minimal superresolvent so that deleting one literal would destroy the superresolvent property. • Can be implemented by a traversal back the implication graph that is built as part of unit propagation.
Where we are • Introduction • Look-forward • Look-back • Packed Truth Tables • SPOT: how to use the look-ahead polynomials
Requirements for Packed Truth Tables • The look-ahead polynomial can be computed efficiently. Requires efficient truth table analysis. • Reduction of an instance must be efficient. • Efficiently compute the forced variables. • Each relation has a unique representation.
Packed Truth Tables 22 254
RelationI: implemented by bitwise operations int isForced(int variablePosition) boolean isIrrelevant(int variablePosition) int nMap(int variablePosition) int numberOfRelevantVariables() int q(int s) int reduce(int variablePosition, int value) int rename(int permutationSemantics, int... permutation)
Where we are • Introduction • Look-forward • Look-back • Packed truth tables • SPOT: how to use the look-ahead polynomials with superresolution
Using the look-ahead polynomials • Value Ordering • Decide: how to set the variable • Variable Ordering • Which variable to set next
What is new? • New: Packed Truth Tables • New: Superresolution for MAX-CSP • New: Integration of look-ahead polynomials with superresolution • Old: Superresolution for SAT (1977) • Old: Look-ahead polynomials (1983)
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?
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. • Preliminary experimental results are encouraging.
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