Applications of Planning - Sceduling actions with Resources (metric-temporal planning) - Autonomous Agents - Software Integration (modules are operators) - Decision Support - Interfaces (e.g. NLIA - Natural Language Interface to Appliances) - Web Services +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Classical Planning ------------------ Scaling up from explicit state models: -------------------------------------- 1. Search Space: - Forward, Regression -- Disjunctive Refinement # In general, we handle sets of states * sets contain single states in deterministic planning * sets contain multiple states in non-deterministic planning # Need to look inside the black-box of a state * States can be expressed by propositional formulae * The number of propositions in a problem is equal to D^M, where D = arity of varible values and M = number of variables # The goal state is a set of states because it is incompletely specified in both non and deterministic planning. # The initial state is a set of states only in non-deterministic planning. - Plan -- Conjunctive Refinement 2. Search Control <> 3. Customization <> Domain Independent vs. Domain Specific -------------------------------------- Independent: - Input: 1. Initial State 2. Goal State 3. Action Set - Ouput: Plan - Includes planners that learn domain knowledge while planning on single problems and across sets of problems Specific: - Input: 1-3 of Independent 4. Domain knowledge (that is "taught" to the planner by a human) - Output: Plan Customizable: - Hybrid of Independent and Specific - Can take domain knowledge, but doesn't require it Modeling -------- - Actions are cross-product relations between states - A planning agent knows it is in a subset of the state space * If the subset is more than one state then a. a policy in a deterministic domain is being found, or b. the domain is not fully observable # e.g. 15 states in a deterministic domain could result in 2^15 belief states if there is no knowlege of the current state