Search Control.. • Planning is really really hard – Theoretically, practically • But people seem ok at it • What to do…. – Abstraction – Find “easy” classes of problems • Planning with 1 precondition, no negative effects… • Give up on optimality: rubic’s cube – Heuristics Search control knowledge • Planning is search, how can we guide it? – Prune the search space (TLPlan) • •([x:clear(x)]goodtower(x)goodtowerabove(x)) • Prune any state that “breaks” a good tower – Assign preferences to decision points • If you want to paint a block, first try using a brush – Distance heuristics • Manhattan distance CAUTION! Utility Problem • Control knowledge doesn’t always help (TLPlan) – Use temporal expressions to increase planner efficiency – Use TLPlan and add complex temporal expression • Saves time by pruning nodes from the search space • Adds time because you have to evaluate the temporal expression • Similar to tradeoff between search and constraint propagation • Some temporal expression may slow planner down What is good control knowledge • Researchers tend to be sloppy in what they are improving • Possible critera – Minimize number of search nodes (Effect of TLPlan Temporal Kn) – Minimize planning time (Criterion used for testing) • For all possible planning problems? • On average? – Maximize probability of finding a solution – Maximize solution quality • Execution time • Probability of success • Modifiability • Maximize “Utility” of planner Aside • Control knowledge a bit of a hack – Trying to get planner to do something indirectly that you couldn’t get it to do right in the first place – Biasing the search towards solutions with a certain characteristic • Fast generation time • High quality… Expected Utility • Should a heuristic increase utility for every possible planning problem in a domain? • More reasonably: Increase utility on average – Need a space of possible problems – Need a probability distribution over those problems – Expected utility = Utility(problem)*Probability(Problem) • Need a way to estimate expected utility – Theoretically – develop some cost model for you heuristics – Statistically – draw a sample and measure on average Composability Problem • Search control strategies are composed from many pieces – Many temporal constraints (TLPlan) – Many search control rules (PRODIGY, UCPOP) • Components interact in awkward ways w.r.t utility – Two pieces of search control knowledge may be: • Individually good but collectively bad • Individually bad but collectively good – E.G. … Composer • Statistical solution to utility problem • Generate and test • Advantages – – – – Domain-independent method Doesn’t care where control knowledge comes from Doesn’t care what utility function you need Guaranteed to improve performance • Disadvantages – Expensive, lots of up front testing – Finds local maximum – Can be overkill Composer Planner Transformer NewPlanner1 NewPlanner2 NewPlannerN Statistical Hillclimbing • Lots of tricks to make it somewhat more efficient – Minimize the number of examples • Sequential analysis • Rational analysis • Blocking • Applications – Deep Space Network scheduling problem Learning control knowledge • If I solve a problem, can’t I learn something to help me solve similar problems?? • Macros (Strips)… • Generalized macros (explanation-based learning)… • Control rules (Prodigy)…