A First Practical Algorithm for High Levels of Relational Consistency

Slides:



Advertisements
Similar presentations
Non-Binary Constraint Satisfaction Toby Walsh Cork Constraint Computation Center.
Advertisements

Constraint Satisfaction Problems
Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
ICS-271:Notes 5: 1 Lecture 5: Constraint Satisfaction Problems ICS 271 Fall 2008.
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Constraint Optimization Presentation by Nathan Stender Chapter 13 of Constraint Processing by Rina Dechter 3/25/20131Constraint Optimization.
Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring
Then Adaptive Parameterized Consistency for Non-Binary CSPs by Counting Supports R.J.Woodward 1,2, A.Schneider 1, B.Y.Choueiry 1, and C.Bessiere 2 1 Constraint.
A First Practical Algorithm for High Levels of Relational Consistency Shant Karakashian, Robert Woodward, Christopher Reeson, Berthe Y. Choueiry & Christian.
A Constraint Satisfaction Problem (CSP) is a combinatorial decision problem defined by a set of variables {A,B,C,…}, a set of domain values for these variables,
An Approximation of Generalized Arc-Consistency for Temporal CSPs Lin Xu and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science.
Improving Backtrack Search For Solving the TCSP Lin Xu and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science and Engineering.
A Constraint Satisfaction Problem (CSP) is a combinatorial decision problem defined by a set of variables, a set of domain values for these variables,
 i may require adding new constraints, except for… o i =1  domain filtering o i =   constraint filtering Robert Woodward & Berthe Y. Choueiry Constraint.
Foundations of Constraint Processing Evaluation to BT Search 1 Foundations of Constraint Processing CSCE421/821, Spring
Efficient Techniques for Searching the Temporal CSP Lin Xu and Berthe Y. Choueiry Constraint Systems Laboratory Department of Computer Science and Engineering.
Constraint Satisfaction Problems
Foundations of Constraint Processing, Fall 2005 Sep 20, 2005BT: A Theoretical Evaluation1 Foundations of Constraint Processing CSCE421/821, Fall 2005:
1.A finer version of PPC. 2.Cheaper than PPC and F-W. 3.Guarantees the minimal network. 4.Automatically decomposes the graph into its bi-connected components:
M. HardojoFriday, February 14, 2003 Directional Consistency Dechter, Chapter 4 1.Section 4.4: Width vs. Local Consistency Width-1 problems: DAC Width-2.
Chapter 5 Outline Formal definition of CSP CSP Examples
Advanced Constraint Processing, Fall 2009 An Efficient Consistency Algorithm for the Temporal Constraint Satisfaction Problem Berthe Y. Choueiry & Lin.
Tractable Symmetry Breaking Using Restricted Search Trees Colva M. Roney-Dougal, Ian P. Gent, Tom Kelsey, Steve Linton Presented by: Shant Karakashian.
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
Constraint Satisfaction Problem:  Used to model constrained combinatorial problems  Important real-world applications: hardware & software verification,
Because the localized R(*,m)C does not consider combinations of relations across clusters, propagation between clusters is hindered. Synthesizing a global.
Jinsong Guo Jilin University, China Background  Filtering techniques are used to remove some local inconsistencies in the search algorithms solving.
Constraint Systems Laboratory R.J. Woodward 1, S. Karakashian 1, B.Y. Choueiry 1 & C. Bessiere 2 1 Constraint Systems Laboratory, University of Nebraska-Lincoln.
Foundations of Constraint Processing, Fall 2004 October 3, 2004Interchangeability in CSPs1 Foundations of Constraint Processing CSCE421/821, Fall 2004:
Foundations of Constraint Processing, Spring 2009 Structure-Based Methods: An Introduction 1 Foundations of Constraint Processing CSCE421/821, Spring 2009.
Constraint Systems Laboratory Robert J. Woodward Joint work with Shant Karakashian, Daniel Geschwender, Christopher Reeson, and Berthe Y. UNL.
Constraint Systems Laboratory Robert J. Woodward Constraint Systems Laboratory Department of Computer Science & Engineering University of Nebraska-Lincoln.
853 instances from the 2008 CP Solver Competition. Real full lookahead cl+proj-wR(*,m)C, which enforces R(*, m)C on each cluster, adds projection of constraints.
Computer Science cpsc322, Lecture 13
Structure-Based Methods Foundations of Constraint Processing
Consistency Methods for Temporal Reasoning
An Empirical Study of the Performance
Robert Glaubius and Berthe Y. Choueiry
Empirical Comparison of Preprocessing and Lookahead Techniques for Binary Constraint Satisfaction Problems Zheying Jane Yang & Berthe Y. Choueiry Constraint.
Constraint Propagation
Computer Science cpsc322, Lecture 13
Structure-Based Methods Foundations of Constraint Processing
More on Constraint Consistency
Structure-Based Methods Foundations of Constraint Processing
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Structure-Based Methods Foundations of Constraint Processing
Evaluation of (Deterministic) BT Search Algorithms
More on Constraint Consistency
Constraints and Search
Evaluation of (Deterministic) BT Search Algorithms
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Constraint Satisfaction Problems & Its Application in Databases
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Evaluation of (Deterministic) BT Search Algorithms
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Solving Sudoku with Consistency: A Visual and Interactive Approach
Revisiting Neighborhood Inverse Consistency on Binary CSPs
A Qualitative Analysis of Search Behavior: A Visual Approach
Improving the Performance of Consistency Algorithms by Localizing and Bolstering Propagation in a Tree Decomposition Shant Karakashian, Robert J. Woodward.
A Reactive Strategy for High-Level Consistency During Search
PrePeak+ = PrePeak + ‘How Much’
Directional consistency Chapter 4
Structure-Based Methods Foundations of Constraint Processing
Revisiting Neighborhood Inverse Consistency on Binary CSPs
An Introduction Structure-Based Methods
Reformulating the Dual Graphs of CSPs
Structure-Based Methods Foundations of Constraint Processing
Presentation transcript:

A First Practical Algorithm for High Levels of Relational Consistency Shant Karakashian, Robert Woodward, Christopher Reeson, Berthe Y. Choueiry & Christian Bessiere Constraint Systems Laboratory, University of Nebraska-Lincoln LIRMM-CNRS, University of Montpellier Acknowledgements: Kostas Stergiou and anonymous reviewers Experiments conducted at UNL’s Holland Computing Center NSF CAREER Award #0133568 Robert Woodward supported by a UNL undergraduate research grant (UCARE) & by a B.M. Goldwater Scholarship

Outline Introduction Relational Consistency R(*,m)C : Definition, Naïve algorithm, Properties Preliminaries: Dual CSP Our Approach Algorithm Index-Tree Data Structure Advantages A weakened version of R(*,m)C: wR(*,m)C Experimental Evaluations Conclusions & Future Work

Introduction Local consistency techniques are at the heart of solving CSPs Low level consistency properties such as GAC are easy to apply & are effective for many problems There are problems that require higher levels of consistency for finding a solution in a reasonable amount of time We present a practical algorithm for enforcing relational m-wise consistency: R(*,m)C

Definition of R(*,m)C A CSP is R(*,m)C iff ∀ m-1 relations Every tuple in a relation can be extended to the variables in the scope of any (m-1) other relations in an assignment satisfying all m relations simultaneously ..… ∀ m-1 relations ∀ tuple ∀ relation

Naïve Algorithm for R(*,m)C R(*,m)C can be enforced on a CSP by joining every combination of m relations and projecting the product on the individual relations ∀ Ri ∈ {R1, …, Rm}, Ri  πscope(Ri) (⋈j=1..mRj)

Properties of R(*,m)C It does not change the structure of the constraint network R(*,m)C p RmC [Dechter & van Beek ’97] It filters the relations by removing tuples It is parameterized We can control the level of consistency (m)

Preliminaries m = 3 The dual graph of a CSP is a graph where The nodes represent the relations The edges are added between two relations with at least one common variable Connected combination of m relations is a set of relations that induce a connected component in the dual graph R2 R1 AB BC m = 3 CFG R5 R3 DE EF R4

The Induced Dual CSP Consider ω = {R1,R2,…,Rm} a set of m relations Pω is the dual CSP induced by ω where The dual variables represent the m relations The domains are the tuples of the relations Ri The constraints in Pω are binary & enforce equality on the CSP variables shared by the two relations CB CCD Constraints R1 A B R2 BCD Rm CDE Dual variable Domain of a dual variable ..… m relations

Enforcing R(*,m)C on the Induced Dual CSP Pω Q Extract <ω,R> from Q <ω1,R1> ω1 Define CSP Pω <ω1,R2> For each τ in R <ω1,R5> Assign τ as a value for R <ω2,R2> ω2 Solve Pω (with τ fixed) with forward checking If no solution found: delete τ <ω2,R5> Add <ω’, R’> to Q: Ri≠R’, Ri∈ω’ and R’∈ω’ <ω2,R4> <ω3,R3> ω3 CB ω1 lighter colors relation/tuple highlight w2 CC <ω3,R4> R2 R1 AB BC R1: A B R2: B C <ω3,R5> CFG R5 R5: C F G R5: C F G R3 DE EF R4 ω2 ω3 R3: D E R4: E F CC CB

Index-Tree Data Structure When solving Pω, for a tuple τ, Forward checking requires identifying all tuples matching τ in the neighboring relations We propose a new data structure: index-tree Given a tuple τ of R1 and a relation R2 Identifies all the tuples of R2 that match τ R1 1 t1 t2 t3 t4 R2 τ

Advantages of Our Approach The memory requirement of the operation ∀ Ri ∈ {R1, …, Rm}, Ri = πscope(Ri) (⋈j=1..mRj) O(tm), t: max number of tuples in a relation For relations with 10,000 tuples, enforcing R(*,3)C requires in the order of 1TB of memory With our approach, the memory requirement is dominated by the index-tree structures O(kte2), k: max arity of relations, e: number of relations While slightly decreasing the time complexity

Weakening Relational Consistency: wR(*,m)C R1 R2 R3 R1 R2 R4 R1 R2 R5 R1 R3 R4 R2 R3 R4 R2 R4 R5 R3 R4 R5 R1 R2 R3 R1 R2 R5 R1 R3 R4 R2 R4 R5 R3 R4 R5 B ABD BCF CF A C CFG R5 AD ADE ACEG CG R3 AE R4 Some edges are redundant for m=2 Removing them reduces the number of combinations For m>2, removal of these edges weakens R(*,m)C Example Assume that no assignment satisfies variables A, B & C simultaneously To detect this inconsistency, need to consider R1R2R4 simultaniously This inconsistency is not detected because we removed the combination R1R2R4

R(*,m)C versus wR(*,m)C R(*,m)C is defined for m ≥ 2 m = 2 R(*,2)C ≡ wR(*,2)C [Janssen+ ‘89] m > 2 R(*,2)C p wR(*,m)C p R(*,m)C m < n R(*,m)C p R(*,n)C wR(*,m)C p wR(*,n)C A p B: A is strictly weaker than B

Experimental Results modifiedRenault GAC 1,324,309.8 402.44 26 14 4/50 Benchmark Algorithm #Nodes Visited Time [sec] #Completed in 1 hour #Fastest #Backtrack Free modifiedRenault GAC 1,324,309.8 402.44 26 14 4/50 Max #tuples: 48,721 maxRPWC 2,110.8 305.37 31 3 19/50 wR(*,2)C 192.5 2.99 46 27 41/50 wR(*,3)C 82.5 7.55 50 4 48/50 wR(*,4)C 33.88 2 50/50 rand-8-20-5 30,501.7 1,795.26 9 0/20 Max #tuples :78,799 941.3 1,162.22 16 dag-rand 0.0 27.21 25 25/25 Max #tuples: 150,000 37.75 aim-200 1,876,247.6 542.48 8 0/24 Max #tuples: 7 842,488.8 414.05 1 2,670.2 35.51 12 7 4/24 580.2 35.91 8/24 443.8 240.13 9/24 Don’t forget to say that this is the result of solving the CSP w/ BT search, dynamic dom/deg ordering, etc,

Conclusions & Future Work We studied the relational consistency property R(*,m)C Proposed a weaker variant wR(*,m)C Presented a parameterized algorithm for enforcing it Designed a new data structure (index tree) for efficiently checking the consistency of tuples between two relations Evaluated it against GAC & maxRPWC Future work: Handle relations defined as conflicts or in intension by domain filtering Automatically identify the appropriate consistency level Use R(*,m)C in a solver to identify tractable classes of CSPs

Thank You for Your Attention Questions?