Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Artificial Intelligence and Decision Making Session9: Planning 11.1 A Simple Planning Agent 11.2 From Problem Solving to Planning 11.2.1 Representation of actions 11.2.2 Representation of states 11.2.3 Representation of goals 11.2.4 Representation of plans 11.3 Planning in Situation Calculus 11.4 Basic Representations for Planning 11.4.1 Representations for states and goals 11.4.2 Representations for actions 11.4.2.1 action description 11.4.2.2 precondition 11.4.3 Situation Space and Plan Space 11.4.4 Representations for plans 11.4.5 Solutions 11.5 A Partial- Order Planning Example 11.6 A Partial – Order Planning Algorithm 11.7 Planning with Partially Instantiated Operators 11.8 Knowledge Engineering for Planning 11.8.1 The blocks world 11.8.2 Shakey’s world 11.9 Summary References Biundo, S. (2000) Recent Advances in AI Planning. New York: Springer Verlag. Fourth Annual Conference : AI, Simulation, and Planning in High Autonomy Systems : Theme : Integrating Virtual Reality and Model-Based Environments. Portland, Or: Book News, Inc. IEEE Computer Society (1991). AI. Simulation and Planning in High Autonomy Systems. Los Alamitos, CA: IEEE Computer Society Press. Oresky, C.M., Lenat, D.B., Clarkson, A., Kaisler, S.H. (1991) Strategic Automatic Discovery System (STRADS) (Pp. 223–260) In Fishwick, P, & Modjeski, R.B. (Eds) Knowledge-Based Simulation: Methodology and Application. New York: Springer Verlag. (Note: Recommended Reading for the Course) Wilkins, D.E. (1989) Practical Planning : Extending the Classical Ai Planning Paradigm (Morgan Kaufmann Series in Representation and Reasoning). San Mateo, CA: Morgan Kaufman. Web Sites (Use highlight then Edit (copy) and then paste in your browser) http://www.isi.edu/~blythe/cs541/syllabus.html http://rakaposhi.eas.asu.edu/planning-class.html http://www.cs.washington.edu/homes/weld/ http://www.cs.washington.edu/homes/weld/pubs.html http://www.isr.umd.edu/TechReports/ISR/1995/TR_95-4/TR_95-4.phtml http://citeseer.nj.nec.com/context/15778/0 http://citeseer.nj.nec.com/context/25638/0 http://www.eecis.udel.edu/~albuz/Robot/sld029.htm http://www.ifs.org.uk/~popx/students/practicals/ps/node3.html http://www.me.iastate.edu/me522_f99/new/ME522ProcessPlanning99/sld022.htm http://www.cs.umd.edu/projects/planning/ http://cs-gw.utcluj.ro/~jim/Planning/doc/ai-pages.html http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/planning/0.html http://www.laas.fr/aips/ http://crl.nmsu.edu/users/sb/papers/textgen/tech-report/node6.html http://www.ai.mit.edu/research/ http://www.ai.sri.com/~wilkins/mpa/ http://www.computer.org/proceedings/issre/0443/04430250abs.htm This overview of AI planning supplements the textbook. It can be found at http://blackcat.brynmawr.edu/~dkumar/UGAI/planning.html Planning Introduction Logic-based planning Operator-based planning Planning Algorithms Case-based planning Reactive Approaches Scheduling vs. Planning Planning in AI Texts References & Resources Introduction I like to open this topic by giving a general introduction to problem solving and then putting planning, scheduling, learning, etc. in the context of problem solving. This is one approach to planning among many. Planning = How do I get from here to there? There have been various formulations that attempt to solve the planning problem: Logic-based approaches Operator-based approaches Time-based approaches Case-based approaches Constraint-based approaches Distributed Planning Reactive approaches Logic-based Planning Also sometimes categorized as change-based planning . This is best introduced by the following figure taken from Genesereth & Nilsson (page 286, see References & Resources below): Given the following: \alpha designating an initial state \Gamma designating a set of actions \rho designating a goal \Omega is a database of sentences about the initial state The planner will try to generate a plan, \Gamma which, when executed by the acting module or the executor when the system is in the state i satisfying the initial state description, will result in the state g satisfying the goal state description. This can then lead into a presentation/discussion of situation calculus . Also, a good point to introduce various planning problems: Frame Problem After you drive your 4-door car from point A to point B what is its color? how many doors does it have? ...etc. Qualification Problem If you turn the ignition key of your car the engine will start... unless the battery is dead... or it is out of gas... or there is a potato blocking the tailpipe... ...etc. Ramification Problem If you drive your car from point A to point B, then as a result your car is now at B... so is its engine... its tires... ...etc. Another good place to introduce nonmonotonic logics (circumscription, default logic, modal logic, etc.) . Operator-based Planning Actions are represented as operators . This approach, also called, the STRIPS approach , utilizes various operator schema and plan representations . The frame problem is solved by using the STRIPS assumption. The major points to be presented in this context are: Design of the operator schema Add-delete lists, procedural vs. declarative representations (NONLIN vs. NOAH), etc. Design of plan representations Linear plans, non-linear plans, hierarchical (abstract) plans, partial-order plans, conditional plans, etc. Planning Algorithms Planning as search, world-space vs. plan-space, partial-order planning, total-order planning, progression, goal-regression, etc. The computational complexity of planning. Plan Critiquing Plan reformulation, repair, total-ordering, etc. It is also a good idea to show an example of the kind of planning done by STRIPS (a nice combination of heuristic state space search and resolution theorem proving). Bratko's text presents a PROLOG implementation of STRIPS (and more). Forms a nice basis if your course (or students) is PROLOG literate. Additionally, one or more advanced aspects of Planning algorithms can be presented. Several texts now have detailed discussions on partial-order planning algorithms, etc. (see below). Planning Algorithms Introduce planning as search . There are two approaches: Searching a World Space: Each node in the graph denoted a state of the world. Arcs in the graph correspond to the execution of a specific action. The planning problem is to find a path from the initial state to the goal state. There are two algorithms: o o Progression: An algorithm that searches for the goal state by searching through the states generated by actions that can be performed in the given state, starting from the initial state. Regression: An algorithm that searches backward from the goal state by finding actions whose effects satisfy one or more of the posted goals, and posting the chosen action's preconditions as goals ( goal regression). Both the algorithms are sound (if a plan is returned, will it work?) and complete (if a plan exists, does the algorithm guarantees that it will find it?). In most situations regression is a better strategy. Searching a Plan Space: Each node in the graph represents partial plans. Arcs denote plan refinement operations. One can search for a plan with a totally-ordered sequence of actions (total order planning), or a plan with a partially ordered set of actions (partial order planning (POP) or least commitment planning). Partial Order Planning (POP): A partial order plan has three components: o A set of actions: For example, {eat-breakfast, take-shower, wake-up, go-to-work}. o A set of ordering constraints: For example, {wake-up before eat-breakfast, wake-up before take-shower, wake-up before go-to-work, take-shower before go-to-work} o A set of causal links: For example, wake-up ---awake---> eat-breakfast is a link from the action, wake-up to the action eat-breakfast. When the action wake-up is added to the plan, the above causal link is recorded, along with the ordering constraint [wake-up before eat-breatfast], because wake-up's effect that the individual is awake is a precondition of eatbreakfast. Causal links help detect inconsistencies whenever a partial plan is refined. Present a complete partial order planning algorithm. Case-based Planning Given a new problem, a goal, and a description of an initial state. Look into the library of cases to recall a similar problem, with similar initial and goal states. Modify the retrieved solution for the new problem. The key is to find good similarity metrics. Reactive Approaches Planning & Execution Planners think , executors do . Predictability (thinking) vs. Reactivity (doing) on-line vs. off-line planning Classical planning is done off-line. The generated plan is then fed to the on-line execution module. Closed vs. open-loops Reaction rules encode sense-act cycles. Triangle Tables Universal Plans Situated Automata Action Nets Reactive Action Packages Task Control Architectures Subsumption Architectures Scheduling vs. Planning Planning is deciding what to do. Scheduling is deciding when to do it. Planning in AI Texts The chapter on Planning in Ginsberg's text starts by introducing the frame, qualification, and ramification problems in the context of reasoning about action. It gives a short overview of action description models. The chapter concludes with a description of a STRIPS-like planning algorithm. Tanimoto's text concentrates on operator-based planning. First, it presents a simple linear planner (in Common Lisp) that uses iterative deepening depth first search. This is then used to motivate hierarchical planning and STRIPS-based operator schema. A planning algorithm that uses a propositional representation for facts and STRIPS-like operators is presented (in Common Lisp). Nonlinear planning is then introduced in the context of partial-order planning. A detailed algorithm and its Common Lisp implementation is also included. Exercises at the back are based upon the programs in the chapter. By way of using the agent-oriented approach, Russell & Norvig 's text has acting (and thereby planning) as a running theme in several chapters. There are also 3 chapters devoted specifically to acting logically as well as one chapter on robotics . The first chapter deals with situation calculus-based planning, STRIPS representations, and presents a partial-order planning algorithm (which is based on SNLP). The blocksworld and SHAKEY world are described. The planning algorithm is further used as a basis for introducing hierarchical planning, conditional effects, and other issues in Practical planning . There is also some discussion of the algorithmic complexity of planning. The refined version on the planning algorithm presented is based on the UCPOP algorithm (of which SNLP is a forerunner). The third chapter is devoted to conditional planning (an algorithm based on CNLP is presented), replanning, and planning and acting. While there isn't a specific chapter devoted to planning in Luger & Stubblefield , there is a section in one of the search chapters. It presents predicate-calculus-based planning (a PROLOG implementation is included in a later chapter), and STRIPS-based operator representations, and triangle tables. The chapter in Rich & Knight covers situation calculus, STRIPS-based planning, and nonlinear planning (a TWEAK-based algorithm is presented). Dean, Allen, & Aloimonos present a general discussion of various approaches to the planning problem. Partial-order planning, hierarchical planning, adaptive planning, and conditional planning are given detailed treatment (with Lisp code as well as complexity measures and analyses). Below is a table showing a survey of six AI texts and their coverage of Planning. Pairs of numbers indicate the approximate number of pages of text, and an estimate of the number of lectures that will typically be required to cover all the material in the text. Each lecture is assumed to be 75 minutes long. A typical semester has about 13 weeks of lectures, each week having two 75 minute lectures, giving a total of 26 lectures. ----------------------------------------------------------------------------Dean, Allen &, Russell & Rich & Luger & Aloimonos Ginsberg Norvig Tanimoto Knight Stubblefield ----------------------------------------------------------------------------Overall Text 500/40 400/24 850/52 760/42 580/40 700/40 ----------------------------------------------------------------------------Planning 50/4 20/2 80/6 55/5 38/2 12/1 ----------------------------------------------------------------------------- References & Resources Clicking below on names will take you to the individual's home page. Generally a good starting point for locating current information. Clicking below on titles of the publications will take you to homepages of the documents where other resources like code, instructional materials, and related software may be available. Please write back to the author for any corrections/additions Bratko : PROLOG Programming for Artificial Intelligence, Second Edition, Addison Wesley, 1990. Dean, Allen, & Aloimonos : Artificial Intelligence -Theory and Practice, Benjamin Cummings Publishing Company, 1995. Genesereth & Nilsson : Logical Foundations of Artificial Intelligence , Morgan Kaufmann Publishers, Los Altos, CA, 1987. Georgeff : Planning, in Annual Reviews of Computer Science, Annual Reviews Inc., pages 359-400, 1987. (A nice survey) Ginsberg : Essentials of Artificial Intelligence, Morgan Kaufmann Publishers, 1993. Artificial Intelligence: Structures and Strategies for Complex problem Solving, Second Edition, Benjamin Cummings Publishing Company, 1993. Rich & Knight : Artificial Intelligence, Second Edition, McGraw Hill, 1991. Russell & Norvig : Artificial Intelligence: A Modern Approach, Prentice Hall, 1995. Shapiro : The Encyclopedia of Artificial Intelligence, Second Edition, John Wiley & Sons, Inc., 1992. Tanimoto : The Elements of Artificial Intelligence Using Common Lisp, Second Edition, Computer Science press, 1995. Software: UCPOP : A partial-order planner developed by Daniel Weld, runs under Common Lisp (preferably with CLIM), available by anonymous FTP. CMU Software Repository: This link points to planning-related software contained in the CMU AI Repository maintained by Mark Kantrowitz. Last updated: June 5, 1995. Deepak Kumar Bryn Mawr College [email protected] From: http://www.sju.edu/~jhodgson/ai/plan.html Planning in AI Warning: Most of the links on this page are not yet connected. Planning is an important activity for autonomous agents. It is used for more than just moving objects around. Examples include the following: Planning to achieve some goal such as move an object from one location to another, Planning a discourse that will cause another agent to do something, Understanding the plans of another agent in order to be able to assist (thwart) that agent. We concentrate on the first of these. We remark here that if one uses top down plan generation then a bottom up analysis of the plan tree can be used for pan understanding. We use a state space model for the planning process. We must be able to represent the current state of the world and the effects of the agent's actions upon it. T this end we associate to each action three things: 1. The preconditions: The conditions that must be satisfied if the action is to be possible; 2. The add-list: list of relations that are made true as a result of taking the action; 3. The delete-list: the list of relationships that the action destroys; This raises the (in)famous frame problem which for the moment we deal with by ignoring it. There are various approaches to planning. We will consider three examples of planning. 1. STRIPS 2. Goal regression 3. Nonlinear planning To return to the AI home page click AIHOME. Jonathan Hodgson Last Changed 23/11/94 This is a hotlink list of AI Planning resources (applications). From: (Note: Use the Edit (Copy) function and paste the URL in your browser) http://www.csc.ncsu.edu/faculty/stamant/planning-resources.html AI Planning Resources Planning Systems and Testbeds This is a list of AI planners and where they were developed, or where implementations are currently accessible. Some of these places do a good deal of planning-related research, and of course this list is not exhaustive. I have however tried to include representative examples of the latest research directions, including Graphplan-oriented work and planning under uncertainty, as well as pointers to planners of historical interest. If you have a suggestion for additions or changes to this list, send mail to Rob St. Amant. Aristotle University, Greece GRT Arizona State University The Yochan group The planning digest AT&T Labs blackbox Unified SAT-based and graph-based planning Brown University STRIPS ABSTRIPS ABTWEAK PEST A mailing list on planning topics Stanford Research Institute Problem Solver --- the grandfather of them all Abstraction STRIPS Abstraction TWEAK Planning and Execution System Testbed Carnegie Mellon University Architecture for planning and learning Founded a new generation of planners PRODIGY Graphplan University of Chicago RAPs University of Durham STAN TIM Single Interface to Multiple Sources Institute for Computer Science, Albert Ludwigs University IPP Fast Forward Planning domain models and object-centred planning Information Sciences Institute (ISI) SIMS Abstraction hierarchies Action-decomposition and action-based constraint forms University of Huddersfield General Open Planning Architecture Goddard Space Flight Center COLLAGE Planning under uncertainty, MDPs University of Edinburgh O-Plan STate ANalysis Planner An automatic planning domain analysis tool Duke University General Reactive Action Packages Winner, ADL track, 1998 planning competition Jet Propulsion Laboratory APS Adaptive Problem Solver MVP Multimission VICAR Planner University of Kaiserslautern CAPlan University of Maryland HTN planning UMCP UM Nonlin SHOP Shared discourse planning University of Michigan UM-PRS Decision machines The Yellowstone fire-fighting simulation Multiple-Event Stream Simulator Mixed-Initiative Plan Evaluation and Repair Transportation Simulation Resolving Sources of Uncertainty Mitsubishi Electric Research Laboratories (MERL) COLLAGEN Hierarchical Task Network planning Universal Method Composition Planner Common Lisp version of early system Simple Hierarchical Ordered Planner University of Massachusetts Phoenix MESS MIPER TransSim RESUN Computer Assisted Planning Real Time Planning and Control Procedural Reasoning System University of Oregon General North Carolina State University Planning agents in the interface (my own small contribution. . .) Ibots DPOCL/Longbow Discourse planning University of Pittsburgh Dynamic plan management Planning testbed General Tileworld University of Rochester TRAINS TRIPS Universidad Simon Bolivar HSP Heuristic Search Planner SRI International SIPE PRS Mixed-initiative planning The Rochester Interactive Planning System System for Interactive Planning and Execution Procedural Reasoning System Stanford University Nobots General Teknowledge CPR University of Toronto Markov decision processes University of Washington SGP TGP UCPOP Older planners Sensory Graphplan Temporal Graphplan Partial Order Planner with Universal quantification and Conditional effects FABIAN (abstract actions), PYRRHUS (value-directed), ZENO (temporal plan deadline goals and continuous change), BURIDAN (probabilistic planning), CBURIDAN (sensing actions and contingent execution), XII (sensing actions to handle incomplete information). University of Waterloo General University of Wisconsin-Milwaukee DRIPS Decision-theoretic Refinement Planning System Yale University XFRM, plus RPL a Transformational planner based on a Reactive Plan Language Other planning sites A nice site maintained by the U.K. Planning and Scheduling Special Interest Group A list of planners (with installation instructions) at ISI A short planning list at CMU A short planning list at Yale Contacts The planning and scheduling mailing list Planning domains A number of members of the planning community have expressed a desire to be better able to compare planning systems on common problems and domains. In response, Jim Hendler has created a Web repository, in which one can find links to existing domains as well as post details of a new domain. Related information ARPA/Rome Laboratory Planning Initiative Handbook of Evaluation for the ARPA/Rome Lab Planning Initiative Last Update: 12/17/99 Rob St. Amant