260 likes | 507 Views
Slides of the Invited Talk at the CAEPIA Workshop on Planning, Scheduling and Temporal Reasoning (Held on November 11, 2003 by Alexander Nareyek).
E N D
Slides 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/
Title 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).
Planning 5 0 1 At the Intersection ofPlanning and Constraint Programming Alexander Nareyek Carnegie Mellon University
Action 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 … • Real-time computation • Open world • Highly complex goals • Social interaction • Incomplete knowledge • External events • Dynamics • Temporal planning
“Conventional” Planning Modal Logics Efficiency Trade-Offs Flexibility Expressiveness Efficiency Application-specific solutions Very general and modular solutions
Propositional 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 • …
Propositional Satisfiability (SAT) Disadvantages: • Bad scaling behavior • Very hard to express numerical relations • Domain-specific knowledge is “compiled away”
Integer 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 • …
Integer Linear Programming (ILP) Disadvantages: • Bad scaling behavior • Better for problems with limited discreteness • Domain-specific knowledge is “compiled away”
Constraint Programming (CP) Let’s get hands-on: DragonBreath Engine Demo
Constraint Programming (CP) Solution concepts: • Local search • Refinement search A,B,C [1,100] A < 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
Constraint Programming (CP) • Modeling/solving full planning by constraint programming • Using CP technology for subproblems within conventional planning
Constraint 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
[2,5] [2,3] D [3,7] [1,4] C Constraint Programming (CP) CP Technology for Subproblems Constraint posting during a regular planning process Simple temporal problems (STPs) B A
Constraint 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
Constraint Programming (CP) Handling Planning by CP • Planning with maximal graphs • Completely capturing planning within constraint programming
Constraint 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: • Do[t]the action performed at time t • Add[‘holding_B’, 3] • Do[3] in ADD[‘holding_B’] && • Do[3] not in PRE[‘holding_B’]
Constraint 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
Extensible Conventional Constraint Extensible Object Constraint Extensible Object Constraint ActionTask ActionTask Start Duration Start Duration Extensible Conventional Constraint Nonextensible Conventional Constraint Sum Less Variable Constraint Programming (CP) Structural Constraints Non-Overlap
Constraint Programming (CP) Structural Constraints
Constraint Programming (CP) Structural Constraints
The EXCALIBUR Agent’s Planning System The Planning Model
Feet Location Resource Type Resource Type Action Resource Constraint State Resource Constraint Resource Type Resource Type Resource Type Action Task Precondition Task State Task Operation End Begin Temporal Reference Temporal Reference State Contribution moveAB 35 45 arrive@B 35 @A 45 Action Type moveAB Action Task Constraint The EXCALIBUR Agent’s Planning System The CP Model
Constraint Programming (CP) The CP Model Let’s get hands-on: The EXCALIBUR Agent’s Planning System
Conclusions • 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