CHEF (Hammond, 1987) CHEF is a case-based planner, which can output new recipes given particular ingredients and tastes. Recipes are viewed as plans. They.

Slides:



Advertisements
Similar presentations
Lecture 5: Reuse, Adaptation and Retention
Advertisements

Chapter 16: Recovery System
1 Chapter 4:Constraint Logic Programs Where we learn about the only programming concept rules, and how programs execute.
Optimizing Compilers for Modern Architectures Allen and Kennedy, Chapter 13 Compiling Array Assignments.
Time Constraints in Planning Sudhan Kanitkar
How to Make Paella San Matías (Adult Education Centre) Granada (Spain) Grundtvig 1 Project ( )
Expert System Shells - Examples
Stir-Fries and Casseroles. Objective Compare stir-fries with casseroles Describe how to prepare ingredients for a stir-fry dish Demonstrate how to cook.
Salads, Casseroles, and Soups Nutrition and Food Science
Romanian Cuisine Moldavian Stew Secuianu Alina-Andreea Chiriac Andreea-Mihaela.
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Crown copyright 2008 Thai green chicken curry Session: 12 Photo of final recipe here.
Expert System Human expert level performance Limited application area Large component of task specific knowledge Knowledge based system Task specific knowledge.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Artificial Intelligence MEI 2008/2009 Bruno Paulette.
Case-Based Reasoning, 1993, Ch11 Kolodner Adaptation method and Strategies Teacher : Dr. C.S. Ho Student : L.W. Pan No. : M Date : 1/7/2000.
Developing Ideas for Research and Evaluating Theories of Behavior
Chapter 12 Trees. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Chapter Objectives Define trees as data structures Define the terms.
Chapter 8 Lists. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 8-2 Chapter Objectives Examine list processing and various ordering techniques.
Chapter 3: Arrays, Linked Lists, and Recursion
Analogical Problem Solving. How good are we at finding relevant prior experience?
Artificial Intelligence Lecture No. 15 Dr. Asad Ali Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
General Purpose Case-Based Planning. General Purpose vs Domain Specific (Case-Based) Planning General purpose: symbolic descriptions of the problems and.
13: Inference Techniques
Invitation to Computer Science, Java Version, Second Edition.
Problem solving Using background knowledge Analogical problem solving and access Case-based reasoning.
CS 682, AI:Case-Based Reasoning, Prof. Cindy Marling1 Chapter 3: Reasoning Using Cases In this chapter, we look at how cases are used to reason We’ve already.
CS 682, AI:Case-Based Reasoning, Prof. Cindy Marling1 Chapter 2: Case Studies of Several Case-Based Reasoners This chapter describes some classic CBR systems.
Modelling III: Asynchronous Shared Memory Model Chapter 9 by Nancy A. Lynch presented by Mark E. Miyashita.
Planning, page 1 CSI 4106, Winter 2005 Planning Points Elements of a planning problem Planning as resolution Conditional plans Actions as preconditions.
Collecting Things Together - Lists 1. We’ve seen that Python can store things in memory and retrieve, using names. Sometime we want to store a bunch of.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Case study of Several Case Based Reasoners Sandesh.
Software Engineering Chapter 3 CPSC Pascal Brent M. Dingle Texas A&M University.
Chapter 16 Recovery Yonsei University 1 st Semester, 2015 Sanghyun Park.
Chapter 1 Object Oriented Programming. OOP revolves around the concept of an objects. Objects are created using the class definition. Programming techniques.
CS 682, AI:Case-Based Reasoning, Prof. Cindy Marling1 Chapter 11: Adaptation Methods and Strategies Adaptation is the process of modifying a close, but.
CS 682, AI:Case-Based Reasoning, Prof. Cindy Marling1 Chapter 8: Organizational Structures and Retrieval Algorithms This chapter deals with how to find.
1 Chapter 16 Planning Methods. 2 Chapter 16 Contents (1) l STRIPS l STRIPS Implementation l Partial Order Planning l The Principle of Least Commitment.
Strategies for Distributed CBR Santi Ontañón IIIA-CSIC.
Welcome to Brain Compatible Strategies Day 2 Facilitated by Stacy Brady and Judy Cichoracki.
How to Write Lesson Plan Using the Cooperative Group Instructional Model.
Lecture on Set! And Local CS 2135 Copyright Kathi Fisler, 2002 This material requires Advanced Language Level.
How the Brain Learns: Chapter 4
1 CMSC 471 Fall 2004 Class #21 – Thursday, November 11.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Error Explanation with Distance Metrics Authors: Alex Groce, Sagar Chaki, Daniel Kroening, and Ofer Strichman International Journal on Software Tools for.
1 Casseroles, Stir-Fries, etc Chapter Casserole = mixture of cooked foods heated in a baking or casserole dish.
CS 682, AI:Case-Based Reasoning, Prof. Cindy Marling1 Chapter 7: Methods for Index Selection The indexes of a case allow us to retrieve it when we need.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Understanding General Software Development Lesson 3.
9.1 CLASS (STATIC) VARIABLES AND METHODS Defining classes is only one aspect of object-oriented programming. The real power of object-oriented programming.
MOOR ERROR HANDLING Types of error How to test your code for errors How to detect errors How to recover from errors.
PRINCIPLES OF STIR- FRYING CAH II 6.02 Mrs. Rebecca Benners.
Terminology Soup: liquid food served in a bowl.
KANAL: Knowledge ANALysis
Containers and Lists CIS 40 – Introduction to Programming in Python
System Programming and administration
Types of Soup Clear Thick Specialty
Object oriented system development life cycle
Learning to Program in Python
Objective of This Course
CIS 488/588 Bruce R. Maxim UM-Dearborn
Programming We have seen various examples of programming languages
Class #20 – Wednesday, November 5
Authors: Barry Smyth, Mark T. Keane, Padraig Cunningham
Data Structures & Algorithms
James Wei Professor Peck 9/20/2013
Primary School Computing
Introduction to Computer Science
Presentation transcript:

CHEF (Hammond, 1987) CHEF is a case-based planner, which can output new recipes given particular ingredients and tastes. Recipes are viewed as plans. They provide the sequence of steps that must be carried out to achieve the creation of some dish. CHEF creates its plans by recalling old plans that worked under similar circumstances and modifying them to fit its new situation. CHEF learns 1) new plans; 2) the features that predict failures; 3) past repairs to faulty plans. This learning is accomplished by saving the different results of the planner's own experiences.

1. Anticipate Failure of Input 2. IF Failure THEN Add Goals to Avoid the Failure 3. Retrieve Old Case Similar to New Problem 4. Modify Old Case to Match New Problem 5. Simulate Executing of the Plan 6. IF the Plan Failed THEN Explain Failure Repair Plan Assign Index for Failure 7. ELSE Index for Success 8. Store the Plan as Case Algorithm

Problem anticipation The planer anticipates planning problems by noticing features in the current input that have previously participated in past planning problems. For example, in making the dish, the liquid produced by stir frying the beef ruined the texture of the broccoli while it was cooking. The failure is indexed in memory by the features ( to include meat, to include a crisp vegetable and to make a stir fry dish) that interacted to cause it. When these features are present in an input later, the planner can predict that the failure will occur again and add a goal to avoid the problem.

Plan Retrieval The planner searches for a plan that satisfies as many of its current goals as possible while avoiding the problems that it has predicted. For example, In searching for a plan for the chicken and snow peas situation, CHEF searches for the plan that, among other things, avoids the predicated problem of soggy vegetables. Because the beef and broccoli plan is indexed by the fact that it solves the problem of soggy vegetables due to stir frying with meats, the plan retriever is able to find it, even though a recipe for chicken and green beans, is also in memory.

Plan Modification The planner alters the plans it has found to satisfy any goals from the input that are not already achieved. In altering the BEEF-AND-BROCCOLI plan to include chicken and snow peas, the planner has the information that both new ingredients are partial matches for existing ones and can be directly substituted for them. A critic under the concept CHICKEN then adds the step of boning the chicken before chopping.

Plan Repair Once a plan is completed, CHEF runs a simulation of it using a set of causal rules. At the end of the simulation, it checks the final states against the goals of the plan. When a plan fails, the planner fixes the faulty plan by building up a causal explanation of why the failure has occurred and using it to find the different strategies for repairing it. For example, CHEF originally built a simple plan in which the two main ingredients( beef and broccoli) were stir fried together. This plan fails because the side effect of liquid coming from the stir-frying of the beef is disabling a precondition attached to the broccoli stir- fry plan that the pan being used is dry. This explanation of the failure indexes to the TOP SIDE- EFFECT: DISABLED-CONDITION:CONCURRENT

Plan Repair con. Three strategies can be made to repair the plan:  ALTER-PLAN:SIDE-EFFCT: Replace the step that cause the violating condition with one that does not have the same side effect but achieves the same goal.  SPLIT-AND-REFORM: Split the step into two separate steps and run them independently.  ADJUNCT-PLAN:REMOVE: Add a new step to be run along with a step that causes a side-effect that removes the side-effect. Repair failure without interfering with other goals – Each repair strategy breaks a link in the causal chain

Thematic Organization Packets (TOPs) Each TOP is indexed by the description of a particular type of planning problem and each organizes a set of strategies for deal with that type of problem, which is caused by interactions between states and goals. These pieces of information cannot be tied to any individual goal. TOPs provide a means to store such information and strategies.

Plan storage, and credit assignment Once a plan has been built and run, it is stored in memory, indexed by the goals it satisfies and the problem it solves. CHEF makes use of the same causal explanation used to find its TOPs and repair strategies to figure out which features should be blamed for a failure and marked to predict this failure in later inputs.

RETRIEVER: Searching for plan that satisfies -- include beef in the dish. include broccoli in the dish. Make a stir-fry dish. Found recipe -> REC2 BEEF-WITH-GREEN-BEANS Recipe exactly satisfies goals -> Make a stir-fry dish include beef in the dish. Recipe partially matches -> include broccoli in the dish. in that the recipe satisfies: include vegetables in the dish Example

MODIFIER:: Building new name for copy of BEEF-WITH-GREEN-BEANS Calling recipe BEEF-AND-BROCCOLI To satisfy: include broccoli in the dish. Placing some broccoli in recipe BEEF-AND-BROCCOLI -- Considering ingredient-critic: Before ding step: Stir-fry the –Variable- do: Chop the broccoli into pieces the size of chunks -- ingredient-critic applied. Projected results: The beef is now tender. The dish now tastes salty. The dish now tastes savory. The dish now tastes sweet. The broccoli is now crisp.The dish now tastes like garlic SIMULATOR: Executing recipe.

REPAIRER: Checking results. Checking goals of recipe-> BEEF-AND-BROCCOLI The goal: The broccoli is now crisp is not satisfied. It is instead the case that: The broccoli is now soggy. Changing name of recipe BEEF-AND-BROCCOLI to BAD-BEEF-AND- BROCCOLI Explaining the failures … ANSWER; … Found TOP TOP1 -> SIDE-EFFECT:DISABLED-CODITION:CONCURRENT It has 3 repair strategies associated with it: SPLIT-AND-REFORM ALTER-PLAN:SIDE-EFFECT ADJUNCT-PLAN Applying TOP to failure in recipe BAD-BEEF-AND BROCCOLI Asking questions needed for evaluating strategy: SPLIT-AND-REFORM …

ASSIGNER: Building demons to anticipate failure. Building demon: DEMONO to anticipate interaction between rules: “Meat sweats when it is stir-fried.” “Stir-frying in too much liquid makes vegetable soggy.” Indexing demon: DEMONO under item: MEAT By test: Is the item a MEAT? Indexing demon: DEMONO under item: VEGETABLE By test: Is the item a VEGETABLE and Is the TEXTURE of item CRISP? Indexing demon: DEMONO under dish: STYLE-STIR-FRY By test: Is the dish STYLE-STIR-FRY ANTICIPATOR: Searching for a plan that satisfies – Include chicken in the dish Include snow peas in the dish Make a stir-fry dish. Collecting and activating tests.

Fired: Is the item a MEAT? Fired: Is the item a VEGETABLE and Is the TEXTURE of item CRISP? Fired: Is the dish STYLE-STIR-FRY Chicken + Snow Pea + Stir-frying = failure “Meat sweats when it is stir-fried.” “Stir-frying in too much liquid makes vegetable soggy.” Fired demon: DEMONO RETRIEVER: Searching for plan that satisfies -- include beef in the dish. include broccoli in the dish. Make a stir-fry dish. Avoid failure of type SIDE-EFFECT-DISABLED-CONDITION: CONCURRENT Found recipe -> REC9 BEEF-AND-BROCCOLI

CHEF proposes a new approach to planning that allows it to avoid many of the problems of more traditional planning systems. Some of its advances are based on the fact that it reuses plans. Some are the result of the fact that it incrementally repairs its plans and learns from experience. Theoretical Contribution!

Thank you!