Slides by Peter van Beek Edited by Patrick Prosser.

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
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.
Fast optimal instruction scheduling for single-issue processors with arbitrary latencies Peter van Beek, University of Waterloo Kent Wilken, University.
Constraint Satisfaction Patrick Prosser. An Example, Exam Timetabling Someone timetables the exams We have a number of courses to examine how many? Dept.
Algorithm Design Methods (I) Fall 2003 CSE, POSTECH.
Algorithm Design Methods Spring 2007 CSE, POSTECH.
ECE 667 Synthesis and Verification of Digital Circuits
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
BackTracking Algorithms
EDA (CS286.5b) Day 10 Scheduling (Intro Branch-and-Bound)
Evaluating Heuristics for the Fixed-Predecessor Subproblem of Pm | prec, p j = 1 | C max.
Techniques for Dealing with Hard Problems Backtrack: –Systematically enumerates all potential solutions by continually trying to extend a partial solution.
CP2014: Teaching CP. Context Final Year 120 credits (1 credit approx 10 hours) 30 credit project 4 modules in semester 1 4 modules in semester 2.
Lecture 10: Integer Programming & Branch-and-Bound
CPM!. Just do it! JChoco We jumped in, and took it for a spin Some counting problems Meeting scheduling problem … you got your hands dirty.
Best-First Search: Agendas
Foundations of Constraint Processing, Fall 2004 November 8, 2004Ordering heuristics1 Foundations of Constraint Processing CSCE421/821, Fall 2004:
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
Foundations of Constraint Processing, Fall 2005 October 20, 2005Ordering heuristics1 Foundations of Constraint Processing CSCE421/821, Fall 2005:
Constraint Satisfaction Problems
General search strategies: Look-ahead Chapter 5 Chapter 5.
4/18/2005EE5621 EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS Lecture 8, 4/28/2005 University of Washington, Department of Electrical Engineering Spring.
1 Bandwidth Allocation Planning in Communication Networks Christian Frei & Boi Faltings Globecom 1999 Ashok Janardhanan.
Chapter 5 Outline Formal definition of CSP CSP Examples
MAC and Combined Heuristics: Two Reasons to Forsake FC (and CBJ?) on Hard Problems Christian Bessière and Jean-Charles Régin Presented by Suddhindra Shukla.
4/18/2005EE5621 EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS Lecture 7, 4/25/2005 University of Washington, Department of Electrical Engineering Spring.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
Artificial Intelligence CS482, CS682, MW 1 – 2:15, SEM 201, MS 227 Prerequisites: 302, 365 Instructor: Sushil Louis,
Constrainedness Including slides from Toby Walsh.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
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.
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Games. Adversaries Consider the process of reasoning when an adversary is trying to defeat our efforts In game playing situations one searches down the.
A talk with 3 titles By Patrick Prosser Research … how not to do it LDS revisited (aka Chinese whispers) Yet Another Flawed Talk by Patrick Prosser.
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
CP Summer School Modelling for Constraint Programming Barbara Smith 4. Combining Viewpoints, Modelling Advice.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
1 Chapter 5 Constraint Satisfaction Problems. 2 Outlines  Constraint Satisfaction Problems  Backtracking Search for CSPs  Local Search for CSP  The.
Constraint Systems Laboratory 11/26/2015Zhang: MS Project Defense1 OPRAM: An Online System for Assigning Capstone Course Students to Sponsored Projects.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
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.
An Introduction to Artificial Intelligence Lecture 5: Constraint Satisfaction Problems Ramin Halavati In which we see how treating.
Put a different number in each circle (1 to 8) such that adjacent circles cannot take consecutive numbers.
Foundations of Constraint Processing, Spring 2008 Feb 11, 2008 Ordering heuristics1 Foundations of Constraint Processing CSCE421/821, Spring 2008:
Honors Track: Competitive Programming & Problem Solving Seminar Topics Kevin Verbeek.
CMPT 463. What will be covered A* search Local search Game tree Constraint satisfaction problems (CSP)
Hard Problems Some problems are hard to solve.
Algorithm Design Methods
Graph Theory and Algorithm 02
Empirical Comparison of Preprocessing and Lookahead Techniques for Binary Constraint Satisfaction Problems Zheying Jane Yang & Berthe Y. Choueiry Constraint.
Foundations of Constraint Processing
CSP Search Techniques Backtracking Forward checking
Introduction to Artificial Intelligence Lecture 9: Two-Player Games I
Artificial Intelligence
Constraints and Search
Chapter 5: General search strategies: Look-ahead
at Glasgow (and Strathclyde till mid April)
Constraint satisfaction problems
Algorithm Design Methods
Constraint Satisfaction
Major Design Strategies
Directional consistency Chapter 4
Constraint Satisfaction Problems
GRASP-an efficient SAT solver
Constraint satisfaction problems
Major Design Strategies
Algorithm Design Methods
Presentation transcript:

Slides by Peter van Beek Edited by Patrick Prosser

Heuristics for backtracking algorithms Variable ordering –what variable to branch on next Value ordering –given a choice of variable, what order to try values Constraint ordering –what order to propagate constraints –most likely to fail or cheapest propagated first

Variable ordering Domain dependent heuristics Domain independent heuristics Static variable ordering –fixed before search starts Dynamic variable ordering –chosen during search

Basic idea Assign a heuristic value to a variable that estimates how difficult/easy it is to find a satisfying value for that variable

SVO

Static variable orderings based on constraint graph topology minimum width minimum induced width max degree ordering minimum bandwidth ordering Usually for backward checking algorithms why?

Static variable orderings C E D BA Minimum width ordering width of a node is number of adjacent predecessors width of an ordering is maximum width of the nodes width of a graph is minimal width of all orderings Max degree ordering (shown) in non-decreasing degree sequence Why should this work? Is there anything bad bout it? B D A C E order the constraint graph in a certain way

Minimum Bandwidth Ordering (MBO) What is that? Whats its complexity? Do we need it if we can jump? Bandwidth of a variable is the distance between variables in the ordered constraint graph Bandwidth of ordering is max bandwidth of varaibles/vertices

Minimum Bandwidth Ordering (MBO) Bandwidth is the distance between variables in the ordered constraint graph C E D BA B D A C E Bandwidth of ordering is 4 bw(A) = 1 bw(C) = 1 bw(E) = 3 bw(B) = 4 bw(D) = 0 MBO is minimum of all orderings NP-hard to find Measuring backwards

DVO

Dynamic variable ordering (dvo) Mainly based on the FF principle Mainly used by MAC and FC (why?) smallest domain first brelaz dom/deg Regret For each variable measure its regret as (best value – next best value) Chose variable with maximum regret Fail First Principle: To succeed, try first where you are most likely to fail Haralick & Elliott 1980 Domain Indepentent

Cut set decomposition If constraint graph is a tree then AC is a decision procedure (result due to E.C. Freuder (Gene)) Select a variable that cuts the constraint graph Domain Indepentent

Value Ordering

Value ordering All solutions –value ordering not so important – why? One solution –if a solution exists, there exists a perfect value ordering Insoluble instance – like all solutions – why? But we saw that it can affect cbj on insol instances!

Value ordering: Intuition (promise) Goal: minimize size of search space explored Principle: –given that we have already chosen the next variable to instantiate, choose first the values that are most likely to succeed –The most promising value

Promise Measure promise of a value as follows count the number of supports in adjacent domain take the product of this value choose the value with the highest amount the most promising A dual viewpoint (Geelen) Choose the least promising variable Assign it the most promising value Domain Indepentent

e f g a b c k l m h i j U V WX Microstructure & promise

Can FF show Promise? Might FF actually be promising? If FF is on path to a solution we would prefer promise to failure But does FF actually do this? Experiments using probing suggest FF shows promise

Domain Specific Heuristics Golomb ruler index order Stable marriage (maybe not a heuristic) value ordering! Jobshop/Factory scheduling texture based heuristics slack based heuristics Car Sequencing Problem various (see literature) Bin packing first-fit decreasing … the quest goes on

Domain Specific Heuristics Car Sequencing Problem discuss

Domain Specific Heuristics Consider HC different models different heuristics?

Domain Specific Heuristics Consider Talent Scheduling middling-in cost?

CHOCO Documentation: subsection pages 28 to 30 AR33: section 5 (pages 27-29) and section 8 (pages 47-49)

Big question: why do heuristics work?