![]() |
|||
![]()
|
![]() |
![]() |
![]() |
2. HISTORICAL OVERVIEWIn 1956, a small group of computer scientists attended a summer workshop sponsored by IBM at Dartmouth College. Their discussion focused on their present research efforts in automatic theorem proving and new programming languages. They also discussed ways that this work might be directed for developing a computer that could simulate human reasoning. This confer ence marked the birth of artificial intelligence (AI). Following this event, researchers in various countries set out in different directions to develop programs capable of intelligent behavior. Some looked for methods to form the basis of intelligent programs, such as knowledge representation and inferencing techniques, while others took a broader approach and attempted to design general problem solving programs, such as GPS. While this international horse race took many divergent tracks, all projects shared one common point: a basic programming language was used such as LISP or PROLOG. In the U.S., LISP was the language of choice. Though powerful in its symbolic processing capability, it was found to be difficult to master, giving rise to few LISP programmers who were mainly confined to academic circles. In addition, the many dialects of LISP were the source of migraines for researchers who looked to exchange code. Fortunately, this situation improved in mid-1970s with the introduction of a LISP standard called Common LISP -- the aspirin of choice for LISP programmers. Researchers in the U.K. and Japan adopted PROLOG for developing intelligent programs. It was also the language chosen in Japan for the Fifth Generation effort. Based in a formal well-understood logic, PROLOG offers a language to develop exact deductive programs. Ironicly, it is the exactness of PROLOG that many researchers found too constraining. In addition, like LISP, PROLOG required a disciplined student to master it, thus limiting the number of competent programmers. Given the complexities of these two languages, AI research was confined principally to the academic world during the 1960s and 1970s, where very few expert systems were built. Also, since these systems were built from scratch, development time was large. Fortunately, an event occurred following the MYCIN project that dramatically changed this situation. MYCIN (Shortliffe, 1976) was developed at Stanford University to aid physicians in diagnosing and treating patients with infectious blood diseases caused by bacteremia (bacteria in the blood) and meningitis (bacterial disease that causes inflammation of the membrane surrounding the brain and spinal cord). These diseases can be fatal if not recognized and treated quickly. The system was developed during the mid-1970s and took approximately 20 person-years to complete. MYCIN is a rule-based expert system that uses backward chaining and incorporates approximately 500 rules. The system was written in INTERLISP, a dialect of the LISP programming language. During the work on MYCIN, a large amount of LISP code was written for different modules:
Toward the end of the project, the MYCIN developers realized that because the knowledge on infectious diseases was separate from its control, then the code written for the other modules should be portable to other applications. Bill van Melle (1979) wrote
By removing the knowledge about infectious blood diseases, a system known as EMYCIN (van Melle, 1979) was formed. EMYCIN is a domain-independent version of MYCIN that contains all of MYCIN except its knowledge about infectious blood disease. EMYCIN facilitated the development of other expert systems, such as PUFF (Aikens et al., 1983), an application for the diagnosis of pulmonary problems. The separation of knowledge from its processing is a powerful feature of expert systems that permits the reuse of existing code and greatly reduces the development time for other systems. For example, PUFF was produced in about 5 person-years, a considerable saving over the 20 person-years required to develop MYCIN. EMYCIN was the forerunner of today's expert system shells. The value of a shell to greatly reduce expert system development time was quickly recognized by the commercial sector, where the number of shell vendors began to grow rapidly. Following, in short order, was a dramatic increase in the number of developed expert systems. Two surveys of the field underscore this point. In 1990, along with Brian Sawyer, Harmon published Creating Expert Systems for Business and Industry (Harmon and Sawyer, 1990). The book included estimates of the number of developed expert systems between 1985 and 1988. These estimates are shown in Figure 2 along with the result from a 1992 survey (Durkin, 1993). Figure 3 shows the percentage of applications from the 1992 survey that were developed with different software tools. The "other" software category of Figure 3 includes the languages C, Pascal, LOOPS, Fortran, Smalltalk, and Basic. As this figure illustrates, the vast majority of systems have been developed with the aid of a shell.
|
![]() |
|
Use of this site is subject certain Terms & Conditions. Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details. |