Title: At the Intersection of Planning and Constraint Programming
1Slides of the Invited Talk at the CAEPIA Workshop
on Planning, Scheduling and Temporal
Reasoning(Held on November 11, 2003 by Alexander
Nareyek)
Note that because the slides do not contain the
verbal components of the talk, it might be hard
or even misleading to study the document if you
did not attend the talk. The demos are also not
included. Most of them are part of the
DragonBreath Engine, which can be downloaded
at http//www.ai-center.com/projects/dragonbreath
/
2Title At the Intersection of Planning and
Constraint Programming Abstract General
frameworks for formulating and solving search
problems, like constraint programming, integer
linear programming or propositional
satisfiability, provide useful means to tackle
planning problems. While usually not as efficient
as specialized search techniques, general
frameworks support a modular and flexible
modeling, and readily available solvers already
draw on a huge pool of research on search. This
talk will give an overview of related planning
approaches, placing special emphasis on
constraint programming. Bio Alexander Nareyek
received his diploma and Ph.D. from the TU
Berlin. Since 2002, he is on an Emmy Noether
fellowship of the German Research Foundation
(DFG), and is guest researcher at Carnegie Mellon
University. His main research interests include
the generation and execution of behavior plans
for goal-driven intelligent agents. He is also
active in the application area of computer games
and serves as chairperson of the IGDA's
Artificial Intelligence Interface Standards
Committee (AIISC).
3At the Intersection ofPlanning and Constraint
Programming
- Alexander Nareyek
- Carnegie Mellon University
4Action Planning
- Preconditions
- State changes
- (Operations)
Action Types
own.location Bridge
own.location River
jump()
Goals
- Satisfaction
- Optimization
own.location Sauna
Maximize number of jump() until 6pm
Extensions
- Numerical values Resources
5Efficiency Trade-Offs
Flexibility Expressiveness
Efficiency
Application-specific solutions
Very general and modular solutions
6Propositional Satisfiability (SAT)
- Specifying a problem by a conjunctive normal form
(a conjunction of disjunctions) - Example
- (A or B or C) and (A or D)
- Many ways to represent a planning problem
- Example
- At for every action A at time t
- Ft for every fluent F at time t
-
7Propositional Satisfiability (SAT)
Disadvantages
- Bad scaling behavior
- Very hard to express numerical relations
- Domain-specific knowledge is compiled away
8Integer Linear Programming (ILP)
- Specifying a problem by linear inequalities and a
linear combination to be minimized or maximized
additional integer constraints - Example
- 4x 3y 15 int(x) int(y) max(8x 2y)
- Many ways to represent a planning problem
- Example
- At for every action A at time t
- Ft for every fluent F at time t
-
9Integer Linear Programming (ILP)
Disadvantages
- Bad scaling behavior
- Better for problems with limited discreteness
- Domain-specific knowledge is compiled away
10Constraint Programming (CP)
Lets get hands-on
DragonBreath Engine Demo
11Constraint Programming (CP)
Solution concepts
- Local search
- Refinement search
A,B,C ? 1,100 A lt BA B C
Propagation
Commitment
A ? 1,100 B ? 2,100 C ? 3,100
C 10
A ? 1,8 B ? 2,9 C 10
A 1
A 1 B 9 C 10
12Constraint Programming (CP)
- Modeling/solving full planning by constraint
programming - Using CP technology for subproblems within
conventional planning
13Constraint Programming (CP)
CP Technology for Subproblems
Constraint posting during a regular planning
process
Resource Energy, Energy ? 0,20
Action MoveToDoor Energy - 2 Action Recharge
Energy 20
14Constraint Programming (CP)
CP Technology for Subproblems
Constraint posting during a regular planning
process
Simple temporal problems (STPs)
B
A
15Constraint Programming (CP)
CP Technology for Subproblems
Constraint posting during a regular planning
process
- Passive test on satisfaction
- Limited interaction between CSP solving
- and the actual planning process
16Constraint Programming (CP)
Handling Planning by CP
- Planning with maximal graphs
- Completely capturing planning within constraint
programming
17Constraint Programming (CP)
Handling Planning by CP
- Planning with maximal graphs
- All possible plans are included in the CSP (like
SAT and ILP approaches) - Many ways to represent a planning problem
- Example
- Dot the action performed at time t
- Addholding_B, 3 ?
- Do3 in ADDholding_B
- Do3 not in PREholding_B
18Constraint Programming (CP)
Handling Planning by CP
Completely capturing planning within CP
- Extension of the basic CP paradigm necessary
- Search for constraint graph as part of the
- search process
- Structural Constraint Satisfaction
19Constraint Programming (CP)
Structural Constraints
Non-Overlap
20Constraint Programming (CP)
Structural Constraints
21Constraint Programming (CP)
Structural Constraints
22The EXCALIBUR Agents Planning System
The Planning Model
23The EXCALIBUR Agents Planning System
The CP Model
24Constraint Programming (CP)
The CP Model
Lets get hands-on
The EXCALIBUR Agents Planning System
25Conclusions
- We need efficient AND flexible technology
Constraint programming is great for this! - For pure efficiency gain goals, study the
technologies used in constraint programming!
For literature references Constraints and AI
Planning by Alexander Nareyek, Robert Fourer,
Eugene C. Freuder, Enrico Giunchiglia, Robert P.
Goldman, Henry Kautz, Jussi Rintanen and Austin
Tate