- 134 Views
- Uploaded on
- Presentation posted in: General

Dynamic Flexible Constraint Satisfaction and Its Application to AI Planning

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Dynamic Flexible Constraint Satisfaction and Its Application toAI Planning

Ian Miguel

AI Group

Department of Computer Science

University of York

- Part I
- Constraint Satisfaction.
- Weaknesses/Remedies.
- Dynamic Flexible Constraint Satisfaction.

- Part II
- AI Planning.
- Flexible Planning.
- Plan Synthesis via dynamic flexible CSP.

- 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.

- 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.

- Combinatorial Mathematics.
- Fault diagnosis.
- Machine vision.
- Planning.
- Scheduling.
- Systems Simulation.
- Csplib.org

These unary constraints determine the domains

in this simple example.

- 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.

- 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.

- Lectures = 4
- Exercise = 3
- Training = 1

- 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

- 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.

- A dynamic environment is viewed as a sequence of static CSPs.

- Linked by:
- Restriction (constraints added)
- Relaxation (constraints removed)

- 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

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

- 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.

- 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.

- 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.

- 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

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.

- 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

- Also an umbrella term for a variety of methods.

Dynamic CSP Techniques

Restriction

Relaxation

Recurrent

Activity

…

Max

DFCSP Instance

WeightedMax

FlexibleCSPTechniques

Weighted

Preference

Fuzzy

…

- 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.

- A totally ordered satisfaction scale.

- 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.

- Complete Local repair algorithm.
- Divides Variables into three sets:
- Assigned & Fixed.
- Assigned & Not Fixed.
- Unassigned.

- Uses these sets to control search procedure.

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.

- 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.

- 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.

- Mean over 3 sequences of 10 instances.
- Scale size: 3, Change 1 constraint between instances.
- Instance size: 20 variables, connectivity: 0.25

- 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.

- Phase transition behaviour.
- Increasing some parameters generally increases difficulty:
- Problem size.
- Connectivity.
- Size of satisfaction degree scale.
- Amount of change between instances.

- Scale size: 3, Change 1 constraint between instances
- Problem size: 20 variables, connectivity: 0.25

- 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.

- 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

- 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

- 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.

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

- Both packages to c4.

m1

m2

c1

c2

c4

r1

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.

- Drive-truck.

m1

m2

c1

c2

c4

r1

- Inconsistent:
- Preconditions
- Effects

- 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

. . .

. . .

- Actions annotated with their satisfaction degrees.

Actions1

Propositions1

. . .

l2

. . .

l3

. . .

l1

- Variables: proposition nodes.
- Domains: actions who assert these propositions as effects.
- Constraints: Binary mutex + Unary fuzzy.

Actions1

Propositions1

. . .

l2

. . .

l3

. . .

l1

- 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.

- Goal: Solve as few sub-problems as possible.
- Generate memosets from unsolvable sub-problems.
- Propagate memosets up the level hierarchy.

Goal

Sub-problem

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

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

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

- 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.

- 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.

- 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…

- Qiang Shen, University of Edinburgh.
- Peter Jarvis, SRI International.