I am Patrick Prosser I am a senior lecturer at Glasgow I teach algorithms & data structures in java I am a member of the algorithms group the apes (distributed,

Slides:



Advertisements
Similar presentations
I am Patrick Prosser I am a senior lecturer at Glasgow I teach AF2 & CP4 I am a member of the algorithms group the apes (distributed, not disbanded) I.
Advertisements

DCS Lecture how to solve it Patrick Prosser. Put a different number in each circle (1 to 8) such that adjacent circles cannot take consecutive numbers.
Towards theoretical frameworks for comparing constraint satisfaction models and algorithms Peter van Beek, University of Waterloo CP 2001 · Paphos, Cyprus.
Constraint Satisfaction Patrick Prosser. An Example, Exam Timetabling Someone timetables the exams We have a number of courses to examine how many? Dept.
Backward Checking Search BT, BM, BJ, CBJ. An example problem Colour each of the 5 nodes, such that if they are adjacent, they take different colours 12.
Fc. Consider the following problem (csp5) variables V[1] to V[10] uniform domains D[1] to D[10] = {1,2,3} constraints V[1] = V[4] V[4] > V[7] V[7] = V[10]
Foundations of Constraint Processing Lookahead Schemas 1 Foundations of Constraint Processing CSCE421/821, Spring
1 Today’s class Interleaving backtracking and consistency checking Variable-ordering heuristics Value-ordering heuristics Intelligent backtracking Marie.
Backward Checking Search BT, BM, BJ, CBJ. An example problem Colour each of the 5 nodes, such that if they are adjacent, they take different colours.
Distributed Constraint Satisfaction Problems M OHSEN A FSHARCHI.
Lecture 11 Last Time: Local Search, Constraint Satisfaction Problems Today: More on CSPs.
Artificial Intelligence Constraint satisfaction problems Fall 2008 professor: Luigi Ceccaroni.
1 Restart search techniques for Employee Timetabling Problems Amnon Meisels And Eliezer Kaplansky Ben-Gurion University.
Constraint Satisfaction CSE 473 University of Washington.
CS482/682 Artificial Intelligence Lecture 7: Genetic Algorithms and Constraint Satisfaction Problems 15 September 2009 Instructor: Kostas Bekris Computer.
Artificial Intelligence Constraint satisfaction Chapter 5, AIMA.
Constraint Satisfaction Problems
CS460 Fall 2013 Lecture 4 Constraint Satisfaction Problems.
Foundations of Constraint Processing, Fall 2005 Sep 20, 2005BT: A Theoretical Evaluation1 Foundations of Constraint Processing CSCE421/821, Fall 2005:
4/18/2005EE5621 EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS Lecture 8, 4/28/2005 University of Washington, Department of Electrical Engineering Spring.
Chapter 5 Outline Formal definition of CSP CSP Examples
I am Patrick Prosser I am a senior lecturer at Glasgow (and Strathclyde till mid April) I teach algorithms & data structures in java I am a member of.
N Model problem ä specify in terms of constraints on acceptable solutions ä define variables (denotations) and domains ä define constraints in some language.
On Algorithms for Decomposable Constraints Kostas Stergiou Ian Gent, Patrick Prosser, Toby Walsh A.P.E.S. Research Group.
Searching by Constraint CMSC Artificial Intelligence January 24, 2008.
Problem Solving with Constraints Lookahead Schemas 1 Foundations of Constraint Processing CSCE496/896, Fall
Edge and Boundary interpretation Consistent line drawing labeling via backtracking Presented by Guy Shtub.
Review Test1. Robotics & Future Technology Future of Intelligent Systems / Ray Kurzweil futurist Ray Kurzweil / A Long Bet A Long Bet / Robot Soccer.
An Introduction to Artificial Intelligence Lecture 5: Constraint Satisfaction Problems Ramin Halavati In which we see how treating.
© Daniel S. Weld 1 Midterm Search Space Bayes Net Learning / Cross Validation Lessons for the Final I’ll hit these areas again I’ll include one midterm.
Constraint Satisfaction Problems
Constraint Satisfaction CSE 473 University of Washington.
1 CSC 384 Lecture Slides (c) , C. Boutilier and P. Poupart CSC384: Lecture 16  Last time Searching a Graphplan for a plan, and relaxed plan heuristics.
Constraint Satisfaction Problems/Programming ZUI 2012/2013.
PSYCH 555 Complete Class Check this A+ tutorial guideline at 555/PSYCH-555-Complete-Class-Guide For more classes.
COMM 470 Complete Class Check this A+ tutorial guideline at -470/COMM-470-Complete-Class-Guide For more classes visit.
ECO 370 Complete Class Check this A+ tutorial guideline at O-370/ECO-370-Complete-Class- Guide For more classes visit.
ECO 415 Complete Class Check this A+ tutorial guideline at O-415/ECO-415-Complete-Class- Guide For more classes visit.
BUS 372 Complete Class Check this A+ tutorial guideline at 372/BUS-372-Complete-Class-Guide For more classes visit.
BUS 508 Complete Class Check this A+ tutorial guideline at 508/BUS-508-Complete-Class-Guide For more classes visit.
BIS 303 Complete Class Check this A+ tutorial guideline at S-303/BIS-303-Complete-Class-Guide For more classes visit.
BIS 318 Complete Class Check this A+ tutorial guideline at Complete-Class-Guide For more classes visit.
BIS 320 Complete Class Check this A+ tutorial guideline at 320/BIS-320-Complete-Class-Guide For more classes visit.
I am a senior lecturer at Glasgow
543 cbj fans can’t be wrong.
Constraint Satisfaction
An Empirical Study of the Performance
Constraint Satisfaction
I am a senior lecturer at Glasgow
Visit for Best IPTV Subscription Eezytv.com
Quiz Feb Inf. Search & CSP.
Foundations of Constraint Processing
CSP Search Techniques Backtracking Forward checking
Alexander Felfernig and Müslüm Atas Institut für Softwaretechnologie
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Foundations of Constraint Processing All questions to Piazza
Lookahead Schemas Foundations of Constraint Processing
Intelligent Backtracking Algorithms
Constraints and Search
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Intelligent Backtracking Algorithms: A Theoretical Evaluation
at Glasgow (and Strathclyde till mid April)
Constraint satisfaction problems
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Artificial Intelligence
Foundations of Constraint Processing All questions to Piazza
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Constraint Graph Binary CSPs
Constraint satisfaction problems
Presentation transcript:

I am Patrick Prosser I am a senior lecturer at Glasgow I teach algorithms & data structures in java I am a member of the algorithms group the apes (distributed, not disbanded) I am a Glaswegian This is all that I am allowed to tell you

CI9(4) Hybrid Algorithms for the Constraint Satisfaction Problem Still using that old greasy stuff? Who cares? So? Patrick Prosser

Whats he going to cover! (good old fashioned) chronological backtracking BT Conflict directed backjumping CBJ Forward checking FC FC with CBJ How to do it (the idiots guide) Stop wasting time get on with it!

What do we want from the algorithm? Minimise consistency checks minimise nodes visited fast (woooooosh!) pretty

v[i] is a variable d[i] is a set of values for variable v[i] x is a value in d[i] ( and y in d[j]) c[i,j] is a binary relation/constraint such as >, <, =, nextto, f(x,y), nil (no constraint) check(i,j) tests if v[i]=x is compatible with v[j]=y cd[i] is the current domain of v[i] i.e. the working domain of v[i] Preamble

Its all just depth first search, right?

BT bt-label iterate over x in cd[i] until an x is found that is compatible with all past variables i.e. check(h,i) true for all 0 < h < i On route to finding this compatible value if any incompatible value x is found remove it from cd[i] return (i+1,true) or (i,false)

BT bt-unlabel bt-label(i) returned (i,false) or bt-unlabel(i) returned (i,false) the variable to backtrack to is h = i-1 i.e. the previous variable remove the value v[h] from cd[h] reset cd[i] return (h,true) or (h,false)

BT Thrashes! pastpast futurefuture current variable v[i] conflict with v[h] past variable v[h] future variable v[j]

CBJ (reduce thrashing) {4,1,0} {2,0} conflict set

CBJ (reduce thrashing) {2,1,0} Jump back to deepest past variable in confSet (call it h) and then combine confSet[i] with confSet[h] History: Konkrat and V Beek, Gent and Underwood

Implementation confSet[0..n][0..n] is a boolean confSet[i][h] = true if v[i] in conflict with v[h] on backjumping do logical OR … and then clear out confset[i] For DVO h is the depth in the search tree of the variable v[i] conflicts with! CBJ implementation

What is forward checking? Show me! OZ

Check Forwards instantiate v[i] = x for all variables v[j] where v[j] is adjacent to v[i] & v[j] is in the future of v[i] remove all values from cd[j] inconsistent with v[i]=x with respect to constraint c[i][j] do this every time we instantate a variable a lot of work! does it pay off? Can you bear the suspense?

Forward Checking NOTE: arrows go forward!

Forward Checking, a marking scheme associate with each variable v[i] future[i][j] = true if v[i] = x removes values from cd[j] past[j][y] = i if v[i] = x removes value y from cd[j] cd[i][x] = true if x is currently in current domain of i checkForwards(i,j) does as follows for y in (1.. m) if cd[j][y] and not(check(i,x,j,y)) cd[j][y] = false past[j][y] = i future[i][j] = true

Forward checking by marking Marking scheme uses static space! Makes it easy to retract/backtrack Its neat But it still thrashes :(

Check Forwards, Jump Back! There are no values in cd[6] compatible with v[9] get more values into cd[9] (undo v[1]?) OR get more values into cd[6] (undo v[4]) … and if that doesnt work? undo v[3] so cd[4] gets value compatible with cd[6] that is then compatible with cd[9] All the information is already there

Ch e ck f o rwards, jum p back! assume v[i] = x causes dwo on v[j] v[i] is now in conflict with all variables forward checking against v[j] h = past[j][y] means that v[h] removes y from cd[j] therefore confSet[i][h] = true do this for all y! assume no more values to try in cd[i], must backjump to v[h] where h is the deepest variable that is in confSet[i] or in past[i] confSet[h] is united with confSet[i] and past[i]

What is a dvo heuristic? (you kind of skipped that) Does it make any difference Show me! OZ

So? Paper rejected from IJCAI91 (written in 1990) I was a Lisp programmer at the time (it shows) I think the experiments were very good (so there!) Nice study of influence of topological parameter on search cost. In conclusion I forgot to say CBJ was new … why? I like BMJ, it is cool (I was smart for 1 day) I think CBJ is pretty (natural, discovered, not invented) I like FC-CBJ (I can understand it) I identify work to be done (researchers love that (why?)) … and I make errors re-dvos (researchers love that (why?)) I put my results in perspective (trash them :) I got encouragement (Nadel) and help (Ole and Peter) I got a whole load of background (Rina) But it hurt … why did it take 3 years to get somebody to read it?