Russell and Norvig, Chapter 13: Planning and Acting - planning with incomplete and/or incorrect information - new cave (wumpus? pits?) or moving wumpus - conditional planning (contingency planning) - including contingencies in operator definitions - execution monitoring - replanning when expectations are not met 13.1 Conditional Planning - plan steps are now conditional on the current state of the world - if wumpus_ahead then goaround else goforward - continue decomposing plan steps until non-conditional operator reached - conditional planning agent [Fig13.1, p395] - to ensure conditional plan is executable, agent must insert actions causing relevant conditions to be known - sensing actions whose effects are like: knows_whether(wumpus_ahead) - generating conditional plans - the context of a plan step is the facts that must be true for that step to execute - e.g., wumpus_ahead or not wumpus_ahead - when a precondition cannot be met, and there is a sensing action for the precondition - let the sensing action support the precondition - form a new finish step whose context is the negation of the precondition (or in general the negation of the disjunction of previous contexts) - Conditional Partial-Order Planning (CPOP) [Fig13.8, p399] - parameterized plans - sensing actions may return several possible values - e.g., knows_what(color(X,C)) - maintenance goals - e.g., maintain(color(X,C)) - similar to automatic programming - add a while construct - e.g., while((safe_ahead and not glitter), [goforward]) 13.2 A Simple Replanning Agent - methods for monitoring plans in unpredictable worlds - to each plan step, attach all preconditions of rest of plan - action monitoring, only check preconditions of next action - require good percepts - inaccessible worlds, where relevant conditions are not perceivable, are beyond the scope of this chapter (uncertainty) - causes of plan failure - bounded indeterminacy: possible failures can be enumerated - unbounded indeterminacy - simple replanning agent [Fig13.9, p402] - if the preconditions of a plan segment p (of the entire plan q) are not met, choose the easiest (in terms of completing q) point p' in q and restart from there - if all else fails, the agent will have to learn (see Chapter 21) 13.3 Fully Integrated Planning and Execution - situated planning agent [Fig13.17, p408] - action, perception and deliberation are intertwined and concurrent - if an action's only purpose is the achieve a precondition, and that precondition becomes true, then the action can be removed - the removed action is called redundant - this process is called extending a causal link - actions are removed from the plan once executed - when no more actions in plan - start state directly supports the finish conditions, OR - more planning/acting is necessary to achieve failed expectations 13.4 Discussions and Extensions - extensions - goal-oriented planning agent - partial-order planning - conditional effects - responds to changes in environment expectations - conditional planning vs replanning - condition planning requires too many contingencies - replanning may not be prepared for contingencies - a tradeoff of the two is better - likely and/or costly contingencies are conditionally planned for - rare, less costly contingencies can be replanned - agent could learn conditional plan steps with experience - abstraction - plan only at the level needed - leave the details for later