110 likes | 208 Vues
Explore effective planning strategies, heuristics, and control knowledge to enhance planner efficiency. Learn about search control methods, temporal expressions, composer solutions, and maximizing utility in planning. Discover how to compose search control pieces and learn control knowledge to improve performance. Uncover the importance of learning control knowledge for solving similar problems.
E N D
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 NewPlanner1 Planner Transformer 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)…