160 likes | 298 Vues
This chapter explores the critical aspects of effective program planning as discussed by Kris Hammond. It emphasizes the importance of memory in retrieving and modifying plans, learning from both successes and failures, and the use of a case-based approach to avoid potential problems. Key topics include the significance of debugging, the necessity of adapting plans based on past experiences, and the need for continuous learning and knowledge repair. Practical examples, such as recipe adjustments, illustrate how to anticipate failures, utilize plan indexes, and improve overall planning effectiveness.
E N D
Chef Notes from Kris Hammond’s chapter in ICBR
Planning as Remembering • What did you do the last time you wrote a program? • What does an architect do?
What to remember • Successes • Failures • Goals • The plan
“New theory of planning” • Search memory for plans that satisfy many goals • Learn when recovering from errors • Keep old plans around for reuse
Plan indexes • Successes and Failures • “The case based approach to finding an initial plan is to anticipate problems so the planner can find plans that avoid them” • Anticipate and avoid vs. create and debug
Debugging still required • Mistakes as expectation failures rather than planning failures. • Debugging as explanation; • Repair as plan repair and knowledge repair.
Learning/Adaptation • Learn new plans that avoid problems • New Features that predict problems • Learn the repairs
Plan retriever • “Best match” • Plan memory • Goal similarity metric • Goal value hierarchy
Plan modification • Modification rules • Knowledge critics • General plan knowledge
Plan Storer • Index under same goals as retriever will find them (natch)
Plan Repair • Knowledge of plan+fault to new plan • Knowledge of planning language • Side-effects, benefits, etc. • Causal knowledge • Explanation used to “learn from failure” (blame assignment)
Example: Recipe • Goals: Beef, broccoli stir-fry • Retrieve: beef+green-beans • Alter: • replace green-beans with broccoli • Chop broccoli first • Predicted goals: tender beef, savory dish, crisp broccoli, salty dish, sweet dish, garlicky dish • Cook • Failure! Broccoli is soggy
Failure explanation • What’s wrong? • Broccoli soggy, not crisp • What led to this? • Liquid in pan from beef • Why did you do this? • To cook beef
Plan repair strategies • Concurrent plans sometimes disable one another’s preconditions • Possible plans • Split-and-reform (multiple steps) • Alter-plan:side-effect (replace step with new plan) • Adjunct-plan (add new step)
New plan! • From ‘stir fry broccoli beef, broccoli, garlic, soysauce, sugar’to: • Stir fry broccoli • Stir fry rest • Add ingredients together
Anticipating failure • Broccoli-like veggies will cause this failure in the future • Eg. Looking for a recipe for stir-fried chicken and snow-peas.