Dynamic Flexible Constraint Satisfaction and Its Application to AI Planning Ian Miguel AI Group Department of Computer Sci...
Outline <ul><li>Part I </li></ul><ul><ul><li>Constraint Satisfaction. </li></ul></ul><ul><ul><li>Weaknesses/Remedies. </li...
Constraints <ul><li>A natural means of knowledge representation. </li></ul><ul><li>x + y = 30 </li></ul><ul><li>Adjacent c...
The Constraint Satisfaction Problem (CSP) <ul><li>Given: </li></ul><ul><ul><li>A set of  variables . </li></ul></ul><ul><u...
Applications <ul><li>Combinatorial Mathematics. </li></ul><ul><li>Fault diagnosis. </li></ul><ul><li>Machine vision. </li>...
Example CSP – Course Scheduling <ul><li>Decide the number of lecture, exercise and training sessions. </li></ul><ul><ul><l...
Solving CSPs <ul><li>Most often depth-first search (I.e. Backtrack). </li></ul><ul><ul><li>Select an unassigned variable. ...
Course Scheduling: A Solution <ul><li>Lectures = 4 </li></ul><ul><li>Exercise = 3 </li></ul><ul><li>Training = 1 </li></ul...
The Problem Changes… <ul><li>Constraints: </li></ul><ul><ul><li>There must be a total of 8 sessions.  </li></ul></ul><ul><...
Weakness 1: Static Formulation <ul><li>Classical CSP has no way of dealing with this change gracefully. </li></ul><ul><li>...
Dynamic CSP <ul><li>A dynamic environment is viewed as a sequence of static CSPs. </li></ul><ul><li>Linked by: </li></ul><...
Solving Dynamic CSPs <ul><li>Oracles : </li></ul><ul><ul><li>Start from scratch. </li></ul></ul><ul><ul><li>Previous solut...
Course Scheduling <ul><li>In problem 2: </li></ul><ul><ul><li>Dr B agrees to give  4 or 5  exercise sessions. </li></ul></...
The Problem Changes Again… <ul><li>Constraints: </li></ul><ul><ul><li>There must be a total of  7  sessions.  </li></ul></...
Weakness 2: Hard Constraints <ul><li>Classical CSP has no way of finding a compromise. </li></ul><ul><li>Constraints are  ...
Flexible CSP <ul><li>An umbrella term for a variety of methods. </li></ul><ul><li>Max-CSP : Maximise the number of satisfi...
Solving Flexible CSPs <ul><li>Branch and bound  is most common technique. </li></ul><ul><ul><li>Search for a first solutio...
Course Scheduling <ul><li>In problem 3: </li></ul><ul><ul><li>There must be a total of  7  sessions. </li></ul></ul>Proble...
The Gap in the Market <ul><li>Dynamic CSP research is founded almost exclusively on hard constraints. </li></ul><ul><li>Fl...
Dynamic Flexible CSP <ul><li>Also an umbrella term for a variety of methods. </li></ul>Flexible CSP Techniques Dynamic CSP...
Fuzzy  rr DFCSP <ul><li>Restriction/Relaxation DCSP + Fuzzy CSP. </li></ul><ul><li>Fuzzy CSP: </li></ul><ul><ul><li>A tota...
Two Algorithms <ul><li>Dynamic version of a flexible CSP algorithm. </li></ul><ul><ul><li>Using  oracles  method. </li></u...
Flexible Local Changes <ul><li>Complete Local repair algorithm. </li></ul><ul><li>Divides Variables into three sets: </li>...
Flexible Local Changes: Operation <ul><li>Maintain a  bound  on best solution found for each sub-problem. </li></ul><ul><u...
Experiments <ul><li>We wanted to investigate: </li></ul><ul><ul><li>The structure of fuzzy  rr DFCSPs. </li></ul></ul><ul>...
Experiments: Measurements <ul><li>Constraint  checks . </li></ul><ul><ul><li>Every time we query a constraint for the sati...
Results: Search Effort <ul><li>Mean over 3 sequences of 10 instances. </li></ul><ul><li>Scale size: 3, Change 1 constraint...
Search Effort: Trends <ul><li>Branch and bound finds solutions more efficiently than FLC. </li></ul><ul><ul><li>BB has a m...
Search Effort: Trends <ul><li>Phase transition behaviour. </li></ul><ul><li>Increasing some parameters generally increases...
Results: Stability <ul><li>Scale size: 3, Change 1 constraint between instances </li></ul><ul><li>Problem size: 20 variabl...
Stability: Trends <ul><li>FLC produces more stable solutions than BB. </li></ul><ul><ul><li>Both algorithms prefer stable ...
Utility of Dynamic Information <ul><li>We tested `crippled’ versions of the algorithms. </li></ul><ul><ul><li>Branch and b...
Part II Application to AI Planning
<ul><li>Plan : Course of action to achieve pre-specified goals. </li></ul><ul><li>Components of a planning problem: </li><...
Characteristics of AI Planning <ul><li>Inflexible operators. </li></ul><ul><li>Imperative goals. </li></ul><ul><li>Suffers...
Flexible Planning <ul><li>Incorporate preferences into operators and goals. </li></ul><ul><li>Model both via  fuzzy relati...
Example <ul><li>Goals: </li></ul><ul><ul><li>Both packages to  c 4 . </li></ul></ul><ul><ul><ul><li>pkg 2  is worth less, ...
Example <ul><li>Operators: </li></ul><ul><ul><li>Drive-truck . </li></ul></ul><ul><ul><ul><li>Avoid mountains or:  l 1 </l...
Graphplan <ul><li>Solution procedure for classical planning problems. </li></ul><ul><li>Constructs/analyses a  planning gr...
The Flexible Planning Graph <ul><li>Actions annotated with their satisfaction degrees. </li></ul>Actions 1 Propositions 1 ...
The CSP Viewpoint <ul><li>Variables : proposition nodes. </li></ul><ul><li>Domains : actions who assert these propositions...
Plan Synthesis via Fuzzy  rr DFCSP <ul><li>Goals, and their domains form a first sub-problem. </li></ul><ul><li>Action pre...
Guiding Overall Search <ul><li>Goal: Solve as few sub-problems as possible. </li></ul><ul><ul><li>Generate  memosets  from...
4-step Solution <ul><li>Load-truck   pkg 1   truck   l 2 . </li></ul><ul><li>Drive-truck   truck   c 1  to  c 2  via  r 1 ...
6-step Solution <ul><li>Load-truck   pkg 1   truck   l 2 . </li></ul><ul><li>Drive-truck   truck   c 1  to  c 2  via  r 1 ...
Compromise-free Solution <ul><li>10 steps. </li></ul><ul><li>First collect the guard. </li></ul><ul><li>Return to load  pk...
Flexible Graphplan: Observations <ul><li>It is more expensive to search for a range of plans than for one compromise-free ...
Conclusions <ul><li>Dynamic flexible constraint satisfaction combines two extensions to classical CSP. </li></ul><ul><ul><...
Future Work <ul><li>We have examined one instance of DFCSP in detail. </li></ul><ul><ul><li>Examine other instances. </li>...
Acknowledgements <ul><li>Qiang Shen, University of Edinburgh. </li></ul><ul><li>Peter Jarvis, SRI International. </li></ul>
Upcoming SlideShare
Loading in …5
×

Satisfaction And Its Application To Ai Planning

563 views

Published on

Satisfaction And Its Application To Ai Planning

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
563
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Satisfaction And Its Application To Ai Planning

  1. 1. Dynamic Flexible Constraint Satisfaction and Its Application to AI Planning Ian Miguel AI Group Department of Computer Science University of York
  2. 2. Outline <ul><li>Part I </li></ul><ul><ul><li>Constraint Satisfaction. </li></ul></ul><ul><ul><li>Weaknesses/Remedies. </li></ul></ul><ul><ul><li>Dynamic Flexible Constraint Satisfaction. </li></ul></ul><ul><li>Part II </li></ul><ul><ul><li>AI Planning. </li></ul></ul><ul><ul><li>Flexible Planning. </li></ul></ul><ul><ul><li>Plan Synthesis via dynamic flexible CSP. </li></ul></ul>
  3. 3. Constraints <ul><li>A natural means of knowledge representation. </li></ul><ul><li>x + y = 30 </li></ul><ul><li>Adjacent countries on the map cannot be coloured the same. </li></ul><ul><li>The helicopter can carry one passenger. </li></ul><ul><li>The maths class must be scheduled between 9 and 11 am. </li></ul>
  4. 4. The Constraint Satisfaction Problem (CSP) <ul><li>Given: </li></ul><ul><ul><li>A set of variables . </li></ul></ul><ul><ul><li>Each variable has an associated finite domain of potential values. </li></ul></ul><ul><ul><li>A set of constraints over these variables. </li></ul></ul><ul><li>Find: </li></ul><ul><ul><li>A complete assignment of values to variables that satisfies all constraints. </li></ul></ul>Specify allowed combinations of assignments of values to variables.
  5. 5. Applications <ul><li>Combinatorial Mathematics. </li></ul><ul><li>Fault diagnosis. </li></ul><ul><li>Machine vision. </li></ul><ul><li>Planning. </li></ul><ul><li>Scheduling. </li></ul><ul><li>Systems Simulation. </li></ul><ul><li>Csplib.org </li></ul>
  6. 6. Example CSP – Course Scheduling <ul><li>Decide the number of lecture, exercise and training sessions. </li></ul><ul><ul><li>So we need 3 variables. </li></ul></ul><ul><li>Constraints: </li></ul><ul><ul><li>There must be a total of 8 sessions. </li></ul></ul><ul><ul><li>Professor A will give 4 or 5 lectures. </li></ul></ul><ul><ul><li>Dr B will give 3 or 4 exercise sessions. </li></ul></ul><ul><ul><li>There must be 1 or 2 training sessions. </li></ul></ul>These unary constraints determine the domains in this simple example.
  7. 7. Solving CSPs <ul><li>Most often depth-first search (I.e. Backtrack). </li></ul><ul><ul><li>Select an unassigned variable. </li></ul></ul><ul><ul><li>Select a value compatible with all previously assigned variables. </li></ul></ul><ul><ul><li>If no such value, backtrack and find a new value for previous variable… </li></ul></ul>Root 1 st variable 2 nd variable
  8. 8. Course Scheduling: A Solution <ul><li>Lectures = 4 </li></ul><ul><li>Exercise = 3 </li></ul><ul><li>Training = 1 </li></ul><ul><li>Constraints: </li></ul><ul><ul><li>There must be a total of 8 sessions. </li></ul></ul><ul><ul><li>Professor A will give 4 or 5 lectures. </li></ul></ul><ul><ul><li>Dr B will give 3 or 4 exercise sessions. </li></ul></ul><ul><ul><li>There must be 1 or 2 training sessions. </li></ul></ul>
  9. 9. The Problem Changes… <ul><li>Constraints: </li></ul><ul><ul><li>There must be a total of 8 sessions. </li></ul></ul><ul><ul><li>Professor A will now give 3 or 4 lectures. </li></ul></ul><ul><ul><li>Dr B agrees to give 4 or 5 exercise sessions. </li></ul></ul><ul><ul><li>There must be 1 or 2 training sessions. </li></ul></ul><ul><li>The solution to the old problem: </li></ul><ul><ul><li>Lectures = 4 </li></ul></ul><ul><ul><li>Exercise = 3 </li></ul></ul><ul><ul><li>Training = 1 </li></ul></ul>
  10. 10. Weakness 1: Static Formulation <ul><li>Classical CSP has no way of dealing with this change gracefully. </li></ul><ul><li>Naively we can solve the new problem from scratch. </li></ul><ul><ul><li>This wastes all work on the old problem! </li></ul></ul><ul><li>So? </li></ul><ul><ul><li>We use an extension called dynamic CSP . </li></ul></ul>
  11. 11. Dynamic CSP <ul><li>A dynamic environment is viewed as a sequence of static CSPs. </li></ul><ul><li>Linked by: </li></ul><ul><ul><li>Restriction (constraints added) </li></ul></ul><ul><ul><li>Relaxation (constraints removed) </li></ul></ul>
  12. 12. Solving Dynamic CSPs <ul><li>Oracles : </li></ul><ul><ul><li>Start from scratch. </li></ul></ul><ul><ul><li>Previous solution guides value assignment. </li></ul></ul><ul><li>Local Repair : </li></ul><ul><ul><li>Start from previous solution. </li></ul></ul><ul><ul><li>Modify individual assignments until find a solution. </li></ul></ul><ul><li>Constraint Recording : </li></ul><ul><ul><li>Record new constraints during search. </li></ul></ul><ul><ul><li>Carry new constraints over to future problems to restrict search there. </li></ul></ul>
  13. 13. Course Scheduling <ul><li>In problem 2: </li></ul><ul><ul><li>Dr B agrees to give 4 or 5 exercise sessions. </li></ul></ul>Problem 1 Problem 2 Solution: Lectures = 4 Exercise = 3 Training = 1 Solution: Lectures = 3 Exercise = 4 Training = 1 <ul><li>Repair method: </li></ul><ul><ul><li>Start with violated exercise constraint: Exercise = 4 </li></ul></ul><ul><ul><li>Then repair violated sum constraint: Lectures = 3 </li></ul></ul>Incompatible with solution to problem 1
  14. 14. The Problem Changes Again… <ul><li>Constraints: </li></ul><ul><ul><li>There must be a total of 7 sessions. </li></ul></ul><ul><ul><li>Professor A will give 3 or 4 lectures. </li></ul></ul><ul><ul><li>Dr B will give 4 or 5 exercise sessions. </li></ul></ul><ul><ul><li>There must be 1 or 2 training sessions. </li></ul></ul><ul><li>This problem has no solution. </li></ul>
  15. 15. Weakness 2: Hard Constraints <ul><li>Classical CSP has no way of finding a compromise. </li></ul><ul><li>Constraints are hard : </li></ul><ul><ul><li>Imperative : Valid solution must satisfy all of them. </li></ul></ul><ul><ul><li>Inflexible : Constraints wholly satisfied or wholly violated. </li></ul></ul><ul><li>So? </li></ul><ul><ul><li>We use an extension called flexible CSP . </li></ul></ul>
  16. 16. Flexible CSP <ul><li>An umbrella term for a variety of methods. </li></ul><ul><li>Max-CSP : Maximise the number of satisfied constraints/Minimise violations. </li></ul><ul><li>Weighted Max-CSP. </li></ul><ul><li>Weighted Preference . </li></ul><ul><li>Fuzzy CSP. </li></ul><ul><li>General frameworks: </li></ul><ul><ul><li>Partial CSP, Valued CSP, Semi-ring CSP. </li></ul></ul>
  17. 17. Solving Flexible CSPs <ul><li>Branch and bound is most common technique. </li></ul><ul><ul><li>Search for a first solution (minimise violations). </li></ul></ul><ul><ul><li>Use this as a bound on future solutions. </li></ul></ul><ul><ul><li>As soon as current search branch can be shown to be equal or exceed the bound, prune it. </li></ul></ul><ul><ul><li>When a new solution is found, use as new bound, etc… </li></ul></ul>New bound E.g. 3 violated constraints. Equals bound: 3 violated already. Prune.
  18. 18. Course Scheduling <ul><li>In problem 3: </li></ul><ul><ul><li>There must be a total of 7 sessions. </li></ul></ul>Problem 2 Problem 3 Solution: Lectures = 3 Exercise = 4 Training = 1 <ul><li>Max-CSP: Pretty good solution – only 1 violated constraint. </li></ul><ul><li>Or attach priorities/preferences to each constraint. </li></ul>Incompatible with solution to problem 2
  19. 19. The Gap in the Market <ul><li>Dynamic CSP research is founded almost exclusively on hard constraints. </li></ul><ul><li>Flexible CSP research is founded almost exclusively on static problems. </li></ul><ul><li>We want to combine the two to bring to bear the benefits of both. </li></ul>
  20. 20. Dynamic Flexible CSP <ul><li>Also an umbrella term for a variety of methods. </li></ul>Flexible CSP Techniques Dynamic CSP Techniques DFCSP Instance Restriction Relaxation Recurrent Activity … Max Weighted Max Weighted Preference Fuzzy … Solution methods
  21. 21. Fuzzy rr DFCSP <ul><li>Restriction/Relaxation DCSP + Fuzzy CSP. </li></ul><ul><li>Fuzzy CSP: </li></ul><ul><ul><li>A totally ordered satisfaction scale . </li></ul></ul><ul><ul><ul><li>Endpoints signify total violation/satisfaction. </li></ul></ul></ul><ul><ul><li>Constraints modelled by fuzzy relations : map variable assignments to points in the scale. </li></ul></ul><ul><ul><li>Overall satisfaction determined by fuzzy conjunction: the min operator. </li></ul></ul>
  22. 22. Two Algorithms <ul><li>Dynamic version of a flexible CSP algorithm. </li></ul><ul><ul><li>Using oracles method. </li></ul></ul><ul><li>Flexible version of a dynamic CSP algorithm. </li></ul><ul><ul><li>Flexible Local Changes . </li></ul></ul><ul><li>Each algorithm has several variants, which do an increasing amount of work to spot dead ends early. </li></ul>
  23. 23. Flexible Local Changes <ul><li>Complete Local repair algorithm. </li></ul><ul><li>Divides Variables into three sets: </li></ul><ul><ul><li>Assigned & Fixed. </li></ul></ul><ul><ul><li>Assigned & Not Fixed. </li></ul></ul><ul><ul><li>Unassigned. </li></ul></ul><ul><li>Uses these sets to control search procedure. </li></ul>
  24. 24. Flexible Local Changes: Operation <ul><li>Maintain a bound on best solution found for each sub-problem. </li></ul><ul><ul><li>Assigned & Fixed. </li></ul></ul><ul><ul><li>Assigned & Not Fixed. </li></ul></ul><ul><ul><li>Unassigned. </li></ul></ul>1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 … Sub-sub problem solved. Sub-problem solved.
  25. 25. Experiments <ul><li>We wanted to investigate: </li></ul><ul><ul><li>The structure of fuzzy rr DFCSPs. </li></ul></ul><ul><ul><li>The relative performance of the algorithms. </li></ul></ul><ul><li>We varied: </li></ul><ul><ul><li>Problem size . </li></ul></ul><ul><ul><li>Connectivity . </li></ul></ul><ul><ul><ul><li>Proportion of variables related by a constraint. </li></ul></ul></ul><ul><ul><li>Constraint tightness . </li></ul></ul><ul><ul><ul><li>Proportion of disallowed value combinations. </li></ul></ul></ul><ul><ul><li>Satisfaction scale size . </li></ul></ul><ul><ul><li>The amount of change between instances. </li></ul></ul><ul><ul><ul><li>Each sequence contains 10 problems. </li></ul></ul></ul>
  26. 26. Experiments: Measurements <ul><li>Constraint checks . </li></ul><ul><ul><li>Every time we query a constraint for the satisfaction degree of an assignment. </li></ul></ul><ul><li>Search nodes . </li></ul><ul><ul><li>Every time we assign a value to a variable. </li></ul></ul><ul><ul><li>Size of search tree. </li></ul></ul><ul><li>Solution stability . </li></ul><ul><ul><li>Proportion of assignments that remain the same between instances. </li></ul></ul>
  27. 27. Results: Search Effort <ul><li>Mean over 3 sequences of 10 instances. </li></ul><ul><li>Scale size: 3, Change 1 constraint between instances. </li></ul><ul><li>Instance size: 20 variables, connectivity: 0.25 </li></ul>
  28. 28. Search Effort: Trends <ul><li>Branch and bound finds solutions more efficiently than FLC. </li></ul><ul><ul><li>BB has a more rigid search structure. </li></ul></ul><ul><ul><li>This allows stronger inferences to be made at each node in the search tree. </li></ul></ul><ul><ul><li>Result: BB spots dead ends earlier. </li></ul></ul><ul><li>Algorithm variants: </li></ul><ul><ul><li>Doing more work to spot dead ends guarantees a smaller or equal-sized search tree. </li></ul></ul><ul><ul><li>But often costs more in terms of constraint checks. </li></ul></ul>
  29. 29. Search Effort: Trends <ul><li>Phase transition behaviour. </li></ul><ul><li>Increasing some parameters generally increases difficulty: </li></ul><ul><ul><li>Problem size. </li></ul></ul><ul><ul><li>Connectivity. </li></ul></ul><ul><ul><li>Size of satisfaction degree scale. </li></ul></ul><ul><ul><li>Amount of change between instances. </li></ul></ul>
  30. 30. Results: Stability <ul><li>Scale size: 3, Change 1 constraint between instances </li></ul><ul><li>Problem size: 20 variables, connectivity: 0.25 </li></ul>
  31. 31. Stability: Trends <ul><li>FLC produces more stable solutions than BB. </li></ul><ul><ul><li>Both algorithms prefer stable assignments where possible. </li></ul></ul><ul><ul><li>FLC actively seeks to leave areas of the previous solution undisturbed. </li></ul></ul><ul><li>Variants: More work to spot dead ends means more stability. </li></ul><ul><ul><li>Extra work gives us a better idea of the utility of potential assignments. </li></ul></ul><ul><ul><li>Can reveal that they are no better than our preferred stable assignment. </li></ul></ul>
  32. 32. Utility of Dynamic Information <ul><li>We tested `crippled’ versions of the algorithms. </li></ul><ul><ul><li>Branch and bound loses its oracle. </li></ul></ul><ul><ul><li>FLC starts from an empty assignment. </li></ul></ul><ul><li>Crippled versions: </li></ul><ul><ul><li>Explore significantly larger search trees. </li></ul></ul><ul><ul><li>Give significantly lower solution stability. </li></ul></ul><ul><ul><li>Extent varies according to the particular dynamic sequence. </li></ul></ul>
  33. 33. Part II Application to AI Planning
  34. 34. <ul><li>Plan : Course of action to achieve pre-specified goals. </li></ul><ul><li>Components of a planning problem: </li></ul><ul><ul><li>Plan objects. </li></ul></ul><ul><ul><li>Initial state. </li></ul></ul><ul><ul><li>Goal state. </li></ul></ul><ul><ul><li>Operators. </li></ul></ul>AI Planning c 1 c 2 c 4 c 3 r 1 r 2 r 3 m 1 m 2 pkg 1 pkg 2 guard 1
  35. 35. Characteristics of AI Planning <ul><li>Inflexible operators. </li></ul><ul><li>Imperative goals. </li></ul><ul><li>Suffers from similar problems to classical CSP. </li></ul><ul><ul><li>If no `perfect’ solution, no plan returned. </li></ul></ul><ul><li>We want to give the planner the ability to compromise. </li></ul>
  36. 36. Flexible Planning <ul><li>Incorporate preferences into operators and goals. </li></ul><ul><li>Model both via fuzzy relations : </li></ul><ul><ul><li>Map from preconditions onto a totally ordered satisfaction scale . </li></ul></ul><ul><li>Load-truck operator has preconditions: </li></ul><ul><ul><li>Truck and package in same place. </li></ul></ul><ul><ul><li>Guard must be present. </li></ul></ul>Can relax, with associated damage to resultant plan Imperative Preference
  37. 37. Example <ul><li>Goals: </li></ul><ul><ul><li>Both packages to c 4 . </li></ul></ul><ul><ul><ul><li>pkg 2 is worth less, don’t deliver: l 1 </li></ul></ul></ul><ul><ul><li>Guard to c 3 . </li></ul></ul><ul><ul><ul><li>Can also leave guard at c 2 or c 4 : l 2 </li></ul></ul></ul>c 1 c 2 c 4 c 3 r 1 r 2 r 3 m 1 m 2 pkg 1 pkg 2 guard 1 L={l  , l 1 , l 2 , l T }
  38. 38. Example <ul><li>Operators: </li></ul><ul><ul><li>Drive-truck . </li></ul></ul><ul><ul><ul><li>Avoid mountains or: l 1 </li></ul></ul></ul><ul><ul><li>Load/Unload-truck . </li></ul></ul><ul><ul><ul><li>For valuable package, guard present or: l 2 </li></ul></ul></ul><ul><ul><li>Guard-boards/leaves-truck . </li></ul></ul>c 1 c 2 c 4 c 3 r 1 r 2 r 3 m 1 m 2 pkg 1 pkg 2 guard 1 L={l  , l 1 , l 2 , l T }
  39. 39. Graphplan <ul><li>Solution procedure for classical planning problems. </li></ul><ul><li>Constructs/analyses a planning graph . </li></ul><ul><ul><li>Forward phase extends planning graph until goals found. </li></ul></ul><ul><ul><li>Add binary mutex constraints between actions/propositions that conflict. </li></ul></ul><ul><ul><li>Backward phase extracts valid plan. </li></ul></ul>Initial Conditions Actions 1 Propositions 1 . . . . . . . . . <ul><li>Inconsistent: </li></ul><ul><li>Preconditions </li></ul><ul><li>Effects </li></ul>
  40. 40. The Flexible Planning Graph <ul><li>Actions annotated with their satisfaction degrees. </li></ul>Actions 1 Propositions 1 . . . . . . . . . l 2 l 3 l 1
  41. 41. The CSP Viewpoint <ul><li>Variables : proposition nodes. </li></ul><ul><li>Domains : actions who assert these propositions as effects. </li></ul><ul><li>Constraints : Binary mutex + Unary fuzzy. </li></ul>Actions 1 Propositions 1 . . . . . . . . . l 2 l 3 l 1
  42. 42. Plan Synthesis via Fuzzy rr DFCSP <ul><li>Goals, and their domains form a first sub-problem. </li></ul><ul><li>Action pre-conditions specify new sub-problems… </li></ul>Goal Sub-problem <ul><li>Solutions at level n are likely to intersect. </li></ul><ul><li>So, problems at level n-1 form a related sequence: </li></ul><ul><ul><li>Each level is a DFCSP. </li></ul></ul>
  43. 43. Guiding Overall Search <ul><li>Goal: Solve as few sub-problems as possible. </li></ul><ul><ul><li>Generate memosets from unsolvable sub-problems. </li></ul></ul><ul><ul><li>Propagate memosets up the level hierarchy. </li></ul></ul>Goal Sub-problem
  44. 44. 4-step Solution <ul><li>Load-truck pkg 1 truck l 2 . </li></ul><ul><li>Drive-truck truck c 1 to c 2 via r 1 l T . </li></ul><ul><li>Drive-truck truck c 2 to c 4 via m 2 l 1 . </li></ul><ul><li>Unload-truck pkg 1 truck l 2 . </li></ul>c 1 c 2 c 4 c 3 r 1 r 2 r 3 m 1 m 2 pkg 1 pkg 2 guard 1 L={l  , l 1 , l 2 , l T } Satisfaction: l 1
  45. 45. 6-step Solution <ul><li>Load-truck pkg 1 truck l 2 . </li></ul><ul><li>Drive-truck truck c 1 to c 2 via r 1 l T . </li></ul><ul><li>Load-truck pkg 2 truck l T . </li></ul><ul><li>Drive-truck truck c 2 to c 3 via r 2 l T . </li></ul><ul><li>Drive-truck truck c 3 to c 4 via r 3 l T . </li></ul><ul><li>Unload-truck pkg 1 truck l 2 , pkg 2 truck l T . </li></ul>c 1 c 2 c 4 c 3 r 1 r 2 r 3 m 1 m 2 pkg 1 pkg 2 guard 1 L={l  , l 1 , l 2 , l T } Satisfaction: l 2
  46. 46. Compromise-free Solution <ul><li>10 steps. </li></ul><ul><li>First collect the guard. </li></ul><ul><li>Return to load pkg 1 . </li></ul><ul><li>Use the main roads to deliver both packages and guard. </li></ul>c 1 c 2 c 4 c 3 r 1 r 2 r 3 m 1 m 2 pkg 1 pkg 2 guard 1 L={l  , l 1 , l 2 , l T }
  47. 47. Flexible Graphplan: Observations <ul><li>It is more expensive to search for a range of plans than for one compromise-free plan. </li></ul><ul><li>But it is often possible to find short, compromise plans quickly. </li></ul><ul><ul><li>Supports anytime behaviour. </li></ul></ul><ul><li>Range of plans trade length versus number and severity of the compromises made. </li></ul>
  48. 48. Conclusions <ul><li>Dynamic flexible constraint satisfaction combines two extensions to classical CSP. </li></ul><ul><ul><li>Multiple instances of DFCSP. </li></ul></ul><ul><ul><li>Considered fuzzy rr DFCSP in detail. </li></ul></ul><ul><ul><li>Two solution procedures (with variants). </li></ul></ul><ul><li>Flexible planning. </li></ul><ul><ul><li>Plan synthesis via hierarchical decomposition and fuzzy rr DFCSP. </li></ul></ul>
  49. 49. Future Work <ul><li>We have examined one instance of DFCSP in detail. </li></ul><ul><ul><li>Examine other instances. </li></ul></ul><ul><ul><li>Modify existing solution techniques/consider new ones (e.g. local search). </li></ul></ul><ul><li>Other applications. </li></ul><ul><ul><li>Compositional Modelling [Keppens 2002]. </li></ul></ul><ul><ul><li>Dynamic Scheduling. </li></ul></ul><ul><ul><li>Interactive configuration… </li></ul></ul>
  50. 50. Acknowledgements <ul><li>Qiang Shen, University of Edinburgh. </li></ul><ul><li>Peter Jarvis, SRI International. </li></ul>

×