Download AN INTRODUCTION TO SOAR PROGRAMMING
Transcript
context slots state=top-state: operator=? working memory preference memory time=noon [... +] weekday=Friday [... +] day-type=payday [... +] agenda=lunch [... +] [operator=exercise, +] [... +] [operator=eat-steak-at-FredÕs +] [... +] [operator=exercise >] state=substate-1: problem=two-operators-tied tied-item-1=exercise tied-item-2=eat-steak-at-FredÕs superstate=top-state Chunking As described in the introductory overview, this is the point at which Soar forms chunks. As soon as the production firing in the substate reaches up and puts the > preference into the top-state, the Soar system will report, ÒBuild: chunk-1Ó and the following chunk will be added to the list of productions that define this modelÕs permanent knowledge: IF [operator=exercise +] [operator=eat-steak-at-FredÕs +] THEN operator=exercise > This has the problemÕs cause on the IF side and the problemÕs solution (from the programmerÕs original production) on the THEN side. And, it is a production that will apply in the top-state as soon as the operator preferences are moved into working memory, without subgoaling. Neat, huh? It all fits together! Impasse Resolution and Subgoal Collapse Now, once the > preference is added to the top state, no other production fires, so quiescence has been reached. Soar goes into another decision phase, considering first the context slots in the top state and working down. Specifically, it considers the three preferences for operator in the top state. The standard preference arbitration rules can now resolve the tie between eat and exercise, with the result that exercise is selected as the operator. It Ògoes into slot.Ó That resolves the operator tie, so the substate (which depended on the tie) is eliminated. More accurately, the system eliminates the tie, and everything that depended on the tie gets garbage collected. And that ends the decision cycle, so the next elaboration cycle can begin on the revised working memory: Soar Introduction 13