SPE
Using Rules
There is little doubt that the decision to use rules to encode infectious disease knowledge in the nascent MYCIN system was largely influenced by our experience using similar techniques in DENDRAL. However, as mentioned in Chapter 1, we did experiment with a semantic network representation before turning to the production rule model. The impressive published examples of Carbonell's SCHOLAR system (Carbonell, 1970a; 1970b), with its ability to carry on a mixed-initiative dialogue regarding the geography of South America, seemed to us a useful model of the kind of rich interactive environment that would be needed for a system to advise physicians. Our disenchantment with a pure semantic network representation of the domain knowledge arose for several reasons as we began to work with Cohen and Axline, our collaborating experts. First, the knowledge of infectious disease therapy selection was ill-structured and, we found, difficult to represent using labeled arcs between nodes. Unlike South American geography, our domain did not have a clear-cut hierarchical organization, and we found it challenging to transfer a page or two from a medical textbook into a network of sufficient richness for our purposes. Of particular importance was our need for a strong inferential mechanism that would allow our system to reason about complex relationships among diverse concepts; there was no precedent for inferences on a semantic net that went beyond the direct, labeled relationships between nodes.1 Perhaps the greatest problem with a network representation, and the greatest appeal of production rules, was our gradually recognized need to deal with small chunks of domain knowledge in interacting with our expert collaborators.
The Origin of Rule-Based Systems in AI
Since production systems (PS's) were first proposed by Post (1943) general computational mechanism, the methodology has seen a great deal of development and has been applied to a diverse collection of problems. Despite the wide scope of goals and perspectives demonstrated by the various systems, there appear to be many recurrent themes. We present an analysis and overview of those themes, as well as a conceptual framework by which many of the seemingly disparate efforts can be viewed, both in relation to each other and to other methodologies. Accordingly, we use the term production system in a broad sense and show how most systems that have used the term can be fit into the framework. The comparison to other methodologies is intended to provide a view of PS characteristics in a broader context, with primary reference to procedurally based techniques, but also with reference to more recent developments in programming and the organization of data and knowledge bases.
Background
Artificial Intelligence (AI) is that branch of computer science dealing with symbolic, nonalgorithmic methods of problem solving. Several aspects of this statement are important for understanding MYCIN and the issues discussed in this book. First, most uses of computers over the last 40 years have been in numerical or data-processing applications, but most of a person's knowledge of a subject like medicine is not mathematical or quantitative. It is symbolic knowledge, and it is used in a variety of ways in problem solving. Also, the problem-solving methods themselves are usually not mathematical or data-processing procedures but qualitative reasoning techniques that relate items through judgmental rules, or heuristics, as well as through theoretical laws and definitions.
Preface
Artificial intelligence, or AI, is largely an experimental science--at least as much progress has been made by building and analyzing programs as by examining theoretical questions. MYCIN is one of several well-known programs that embody some intelligence and provide data on the extent to which intelligent behavior can be programmed. As with other AI programs, its development was slow and not always in a forward direction. But we feel we learned some useful lessons in the course of nearly a decade of work on MYCIN and related programs. In this book we share the results of many experiments performed in that time, and we try to paint a coherent picture of the work.
Rule-Based Expert Systems
Addison-Wesley Publishing Company Reading, Massachusetts Menlo Park, California London Amsterdam Don Mills, Ontario Sydney This book is in The Addison-Wesley Series in Artificial Intelligence. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher.
Foreword
The last seven years have seen the field of artificial intelligence (AI) transformed. This transformation is not simple, nor has it yet run its course. The transformation has been generated by the emergence of expert systems. Whatever exactly these are or turn out to be, they first arose during the 1970s, with a triple claim: to be AI systems that used large bodies of heuristic knowledge, to be AI systems that could be applied, and to be the wave of the future. The exact status of these claims (or even whether my statement of them is anywhere close to the mark) is not important. The thrust of these systems was strong enough and the surface evidence impressive enough to initiate the transformation. This transformation has at least two components.
RESEARCH CONTRIBUTIONS
Specifically, one can ask which allows users to solve problems with spoken English a) how might a natural language processor perform commands, has been constructed. The system utilizes a in conjunction with such input devices, and commercially available discrete speech recognizer which requires that each word be followed by approximately a 300 b) how habitable would the resulting voice-interactive millisecond pause. In a test of the system, subjects were able systems be for real users?
Automatic Programming: A Tutorial on Formal Methodologies ALAN W. BIERMANN
Automatic computer programming or automatic programming occurs whenever a machine aids in this process. The amount of automatic programming that is occurring is a variable quantity that depends on how much aid the human is given. There are a number of dimensions on which the level of help can be measured including the level of the language used by the human, the amount of informality allowed, the degree to which the system is told what to do rather than how to do it, and the efficiency of the resulting code. Thus we usually say that there is a higher degree of automatic programming whenever a higher level language is used, less precision is required of the human, the input instructions are more declarative and less procedural, and the quality of the object code is better. The technologies of automatic programming thus include the fields that help move the programming experience along any of these dimensions: algorithm synthesis, programming language research, compiler theory, human factors, and others. This paper will concentrate on only the first of these topics, formal methodologies for the automatic construction of algorithms from fragmentary information. The formal methodologiest have been separated into two categories, synthesis from formal specifications and synthesis from examples. In the former case, it is assumed a specification is given for the target program with adequate domain information so that the target program can be derived in a series of logical steps.