[Next] [Up] [Previous]
Next: Production Systems Are Plausible Up: Production Systems and Artificial Previous: Production Systems Are Flexible

Production Systems Are Modular

In an ordinary computer program one procedure calls another, in such a way that a change to one procedure may entail the modification of any others that call it. Simply removing a procedure may well result in the collapse of the whole program. In contrast, the functional units of a production system -- the set of rules in its rulebase -- are independent, self-contained chunks of knowledge, any one of which can be altered or replaced without disabling the entire production system and without requiring the modification of other rules. Such alterations might modify or restrict the behaviour of the system, but will not cripple it. This is because the rules in a production system are separate from the program that runs them: the rules do not interact with one another directly but only through changes to the working memory. By way of illustration, figure 7.4 contrasts the flow of control in an ordinary program with that of a production system. Modularity is especially important in large production systems; as knowledge of a domain is modified or extended, new rules can be added in a fairly straightforward manner. Failure of a system to perform some primitive action or draw some inference can be remedied simply by writing a new rule whose head matches the relevant items in the database and whose body executes the appropriate action.

  [IMAGE ]
Figure 7.4: Flow of control in ordinary programs and production systems.

The most important development in production systems has been in the building of expert systems: computer programs that have the knowledge and expertise, in the form of hundreds or even thousands of rules, that will enable them to operate at the level of the human expert in some specialist domain. This makes them valuable as consultants in medicine, management, engineering, computer-system configuration, and chemical analysis, to name but a few areas where expert systems are in regular use. Such systems provide the support of expert knowledge that is relatively cheap (a full-time human consultant commands a much higher salary!), reliable (humans do make mistakes), portable (human experts are scarce, and sometimes too busy to come on call), and untiring (human experts have to sleep sometimes; eventually they die); and, because of the modularity of such systems, they can be extended to become more proficient than any human expert whose knowledge has been `written into' the rulebase. Expert systems need not store information uniquely in the form of production rules. For example, the PROSPECTOR system to analyze geological data codes much of its knowledge in a semantic net; other systems have used frames or a form of predicate logic.


[Next] [Up] [Previous]
Next: Production Systems Are Plausible Up: Production Systems and Artificial Previous: Production Systems Are Flexible

Cogsweb Project: luisgh@cogs.susx.ac.uk