440 likes | 448 Views
Answer Set Programming vs CSP: Power of Constraint Propagation Compared. Jia-Huai You ( 犹嘉槐 ) University of Alberta Canada. Constraint Programming. Studies computational models for solving problems that can be expressed as constraints Applications: -NP-hard problems
E N D
Answer Set Programming vs CSP: Power of Constraint Propagation Compared Jia-Huai You (犹嘉槐) University of Alberta Canada
Constraint Programming • Studies computational models for solving problems that can be expressed as constraints • Applications: -NP-hard problems -Optimization -Planning (PSPACE-complete), logistics, scheduling -Combinatorial problems
Approaches to Constraint Programming • Constraint Satisfaction Problem (CSP) (Maybe embedded in a programming language such as Constraint Logic Programming) • Propositional satisfiability (SAT) • Answer set programming (ASP)
C TABLE A B Blocks World Planning
Planning Example: Logistics World • There are two types of vehicles : trucks and airplanes. Trucks are used to transport packages within a city, and airplanes to transport packages between airports. • The problem in this domain starts with a collection of packages at various locations in various cities, and the goal is to redistribute these packages to their destinations.
Example: 8-Queens Generate-and-test, 88 combinations
NT Q WA SA NT NSW Q V WA SA T NSW V T Example: Map Coloring
Cryptarithmetic puzzles • The problem is to assign distinct (decimal) digits to letters so that adding two words yields the third. E.g. S E N D + M O R E = M O N E Y D O N A L D + G E R A L D = R O B E R T
Approaches to Constraint Programming • Constraint Satisfaction Problem (CSP) Systems: Constraint Logic Programming • Propositional Satisfiability (SAT) Systems: SAT solvers • Answer Set Programming (ASP) Systems: Smodels,…
Graph Coloring in SAT (or ASP) Write clauses (or rules in ASP) that express the constraints: • Any region must be colored with exactly one (but any) color. • No model (or answer set in case of ASP) may have two (distinct) adjacent regions colored with the same color.
Graph Coloring in ASP coloring(N,C) node(N),color(C), not other_color(N,C). other_color(N,C) node(N),color(C), color(C’), C\=C’, coloring(N,C’). hasColor(N) coloring(N,C), color(C). node(N),node(N’),color(C), edge(N,N’), coloring(N,C), coloring(N’,C).
Contents • Motivation • Maintaining local consistencies in CSP • Lookahead in ASP • Pruning power comparison • Relationships between encodings • Conclusions
Motivation • Constraint Satisfaction Problem(CSP) • Maintaining local consistency • SAT solver or answer set programming • Unit propagation, lookahead • Pruning power comparison
Structure • Motivation • Maintaining local consistencies in CSP • Lookahead in ASP • Pruning power comparison • Relationships between encodings • Conclusions
Constraint Satisfaction Problem(CSP) • CSP • Variable set • Domain set • Constraint set • Instantiation
x y 0 0 0 support 1 1 1 consistent 2 2 2 z A CSP
i-consistency • A CSP is i-consistent iff given any consistent assignment of any i-1 variables, there exists an assignment of any ith variable such that the i values taken together satisfy all of the constraints among the i variables. • i=2 arc-consistency (AC) • i=3 path-consistency (PC)
\ 0 0 0 1 1 1 \ \ 2 2 2 \ Maintaining AC x y \ \ z
Structure • Motivation • Maintaining local consistencies in CSP • Lookahead in Smodels • Pruning power comparison • Relationships between encodings • Conclusions
Lookahead in Smodels • Answer set program • Stable model (answer set) of
Expand ( ) Expand ( ) Lookahead conflict
Propagation rules • 1. Adds the head of a rule to A if the body is true in A. • 2. If there is no rule with h as the head whose body is not false w.r.t A, then add not h to A.
Propagation rules • 3. If h belongs to A, the only rule with h as the head must have its body true. • 4. If the head of a rule is false in A, the body must be false.
Structure • Motivation • Maintaining local consistencies in CSP • Lookahead in Smodels • Pruning power comparison • Relationships between encodings • Conclusions
Direct Encoding • Uniqueness rules • Denial rules
Lookahead vs AC • The solution of a CSP corresponds to the stable model of the ASP. • Does Lookahead = AC?
x y 0 0 1 1 0 1 z Example • Enforcing AC cannot remove any value. • How about lookahead?
0 0 0 1 1 1 2 2 2 Unique value propagation(UP) which is • Generate an superset of
Theorem 1 • lookahead=AC+UP. Propagation Arc-Consistency(PAC)
Theorem 2 • (i-1)-lookahead i-consistency
Support Encoding • Uniqueness rules • The same as direct encoding • Support rules
Under support encoding • Does the pruning power of lookahead equal to that of PAC?
Theorem 3 and 4 • Lookahead=SAC • SAC > PAC
Theorem 5 • 2-lookahead SRPC • Restricted path consistency(RPC) • Check the “unique support” pair • Singleton RPC(SRPC) • Restrict the domain to be a single value
Structure • Motivation • Maintaining local consistencies in CSP • Lookahead in Smodels • Pruning power comparison • Relationships between encodings • Conclusions
Relationships • Niemela’s encoding • Uniquness rules • The same as direct encoding • Allowed rules • Lookahead has the same pruning power under the direct encoding as under Niemela’s encoding
Relationships • Performance of the direct and support encodings. • Problem set • 10 variables • Domain size of 30 • 20 constraints
Structure • Motivation • Maintaining local consistencies in CSP • Lookahead in Smodels • Pruning power comparison • Relationships between encodings • Conclusions
Conclusions • When testing single literal, lookahead has the same prunning power under the direct encoding as well as Niemela’s encoding. • When Testing (i-1)-tuples, lookahead captures i-consistency under direct encoding.
Conclusions • Under the support encoding, lookahead has the same pruning power as SAC. • Under support encoding, when testing pair of literals, lookahead captures SRPC.
Conclusions • Lookahead performs more efficiently under the support encoding than under the direct encoding.
Thank You! Comments and Questions?