Title: CHEF (Hammond, 1987)
1CHEF (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.
2Algorithm
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
3Problem 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.
4Plan 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.
5Plan 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.
6Plan 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-CONDITIONCONCURRENT
7Plan Repair con.
- Three strategies can be made to repair the plan
- ALTER-PLANSIDE-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-PLANREMOVE 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
8Thematic 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.
9Plan 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.
10Example
RETRIEVER Searching for plan that satisfies
-- include beef in the dish. include broccoli
in the dish. Make a stir-fry dish. Found recipe
-gt REC2 BEEF-WITH-GREEN-BEANS Recipe exactly
satisfies goals -gt Make a stir-fry dish include
beef in the dish. Recipe partially matches
-gt include broccoli in the dish. in that the
recipe satisfies include vegetables in the
dish
11MODIFIER 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.
12REPAIRER Checking results. Checking goals of
recipe-gt 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 -gt SIDE-EFFECTDISABLE
D-CODITIONCONCURRENT It has 3 repair strategies
associated with it SPLIT-AND-REFORM ALTER-PLA
NSIDE-EFFECT ADJUNCT-PLAN Applying TOP to
failure in recipe BAD-BEEF-AND BROCCOLI Asking
questions needed for evaluating
strategy SPLIT-AND-REFORM
13ASSIGNER 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.
14Fired 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-DISABLE
D-CONDITION CONCURRENT Found recipe -gt REC9
BEEF-AND-BROCCOLI
15Theoretical Contribution!
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.
16Thank you!