Search Control.. • Planning is really really hard • What to do….

advertisement
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)…
Download