Expert system

In artificial intelligence , an expert system is a computer system that emulates the decision-making ability of a human expert. [1] Expert systems are designed to solve complex problems by reasoning about knowledge, Represented Mainly as if-then rules Rather than through conventional procedural code . [2] The first expert systems were created in the 1970s and then proliferated in the 1980s. [3] Expert systems were among the first truly successful forms of artificial intelligence (AI) software. [4] [5] [6] [7] [8]

An expert system is divided into two subsystems: the inference engine and the knowledge base . The knowledge base of the facts and rules. The inference engine applies the rules to deduce new facts. Inference engines can also include explanation and debugging abilities. [9]


Expert systems were introduced by the Stanford Heuristic Programming Project led by Edward Feigenbaum , who is sometimes termed the “father of expert systems”; Other key early contributors were Jairus Lainibo , Bruce Buchanan, and Randall Davis. The Stanford researchers tried to identify domains where expertise was highly valued and complex, such as diagnosing infectious diseases ( Mycin ) and identifying unknown organic molecules ( Dendral ). ALTHOUGH That “smart power systems derived from the knowledge Their They Possess Rather than from the specific formalisms and inference schemes They Use” [10] – as Feigenbaum said – Seems straightforward in retrospect has insight Rather, It was a significant step forward Then, Since then, research has been focused on developing all-round solvers, such as those described by Allen Newell and Herb Simon . [11] Expert systems for the first truly successful forms of artificial intelligence (AI) software. [4] [5] [6] [7] [8]

Research was also active in France. While in the US the focus tended to be one rule-based systems, first one systems hard coded on top of Lisp programming environments and tab then on expert system shells developed by vendors Such As IntelliCorp , in France research Focused more on systems Developed in Prolog . The advantage of expert system was that they were not easy to use. The advantage of Prolog environments Was That They Were not Focused only one if-then rules; Prolog environments provided a much fuller realization of a complete First Order Logic environment. [12] [13]

In the 1980s, expert systems proliferated. Universities offert expert system runs and two Thirds of the Fortune 500 companies applied the technology in daily business activities. [3] [14] Interest with the Fifth Generation Computer Systems project in Japan and increased research funding in Europe.

In 1981, the first IBM PC , with the PC DOS operating system, was introduced. The implications for the computing power of computers in the PC, compared to the computing power of computing power, Client-server model . [15]Calculations and reasoning could be performed at a fraction of the price of a mainframe using a PC. This model also enabled business units to bypass corporate IT departments and directly build their own applications. As a result, client server had a tremendous impact on the expert systems market. Expert systems were already outliers in much of the business world, Requiring new skills that many IT departments did not have eager to develop. They were a natural fit for new PC-based shells that promised to put application into the hands of end users and experts. Lisp machines from Xerox , Symbolics , and Texas Instruments . With the rise of the PC and client server computing, vendors such as Intellicorp and Inference Corporation shifted their priorities to developing PC based tools. Also, new vendors, often financed by venture capital (such as Aion Corporation, Neuron Data , Exsys, and many others [16] [17] ),

The SID (Synthesis of Integral Design) software program, developed in 1982. Written in LISP , SID generated 93% of the VAX 9000 CPU logic gates. [18] Input to the software was a set of rules created by several expert logic designers. SID expanded the rules and generated software logic synthesis routines many times the size of the rules themselves. Surprisingly, the combination of these rules resulted in an overall design that exceeded the capabilities of the experts themselves, and in many cases out-performed the human counterparts. While some rules are contradicted others, the tie-breaker is not the only one. The program was highly controversial, but used nevertheless due to budget constraints. It was terminated by the VAX 9000 project completion project.

In the 1990s and beyond, the term expert system and the idea of ​​a standalone AI system mostly dropped from the IT lexicon. There are two interpretations of this. One is that “expert systems failed”: the IT world moved on because we did not deliver on their promised hyped. [19] [20] The other is the mirror opposite, That expert systems Were simply victims of Their Success: as IT professionals grasped concepts Such As rule engines, Such tools migrated from being white standalone tools for Developing special purpose expert systems, to being white one Of many standard tools. [21] Many of the leading business application application vendors (such as SAP , Siebel , And Oracle ) integrated expert system as a way of specifying business logic – rule engines are no longer merely for defining the rules an expert would use for any type of complex, volatile, and critical business logic; They often go hand in hand with business process automation and integration environments. [22] [23] [24]

Software architecture

An expert system is an example of a knowledge-based system . Expert systems were the first commercial systems to use a knowledge-based architecture. A knowledge-based system is essentially composed of two sub-systems: the knowledge base and the inference engine . [25]

The knowledge base about the world. In early expert systems such as Mycin and Dendral, these facts were mainly assertions about variables. In this paper, we present a new approach to the development of new concepts of object-oriented programming. The world was represented as classes, subclasses, and instances and assertions were replaced by values ​​of object instances. The rules worked by querying and asserting values ​​of the objects.

The inference engine is an automated reasoning system that evaluates the current state of the knowledge-base, applying rules, and then asserts new knowledge into the knowledge base. The inference engine may also include abilities for explanation, so that it can explain to a user the chain of reasoning used to arrive at a particular conclusion by tracing back over the firing of rules that resulted in the assertion. [26]

There are two modes for an inference engine: forward chaining and backward chaining . The different approaches are dictated by whether the inference engine is being driven by the antecedent (left hand side) or the consequent (right hand side) of the rule. Inward chaining an antecedent fires and asserts the consequent. For example, consider the following rule:

A simple example of forward chaining would be to assert Man (Socrates) to the system and then trigger the inference engine. It would match R1 and assert Mortal (Socrates) into the knowledge base.

Backward chaining is a bit less straight forward. In backward chaining the system looks at possible conclusions and works. So Mortal (Socrates) is true it would find R1 and query the knowledge base to see if Man (Socrates) is true. One of the first innovations of expert systems was to integrate inference engines with a user interface. This could be especially powerful with backward chaining. If the information is not available, the user will be able to access it. So in this example, it could use R1 to ask the user if Socrates was a.

The use of rules to explicitly represent knowledge also enabled explanation abilities. In the simple example above the system had used R1 to assert that Socrates was Mortal and a user wished to understand why Socrates was mortal they could query the system and the system would look back at the rules which fired to the assertion and present those Rules to the user as an explanation. Why is Socrates Mortal? ” The system would reply “Because all men are dead and Socrates is a man”. A significant area for research was the generation of explanations from the knowledge base in natural. [27]

As expert systems evolved, many new techniques were incorporated into various types of inference engines. [28] Some of the most important of these were:

  • Truth maintenance. These systems can be used to calculate the amount of time required for a given knowledge. For example, if the system learns that Socrates is no longer known to be a man it will revoke the assertion that Socrates is mortal.
  • Hypothetical reasoning. In this, the knowledge base can be divided up into many possible views, aka worlds. This allows the inference to explore multiple possibilities in parallel. For example, the system may want to explore the consequences of both assertions, what will be true if Socrates is a Man and what will be true if he is not?
  • Fuzzy logic. One of the first extensions of a rule is a probability with each rule. So, not to assert that Socrates is mortal, but to assert Socrates may be mortal with some probability value. Simple probabilities were extended in some systems with sophisticated mechanisms for uncertain reasoning and combination of probabilities.
  • Ontology classification. With the addition of object classes to the knowledge base, a new type of reasoning was possible. Along with reasoning simply about object values, the system could also reason about object structures. In this simple example, Man can represent an object class and R1 can be redefined as a class of all men. These types of special purpose inference engines are termed classifiers . Although they are not highly used in expert systems, classifiers are very powerful for unstructured volatile domains, and are a key technology for the Internet and the emerging Semantic Web . [29] [30]


The goal of knowledge-based systems is to make the critical information required for the system to work explicit rather than implicit. [31] In a traditional computer program it is possible to read and write. With an expert system the goal was to define the rules in a format that was intuitive and easily understood. The benefits of this explicit knowledge representation were rapid development and ease of maintenance.

Ease of maintenance is the most noticeable benefit. This was achieved in two ways. First, by removing the need to write conventional code, many of the normal problems that can be caused by even small changes to a system could be avoided with expert systems. Essentially, the logical flow of the program (at least at the highest level) was simply a given for the system, simply invoke the inference engine. This also was a reason for the second benefit: rapid prototyping . With an expert system shell it was possible to enter a few rules and have a prototype developed in days rather than the months or years.

A claim for an expert system that has been removed from the system. In reality, this was seldom if ever true. While the rules for an expert system were more comprehensible than normal computer code, they still had a formal syntax where a misplaced comma or other character could cause havoc as with any other computer language. Also, as an expert in the development of prototypes in the business world, issues of integration and maintenance became far more critical. Inevitably demands to integrate with, and take advantage of, large legacy databases and systems arose. To accomplish this, integration requires the same skills as any other type of system. [32]


The most common disadvantage for academic literature is the knowledge acquisition problem. Obtaining the time of domain experts for any software application is always difficult, but for expert systems it was especially difficult because the experts were by definition highly valued and in constant demand by the organization. As a result of this problem, a great deal of research in the later years of expert systems was focused on tools for knowledge acquisition, to help automate the process of designing, debugging, and maintaining rules defined by experts. However, when it comes to the life cycle of experts in the use of other systems, Access to large databases, and performance. [33] [34]

Performance was especially problematic because early expert systems were built using tools such as Lisp, which executed interpreted (rather than compiled) code. Interpreting Provided an extremely Powerful development environment with the aim drawback That It Was Virtually possible to match the efficiency of the fastest compiled languages, Such As C . System and database integration Were difficulties for early expert systems Because The tools Were mostly in languages and platforms That Were Neither familiar to nor welcome in MOST corporate IT environments – programming languages Such As Lisp and Prolog, and hardware platforms Such As Lisp machine and personal computers . As a result, much effort into the later courses of expert system development tool Was Focused on Integrating with legacy environments Such As COBOL and wide database systems, and porting it to more standard platforms. These issues were resolved mainly by the client-server paradigm shift, as PCs were gradually accepted in the IT environment as a legitimate platform for serious business system development and as affordable minicomputer servers. [32] As PCs were gradually accepted in the IT environment as a legitimate platform for serious business system development and affordable minicomputer servers. [32] As PCs were gradually accepted in the IT environment as a legitimate platform for serious business system development and affordable minicomputer servers. [32]


Hayes-Roth divides expert systems applications into 10 categories illustrated in the following table. The Hayes-Roth table, and some of them arose well afterward. Any application that is not footnoted is described in the Hayes-Roth book. [26] Also, while these categories provide an intuitive framework to describe the space of expert systems applications, they are not rigid categories, and in some cases an application may show traits of more than one category.

Category Problem addressed Templates
Interpretation Inferring situation descriptions from sensor data Hearsay (speech recognition), PROSPECTOR
Prediction Inferring likely consequences of given situations Preterm Birth Risk Assessment [35]
Diagnosis Inferring system malfunctions from observables CADUCEUS, MYCIN , PUFF, Mistral, [36] Eydenet, [37] Kaleidos [38]
Design Configuring objects under constraints Dendral , Mortgage Loan Advisor , R1 (DEC VAX Configuration), SID (DEC VAX 9000 CPU )
schedule Designing actions Mission Planning for Autonomous Underwater Vehicle [39]
monitoring Comparing observations to plan vulnerabilities REACTOR [40]
debugging Providing incremental solutions for complex problems SAINT, MATHLAB, MACSYMA
Repair Executing a plan to administer a prescribed remedy Toxic Spill Crisis Management
Instruction Diagnosing, assessing, and repairing student behavior SMH.PAL, [41] Intelligent Clinical Training, [42] STEAMER [43]
Control Interpreting, predicting, repairing, and monitoring system behaviors Real Time Process Control, [44] Space Shuttle Mission Control [45]

Hearsay was an early attempt at solving the voice of a system expert. For the most part this category or expert systems was not all that successful. Hearsay and all interpretation systems are essentially pattern recognition systems for patterns in noisy data. In the case of Hearsay recognizing phonemes in an audio stream. Other early examples were analyzing sonar data to detect Russian submarines. These kinds of systems proved much more amenable to a neural network AI solution than a rule-based approach.

CADUCEUS and MYCIN were medical diagnosis systems. The medical diagnosis and diagnosis of osteoporosis.

Dendral was a tool to study hypothesis formation in the identification of organic molecules. The general problem it solved-designing a solution Given a set of constraints-was one of the MOST successful areas for early expert systems applied to business domains Such As salespeople Configuring Digital Equipment Corporation (DEC) VAX computers and mortgage loan application development.

SMH.PAL is an expert system for the assessment of students with multiple disabilities. [41]

Mistral [36] is an expert system to monitor dam safety, developed in the 90’s by Ismes (Italy). It gets data from an automatic monitoring system and performs a diagnosis of the state of the dam. Its first copy, installed in 1992 on the Ridracoli Dam (Italy), is still operational 24/7/365. It has been installed on several dams in Italy and abroad (eg, Itaipu Dam in Brazil), and on landslide sites under the name of Eydenet, [37] and on monuments under the name of Kaleidos. [38] Mistral is a registered trade mark of CESI .

Applications as Bayesian networks

Bayesian networks (BNs) are probabilistic graphical models, which are typically used to model the cause and effect relationships, have become the most widely accepted technique for incorporating expert knowledge along with data. Expert knowledge can be incorporated into BNs by either constructing the causal (or dependence) graph, or by incorporating factors into the causal network. The popularity of BNs as experts has led to the development of countless prediction and decision support systems in industry, government and academia worldwide. These systems typically incorporate both knowledge and data, and have been applied in the areas of, but not limited to, finance, engineering, sports, [46] [47] sports psychology,

See also

  • Knowledge representation and reasoning
  • Knowledge engineering
  • Constraint programming
  • Constraint satisfaction
  • Learning classifier system
  • Rule-based machine learning


  1. Jump up^ Jackson, Peter (1998), Introduction To Expert Systems (3 ed.), Addison Wesley, p. 2, ISBN  978-0-201-87686-4
  2. Jump up^ “Conventional programming” . . Retrieved 2013-09-15 .
  3. ^ Jump up to:a b Leondes, Cornelius T. (2002). Expert systems: the technology of knowledge management and decision making for the 21st century . pp. 1-22. ISBN  978-0-12-443880-4 .
  4. ^ Jump up to:a b Russell, Stuart; Norvig, Peter (1995). Artificial Intelligence: A Modern Approach (PDF) . Simon & Schuster. pp. 22-23. ISBN  0-13-103805-2 . Retrieved 14 June 2014 .
  5. ^ Jump up to:a b Luger & Stubblefield 2004 , pp. 227-331.
  6. ^ Jump up to:a b Nilsson 1998 , chpt. 17.4.
  7. ^ Jump up to:a b McCorduck 2004 , pp. 327-335, 434-435.
  8. ^ Jump up to:a b Crevier 1993 , pp. 145-62, 197-203.
  9. Jump up^ Nwigbo Stella and Agbo Okechuku Chuks, School of Science Education, Expert system: a catalyst in educational development in Nigeria: “Knowledge-based systems collect the small fragments of human know-how into a knowledge-base which is used to reason Through a problem, using the knowledge that is appropriated
  10. Jump up^ Edward Feigenbaum, 1977. Paraphrased by Hayes-Roth, et al.
  11. Jump up^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems . Addison-Wesley. pp. 6-7. ISBN  0-201-10686-8.
  12. Jump up^ George F. Luger and William A. Stubblefield, Benjamin / Cummings Publishers, Rule Based Expert System Shell
  13. Jump up^ A. Michiels, University of Liège, Belgium: “PROLOG, the first declarative language
  14. Jump up^ Durkin, J. Expert Systems: Catalog of Applications. Intelligent Computer Systems, Inc., Akron, OH, 1993.
  15. Jump up^ Orfali, Robert (1996). The Essential Client / Server Survival Guide . New York: Wiley Computer Publishing. pp. 1-10. ISBN  0-471-15325-7 .
  16. Jump up^ Hurwitz, Judith (2011). Smart or Lucky: How Technology Leaders Turn Chance into Success . John Wiley & Son. p. 164. ISBN  1118033787 . Retrieved 29 November 2013 .
  17. Jump up^ Dunn, Robert J. (September 30, 1985). “Expandable Expertise for Everyday Users” . InfoWorld . 7 (39): 30 . Retrieved 2011-03-13 .
  18. Jump up^ Carl S. Gibson, et al., VAX 9000 SERIES, Digital Technical Journal of Digital Equipment Corporation, Volume 2, Number 4, Fall 1990, pp118-129.
  19. Jump up^ AI Expert Newsletter: W is for Winter
  20. Jump up^ Leith P., “The rise and fall of the legal expert system”, in European Journal of Law and Technology, Vol. 1, Issue 1, 2010
  21. Jump up^ Haskin, David (January 16, 2003). “Years After Hype, ‘Expert Systems’ Paying Off For Some” . Datamation . Retrieved 29 November 2013 .
  22. Jump up^ SAP News Desk. “SAP News Desk IntelliCorp Announces Participation in SAP EcoHub” . . LaszloTrack . Retrieved 29 November 2013 .
  23. Jump up^ Pegasystems. “Smart BPM Requires Smart Business Rules” . . Retrieved 29 November 2013 .
  24. Jump up^ Zhao, Kai; Ying, Shi; Zhang, Linlin; Hu, Luokai (9-10 Oct 2010). “Achieving business process and business rules using SPL” . Future Information Technology and Management Engineering (FITME) . 2 . Changzhou, China: IEEE. pp. 329-332. ISBN  978-1-4244-9087-5 . Doi :10.1109 / fitme.2010.5656297 .
  25. Jump up^ Smith, Reid (May 8, 1985). “Knowledge-Based Systems Concepts, Techniques, Examples” (PDF) . Reid G. Smith . Retrieved 9 November2013 .
  26. ^ Jump up to:a b Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems . Addison-Wesley. ISBN  0-201-10686-8 .
  27. Jump up^ Nabil Arman, Polytechnic University of Palestine, January 2007, Fault Detection in Dynamic Rule Basics Using Spanning Trees and Disjoin Sets:
  28. Jump up^ Puty, William (1987). “An Assessment of Tools for Building Large Knowledge-Based Systems” . AI Magazine . 8 (4).
  29. Jump up^ MacGregor, Robert (June 1991). “Using a description classifier to enhance knowledge representation” . IEEE Expert . 6 (3): 41-46. Doi :10.1109 / 64.87683 . Retrieved 10 November 2013 .
  30. Jump up^ Berners-Lee, Tim; Hendler, James; Lassila, Ora (May 17, 2001). “The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities . ” Scientific American . 284 : 34-43. Doi : 10.1038 / scientificamerican0501-34 .
  31. Jump up^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems . Addison-Wesley. p. 6. ISBN  0-201-10686-8 .
  32. ^ Jump up to:a b Wong, Bo K .; Monaco, John A.; Monaco (September 1995). “Expert system applications in business: a review and analysis of the literature”. Information and Management . 29 (3): 141-152. Doi : 10.1016 / 0378-7206 (95) 00023-p . Retrieved 29 November 2013 .
  33. Jump up^ Kendal, SL; Creen, M. (2007), An introduction to knowledge engineering, London: Springer, ISBN  978-1-84628-475-5 , OCLC  70987401
  34. Jump up^ Feigenbaum, Edward A .; McCorduck, Pamela (1983), The fifth generation (1st ed.), Reading, MA: Addison-Wesley , ISBN  978-0-201-11519-2 , OCLC  9324691
  35. Jump up^ Woolery, LK; Grzymala-Busse, J (1994). “Machine learning for an expert system to predict preterm birth risk” . Journal of the American Medical Informatics Association . 1 (6): 439-446. PMC  116227  . PMID  7850569 . Doi : 10.1136 / jamia.1994.95153433 .
  36. ^ Jump up to:a b Salvaneschi, Paolo; Cadei, Mauro; Lazzari, Marco (1996). “Applying AI to structural safety monitoring and evaluation” . IEEE Expert – Intelligent Systems . 11 (4): 24-34. Doi : 10.1109 / 64.511774 . Retrieved 5 March 2014 .
  37. ^ Jump up to:a b Lazzari, Marco; Salvaneschi, Paolo (1999). “Embedding a geographic information system in a decision support system for landslide hazard monitoring” (PDF) . International Journal of Natural Hazards . 20 (2-3): 185-195. Doi : 10.1023 / A: 1008187024768 .
  38. ^ Jump up to:a b Lancini, Stefano; Lazzari, Marco; Masera, Alberto; Salvaneschi, Paolo (1997). “Diagnosing Ancient Monuments with Expert Software”(PDF) . Structural Engineering International . 7 (4): 288-291. Doi : 10.2749 / 101686697780494392 .
  39. Jump up^ Kwak, S .. H. (1990). “A mission planning system for an autonomous underwater vehicle” . Proceedings of the 1990 Symposium on Autonomous Underwater Vehicle Technology : 123-128 . Retrieved 30 November 2013 .
  40. Jump up^ Nelson, WR (1982). “REACTOR: An Expert System for Diagnosis and Treatment of Nuclear Reactors” . Retrieved 30 November 2013 .
  41. ^ Jump up to:a b Hofmeister, Alan (1994). “SMH.PAL: an expert system for identifying treatment procedures for students with severe disabilities.” . Exceptional Children . 61 (2) . Retrieved 30 November 2013 .
  42. Jump up^ Haddawy, P; Suebnukarn, S. (2010). “Intelligent Clinical Training Systems”. Methods Inf Med 2010 . CiteSeerX  .
  43. Jump up^ Hollan, J .; Hutchins, E .; Weitzman, L. (1984). “STEAMER: An interactive inspectable simulation-based training system” . AI Magazine . Retrieved 30 November 2013 .
  44. Jump up^ Stanley, GM (July 15-17, 1991). “Experience using Knowledge-Based Reasoning in Real Time Process Control” (PDF) . Plenary paper presented at: International Federation of Automatic Control (IFAC) Symposium on Compute Aided Design in Control Systems . Retrieved 3 December 2013 .
  45. Jump up^ Rasmussen, Arthur; Muratore, John F .; Heindel, Troy A. (February 1990). “The INCO Expert System Project: CLIPS in Shuttle Mission Control” . NTRS . Retrieved 30 November 2013 .
  46. Jump up^ Constantinou, Anthony; Fenton, Norman; Neil, Martin (2012). “Pi-football: A Bayesian network model for Football Association matching outcomes” . Knowledge-Based Systems . 36 : 322-339.
  47. Jump up^ Constantinou, Anthony; Fenton, Norman; Neil, Martin (2013). “Pi-football: Profiting from an inefficient Association Football gambling market: Prediction, Risk and Uncertainty using Bayesian networks” . Knowledge-Based Systems . 50 : 60-86.
  48. Jump up^ Constantinou, Anthony; Fenton, Norman; Pollock, Liam (2014). “Bayesian Networks for an assessment of referee bias in Football Association” . Psychology of Sport and Exercise . 15 : 538-547.
  49. Jump up^ Yet, Barbaros; Constantinou, Anthony; Fenton, Norman; Neil, Martin; Luedeling, E .; Shepherd, K. (2016). “A Bayesian Network Framework for Project Cost, Benefit and Risk Analysis with an Agricultural Development Case Study” . Expert Systems with Applications . 60 : 141-155.
  50. Jump up^ Constantinou, Anthony; Freestone, Mark; Marsh, William; Coid, Jeremy (2015). “Forensic Psychiatry” . Decision Support Systems . 80 : 42-55.
  51. Jump up^ Constantinou, Anthony; Fenton, Norman; Marsh, William; Radlinski, L. (2016). “From complex questionnaire and interviewing data to intelligent Bayesian Network models for medical decision support” . Artificial Intelligence in Medicine . 67 : 75-93.
  52. Jump up^ Constantinou, Anthony; Freestone, Mark; Marsh, William; Fenton, Norman; Coid, Jeremy (2015). “Risk assessment and risk management of violent reoffending among prisoners” . Expert Systems with Applications. 42 : 7511-7529.
  53. Jump up^ Constantinou, Anthony; Yet, Barbaros; Fenton, Norman; Neil, Martin; Marsh, William (2016). “Value of Information Analysis for Interventional and Counterfactual Bayesian Networks in Forensic Medical Sciences” . Artificial Intelligence in Medicine . 66 : 41-52.

Leave a Comment

Your email address will not be published. Required fields are marked *