Loading in 5 sec....

Dynamic Flexible Constraint Satisfaction and Its Application to AI PlanningPowerPoint Presentation

Dynamic Flexible Constraint Satisfaction and Its Application to AI Planning

Download Presentation

Dynamic Flexible Constraint Satisfaction and Its Application to AI Planning

Loading in 2 Seconds...

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