Jinsong Guo Jilin University, China Background  Filtering techniques are used to remove some local inconsistencies in the search algorithms solving.

Slides:



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

Non-binary Constraints Toby Walsh
Constraint Programming Peter van Beek University of Waterloo.
Constraint Satisfaction Problems Russell and Norvig: Chapter
Indexing DNA Sequences Using q-Grams
Maintaining Arc Consistency We have a constraint graph G of variables X 1,...X n, and constraint relations {X i  X j}, and each Xi has a value set V (X.
Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
Interactive Configuration
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
This lecture topic (two lectures) Chapter 6.1 – 6.4, except 6.3.3
1 Finite Constraint Domains. 2 u Constraint satisfaction problems (CSP) u A backtracking solver u Node and arc consistency u Bounds consistency u Generalized.
CSP Yaron Kassner Winter Reminder Arc Consistency: the domains of pairs of variables are consistent. k-consistency: the domains of every k variables.
Review: Constraint Satisfaction Problems How is a CSP defined? How do we solve CSPs?
From Sequences of Dependent Instructions to Functions An Approach for Improving Performance without ILP or Speculation Ben Rudzyn.
A First Practical Algorithm for High Levels of Relational Consistency Shant Karakashian, Robert Woodward, Christopher Reeson, Berthe Y. Choueiry & Christian.
CPSC 322, Lecture 13Slide 1 CSPs: Arc Consistency & Domain Splitting Computer Science cpsc322, Lecture 13 (Textbook Chpt 4.5,4.6) February, 01, 2010.
1 Refining the Basic Constraint Propagation Algorithm Christian Bessière and Jean-Charles Régin Presented by Sricharan Modali.
4 Feb 2004CS Constraint Satisfaction1 Constraint Satisfaction Problems Chapter 5 Section 1 – 3.
Relational Data Mining in Finance Haonan Zhang CFWin /04/2003.
CPSC 322, Lecture 12Slide 1 CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12 (Textbook Chpt ) January, 29, 2010.
CPSC 322, Lecture 13Slide 1 CSPs: Arc Consistency & Domain Splitting Computer Science cpsc322, Lecture 13 (Textbook Chpt 4.5,4.8) February, 02, 2009.
Constraint Satisfaction Problems
Jean-Charles REGIN Michel RUEHER ILOG Sophia Antipolis Université de Nice – Sophia Antipolis A global constraint combining.
NEW APPROACH TO CALCULATION OF RANGE OF POLYNOMIALS USING BERNSTEIN FORMS.
26 April 2013Lecture 5: Constraint Propagation and Consistency Enforcement1 Constraint Propagation and Consistency Enforcement Jorge Cruz DI/FCT/UNL April.
Constraint Satisfaction Problems
Slide 1 CSPs: Arc Consistency & Domain Splitting Jim Little UBC CS 322 – Search 7 October 1, 2014 Textbook §
CP Summer School Modelling for Constraint Programming Barbara Smith 1.Definitions, Viewpoints, Constraints 2.Implied Constraints, Optimization,
Arrays.
On Algorithms for Decomposable Constraints Kostas Stergiou Ian Gent, Patrick Prosser, Toby Walsh A.P.E.S. Research Group.
CP Summer School Modelling for Constraint Programming Barbara Smith 4. Combining Viewpoints, Modelling Advice.
CSC 423 ARTIFICIAL INTELLIGENCE Constraint Satisfaction Problems.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Chapter 5 Constraint Satisfaction Problems
Review Test1. Robotics & Future Technology Future of Intelligent Systems / Ray Kurzweil futurist Ray Kurzweil / A Long Bet A Long Bet / Robot Soccer.
Constraint Satisfaction Problems (Chapter 6)
CHAPTER 5 SECTION 1 – 3 4 Feb 2004 CS Constraint Satisfaction 1 Constraint Satisfaction Problems.
Arc Consistency CPSC 322 – CSP 3 Textbook § 4.5 February 2, 2011.
8puzzle in CP initial state goal state A trivial example.
Making Path-Consistency Stronger for SAT Pavel Surynek Faculty of Mathematics and Physics Charles University in Prague Czech Republic.
Chapter 5 Team Teaching AI (created by Dewi Liliana) PTIIK Constraint Satisfaction Problems.
Constraint Satisfaction CSE 473 University of Washington.
ELEC692 VLSI Signal Processing Architecture Lecture 12 Numerical Strength Reduction.
Constraint Programming for the Diameter Constrained Minimum Spanning Tree Problem Thiago F. Noronha Celso C. Ribeiro Andréa C. Santos.
Constraint Satisfaction Problems/Programming ZUI 2012/2013.
Constraint Programming
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Computer Science cpsc322, Lecture 13
Consistency Methods for Temporal Reasoning
A First Practical Algorithm for High Levels of Relational Consistency
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
ECE 448, Lecture 7: Constraint Satisfaction Problems
Constraint Satisfaction Problems Lecture # 14, 15 & 16
Recovering and Exploiting Structural Knowledge from CNF Formulas
Constraint Satisfaction
Empirical Comparison of Preprocessing and Lookahead Techniques for Binary Constraint Satisfaction Problems Zheying Jane Yang & Berthe Y. Choueiry Constraint.
CS B551: Elements of Artificial Intelligence
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Constraint Propagation
Computer Science cpsc322, Lecture 13
Constraints and Search
Constraint Satisfaction Problems
Constraints and Search
Chapter 5: General search strategies: Look-ahead
Advanced consistency methods Chapter 8
Constraint Satisfaction Problems. A Quick Overview
8puzzle in CP.
Artificial Intelligence
Implementation of Learning Systems
Presentation transcript:

Jinsong Guo Jilin University, China

Background  Filtering techniques are used to remove some local inconsistencies in the search algorithms solving the instances of the Constraint Satisfaction Problem (CSP).  They can be used in a preprocessing step or during the search.

 A value (x j, b) is an AC-support of value (x i, a) if ((x i, a), (x j, b)) is allowed by c ij.  An AC-support (x j, b) of (x i, a) is a PC-support of (x i, a) iff at least one PC-witness exists in the domain of each third variable x k which is constrained with both x i and x j.  A PC-witness of the value pair ((x i, a), (x j, b)) is a value which is consistent with both (x i, a) and (x j, b). Background

 maxRPC is a promising local consistency.  Stronger than AC, maxRPC removes not only the values that have no AC-supports, but also those that have no PC-supports.  A binary CN is max-restricted path consistent iff for all x i ∈ X, D(x i ) is a non empty arc consistent domain and, for all a ∈ D(x i ), for all x j ∈ X linked to x i, there exists b ∈ D(x j ) s.t. ((x i, a), (x j, b)) ∈ rel(c ij ) and for all x k ∈ X linked to both x i and x j, there exists c ∈ D(x k ) s.t. ((x i, a), (x k, c)) ∈ rel(c ik ) ∧ ((x k, c), (x j, b)) ∈ rel(c jk ).

 maxRPC1 fine-grained, relatively high space cost time complexity O(end 3 ) space complexity O(end)  maxRPC2 coarse-grained, reducing the space cost (O(ed)) The time complexity is O(end 3 ) too  They are not suited for use during search Background

 maxRPC rm make use of the residues, can be better suited for use during search  maxRPC2 and maxRPC rm both suffer from the overhead caused by the redundant constraint checks.  maxRPC3 and maxRPC3 rm largely eliminate the redundant constraint checks Background

 When used during search, lmaxRPC which is the light version of maxRPC is used.

The inspiration of this paper  Local consistencies stronger than AC (such as maxRPC ) have two aspects:  advantage They can remove more inconsistent values than AC. (pruning efficiency)  disadvantage Enforcing or maintaining them cost more.(computational cost)

 disadvantage > advantage Good  advantage < disadvantage Not preferable Thus, I thought: Why not find a way to overcome the disadvantage so that the advantage can be more effective? The inspiration of this paper

Where does the disadvantage come from?  maxRPC removes not only the values that have no AC-supports, but also those that have no PC-supports.  The “Culprit” Verifying whether a value has the PC- supports.

overcome the disadvantage  The process of verifying whether a value (x i, a) has a PC-support in the domain of x j :  Step 1: Verifying whether (x i, a) has an AC- support in the domain of x j.  Step 2(If such an AC-support (x j, b) is found) : Verifying whether the value pair ((x i, a), (x j, b)) has one PC-witness in all the domains of each third variable x k linked to both x i and x j.

 Speed up the process of Step 2.  I think that if the step 2 costs little, the time cost of enforcing or maintaining maxRPC may be close to AC. overcome the disadvantage

searching for a PC-witness  When searching for a PC-witness for a pair of values ((x i, a), (x j, b)) in a third variable x k, all existing algorithms need to perform constraint checks to confirm whether a value (x k, c) satisfies ((x i, a), (x k, c)) ∈ rel(c ik ) and ((x j, b), (x k, c)) ∈ rel(c jk ).

searching for a PC-witness  The differences at this process in the existing algorithms are from which value in D(x k ) the search starts.  maxRPC2 and maxRPC rm start the search from scratch thus there are redundant constraint checks, maxRPC1 and maxRPC3 avoid these redundant constraint checks, and maxRPC3 requires only two constraint checks when LastAC xi, a, xk or LastAC xj, b, xk happens to be the PC-witness.

Our new method  In our method, bitwise operations are performed instead of constraint checks when searching for PC-witnesses.  Our method is based on the binary representation.  In the following introduction, we consider that the computer is equipped with a 32-bit processor.

the binary representation  The arrays of words are used to represent domains and constraints.  Each word is a sequence of 32 bits  An array of words can be regarded as a bit sequence.

 Two 2-dimensional arrays bitdom and bitSup were introduced to respectively present domains and constraints.  length is used to denote the size of an array.  If the domain of x j has a size of d, the size of bitdom[x j ] and bitSup[c ij, x i, a] is  d/32 , i.e. both bitdom[x j ] and bitSup[c ij, x i, a] consist of  d/32  words. the binary representation

 Each bit in bitdom[X] can be associated with the index of any value in the domain of X. When a bit is set to 1 (resp. 0), it means that the corresponding value is present in the domain (resp. absent from it). the binary representation

 bitSup[c ij, x i, a] represents the binary representation of the supports of (x i, a) in c ij. For each value in the domain of x j, there is a corresponding bit in bitSup[c ij, x i, a] to mark whether this value is a support of (x i, a). the binary representation

 The new method tests 32 values simultaneously each time and aims at finding out whether there is at least one PC-witness instead of finding out which value is the PC- witness. the binary representation

A new method for searching for PC- witness of ((x i,a),(x j,b)) in x k ZERO denotes a sequence of 32 bits all set to 0. AND is the bitwise operator that simultaneously performs a logical AND operation on 32 pairs of corresponding bits.

 If the result (here it is called result.1) of “bitsup[C ik, x i, a][w] AND bitsup[C jk, x j, b][w]” is not ZERO, there must be common supports for (x i, a) and (x j, b) in the initial domain of x k.  If the result of “ result.1 AND bitdom[x k ][w]”is not equal to ZERO, there must be at least one PC- witness in the current domain of x k

 This method is very efficient, consider that x k has a domain with the size of 100, only 8 bitwise operations need to be performed in the worst case, and these 8 bitwise operations can test all the values in x k, in contrast, 8 constraint checks can test only 4 to 8 values in existing algorithms A new method for searching for PC-witnesses

Two new algorithms  Utilizing this new method, we proposed two coarse-grained algorithms called maxRPC bit and maxRPC bit+rm

 maxRPC bit can be regarded as the variant of maxRPC2.  It transforms the step of searching for PC- witnesses through constraint checks into the new method exploiting bitwise operations.

 maxRPC bit+rm can be regarded as the variant of maxRPC3 rm.  It transforms the step of searching for PC- witnesses through constraint checks into the new method exploiting bitwise operations.  When a PC-support b of (x i, a)is found, it does not set LastAC xi, a, xj to b as maxRPC3 rm does. Instead, LastAC xi, a, xj is set to the position of b in bitSup (b div 32).

Experimental evaluation  We compared the new algorithms with the most efficient ones among existing algorithms.  Performances have been measured in terms of cpu time in seconds (cpu) and the number of constraint checks (#ccks).  Note that for the new algorithms, #ccks corresponds to the number of bitwise operations.

Average stand-alone performance

Average search performance

Some instances on which the search algorithms applying lmaxRPC outperforms MAC

Conclusions  Main job: overcoming the disadvantage of maxRPC(computational cost).  We have introduced a method based on bitwise operations to speed up the processes of searching for PC-witnesses.  Based on the new method, we presented two algorithms maxRPC bit and maxRPC bit+rm.  Significantly, our experiments show that maxRPC is a much more promising filtering technique than what we thought because lmaxRPC bit+rm outperforms MAC on many instances.  In the future, we will do further research to overcome the disadvantages of other local consistencies.

 By the way, I am a first-year graduate student in Jilin University of China. And this paper is the first one of mine. If you need a PHD student, who has a talent for CP and enjoys doing researches, could you please take me into consideration and contact me by the ? I won’t let you down~!

Thank you very much! I am sorry for my absence. Wish you have a good time in Perugia!