320 likes | 339 Views
Mixed-Initiative Planning. Yolanda Gil USC CS 541 Fall 2003. Outline. Motivation and challenges Dialogue issues in mixed-initiative planning: TRAINS [Allen and Ferguson 02] Integrating user guidance with a planning algorithm: PASSAT [Myers 97]. Further Reading.
E N D
Mixed-Initiative Planning Yolanda Gil USC CS 541 Fall 2003
Outline • Motivation and challenges • Dialogue issues in mixed-initiative planning: TRAINS [Allen and Ferguson 02] • Integrating user guidance with a planning algorithm: PASSAT [Myers 97]
Further Reading • TRIPS(more at http://www.cs.rochester.edu/research/cisd/projects/trips) Allen, J. and Ferguson, G. "Human-Machine Collaborative Planning", to appear in Proceedings of the Third International NASA Workshop on Planning and Scheduling for Space, Houston, TX, October 27-29, 2002. • PASSAT (more at http://www.ai.sri.com/~passat/) Myers, K. Abductive Completion of Plan Sketches, AAAI 1997. Myers, K. L. and Jarvis, P. A. and Tyson, W. M. and Wolverton, M. J. A Mixed-initiative Framework for Robust Plan Sketching, ICAPS 2003. Myers, K. L. and Morley, D. N. Human Directability of Agents, K-CAP 2001.
“Planning Assistant”: Plan Design through Delegation “Take the people in Delta to Exodus by helicopter, then by bus to Calypso. Take the people in Abyss to Calypso by bus. Take everyone in barges to mainland locations. “ • May need to interact with the user for clarifications, inconsistencies, unfeasibility, etc.
“Planning Associate”:Collaborative Plan Design Here is the situation, what can you do for me? Q: What do we have? A: What do you need? Q: What can you get? A: What would you do if you had more? Q: When do you need it? A: What happens if we postpone deadline?
Range of Interactive Planning Tasks • Generation of a solution: plan generation • User specifies goals and tasks for the solution • User indicates preferences or constraints to be used during planning • Assessment of a solution: plan evaluation • User indicates criteria to analyze plan features • Tradeoff analysis in solution quality: plan comparison • User navigates solution space and indicates preferences • Resource assignment: scheduling • User indicates resource allocations, temporal constraints • Problem formulation: design of the planning task • User adds and retracts constraints on the planning problem • User establishes policies for system’s responsibilities
Challenges • Interpreting user input • Mapping into possible operations/responses • Disambiguating requests • Intelligent search • Managing classes of solutions • Tracking constraints and previously explored solutions • Facilitating user’s cognitive task • Grounding the discussion with a specific plan • Acting on the user’s input • Flexible planning framework that can support collaboration
TRIPS: Collaborative Planning Dialogue [Allen and Ferguson 02]
TRIPS: Interpreting User’s Requests:1) Mapping • Mapping request to possible responses • An operation or command • Eg: how long will this take? -> request for plan evaluation • A modification of some aspect of the plan • Eg: what if we allow a stopover? -> introduce goal • Approach: Lay out the types of problem solving operations and plan modifications allowed • Each type has “necessary conditions” used to map the request to the relevant portion of the plan
TRIPS: Interpreting User’s Requests: 2) Disambiguation • System may need to disambiguate: • Eg: Can we use a helicopter to get the people from Abyss? -> extend current solution (eg if still missing Abyss evac) -> add this goal and generate a new solution (eg if at Delta) -> modify current solution (eg if now using a bus) -> analyze feasibility of any of the above, rather than “do it” • Approach: Assume user wants to continue to work on the same plan and situation unless he/she indicates otherwise • Heuristic to prefer in this order: • Extend current solution • Modify current solution • Introduce new goals • Need to track dialogue history
TRIPS: Plan Representation • Four related views on plans • Objectives: goals and constraints • Tasks: abstract solutions (classes), their constraints, causal connections • Resources: objects available for use in solutions • Situations: states before and during execution • A grounded, straw plan • To ground the conversation, uses a concrete realization of the abstract plan that is currently under consideration
PASSAT: Mixed-Initiative Plan Authoring for HTN Planning [Myers 97] • User specifies tasks (prim or non-prim) that should be part of the solution: a plan sketch • System completes plan sketch • Hypothesizes top-level goals • Refine goals to include sketch tasks (anchors) • Extended to handling incorrect sketches [Myers 03] • “Orphaned” tasks that do not map to any top-level goals • Inconsistencies with template constraints
Sample Sketch: {P,V} Possible plans: V J L W Q F V L W Q …
Goal-Anchor Graphs for V GA(V;B) GA(V;A)
Goal-Anchor Graph for P GA(P;B)
Plan Skeleton for B: {GA(P;B), GA(V;B)} GA(P;B) GA(V;B)
Slicing a Plan Skeleton for B (I) GA(P;B) GA(V;B)
Slicing a Plan Skeleton for B (II) GA(P;B) GA(V;B)
Slicing a Plan Skeleton for B (III) GA(P;B) GA(V;B)
Slicing a Plan Skeleton for B (IV) GA(P;B) GA(V;B)
Slicing a Plan Skeleton for B (V) GA(P;B) GA(V;B) Slice 1
Slicing a Plan Skeleton for B (VI) GA(P;B) GA(V;B) Slice 2
Generating Plans by Refinement of Slices Slice 1 Plan from slice 1: V J L W Q Plan from slice 2: F V L W Q Slice 2
Sketch Completion Algorithm 1) Abduction stage - Generate anchor chains for tasks (anchors) in sketch - Nondeterm. select leaves from the chains (top-level goals) - Create plan skeletons for those top-level goals & anchors 2) Refinement stage - Follow HTN refinement algorithm selecting task reductions consistent with skeletons through slicing - If no slice possible, return failure
Recap and Summary • Dialogue issues in mixed-initiative planning: TRAINS • Interpreting user input, disambiguation • Plan representation as goals/tasks/resources/state + straw plan • Hybrid planning architecture • Integrating user guidance with a planning algorithm: PASSAT • Incorporating the user’s input into a plan generation algorithm