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