McDermott, J.


R1-Soar: An experiment in knowledge-intensive programming in a problem-solving architecture.

Classics

"This paper presents an experiment in knowledge-intensive programming within a general problem-solving production-system architecture called Soar. In Soar, knowledge is encoded within a set of problem spaces, which yields a system capable of reasoning from first principles. Expertise consists of additional rules that guide complex problem-space searches and substitute for expensive problem-space operators. The resulting system uses both knowledge and search when relevant. Expertise knowledge is acquired either by having it programmed, or by a chunking mechanism that automatically learns new rules reflecting the results implicit in the knowledge of the problem spaces. The approach is demonstrated on the computer-system configuration task, the task performed by the expert system R1."IEEE Transactions on Pattern Analysis and Machine Intelligence, 7, 561-569.


R1-Soar: An experiment in knowledge-intensive programming in a problem-solving architecture.

Classics

"This paper presents an experiment in knowledge-intensive programming within a general problem-solving production-system architecture called Soar. In Soar, knowledge is encoded within a set of problem spaces, which yields a system capable of reasoning from first principles. Expertise consists of additional rules that guide complex problem-space searches and substitute for expensive problem-space operators. The resulting system uses both knowledge and search when relevant. Expertise knowledge is acquired either by having it programmed, or by a chunking mechanism that automatically learns new rules reflecting the results implicit in the knowledge of the problem spaces. The approach is demonstrated on the computer-system configuration task, the task performed by the expert system R1."IEEE Transactions on Pattern Analysis and Machine Intelligence, 7, 561-569.


XSEL: a computer sales person's assistant

Classics

During 1980, the group grew to include 12 people; it now consists of a manager, 5 people proficient in 0Ps5 (the production system language in which RI is written), 3 people responsible for ensuring that RI's database (a set of descriptions of hardware and software components) is accurate and up to date, and 3 people responsible for developing processes to facilitate Rl's use and to aid in extracting configuration knowledge from experts. In particular, RI performs only the component organization part of what could be called the computer system configuration design task. The configuration design task has two parts: - Component selection: the set of components that are both necessary and sufficient to satisfy the requirements imposed by a set of applications must be selected. Then in section 2, XSEL, the program being developed to perform the component selection part of the configuration design task, will be described.


The efficiency of certain production system implementations

Classics

"The obvious method of determining which productions are satisfied on a given cycle involves matching productions, one at a time, against the contents of working memory. The cost of this processing is essentially linear in the product of the number of productions in production memory and the number of assertions in working memory. By augmenting a production system architecture with a mechanism that enables knowledge of similarities among productions to be precomputed and then exploited during a run, it is possible to eliminate the dependency on the size of production memory. If in addition, the architecture is augmented with a mechanism that enables knowledge of the degree to which each production is currently satisfied to be maintained across cycles, then the dependency on the size of working memory can be eliminated as well. After a particular production system architecture, PSG, is described, two sets of mechanisms that increase its efficiency are presented. To determine their effectiveness, two augmented versions of PSG are compared experimentally with each other and with the original version." In Waterman and Hayes-Roth, 155- 176.




Less than general production system architectures

Classics

Many of the recent expert rule-based systems [Dendral, Mycin, AM, Pecos] have architectures that differ significantly from the simple domainindependent architectures of "pure" production systems. The most significant benefits arise from three sources: (i) the grain size of a typical rule can be increased until it captures a unit of advice which is meaningful in that system's task domain, (ii) the interpreter can become accessible to the rules and thus become dynamically modifiable, and (iii) meaningful permanent Knowledge can be stored in data memories, not just within productions. The architecture that he proposed and that has since been emulated by several researchers has the following familiar components: (i) a single production memory containing an indefinitely large number of productions (condition/action rules) in which all of the system's permanent knowledge is encoded; (ii) a single data memory (called working memory) containing assertions that are in the process of being assimilated or modified by the system; and (iii) an interpreter that repeatedly matches the conditions in each production against the assertions in data memory, selects from the set of satisfied productions one production to fire, and then executes the actions specified in that production. Most of these systems are closely related to production systems: they divide the world into data and condition/action rules, and make use of an interpreter that repeatedly matches rules against data and then executes the actions of one or more of the rules whose conditions are satisfied.