Revision as of 20:59, 4 December 2012 editSminthopsis84 (talk | contribs)Autopatrolled, Extended confirmed users, Pending changes reviewers37,885 edits Reverted 1 edit by 196.1.139.49 (talk): Revert unexplained deletion. (TW)← Previous edit | Latest revision as of 03:07, 9 December 2024 edit undoOAbot (talk | contribs)Bots442,414 editsm Open access bot: hdl updated in citation with #oabot. | ||
(644 intermediate revisions by more than 100 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Computer system emulating the decision-making ability of a human expert}} | |||
] 3640 ]: an early (1984) platform for expert systems]] | |||
| title = Introduction To Expert Systems | |||
| year = 1998 | |||
| publisher = Addison Wesley | |||
| edition = 3 | |||
| author = Jackson, Peter | |||
| isbn = 978-0-201-87686-4 | |||
| page = 2 | |||
}}</ref> Expert systems are designed to solve complex problems by reasoning about knowledge, like an expert, and not by following the ] of a ] as is the case in conventional programming.<ref>, School of Science Education, Expert system: a catalyst in educational development in Nigeria: "''The ability of this system to explain the reasoning process through back-traces (...) provides an additional feature that conventional programming does not handle''"</ref><ref>: "A new approach to expert system explanations"</ref><ref></ref> The first expert systems were created in the 1970s and then proliferated in the 1980s.<ref name="durkinhistory">{{cite book| author = Cornelius T. Leondes| title = Expert systems: the technology of knowledge management and decision making for the 21st century| year = 2002| isbn = 978-0-12-443880-4| pages = 1–22 }}</ref> Expert systems were among the first truly successful forms of ] software.<ref name="ReferenceA">{{Harvnb|ACM|1998|loc=I.2.1|ref=ACM1998}}</ref><ref name="Russell 2003 22−24">{{Harvnb|Russell|Norvig|2003|pp=22−24}}</ref><ref name="Luger 2004 227–331">{{Harvnb|Luger|Stubblefield|2004|pp=227–331}}</ref><ref name="Nilsson 1998 loc=chpt. 17.4">{{Harvnb|Nilsson|1998|loc=chpt. 17.4}}</ref><ref name="McCorduck 2004 327–335, 434–435">{{Harvnb|McCorduck|2004|pp=327–335, 434–435}}</ref><ref name="Crevier 1993 145–62, 197−203">{{Harvnb|Crevier|1993|pp=145–62, 197−203}}</ref> | |||
In ] (AI), an '''expert system''' is a computer system emulating the decision-making ability of a human ].<ref name="Jackson1998">{{cite book |last1=Jackson |first1=Peter |year=1998 |title=Introduction To Expert Systems |publisher=Addison Wesley |edition=3 |isbn=978-0-201-87686-4 |page=2}}</ref> | |||
An expert system has a unique structure, different from traditional ]. It is divided into two parts, one fixed, independent of the expert system: the inference engine, and one variable: the knowledge base. To run an expert system, the engine reasons about the knowledge base like a human.<ref>, 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''"</ref> In the 80s a third part appeared: a dialog ] to communicate with users.<ref>{{cite doi|10.1109/60.4202}}</ref> This ability to conduct a conversation with users was later called "]".<ref>{{Cite doi|10.1145/505282.505285}}</ref><ref>{{cite doi|10.1109/64.153464}}</ref> | |||
Expert systems are designed to solve complex problems by ] through bodies of knowledge, represented mainly as ] rather than through conventional ] code.<ref>{{cite web |url=https://www.pcmag.com/encyclopedia_term/0,2542,t=conventional+programming&i=40325,00.asp |title=Conventional programming |publisher=Pcmag.com |access-date=2013-09-15 |archive-date=2012-10-14 |archive-url=https://web.archive.org/web/20121014124656/http://www.pcmag.com/encyclopedia_term/0%2C2542%2Ct%3Dconventional+programming%26i%3D40325%2C00.asp |url-status=dead}}</ref> Expert systems were among the first truly successful forms of AI software.<ref name="Simon & Schuster">{{cite book |last1=Russell |first1=Stuart |last2=Norvig |first2=Peter |title=Artificial Intelligence: A Modern Approach|date=1995 |publisher=Simon & Schuster |isbn=978-0-13-103805-9 |pages=22–23|url=http://stpk.cs.rtu.lv/sites/all/files/stpk/materiali/MI/Artificial%20Intelligence%20A%20Modern%20Approach.pdf|access-date=14 June 2014 |archive-url=https://web.archive.org/web/20140505045226/http://stpk.cs.rtu.lv/sites/all/files/stpk/materiali/MI/Artificial%20Intelligence%20A%20Modern%20Approach.pdf |archive-date=5 May 2014|url-status=dead}}</ref>{{sfn|Luger|Stubblefield|2004|pp=227–331}}{{sfn|Nilsson|1998|loc=chpt. 17.4}}{{sfn|McCorduck|2004|pp=327–335, 434–435}}{{sfn|Crevier|1993|pp=145–62, 197−203}} They were created in the 1970s and then proliferated in the 1980s,<ref name="durkinhistory">{{cite book |first= Cornelius T. |last= Leondes |title=Expert systems: the technology of knowledge management and decision making for the 21st century |year=2002 |isbn=978-0-12-443880-4 |pages=1–22}}</ref> being then widely regarded as the future of AI — before the advent of successful ]s.<ref>{{Cite news |date=2024-07-16 |title=A short history of AI |url=https://www.economist.com/schools-brief/2024/07/16/a-short-history-of-ai|access-date=2024-08-14 |newspaper=]|language=en}}</ref> | |||
An expert system is divided into two subsystems: 1) a '']'', which represents facts and rules; and 2) an '']'', which applies the rules to the known facts to deduce new facts, and can include explaining and debugging abilities. | |||
==History== | == History == | ||
=== Early development === | |||
Expert systems were introduced by researchers in the Stanford Heuristic Programming Project, including the "father of expert systems" with the ] and ] systems. Principal contributors to the technology were Bruce Buchanan, Edward Shortliffe, Randall Davis, William vanMelle, Carli Scott and others at Stanford. Expert systems were among the first truly successful forms of AI software.<ref name="ReferenceA"/><ref name="Russell 2003 22−24"/><ref name="Luger 2004 227–331"/><ref name="Nilsson 1998 loc=chpt. 17.4"/><ref name="McCorduck 2004 327–335, 434–435"/><ref name="Crevier 1993 145–62, 197−203"/> | |||
Soon after the dawn of modern computers in the late 1940s and early 1950s, researchers started realizing the immense potential these machines had for modern society. One of the first challenges was to make such machines able to “think” like humans – in particular, making these machines able to make important decisions the way humans do. The medical–healthcare field presented the tantalizing challenge of enabling these machines to make medical diagnostic decisions.<ref name="CADsurvey">{{cite journal |vauthors=Yanase J, Triantaphyllou E |title=A Systematic Survey of Computer-Aided Diagnosis in Medicine: Past and Present Developments |journal=Expert Systems with Applications |volume=138 |pages=112821 |date=2019 |doi=10.1016/j.eswa.2019.112821 |s2cid=199019309}}</ref> | |||
Thus, in the late 1950s, right after the information age had fully arrived, researchers started experimenting with the prospect of using computer technology to emulate human decision making. For example, biomedical researchers started creating computer-aided systems for diagnostic applications in medicine and biology. These early diagnostic systems used patients’ symptoms and laboratory test results as inputs to generate a diagnostic outcome.<ref>{{cite journal |vauthors=Ledley RS, and Lusted LB |title=Reasoning foundations of medical diagnosis |journal=Science |date=1959 |volume=130 |issue=3366 |pages=9–21 |doi=10.1126/science.130.3366.9 |pmid=13668531 |bibcode=1959Sci...130....9L}}</ref><ref>{{cite journal |vauthors=Weiss SM, Kulikowski CA, Amarel S, Safir A |title=A model-based method for computer-aided medical decision-making |journal=Artificial Intelligence |date=1978 |volume=11 |issue=1–2 |pages=145–172 |doi=10.1016/0004-3702(78)90015-2 |citeseerx=10.1.1.464.3183}}</ref> | |||
Research is also very active in France, where researchers focus on the automation of reasoning and logic engines. The French ] computer language, designed in 1972, marks a real advance over expert systems like Dendral or Mycin: it is a ],<ref>George F. Luger and William A. Stubblefield, Benjamin/Cummings Publishers, Rule Based Expert System Shell: example of code using the Prolog rule based expert system shell</ref> that is to say a software structure ready to receive any expert system and to run it. It integrates an engine using First-Order logic, with rules and facts. It's a tool for mass production of expert systems and was the first operational ],<ref>, Université de Liège, Belgique: "PROLOG, the first declarative language</ref> later becoming the best selling AI language in the world.<ref>: "Prolog was the most popular AI language in Japan and probably in Europe"</ref> However Prolog is not particularly user friendly and is an order of logic away from human logic.<ref>, University of Novi Sad, 2007, Extensions of Deductive Concept in Logic Programing and Some Applications: "''the defects of PROLOG-system: the expansion concerning Horn clauses, escaping negation treatment as definite failure''"</ref><ref>"Software developed in Prolog has been criticized for having a high performance penalty compared to conventional programming languages"</ref><ref>, Softpanorama: "I think that most people exposed to Prolog remember strongly the initial disappointment. Language was/is so hyped but all you can see initially are pretty trivial examples that are solved by complex, obscure notation that lacks real expressive power: some of simple examples can be expressed no less concisely is many other languages"</ref> | |||
These systems were often described as the early forms of expert systems. However, researchers realized that there were significant limits when using traditional methods such as flow charts,<ref>{{cite journal |vauthors=Schwartz WB |date=1970 |title=Medicine and the computer: the promise and problems of change |journal=New England Journal of Medicine |volume=283 |issue=23 |pages=1257–1264 |doi=10.1056/NEJM197012032832305 |pmid=4920342}}</ref> | |||
<ref>{{cite journal |vauthors=Bleich HL |date=1972 |title=Computer-based consultation: Electrolyte and acid-base disorders |journal=The American Journal of Medicine |volume=53 |issue=3 |pages=285–291 |doi=10.1016/0002-9343(72)90170-2 |pmid=4559984}}</ref> statistical pattern matching,<ref>{{cite journal |vauthors=Rosati RA, McNeer JF, Starmer CF, Mittler BS, Morris JJ, and Wallace AG |date=1975 |title=A new information system for medical practice |journal=Archives of Internal Medicine |volume=135 |issue=8 |pages=1017–1024 |doi=10.1001/archinte.1975.00330080019003 |pmid=1156062}}</ref> or probability theory.<ref>{{cite journal |vauthors=Gorry GA, Kassirer JP, Essig A, and Schwartz WB |date=1973 |title=Decision analysis as the basis for computer-aided management of acute renal failure |journal=The American Journal of Medicine |volume=55 |issue=4 |pages=473–484 |doi=10.1016/0002-9343(73)90204-0 |pmid=4582702 |s2cid=17448496}}</ref><ref>{{cite journal |vauthors=Szolovits P, Patil RS, and Schwartz WB |date=1988 |title=Artificial intelligence in medical diagnosis |journal=Annals of Internal Medicine |volume=108 |issue=1 |pages=80–87 |doi=10.7326/0003-4819-108-1-80 |pmid=3276267 |s2cid=46410202}}</ref> | |||
=== Formal introduction and later developments === | |||
In the 1980s, expert systems proliferated as they were recognized as a practical tool for solving real-world problems. Universities offered expert system courses and two thirds of the ] companies applied the technology in daily business activities.<ref name=durkinhistory/><ref>Durkin, J. Expert Systems: Catalog of Applications. Intelligent Computer Systems, Inc., Akron, OH, 1993.</ref> Interest was international with the ] in Japan and increased research funding in Europe. Growth in the field continued into the 1990s. | |||
{{very long section|date=February 2024}} | |||
This previous situation gradually led to the development of expert systems, which used knowledge-based approaches. These expert systems in medicine were the ] expert system,<ref>{{cite journal |vauthors=Shortliffe EH, and Buchanan BG |title=A model of inexact reasoning in medicine |journal=Mathematical Biosciences |date=1975 |volume=23 |issue=3–4 |pages=351–379 |doi=10.1016/0025-5564(75)90047-4 |s2cid=118063112}}</ref> the ] expert system<ref>{{cite journal |vauthors=Miller RA, Pople Jr HE, and Myers JD |date=1982 |title=Internist-I, an experimental computer-based diagnostic consultant for general internal medicine |journal=New England Journal of Medicine |volume=307 |issue=8 |pages=468–476 |doi=10.1056/NEJM198208193070803 |pmid=7048091}}</ref> and later, in the middle of the 1980s, the ].<ref>{{cite book |last1=Feigenbaum |first1=Edward |pages=1–275 |title=The fifth generation |year=1984 |publisher=Addison-Wesley |isbn=978-0451152640 |first2=Pamela |last2=McCorduck}}</ref> | |||
Expert systems were formally introduced around 1965 by the ] Heuristic Programming Project led by ], who is sometimes termed the "father of expert systems";<ref>{{Cite web |last=Joseph 🎖️ |first=Staney |date=2023-10-30 |title=The Diversity of Artificial Intelligence: How Edward Feigenbaum Developed the Expert Systems |url=https://medium.com/@staneyjoseph.in/the-diversity-of-artificial-intelligence-how-edward-feigenbaum-developed-the-expert-systems-8fe57350efb8 |access-date=2024-01-26 |website=Medium |language=en}}</ref> other key early contributors were Bruce Buchanan and Randall Davis. The Stanford researchers tried to identify domains where expertise was highly valued and complex, such as diagnosing infectious diseases (]) and identifying unknown organic molecules (]).<ref>{{cite book |last1=Lea |first1=Andrew S. |year=2023 |title=Digitizing Diagnosis: Medicine, Minds, and Machines in Twentieth-Century America |publisher=Johns Hopkins University Press |pages=1–256 |isbn=978-1421446813}}</ref> The idea that "intelligent systems derive their power from the knowledge they possess rather than from the specific formalisms and inference schemes they use"<ref>Edward Feigenbaum, 1977. Paraphrased by Hayes-Roth, et al.</ref> – as Feigenbaum said – was at the time a significant step forward, since the past research had been focused on heuristic computational methods, culminating in attempts to develop very general-purpose problem solvers (foremostly the conjunct work of ] and ]).<ref>{{cite book |last1=Hayes-Roth |first1=Frederick |last2=Waterman |first2=Donald |last3=Lenat |first3=Douglas |author3-link=Douglas Lenat |year=1983 |pages= |title=Building Expert Systems |publisher=Addison-Wesley |isbn=978-0-201-10686-2 |url=https://archive.org/details/buildingexpertsy00temd/page/6}}</ref> Expert systems became some of the first truly successful forms of ] (AI) software.<ref name="Simon & Schuster"/>{{sfn|Luger|Stubblefield|2004|pp=227–331}}{{sfn|Nilsson|1998|loc=chpt. 17.4}}{{sfn|McCorduck|2004|pp=327–335, 434–435}}{{sfn|Crevier|1993|pp=145–62, 197−203}} | |||
The development of expert systems was aided by the development of the symbolic processing languages ] and ]. To avoid re-inventing the wheel, expert system shells were created that had more specialized features for building large expert systems.<ref>page 21. Giarratano & Riley, 3rd ed.</ref> | |||
Research on expert systems was also active in Europe. In the US, the focus tended to be on the use of ], first on systems hard coded on top of ] programming environments and then on expert system shells developed by vendors such as ]. In Europe, research focused more on systems and expert systems shells developed in ]. The advantage of Prolog systems was that they employed a form of ] that was based on ].<ref>George F. Luger and William A. Stubblefield, Benjamin/Cummings Publishers, Rule-Based Expert System Shell: example of code using the Prolog rule-based expert system shell</ref><ref> {{Webarchive|url=https://web.archive.org/web/20120402132354/http://promethee.philo.ulg.ac.be/engdep1/download/prolog/htm_docs/prolog.htm |date=2012-04-02}}, Université de Liège, Belgique: "PROLOG, the first declarative language</ref> | |||
In 1981 the first ] was introduced, with ] operating system. Its low price started to multiply users and opened a new market for computing and expert systems. In the 80's the image of AI was very good and people believed it would succeed within a short time. Many companies began to market expert systems shells from universities, renamed "generators" because they added to the shell a tool for writing rules in plain language and thus, theoretically, allowed to write expert systems without a programming language nor any other software. The best known: Guru (USA) inspired by Mycin, Personal Consultant Plus (USA), Nexpert Object (developed by Neuron Data, company founded in California by three French), Genesia (developed by French public company Electricité de France and marketed by Steria), VP Expert (USA). But eventually the tools were only used in research projects. They did not penetrate the business market, showing that AI technology was not mature. | |||
One such early expert system shell based on Prolog was APES.<ref name="APES">{{citation |url=https://www.ojp.gov/ncjrs/virtual-library/abstracts/investigating-apes-augmented-prolog-expert-system |title=Investigating with APES (Augmented Prolog Expert System) |access-date=2024-01-03}}</ref> | |||
In 1986, a new expert system generator for PCs appeared on the market, derived from the French academic research: Intelligence Service,<ref>., GSI-TECSI, Intelligence Service: build your own expert system : "''Intelligence Service is a development environment for expert systems that requires no experience of classic programming that offers to everyone the opportunity to develop its own expert system''"</ref><ref>, Le Monde Informatique, November 23, 1987: "Expert systems accessible to all"</ref> sold by GSI-TECSI software company. This software showed a radical innovation: it used propositional logic ("]") to execute expert systems, reasoning on a knowledge base written with everyday language rules, producing explanations and detecting logic contradictions between the facts. It was the first tool showing the AI defined by Edward Feigenbaum in his book about the Japanese Fifth Generation, (1983): "''The machines will have reasoning power: they will automatically engineer vast amounts of knowledge to serve whatever purpose humans propose, from medical diagnosis to product design, from management decisions to education''", "''The reasoning animal has, perhaps inevitably, fashioned the reasoning machine''", "''the reasoning power of these machines matches or exceeds the reasoning power of the humans who instructed them and, in some cases, the reasoning power of any human performing such tasks''". Intelligence Service was in fact "Pandora" (1985),<ref>, Science et Vie, "From total zero to Zero Plus ", May 1991</ref> a software developed for their thesis by two academic students of Jean-Louis Laurière,<ref></ref> one of the most famous and prolific French AI researcher.<ref>Journey "", Université Pierre et Marie Curie in Paris (March 22, 2006)</ref> Unfortunately, as this software was not developed by his own IT developers, GSI-TECSI was unable to make it evolve. Sales became scarce and marketing stopped after a few years. | |||
One of the first use cases of ] and APES was in the legal area namely, the encoding of a large portion of the British Nationality Act. Lance Elliot wrote: "The British Nationality Act was passed in 1981 and shortly thereafter was used as a means of showcasing the efficacy of using Artificial Intelligence (AI) techniques and technologies, doing so to explore how the at-the-time newly enacted statutory law might be encoded into a computerized logic-based formalization. A now oft-cited research paper entitled “The British Nationality Act as a Logic Program” was published in 1986 and subsequently became a hallmark for subsequent work in AI and the law."<ref name="AI & Law"> | |||
{{citation |url=https://lance-eliot.medium.com/ai-law-british-nationality-act-unexpectedly-spurred-ai-and-law-404aea03386a |title=AI & Law: British Nationality Act Unexpectedly Spurred AI And Law |date=17 April 2021 |access-date=2023-11-13}}</ref><ref name="BNA">{{cite journal |doi=10.1145/5689.5920 |author=M.J. Sergot and F. Sadri and R.A. Kowalski and F. Kriwaczek and P. Hammond and H.T. Cory |date=May 1986 |title=The British Nationality Act as a Logic Program |journal=Communications of the ACM |volume=29 |number=5 |pages=370–386}}</ref> | |||
In the 1980s, expert systems proliferated. Universities offered expert system courses and two-thirds of the ] companies applied the technology in daily business activities.<ref name=durkinhistory/><ref>Durkin, J. Expert Systems: Catalog of Applications. Intelligent Computer Systems, Inc., Akron, OH, 1993.</ref> Interest was international with the ] in Japan and increased research funding in Europe. | |||
== Software architecture == | |||
In 1981, the first ], with the ] operating system, was introduced.<ref>{{Cite web |title=The IBM PC - CHM Revolution |url=https://www.computerhistory.org/revolution/personal-computers/17/301 |access-date=2024-01-26 |website=www.computerhistory.org}}</ref> The imbalance between the high affordability of the relatively powerful chips in the PC, compared to the much more expensive cost of processing power in the mainframes that dominated the corporate IT world at the time, created a new type of architecture for corporate computing, termed the ].<ref>{{cite book |last1=Orfali |first1=Robert |year=1996 |title=The Essential Client/Server Survival Guide |publisher=Wiley Computer Publishing |location=New York |isbn=978-0-471-15325-2 |pages= |url=https://archive.org/details/essentialclients00orfa/page/1}}</ref> 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 and were not eager to develop. They were a natural fit for new PC-based shells that promised to put application development into the hands of end users and experts. Until then, the main development environment for expert systems had been high end ]s from ], ], and ]. 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 ] (such as Aion Corporation, ], Exsys, ], and many others<ref>{{cite book |last=Hurwitz |first=Judith |title=Smart or Lucky: How Technology Leaders Turn Chance into Success |year=2011 |publisher=John Wiley & Son |isbn=978-1118033784 |page=164|url=https://books.google.com/books?id=3KrTQzQHl7AC&q=expert+systems+failed+to+live+up+to+hype&pg=PA164|access-date=29 November 2013}}</ref><ref>{{cite journal |first=Robert J. |last=Dunn |date=September 30, 1985 |title=Expandable Expertise for Everyday Users |page=30 |journal=InfoWorld |volume=7 |issue=39 |url=https://books.google.com/books?id=iS8EAAAAMBAJ&pg=PA30 |access-date=2011-03-13}}</ref>), started appearing regularly. | |||
=== The rule base or knowledge base === | |||
In expert system technology, the knowledge base is expressed with ] rules IF ... THEN ... For examples : | |||
* "IF it is living THEN it is mortal" | |||
* "IF his age = known THEN his year of birth = date of today - his age in years" | |||
* "''IF the identity of the germ is not known with certainty AND the germ is gram-positive AND the morphology of the organism is "rod" AND the germ is aerobic THEN there is a strong probability (0.8) that the germ is of type enterobacteriacae''"<ref>] rule</ref> | |||
The first expert system to be used in a design capacity for a large-scale product was the Synthesis of Integral Design (SID) software program, developed in 1982. Written in ], SID generated 93% of the ] CPU logic gates.<ref name="SIDDTJ">{{cite journal |last1=Gibson |first1=Carl S. |display-authors=etal |title=VAX 9000 Series |journal=Digital Technical Journal of Digital Equipment Corporation |volume=2 |issue=4, Fall 1990 |pages=118–129}}</ref> Input to the software was a set of rules created by several expert logic designers. SID expanded the rules and generated software ] 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 contradicted others, top-level control parameters for speed and area provided the tie-breaker. The program was highly controversial but used nevertheless due to project budget constraints. It was terminated by logic designers after the VAX 9000 project completion. | |||
This formulation has the advantage of speaking in everyday language which is very rare in ] (a classic program is coded). Rules express the knowledge to be exploited by the expert system. There exist other formulations of rules, which are not in everyday language, understandable only to computer scientists. Each rule style is adapted to an engine style. The whole problem of expert systems is to collect this knowledge, usually unconscious, from the experts. There are methods but almost all are usable only by computer scientists. | |||
During the years before the middle of the 1970s, the expectations of what expert systems can accomplish in many fields tended to be extremely optimistic. At the start of these early studies, researchers were hoping to develop entirely automatic (i.e., completely computerized) expert systems. The expectations of people of what computers can do were frequently too idealistic. This situation radically changed after ] published his breakthrough paper: “Reducibility among Combinatorial Problems” in the early 1970s.<ref>{{cite book |last1=Karp |first1=Richard M. |year=1972 |chapter=Reducibility Among Combinatorial Problems |chapter-url=http://www.cs.berkeley.edu/~luca/cs172/karp.pdf |title=Complexity of Computer Computations |editor1-last=Miller |editor1-first=R. E. |editor2-last=Thatcher |editor2-first=J. W. |publisher=New York: Plenum |pages=85–103 |access-date=2020-01-24 |archive-date=2011-06-29 |url-status=dead |archive-url=https://web.archive.org/web/20110629023717/http://www.cs.berkeley.edu/~luca/cs172/karp.pdf}}</ref> Thanks to Karp's work, together with other scholars, like Hubert L. Dreyfus,<ref>{{cite book |author=Hubert L. Dreyfus |title=What Computers Still Can't Do |publisher=Cambridge, Massachusetts: The MIT Press |year=1972}}</ref> it became clear that there are certain limits and possibilities when one designs computer algorithms. His findings describe what computers can do and what they cannot do. Many of the computational problems related to this type of expert systems have certain pragmatic limits. These findings laid down the groundwork that led to the next developments in the field.<ref name="CADsurvey"/> | |||
=== The inference engine === | |||
The inference engine is a computer program designed to produce a reasoning on rules. In order to produce a reasoning, it should be based on ]. There are several kinds of logic: ], ] or more, ], ], ], ], etc. Except for propositional logic, all are complex and can only be understood by mathematicians, ]s or computer scientists. Propositional logic is the basic human logic, that is expressed in ]s. The expert system that uses that logic is also called a ] expert system. With logic, the engine is able to generate new information from the knowledge contained in the rule base and data to be processed. | |||
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 expert systems did not deliver on their over hyped promise.<ref>{{Cite web |url=http://www.ainewsletter.com/newsletters/aix_0501.htm#w |title=AI Expert Newsletter: W is for Winter |access-date=2013-11-29 |archive-url=https://web.archive.org/web/20131109201636/http://www.ainewsletter.com/newsletters/aix_0501.htm#w |archive-date=2013-11-09 |url-status=dead}}</ref><ref>{{cite journal |last1=Leith |first1=P. |date=2010 |url=http://ejlt.org//article/view/14/1 |title=The rise and fall of the legal expert system |journal=European Journal of Law and Technology |volume=1 |issue=1 |access-date=2020-01-24 |url-status=dead |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304124042/http://ejlt.org//article/view/14/1}}</ref> 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 standalone tools for developing special purpose ''expert'' systems, to being one of many standard tools.<ref>{{cite journal |last1=Haskin |first1=David |date=January 16, 2003 |title=Years After Hype, 'Expert Systems' Paying Off for Some |journal=Datamation |url=http://www.datamation.com/netsys/article.php/1570851/Years-After-Hype-Expert-Systems-Paying-Off-For-Some.htm|access-date=29 November 2013}}</ref> Other researchers suggest that Expert Systems caused inter-company power struggles when the IT organization lost its exclusivity in software modifications to users or Knowledge Engineers.<ref>{{cite journal |last1=Romem |first1=Yoram |title=The Social Construction of Expert Systems |journal=Human Systems Management |date=2007 |volume=26 |issue=4 |pages=291–309 |doi=10.3233/HSM-2007-26406 |url=https://www.researchgate.net/publication/228630533}}</ref> | |||
The engine has two ways to run: batch or conversational. In batch, the expert system has all the necessary data to process from the beginning. For the user, the program works as a classical program: he provides data and receives results immediately. Reasoning is invisible. The conversational method becomes necessary when the developer knows he cannot ask the user for all the necessary data at the start, the problem being too complex. The software must "invent" the way to solve the problem, request the missing data from the user, gradually approaching the goal as quickly as possible. The result gives the impression of a dialogue led by an expert. To guide a dialogue, the engine may have several levels of sophistication: "]", "]" and "]". Forward chaining is the questioning of an expert who has no idea of the solution and investigates progressively (e.g. fault diagnosis). In backward chaining, the engine has an idea of the target (e.g. is it okay or not? Or: there is danger but what is the level?). It starts from the goal in hopes of finding the solution as soon as possible. In mixed chaining the engine has an idea of the goal but it is not enough: it deduces in forward chaining from previous user responses all that is possible before asking the next question. So quite often he deduces the answer to the next question before asking it. | |||
In the first decade of the 2000s, there was a "resurrection" for the technology, while using the term '']s'', with significant success stories and adoption.<ref>{{cite news |last1=Voelker |first1=Michael P. |date=October 18, 2005 |url=https://www.informationweek.com/information-management/business-makes-the-rules |title=Business Makes the Rules |work=Information Week}}</ref> Many of the leading major business application suite vendors (such as ], ], and ]) integrated expert system abilities into their suite of products as a way to specify business logic. Rule engines are no longer simply for defining the rules an expert would use but for any type of complex, volatile, and critical business logic; they often go hand in hand with business process automation and integration environments.<ref>{{cite web |last=SAP News Desk |title=SAP News Desk IntelliCorp Announces Participation in SAP EcoHub |url=http://laszlo.sys-con.com/node/946452 |work=laszlo.sys-con.com |publisher=LaszloTrack |access-date=29 November 2013 |archive-date=3 December 2013 |archive-url=https://web.archive.org/web/20131203002523/http://laszlo.sys-con.com/node/946452 |url-status=dead}}</ref><ref>{{cite web |last=Pegasystems |title=Smart BPM Requires Smart Business Rules |url=http://www.pega.com/business-rules |work=pega.com |access-date=29 November 2013}}</ref><ref>{{cite conference |last1=Zhao |first1=Kai |first2=Shi |last2=Ying |first3=Linlin |last3=Zhang |first4=Luokai |last4=Hu |date=9–10 Oct 2010 |title=Achieving business process and business rules integration using SPL |book-title=Future Information Technology and Management Engineering (FITME) |volume=2 |pages=329–332 |location=Changzhou, China |publisher=IEEE |doi=10.1109/fitme.2010.5656297 |isbn=978-1-4244-9087-5}}</ref> | |||
A strong interest in using logic is that this kind of software is able to give the user clear explanation of what it is doing (the "Why?") and what it has deduced (the "How?" ). Better yet, thanks to logic, the most sophisticated expert systems are able to detect contradictions<ref>, Polytechnic University of Palestine, January 2007, Fault Detection in Dynamic Rule Bases Using Spanning Trees and Disjoin Sets: ""</ref> in user information or in the knowledge and can explain them clearly, revealing at the same time the expert's knowledge and way of thinking. | |||
=== Current approaches to expert systems === | |||
== Advantages == | |||
The limits of prior type of expert systems prompted researchers to develop new types of approaches. They have developed more efficient, flexible, and powerful methods to simulate the human decision-making process. Some of the approaches that researchers have developed are based on new methods of artificial intelligence (AI), and in particular in ] and ] approaches with a feedback mechanism.<ref>{{Cite journal |last1=Chung |first1=Junyoung |last2=Gulcehre |first2=Caglar |last3=Cho |first3=Kyunghyun |last4=Bengio |first4=Yoshua |date=2015-06-01 |title=Gated Feedback Recurrent Neural Networks |url=http://proceedings.mlr.press/v37/chung15.html |journal=International Conference on Machine Learning |language=en |publisher=PMLR |pages=2067–2075 |arxiv=1502.02367}}</ref>{{failed verification|reason=The article doesn't mention expert systems at all.|date=May 2024}} ]s often take advantage of such mechanisms. Related is the discussion on the disadvantages section. | |||
{{unreferenced section|date=November 2011}} | |||
{{cleanup-rewrite|section|date=December 2011}} | |||
Modern systems can incorporate new knowledge more easily and thus update themselves easily. Such systems can generalize from existing knowledge better and deal with vast amounts of complex data. Related is the subject of ] here. Sometimes these type of expert systems are called "intelligent systems."<ref name="CADsurvey"/> | |||
===Conversational=== | |||
Expert systems offer many advantages for users when compared to traditional programs because they operate like a human brain,.<ref>Olivier Rafal, Le Monde Informatique, July 2001 : ""</ref><ref>Jean-Philippe de Lespinay, Automates Intelligents, December 2008 : ""</ref> | |||
More recently, it can be argued that expert systems have moved into the area of ]s and ]s. | |||
===Quick availability and opportunity to program itself=== | |||
As the rule base is in everyday language (the engine is untouchable), expert system can be written much faster than a conventional program, by users or experts, bypassing professional developers and avoiding the need to explain the subject. | |||
== Software architecture == | |||
=== Ability to exploit a considerable amount of knowledge === | |||
] | |||
The expert system uses a rule base, unlike conventional programs, which means that the volume of knowledge to program is not a major concern. Whether the rule base has 10 rules or 10 000, the engine operation is the same. | |||
An expert system is an example of a ]. Expert systems were the first commercial systems to use a knowledge-based architecture. In general view, an expert system includes the following components: a ], an ], an explanation facility, a knowledge acquisition facility, and a user interface.<ref name=":0">{{Cite journal |last=Kiryanov |first=Denis Aleksandrovich|date=2021-12-21 |title=Hybrid categorical expert system for use in content aggregation |journal=Software Systems and Computational Methods |issue=4 |pages=1–22|doi=10.7256/2454-0714.2021.4.37019 |s2cid=245498498 |issn=2454-0714|doi-access=free}}</ref><ref>{{cite web |last=Smith |first=Reid|date=May 8, 1985 |title=Knowledge-Based Systems Concepts, Techniques, Examples|url=http://www.reidgsmith.com/Knowledge-Based_Systems_-_Concepts_Techniques_Examples_08-May-1985.pdf|access-date=9 November 2013|website=Reid G. Smith}}</ref> | |||
The knowledge base represents facts about the world. In early expert systems such as Mycin and Dendral, these facts were represented mainly as flat assertions about variables. In later expert systems developed with commercial shells, the knowledge base took on more structure and used concepts from ]. The world was represented as ], and ] and ] were replaced by values of object instances. The rules worked by querying and asserting values of the objects. | |||
=== Reliability === | |||
The ] of an expert system is the same as the reliability of a database, i.e. good, higher than that of a classical program. It also depends on the size of knowledge base. | |||
The inference engine is an ] that evaluates the current state of the knowledge-base, applies relevant 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.<ref name="Hayes-Roth 1983">{{cite book |last1=Hayes-Roth |first1=Frederick |last2=Waterman |first2=Donald |last3=Lenat |first3=Douglas |author3-link=Douglas Lenat |year=1983 |title=Building Expert Systems |publisher=Addison-Wesley |isbn=978-0-201-10686-2 |url=https://archive.org/details/buildingexpertsy00temd}}</ref> | |||
===Scalability=== | |||
Evolving an expert system is to add, modify or delete rules. Since the rules are written in plain language, it is easy to identify those to be removed or modified. | |||
There are mainly two modes for an inference engine: ] and ]. 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. In forward chaining an antecedent fires and asserts the consequent. For example, consider the following rule: | |||
=== Pedagogy === | |||
The engines that are run by a true logic are able to explain to the user in plain language why they ask a question and how they arrived at each deduction. In doing so, they show knowledge of the expert contained in the expert system. So, user can learn this knowledge in its context. Moreover, they can communicate their deductions step by step. So, the user has information about their problem even before the final answer of the expert system. | |||
<math display="block">R1: \mathit{Man}(x) \implies \mathit{Mortal}(x)</math> | |||
=== Preservation and improvement of knowledge === | |||
Valuable knowledge can disappear with the death, resignation or retirement of an expert. Recorded in an expert system, it becomes eternal. To develop an expert system is to interview an expert and make the system aware of their knowledge. In doing so, it reflects and enhances it. | |||
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. | |||
=== New areas neglected by conventional computing === | |||
Automating a vast knowledge, the developer may meet a classic problem: "]" commonly known as "information overload" that greatly complicates his work and results in a complex and time consuming program. The reasoning expert system does not encounter that problem since the engine automatically loads ] between rules. This ability can address areas where combinatorics are enormous: highly interactive or conversational applications, fault diagnosis, decision support in complex systems, educational software, logic simulation of machines or systems, constantly changing software. | |||
Backward chaining is a bit less straight forward. In backward chaining the system looks at possible conclusions and works backward to see if they might be true. So if the system was trying to determine if Mortal(Socrates) is true it would find R1 and query the knowledge base to see if Man(Socrates) is true. One of the early innovations of expert systems shells was to integrate inference engines with a user interface. This could be especially powerful with backward chaining. If the system needs to know a particular fact but does not, then it can simply generate an input screen and ask the user if the information is known. So in this example, it could use R1 to ask the user if Socrates was a Man and then use that new information accordingly. | |||
The use of rules to explicitly represent knowledge also enabled explanation abilities. In the simple example above if 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 cause the assertion and present those rules to the user as an explanation. In English, if the user asked "Why is Socrates Mortal?" the system would reply "Because all men are mortal and Socrates is a man". A significant area for research was the generation of explanations from the knowledge base in natural English rather than simply by showing the more formal but less intuitive rules.<ref>, Polytechnic University of Palestine, January 2007, Fault Detection in Dynamic Rule Bases Using Spanning Trees and Disjoin Sets: ""</ref> | |||
As expert systems evolved, many new techniques were incorporated into various types of inference engines.<ref>{{cite journal |last=Mettrey |first=William |title=An Assessment of Tools for Building Large Knowledge-Based Systems |journal=AI Magazine |year=1987 |volume=8 |issue=4|url=http://www.aaai.org/ojs/index.php/aimagazine/article/viewArticle/625|access-date=2013-11-29 |archive-url=https://web.archive.org/web/20131110022104/http://www.aaai.org/ojs/index.php/aimagazine/article/viewArticle/625 |archive-date=2013-11-10|url-status=dead}}</ref> Some of the most important of these were: | |||
* Truth maintenance. These systems record the dependencies in a knowledge-base so that when facts are altered, dependent knowledge can be altered accordingly. 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, a.k.a. worlds. This allows the inference engine 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? | |||
* Uncertainty systems. One of the first extensions of simply using rules to represent knowledge was also to associate 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, such as ], and combination of probabilities. | |||
* ] 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 rule that defines the class of all men. These types of special purpose inference engines are termed ]. Although they were 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 ].<ref>{{cite journal |last1=MacGregor |first1=Robert |date=June 1991 |title=Using a description classifier to enhance knowledge representation |journal=IEEE Expert |volume=6 |issue=3 |doi=10.1109/64.87683 |pages=41–46 |s2cid=29575443}}</ref><ref>{{cite journal |last1=Berners-Lee |first1=Tim |last2=Hendler |first2=James |last3=Lassila |first3=Ora |date=May 17, 2001 |title=The Semantic Web A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities |journal=Scientific American |url=http://www.cs.umd.edu/~golbeck/LBSC690/SemanticWeb.html |doi=10.1038/scientificamerican0501-34 |volume=284 |issue=5 |pages=34–43 |url-status=dead |archive-url=https://web.archive.org/web/20130424071228/http://www.cs.umd.edu/~golbeck/LBSC690/SemanticWeb.html |archive-date=April 24, 2013 |url-access=subscription}}</ref> | |||
== Advantages == | |||
The goal of knowledge-based systems is to make the critical information required for the system to work explicit rather than implicit.<ref>{{cite book |last1=Hayes-Roth |first1=Frederick |last2=Waterman |first2=Donald |last3=Lenat |first3=Douglas |author3-link=Douglas Lenat |year=1983 |page= |title=Building Expert Systems |publisher=Addison-Wesley |isbn=978-0-201-10686-2 |url=https://archive.org/details/buildingexpertsy00temd/page/6}}</ref> In a traditional computer program, the logic is embedded in code that can typically only be reviewed by an IT specialist. With an expert system, the goal was to specify the rules in a format that was intuitive and easily understood, reviewed, and even edited by domain experts rather than IT experts. The benefits of this explicit ] were rapid development and ease of maintenance. | |||
Ease of maintenance is the most obvious 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: ]. 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 year typically associated with complex IT projects. | |||
A claim for expert system shells that was often made was that they removed the need for trained programmers and that experts could develop systems themselves. In reality, this was seldom if ever true. While the rules for an expert system were more comprehensible than typical 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 expert systems moved from prototypes in the lab to deployment 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 required the same skills as any other type of system.<ref name="Wong 1995 141–152">{{cite journal |last1=Wong |first1=Bo K. |first2=John A. |last3=Monaco |title=Expert system applications in business: a review and analysis of the literature |journal=Information and Management|date=September 1995 |volume=29 |issue=3 |pages=141–152|url=http://dl.acm.org/citation.cfm?id=218565&CFID=383824649&CFTOKEN=44575196|access-date=29 November 2013|doi=10.1016/0378-7206(95)00023-p |last2=Monaco|url-access=subscription}}</ref> | |||
Summing up the benefits of using expert systems, the following can be highlighted:<ref name=":0"/> | |||
# Increased availability and reliability: Expertise can be accessed on any computer hardware and the system always completes responses on time. | |||
# Multiple expertise: Several expert systems can be run simultaneously to solve a problem. and gain a higher level of expertise than a human expert. | |||
# Explanation: Expert systems always describe of how the problem was solved. | |||
# Fast response: The expert systems are fast and able to solve a problem in real-time. | |||
# Reduced cost: The cost of expertise for each user is significantly reduced. | |||
== Disadvantages == | == Disadvantages == | ||
The most common disadvantage cited for expert systems in the academic literature is the ] 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 looking at the life-cycle of expert systems in actual use, other problems – essentially the same problems as those of any other large system – seem at least as critical as knowledge acquisition: integration, access to large databases, and performance.<ref>{{cite book |last1=Kendal |first1=S.L. |last2=Creen |first2=M. |year=2007 |title=An introduction to knowledge engineering |publisher=Springer |location=London |isbn=978-1-84628-475-5 |oclc=70987401}}</ref><ref name="Feigenbaum1983">{{cite book |last1=Feigenbaum |first1=Edward A. |author1-link=Edward Feigenbaum |last2=McCorduck |first2=Pamela |author2-link=Pamela McCorduck |year=1983 |title=The fifth generation |edition=1st |publisher=] |location=Reading, Massachusetts |isbn=978-0-201-11519-2 |oclc=9324691}}</ref> | |||
{{Refimprove section|date=May 2012}} | |||
The expert system has a major flaw, which explains its low success despite the principle having existed for 70 years: knowledge collection and its interpretation into rules, or ]. Most developers have no automated method to perform this task; instead they work manually, increasing the likelihood of errors. Expert knowledge is generally not well understood; for example, rules may not exist, be contradictory, or be poorly written and unusable. Worse still, most expert systems use an engine incapable of reasoning. As a result, an expert system will often work poorly, and the project will be abandoned.<ref>Kenneth Laudon, Jane Laudon, Eric Fimbel, "Management Information Systems: Managing the Digital Firm", Business & Economics, 2010 edition, chapter 11-3.5: The implementation of a large number of expert systems requires the deployment of considerable development efforts, lengthy and expensive. Hiring and training a larger number of experts may be less expensive than building an expert system .(...) Some expert systems, particularly the largest, are so complex that over years, the costs of curative and adaptive maintenance become as high as the cost of development.</ref> Correct development methodology can mitigate these problems. There exists software capable of interviewing a true expert on a subject and automatically writing the rule base, or knowledge base, from the answers. The expert system can then be simultaneously run before the true expert's eyes, performing a ] check.<ref>Systèmes Experts, April 15, 1990, Miao, authentic expert system generator of fault diagnosis: "''MIAO can explain, again in language, all of his logical approach: why he is asking such a question and how it came to such a conclusion. And that because he is constantly reasoning and not because an IT developer programmed in advance all the possible explanations.''"</ref><ref>, Le Monde Informatique, Programming for all (T.Rex generator): "''This software allows to develop a conversational application (...) leading to a self-learning''" (i.e. thanks to the automatic explanations)</ref><ref>, MAIEUTICA, An Expert System Generator which writes its own rules, July 1991: "''checking the coherence of the knowledge''", "''it can detect contradictions''", "''it react appropriately to changes of minds''"</ref> Experts and users can check the quality of the software before it is finished. | |||
Performance could be especially problematic because early expert systems were built using tools (such as earlier Lisp versions) that interpreted code expressions without first compiling them. This provided a powerful development environment, but with the drawback that it was virtually impossible to match the efficiency of the fastest compiled languages (such as ]). System and database integration were difficult 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 ]s and personal computers. As a result, much effort in the later stages of expert system tool development was focused on integrating with legacy environments such as ] and large database systems, and on porting 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 ] servers provided the processing power needed for AI applications.<ref name="Wong 1995 141–152"/> | |||
Many expert systems are also penalized by the logic used. Most formal systems of logic operate on ] facts, i.e. facts the value of which changes several times during one reasoning. This is considered a property belonging to more powerful logic. This is the case of the ] and ] expert systems, and of, for example, ], ] (Prolog), ] and ]. ] uses only invariant facts.<ref>, More Complex Inference: "''propositional logic, where variables are not allowed''".</ref> In the human mind, the facts used must remain invariable as long as the brain reasons with them. This makes possible two ways of controlling the consistency of the knowledge: detection of contradictions and production of explanations.<ref>Ong K. and Lee R.M, Texas University-Austin, A logic model for maintaining consistency of bureaucratic policies, 1993: "''Inconsistencies can be detected if any of the integrity constraints is proven false, and an explanation can be provided based on the proof tree. A more general inference mechanism is presented based on the theory of abduction for checking potential inconsistency of policies''"</ref><ref>, Philosophy of Science, Studies in the Logic of Explanation, 1948: "''The sentences constituting the explanans must be true''"</ref> That is why expert systems using variable facts, which are more understandable to developers creating such systems and hence more common, are less easy to develop, less clear to users, less reliable, and why they don't produce explanations of their reasoning, or contradiction detection. | |||
Another major challenge of expert systems emerges when the size of the knowledge base increases. This causes the processing complexity to increase. For instance, when an expert system with 100 million rules was envisioned as the ultimate expert system, it became obvious that such system would be too complex and it would face too many computational problems.<ref>{{cite book |last1=Lenat |first1=Douglas |author1-link=Douglas Lenat |chapter=On the thresholds of knowledge |title=Foundations Of Artificial Intelligence |editor1-last=Kirsh |editor1-first=David |publisher=MIT Press |pages=185–250 |year=1992}}</ref> An inference engine would have to be able to process huge numbers of rules to reach a decision. | |||
== Application field == | |||
Expert systems address areas where ] is enormous: | |||
* highly interactive or conversational applications, ], voice server, ] | |||
* ], ] | |||
* decision support in complex systems, ], interactive ] | |||
* educational and ] | |||
* ] of machines or systems | |||
* ] | |||
* constantly changing software. | |||
How to verify that decision rules are consistent with each other is also a challenge when there are too many rules. Usually such problem leads to a ] (SAT) formulation.<ref>{{cite conference |vauthors=Bezem M |work=9th International Conference on Automated Deduction |title=Consistency of rule-based expert systems |volume=310 |date=1988 |pages=151–161 |doi=10.1007/BFb0012830 |isbn=3-540-19343-X |series=Lecture Notes in Computer Science |url=https://ir.cwi.nl/pub/6113}}</ref> This is a well-known NP-complete problem ]. If we assume only ], say n of them, and then the corresponding search space is of size 2<math>^{n}</math>. Thus, the search space can grow exponentially. | |||
They can also be used in software engineering for rapid prototyping applications (]). Indeed, the expert system quickly developed in front of the expert shows him if the future application should be programmed. | |||
There are also questions on how to prioritize the use of the rules to operate more efficiently, or how to resolve ambiguities (for instance, if there are too many else-if sub-structures within one rule) and so on.<ref>{{cite journal |vauthors=Mak B, Schmitt BH, and Lyytinen K |title=User participation in knowledge update of expert systems |journal=Information & Management |date=1997 |volume=32 |issue=2 |pages=55–63 |doi=10.1016/S0378-7206(96)00010-9 |doi-access=free}}</ref> | |||
Indeed, any program contains expert knowledge and classic programming always begins with an expert interview. A program written in the form of expert system receives all the specific benefits of expert system, among others things it can be developed by anyone without computer training and without programming languages. But this solution has a defect: expert system runs slower than a traditional program because he consistently "thinks" when in fact a classic software just follows paths traced by the programmer. | |||
Other problems are related to the ] and ] effects when using known facts and trying to generalize to other cases not described explicitly in the knowledge base. Such problems exist with methods that employ machine learning approaches too.<ref>{{cite book |vauthors=Pham HN, Triantaphyllou E |title=Soft Computing for Knowledge Discovery and Data Mining |chapter=The Impact of Overfitting and Overgeneralization on the Classification Accuracy in Data Mining |date=2008 |pages=391–431 |doi=10.1007/978-0-387-69935-6_16 |isbn=978-0-387-69934-9 |s2cid=12628921 |chapter-url=https://digitalcommons.lsu.edu/cgi/viewcontent.cgi?article=4334&context=gradschool_dissertations}}</ref><ref>{{cite journal |vauthors=Pham HN, Triantaphyllou E |title=Prediction of diabetes by employing a new data mining approach which balances fitting and generalization |journal=Computer and Inf. Science G |date=2008 |pages=11–26}}</ref> | |||
== Examples of applications == | |||
Expert systems are designed to facilitate tasks in the fields of ], the ], medicine, ], ], ], ], among others. Typically, the problem area is complex enough that a more simple traditional algorithm cannot provide a proper solution. The foundation of a successful expert system depends on a series of technical procedures and development that may be designed by technicians and related experts. As such, expert systems do not typically provide a definitive answer, but provide probabilistic recommendations. | |||
Another problem related to the knowledge base is how to make updates of its knowledge quickly and effectively.<ref>{{cite journal |vauthors=Shan N, and Ziarko W |title=Data-based acquisition and incremental modification of classification rules |journal=Computational Intelligence |date=1995 |volume=11 |issue=2 |pages=357–370 |doi=10.1111/j.1467-8640.1995.tb00038.x |s2cid=38974914}}</ref><ref>{{cite journal |vauthors=Coats PK |title=Why expert systems fail |journal=Financial Management |volume=17 |issue=3 |date=1988 |pages=77–86 |jstor=3666074}}</ref><ref>{{cite journal |vauthors=Hendriks PH, and Vriens DJ |title=Knowledge-based systems and knowledge management: friends or foes? |journal=Information & Management |date=1999 |volume=35 |issue=2 |pages=113–125 |doi=10.1016/S0378-7206(98)00080-9 |url=https://repository.ubn.ru.nl/handle/2066/240554|hdl=2066/240554 |hdl-access=free }}</ref> Also how to add a new piece of knowledge (i.e., where to add it among many rules) is challenging. Modern approaches that rely on machine learning methods are easier in this regard.{{Citation needed|date=October 2019}} | |||
An example of the application of expert systems in the financial field is ]. Loan departments are interested in expert systems for ] because of the growing cost of labour, which makes the handling and acceptance of relatively small loans less profitable. They also see a possibility for standardized, efficient handling of ] by applying expert systems, appreciating that for the acceptance of ] there are hard and fast rules which do not always exist with other types of loans. Another common application in the financial area for expert systems are in trading recommendations in various ]. These markets involve numerous variables and human emotions which may be impossible to deterministically characterize, thus expert systems based on the ] from experts and simulation data are used. Expert system of this type can range from ones providing regional retail recommendations, like ], to ones used to assist monetary decisions by financial institutions and governments. | |||
Because of the above challenges, it became clear that new approaches to AI were required instead of rule-based technologies. These new approaches are based on the use of machine learning techniques, along with the use of feedback mechanisms.<ref name="CADsurvey"/> | |||
Another 1970s and 1980s application of expert systems, which we today would simply call AI, was in ]. For example, the computer ] games ] and ] each had highly detailed simulations of the game strategies of those two baseball managers. When a human played the game against the computer, the computer queried the ] or ] Expert System for a decision on what strategy to follow. Even those choices where some randomness was part of the natural system (such as when to throw a surprise pitch-out to try to trick a runner trying to steal a base) were decided based on probabilities supplied by Weaver or La Russa. Today we would simply say that "the game's AI provided the opposing manager's strategy". | |||
The key challenges that expert systems in medicine (if one considers computer-aided diagnostic systems as modern expert systems), and perhaps in other application domains, include issues related to aspects such as: big data, existing regulations, healthcare practice, various algorithmic issues, and system assessment.<ref>{{cite journal |vauthors=Yanase J, Triantaphyllou E |title=The Seven Key Challenges for the Future of Computer-Aided Diagnosis in Medicine |journal=International Journal of Medical Informatics |volume=129 |pages=413–422 |date=2019 |doi=10.1016/j.ijmedinf.2019.06.017 |pmid=31445285 |s2cid=198287435}}</ref> | |||
A new application for expert systems is automated computer program generation. Funded by a US Air Force grant, an expert system-based application (hprcARCHITECT) that generates computer programs for mixed processor technology (FPGA/GPU/Multicore) systems without a need for technical specialists has recently been commercially introduced. | |||
Finally, the following disadvantages of using expert systems can be summarized:<ref name=":0"/> | |||
There is also a large body of contemporary research and development directed toward using expert systems for human behavior modeling and decision support systems. The former is especially important in the area of intercultural relations and the latter in improving management operations in small businesses. | |||
# Expert systems have superficial knowledge, and a simple task can potentially become computationally expensive. | |||
# Expert systems require knowledge engineers to input the data, data acquisition is very hard. | |||
# The expert system may choose the most inappropriate method for solving a particular problem. | |||
# Problems of ethics in the use of any form of AI are very relevant at present. | |||
# It is a closed world with specific knowledge, in which there is no deep perception of concepts and their interrelationships until an expert provides them. | |||
== |
== Applications == | ||
Hayes-Roth divides expert systems applications into 10 categories illustrated in the following table. The example applications were not in the original Hayes-Roth table, and some of them arose well afterward. Any application that is not footnoted is described in the Hayes-Roth book.<ref name="Hayes-Roth 1983"/> 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. | |||
{{main|knowledge engineering}} | |||
The building, maintaining and development of expert systems is known as ''knowledge engineering''.<ref>{{citation | |||
| last = Kendal | first = S.L. | last2 = Creen | first2 = M. | |||
| title = An introduction to knowledge engineering | year = 2007 | publisher = Springer | |||
| location = London | isbn = 978-1-84628-475-5 | oclc = 70987401}}</ref> Knowledge engineering is a "discipline that involves integrating ] into ]s in order to solve complex problems normally requiring a high level of ]".<ref name="Feigenbaum1983">{{citation | |||
| last = Feigenbaum | first = Edward A. | last2 = McCorduck | first2 = Pamela | authorlink = Edward Feigenbaum | authorlink2 = Pamela McCorduck | |||
| title = The fifth generation | edition = 1st | year = 1983 | publisher = ] | |||
| location = ] | isbn = 978-0-201-11519-2 | oclc = 9324691}}</ref> | |||
{|class="wikitable" | |||
There are generally three individuals having an interaction in an expert system. Primary among these is the ], the individual who uses the system for its problem solving assistance. In the construction and maintenance of the system there are two other roles: the ] who builds the system and supplies the knowledge base, and a ] who assists the experts in determining the ] of their knowledge, enters this knowledge into an ] and who defines the ] required to solve the problem. Usually the ] will represent the problem solving activity in the form of ]. When these rules are created from domain expertise, the knowledge base stores the rules of the expert system. | |||
|- | |||
! Category !! Problem addressed !! Examples | |||
|- | |||
| Interpretation || Inferring situation descriptions from sensor data || Hearsay (speech recognition), PROSPECTOR | |||
|- | |||
| Prediction || Inferring likely consequences of given situations || Preterm Birth Risk Assessment<ref>{{cite journal |last1=Woolery |first1=L.K. |last2=Grzymala-Busse |first2=J. |year=1994 |title=Machine learning for an expert system to predict preterm birth risk |journal=Journal of the American Medical Informatics Association |volume=1 |issue=6 |pages=439–446 |pmc=116227 |pmid=7850569 |doi=10.1136/jamia.1994.95153433}}</ref> | |||
|- | |||
| Diagnosis || Inferring system malfunctions from observables || ], ], PUFF, Mistral,<ref name="Mistral">{{cite journal |last1=Salvaneschi |first1=Paolo |first2=Mauro |last2=Cadei |first3=Marco |last3=Lazzari |year=1996 |title=Applying AI to structural safety monitoring and evaluation |journal=IEEE Expert |volume=11 |issue=4 |pages=24–34 |url=http://www.computer.org/csdl/mags/ex/1996/04/x4024-abs.html|access-date=5 March 2014 |doi=10.1109/64.511774 |url-access=subscription}}</ref> Eydenet,<ref name="Eydenet"/> Kaleidos,<ref name="Kaleidos"/> GARVAN-ES1<ref name="GARVAN">{{cite journal |author1=K. Horn |author2=L. Lazarus |author3=P. Compton |author4=J.R. Quinlan |title=An expert system for the interpretation of thyroid assays in a clinical laboratory |journal=Aust Comput J |year=1985 |volume=17 |pages=7–11}}</ref><ref name="Buchanan">{{cite journal |author=Buchanan, B. |title=Expert systems: working systems and the research literature |journal=Expert Systems |year=1986 |volume=3 |issue=1 |pages=32–51 |doi= 10.1111/j.1468-0394.1986.tb00192.x}}</ref><ref name="Maintenance">{{cite journal |author1=P. Compton |author2=K. Horn |author3=R. Quinlan |author4=L. Lazarus |author5=K. Ho |title=Maintaining an Expert System |journal=Proceedings of the Fourth Australian Conference on the Applications of Expert Systems |year=1988}}</ref> | |||
|- | |||
| Design || Configuring objects under constraints || ], ], ] (DEC VAX Configuration), SID (DEC ] ]) | |||
|- | |||
| ] || Designing actions || Mission Planning for Autonomous Underwater Vehicle<ref>{{cite journal |last=Kwak |first=S. H. |year=1990 |title=A mission planning expert system for an autonomous underwater vehicle |journal=Proceedings of the 1990 Symposium on Autonomous Underwater Vehicle Technology |pages=123–128|doi=10.1109/AUV.1990.110446 |s2cid=60476847}}</ref> | |||
|- | |||
| Monitoring || Comparing observations to plan vulnerabilities || REACTOR<ref>{{cite journal |last=Nelson |first=W. R. |title=REACTOR: An Expert System for Diagnosis and Treatment of Nuclear Reactors |url=https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=4daf79217bb76482943f07b5138104a45f85c076 |year=1982 |journal=AAAI |volume=82: Proceedings of the Second AAAI Conference on Artificial Intelligence |pages=296–301}}</ref> | |||
|- | |||
| 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 correcting student behaviour || SMH.PAL,<ref name="smhpal"/> Intelligent Clinical Training,<ref>{{cite journal |last1=Haddawy |first1=P |first2=S. |last2=Suebnukarn |year=2010 |title=Intelligent Clinical Training Systems |journal=Methods Inf Med |volume=49 |issue=4 |pages=388–9 |citeseerx=10.1.1.172.60 |pmid=20686730|doi=10.1055/s-0038-1625342 |s2cid=11903941}}</ref> STEAMER<ref>{{cite journal |last1=Hollan |first1=J. |first2=E. |last2=Hutchins |first3=L. |last3=Weitzman |year=1984 |title=STEAMER: An interactive inspectable simulation-based training system |journal=AI Magazine}}</ref> | |||
|- | |||
| Control || Interpreting, predicting, repairing, and monitoring system behaviors || Real Time Process Control,<ref>{{cite journal |last=Stanley |first=G.M. |title=Experience Using Knowledge-Based Reasoning in Real Time Process Control |journal=Plenary Paper Presented at: International Federation of Automatic Control (IFAC) Symposium on Compute R Aided Design in Control Systems|date=July 15–17, 1991|url=http://www.gregstanleyandassociates.com/whitepapers/IFAC91objectPaper.pdf|access-date=3 December 2013}}</ref> Space Shuttle Mission Control,<ref>{{cite journal |last1=Rasmussen |first1=Arthur |first2=John F. |last2=Muratore |first3=Troy A. |last3=Heindel |title=The INCO Expert System Project: CLIPS in Shuttle mission control |journal=NTRS|date=February 1990|url=https://www.researchgate.net/publication/4702412|access-date=30 November 2013}}</ref> Smart Autoclave Cure of Composites<ref>{{Cite book |author1=Ciriscioli, P. R. |author2=G. S. Springer |title="Smart Autoclave Cure of Composites" |year=1990 |isbn=9781003209010}}</ref> | |||
|} | |||
Hearsay was an early attempt at solving ] through an expert systems approach. For the most part this category of expert systems was not all that successful. Hearsay and all interpretation systems are essentially pattern recognition systems—looking 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 ] AI solution than a rule-based approach. | |||
==See also== | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
CADUCEUS and ] were medical diagnosis systems. The user describes their symptoms to the computer as they would to a doctor and the computer returns a medical diagnosis. | |||
==References== | |||
<references/> | |||
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 ] (DEC) ] computers and mortgage loan application development. | |||
== Bibliography == | |||
SMH.PAL is an expert system for the assessment of students with multiple disabilities.<ref name="smhpal">{{cite journal |last=Hofmeister |first=Alan |title=SMH.PAL: an expert system for identifying treatment procedures for students with severe disabilities. |journal=Exceptional Children |year=1994 |volume=61 |issue=2|url=http://www.freepatentsonline.com/article/Exceptional-Children/15824013.html|access-date=30 November 2013 |archive-url=https://web.archive.org/web/20131203033204/http://www.freepatentsonline.com/article/Exceptional-Children/15824013.html |archive-date=3 December 2013|url-status=dead}}</ref> | |||
===Textbooks=== | |||
* {{Cite book | author = Darlington, Keith | title = The Essence of Expert Systems | publisher = ] | year = 2000 | isbn = 978-0-13-022774-4}} | |||
* {{cite book| author = Ignizio, James| title = Introduction to Expert Systems| year = 1991| publisher = McGraw-Hill Companies| isbn = 978-0-07-909785-9 }} | |||
* {{cite book| author = Giarratano, Joseph C. and Riley, Gary| coauthors = Gary Riley| title = Expert Systems, Principles and Programming| year = 2005| publisher = Course Technology Ptr| isbn = 978-0-534-38447-0 }} | |||
* {{cite book| author = Jackson, Peter| title = Introduction to Expert Systems| year = 1998| publisher = Addison Wesley| isbn = 978-0-201-87686-4 }} | |||
* {{cite book| author = Walker, Adrian et al.| title = Knowledge Systems and Prolog| year = 1990| publisher = ]| isbn = 978-0-201-52424-6 }} | |||
* {{cite book| author = Naylor, Chris.| title = Build your own Expert System| year = 1983| publisher = ]| isbn = 978-0-905104-41-6 }} | |||
GARVAN-ES1 was a medical expert system, developed at the ], that provided automated clinical diagnostic comments on endocrine reports from a pathology laboratory. It was one of the first medical expert systems to go into routine clinical use internationally<ref name="Buchanan"/> and the first expert system to be used for diagnosis daily in Australia.<ref name="Catlett">{{cite journal |author=Catlett, J. |title=Expert systems, the risks and rewards |journal=Hub Information Technology |year=1990 |volume=2 |issue=7 |pages=20–26}}</ref> The system was written in "C" and ran on a PDP-11 in 64K of memory. It had 661 rules that were compiled; not interpreted. | |||
===History of AI=== | |||
Mistral<ref name="Mistral"/> is an expert system to monitor dam safety, developed in the 1990s 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 ] Dam (Italy), is still operational 24/7/365. It has been installed on several dams in Italy and abroad (e.g., ] in Brazil), and on landslide sites under the name of Eydenet,<ref name="Eydenet">{{cite journal |last1=Lazzari |first1=Marco |first2=Paolo |last2=Salvaneschi |title=Embedding a geographic information system in a decision support system for landslide hazard monitoring |journal=International Journal of Natural Hazards |year=1999 |volume=20 |issue=2–3 |pages=185–195|url=http://dinamico2.unibg.it/lazzari/doc/embedding-authors-copy.pdf|doi=10.1023/A:1008187024768 |bibcode=1999NatHa..20..185L |s2cid=1746570}}</ref> and on monuments under the name of Kaleidos.<ref name="Kaleidos">{{cite journal |last1=Lancini |first1=Stefano |first2=Marco |last2=Lazzari |first3=Alberto |last3=Masera |first4=Paolo |last4=Salvaneschi |title=Diagnosing Ancient Monuments with Expert Software |journal=Structural Engineering International |year=1997 |volume=7 |issue=4 |pages=288–291|url=http://dinamico2.unibg.it/lazzari/doc/structural-engineering-authors-copy.pdf|doi=10.2749/101686697780494392 |s2cid=8113173}}</ref> Mistral is a registered trade mark of ].{{Missing information|section|which date ''"is still"'' in ''"Its first copy, installed in 1992 on the Dam (Italy), is still operational 24/7/365."'' refers to, all the sources cited seem to be from before 2000|date=January 2022}} | |||
== See also == | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
* ] | |||
== References == | |||
{{Reflist}} | |||
===Works cited=== | |||
{{Refbegin}} | |||
* {{Crevier 1993}} | * {{Crevier 1993}} | ||
* {{cite book |last1=Luger |first1=George |last2=Stubblefield |first2=William |author2-link=William L. Stubblefield |year=2004 |title=Artificial Intelligence: Structures and Strategies for Complex Problem Solving |publisher=Benjamin/Cummings |edition=5th |isbn=978-0-8053-4780-7 |url=https://archive.org/details/artificialintell0000luge |url-access=registration |access-date=17 December 2019}} | |||
* {{cite book |last1=Nilsson |first1=Nils |author-link=Nils Nilsson (researcher) |year=1998 |title=Artificial Intelligence: A New Synthesis |url=https://archive.org/details/artificialintell0000nils |url-access=registration |publisher=Morgan Kaufmann |isbn=978-1-55860-467-4 |access-date=18 November 2019}} | |||
* {{McCorduck 2004}} | * {{McCorduck 2004}} | ||
{{Refend}} | |||
* {{cite book| author = George F. Luger| last = Luger| first = George| coauthors = William A. Stubblefield| title = Artificial Intelligence: Structures and Strategies for Complex Problem Solving| url = http://www.cs.unm.edu/~luger/ai-final/tocfull.html| edition = 5th| year = 2004| publisher = The Benjamin/Cummings Publishing Company, Inc.| isbn = 978-0-8053-4780-7| ref = harv }} | |||
* {{cite book| author = Nils J. Nilsson| last = Nilsson| first = Nils| title = Artificial Intelligence: A New Synthesis| date = 1998-04-01| publisher = Morgan Kaufmann Publishers| isbn = 978-1-55860-467-4| ref = harv }} | |||
* {{Russell Norvig 2003}} | |||
* {{cite book| author = Patrick Henry Winston| last = Winston| first = Patrick Henry| title = Artificial Intelligence| date = 1984-04| publisher = Addison-Wesley| isbn = 978-0-201-08259-3| ref = harv }} | |||
===Other=== | |||
* {{cite web |ref={{SfnRef|ACM|1998}} | |||
| publisher=] | |||
| year=1998 | |||
| title=ACM Computing Classification System: Artificial intelligence | |||
| url=http://www.acm.org/class/1998/I.2.html | accessdate=2007-08-30 | |||
}} | |||
* Jean-Philippe de Lespinay, Admiroutes, December 2008: | |||
* Automates Intelligents, 2009: | |||
* {{cite patent | |||
| country = US | |||
| number = 4763277 | |||
| status = patent | |||
| title = Method for obtaining information in an expert system | |||
| inventor = Ashford, Thomas J. ''et al.'' | |||
| pubdate = 1988-08-09 | |||
| gdate = 1988-08-09 | |||
}} | |||
==External links== | == External links == | ||
* {{dmoz|Computers/Artificial_Intelligence/|Artificial Intelligence}} | |||
* | * | ||
{{Automated reasoning}} | |||
{{Authority control}} | |||
{{DEFAULTSORT:Expert System}} | {{DEFAULTSORT:Expert System}} | ||
] | ] | ||
] | ] | ||
] | |||
] | ] | ||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] | |||
] |
Latest revision as of 03:07, 9 December 2024
Computer system emulating the decision-making ability of a human expertIn artificial intelligence (AI), an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if–then rules rather than through conventional procedural programming code. Expert systems were among the first truly successful forms of AI software. They were created in the 1970s and then proliferated in the 1980s, being then widely regarded as the future of AI — before the advent of successful artificial neural networks. An expert system is divided into two subsystems: 1) a knowledge base, which represents facts and rules; and 2) an inference engine, which applies the rules to the known facts to deduce new facts, and can include explaining and debugging abilities.
History
Early development
Soon after the dawn of modern computers in the late 1940s and early 1950s, researchers started realizing the immense potential these machines had for modern society. One of the first challenges was to make such machines able to “think” like humans – in particular, making these machines able to make important decisions the way humans do. The medical–healthcare field presented the tantalizing challenge of enabling these machines to make medical diagnostic decisions.
Thus, in the late 1950s, right after the information age had fully arrived, researchers started experimenting with the prospect of using computer technology to emulate human decision making. For example, biomedical researchers started creating computer-aided systems for diagnostic applications in medicine and biology. These early diagnostic systems used patients’ symptoms and laboratory test results as inputs to generate a diagnostic outcome. These systems were often described as the early forms of expert systems. However, researchers realized that there were significant limits when using traditional methods such as flow charts, statistical pattern matching, or probability theory.
Formal introduction and later developments
This section may be too long to read and navigate comfortably. Consider splitting content into sub-articles, condensing it, or adding subheadings. Please discuss this issue on the article's talk page. (February 2024) |
This previous situation gradually led to the development of expert systems, which used knowledge-based approaches. These expert systems in medicine were the MYCIN expert system, the Internist-I expert system and later, in the middle of the 1980s, the CADUCEUS.
Expert systems were formally introduced around 1965 by the Stanford Heuristic Programming Project led by Edward Feigenbaum, who is sometimes termed the "father of expert systems"; other key early contributors were 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). The idea that "intelligent systems derive their power from the knowledge they possess rather than from the specific formalisms and inference schemes they use" – as Feigenbaum said – was at the time a significant step forward, since the past research had been focused on heuristic computational methods, culminating in attempts to develop very general-purpose problem solvers (foremostly the conjunct work of Allen Newell and Herbert Simon). Expert systems became some of the first truly successful forms of artificial intelligence (AI) software.
Research on expert systems was also active in Europe. In the US, the focus tended to be on the use of production rule systems, first on systems hard coded on top of Lisp programming environments and then on expert system shells developed by vendors such as Intellicorp. In Europe, research focused more on systems and expert systems shells developed in Prolog. The advantage of Prolog systems was that they employed a form of rule-based programming that was based on formal logic.
One such early expert system shell based on Prolog was APES. One of the first use cases of Prolog and APES was in the legal area namely, the encoding of a large portion of the British Nationality Act. Lance Elliot wrote: "The British Nationality Act was passed in 1981 and shortly thereafter was used as a means of showcasing the efficacy of using Artificial Intelligence (AI) techniques and technologies, doing so to explore how the at-the-time newly enacted statutory law might be encoded into a computerized logic-based formalization. A now oft-cited research paper entitled “The British Nationality Act as a Logic Program” was published in 1986 and subsequently became a hallmark for subsequent work in AI and the law."
In the 1980s, expert systems proliferated. Universities offered expert system courses and two-thirds of the Fortune 500 companies applied the technology in daily business activities. Interest was international 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 imbalance between the high affordability of the relatively powerful chips in the PC, compared to the much more expensive cost of processing power in the mainframes that dominated the corporate IT world at the time, created a new type of architecture for corporate computing, termed the client–server model. 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 and were not eager to develop. They were a natural fit for new PC-based shells that promised to put application development into the hands of end users and experts. Until then, the main development environment for expert systems had been high end 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, VP-Expert, and many others), started appearing regularly.
The first expert system to be used in a design capacity for a large-scale product was the Synthesis of Integral Design (SID) software program, developed in 1982. Written in Lisp, SID generated 93% of the VAX 9000 CPU logic gates. 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 contradicted others, top-level control parameters for speed and area provided the tie-breaker. The program was highly controversial but used nevertheless due to project budget constraints. It was terminated by logic designers after the VAX 9000 project completion.
During the years before the middle of the 1970s, the expectations of what expert systems can accomplish in many fields tended to be extremely optimistic. At the start of these early studies, researchers were hoping to develop entirely automatic (i.e., completely computerized) expert systems. The expectations of people of what computers can do were frequently too idealistic. This situation radically changed after Richard M. Karp published his breakthrough paper: “Reducibility among Combinatorial Problems” in the early 1970s. Thanks to Karp's work, together with other scholars, like Hubert L. Dreyfus, it became clear that there are certain limits and possibilities when one designs computer algorithms. His findings describe what computers can do and what they cannot do. Many of the computational problems related to this type of expert systems have certain pragmatic limits. These findings laid down the groundwork that led to the next developments in the field.
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 expert systems did not deliver on their over hyped promise. 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 standalone tools for developing special purpose expert systems, to being one of many standard tools. Other researchers suggest that Expert Systems caused inter-company power struggles when the IT organization lost its exclusivity in software modifications to users or Knowledge Engineers.
In the first decade of the 2000s, there was a "resurrection" for the technology, while using the term rule-based systems, with significant success stories and adoption. Many of the leading major business application suite vendors (such as SAP, Siebel, and Oracle) integrated expert system abilities into their suite of products as a way to specify business logic. Rule engines are no longer simply for defining the rules an expert would use but for any type of complex, volatile, and critical business logic; they often go hand in hand with business process automation and integration environments.
Current approaches to expert systems
The limits of prior type of expert systems prompted researchers to develop new types of approaches. They have developed more efficient, flexible, and powerful methods to simulate the human decision-making process. Some of the approaches that researchers have developed are based on new methods of artificial intelligence (AI), and in particular in machine learning and data mining approaches with a feedback mechanism. Recurrent neural networks often take advantage of such mechanisms. Related is the discussion on the disadvantages section.
Modern systems can incorporate new knowledge more easily and thus update themselves easily. Such systems can generalize from existing knowledge better and deal with vast amounts of complex data. Related is the subject of big data here. Sometimes these type of expert systems are called "intelligent systems."
More recently, it can be argued that expert systems have moved into the area of business rules and business rules management systems.
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. In general view, an expert system includes the following components: a knowledge base, an inference engine, an explanation facility, a knowledge acquisition facility, and a user interface.
The knowledge base represents facts about the world. In early expert systems such as Mycin and Dendral, these facts were represented mainly as flat assertions about variables. In later expert systems developed with commercial shells, the knowledge base took on more structure and used concepts from 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, applies relevant 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.
There are mainly 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. In forward 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 backward to see if they might be true. So if the system was trying to determine if Mortal(Socrates) is true it would find R1 and query the knowledge base to see if Man(Socrates) is true. One of the early innovations of expert systems shells was to integrate inference engines with a user interface. This could be especially powerful with backward chaining. If the system needs to know a particular fact but does not, then it can simply generate an input screen and ask the user if the information is known. So in this example, it could use R1 to ask the user if Socrates was a Man and then use that new information accordingly.
The use of rules to explicitly represent knowledge also enabled explanation abilities. In the simple example above if 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 cause the assertion and present those rules to the user as an explanation. In English, if the user asked "Why is Socrates Mortal?" the system would reply "Because all men are mortal and Socrates is a man". A significant area for research was the generation of explanations from the knowledge base in natural English rather than simply by showing the more formal but less intuitive rules.
As expert systems evolved, many new techniques were incorporated into various types of inference engines. Some of the most important of these were:
- Truth maintenance. These systems record the dependencies in a knowledge-base so that when facts are altered, dependent knowledge can be altered accordingly. 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, a.k.a. worlds. This allows the inference engine 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?
- Uncertainty systems. One of the first extensions of simply using rules to represent knowledge was also to associate 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, such as fuzzy logic, 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 rule that defines the class of all men. These types of special purpose inference engines are termed classifiers. Although they were 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.
Advantages
The goal of knowledge-based systems is to make the critical information required for the system to work explicit rather than implicit. In a traditional computer program, the logic is embedded in code that can typically only be reviewed by an IT specialist. With an expert system, the goal was to specify the rules in a format that was intuitive and easily understood, reviewed, and even edited by domain experts rather than IT experts. The benefits of this explicit knowledge representation were rapid development and ease of maintenance.
Ease of maintenance is the most obvious 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 year typically associated with complex IT projects.
A claim for expert system shells that was often made was that they removed the need for trained programmers and that experts could develop systems themselves. In reality, this was seldom if ever true. While the rules for an expert system were more comprehensible than typical 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 expert systems moved from prototypes in the lab to deployment 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 required the same skills as any other type of system.
Summing up the benefits of using expert systems, the following can be highlighted:
- Increased availability and reliability: Expertise can be accessed on any computer hardware and the system always completes responses on time.
- Multiple expertise: Several expert systems can be run simultaneously to solve a problem. and gain a higher level of expertise than a human expert.
- Explanation: Expert systems always describe of how the problem was solved.
- Fast response: The expert systems are fast and able to solve a problem in real-time.
- Reduced cost: The cost of expertise for each user is significantly reduced.
Disadvantages
The most common disadvantage cited for expert systems in the 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 looking at the life-cycle of expert systems in actual use, other problems – essentially the same problems as those of any other large system – seem at least as critical as knowledge acquisition: integration, access to large databases, and performance.
Performance could be especially problematic because early expert systems were built using tools (such as earlier Lisp versions) that interpreted code expressions without first compiling them. This provided a powerful development environment, but with the drawback that it was virtually impossible to match the efficiency of the fastest compiled languages (such as C). System and database integration were difficult 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 machines and personal computers. As a result, much effort in the later stages of expert system tool development was focused on integrating with legacy environments such as COBOL and large database systems, and on porting 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 provided the processing power needed for AI applications.
Another major challenge of expert systems emerges when the size of the knowledge base increases. This causes the processing complexity to increase. For instance, when an expert system with 100 million rules was envisioned as the ultimate expert system, it became obvious that such system would be too complex and it would face too many computational problems. An inference engine would have to be able to process huge numbers of rules to reach a decision.
How to verify that decision rules are consistent with each other is also a challenge when there are too many rules. Usually such problem leads to a satisfiability (SAT) formulation. This is a well-known NP-complete problem Boolean satisfiability problem. If we assume only binary variables, say n of them, and then the corresponding search space is of size 2. Thus, the search space can grow exponentially.
There are also questions on how to prioritize the use of the rules to operate more efficiently, or how to resolve ambiguities (for instance, if there are too many else-if sub-structures within one rule) and so on.
Other problems are related to the overfitting and overgeneralization effects when using known facts and trying to generalize to other cases not described explicitly in the knowledge base. Such problems exist with methods that employ machine learning approaches too.
Another problem related to the knowledge base is how to make updates of its knowledge quickly and effectively. Also how to add a new piece of knowledge (i.e., where to add it among many rules) is challenging. Modern approaches that rely on machine learning methods are easier in this regard.
Because of the above challenges, it became clear that new approaches to AI were required instead of rule-based technologies. These new approaches are based on the use of machine learning techniques, along with the use of feedback mechanisms.
The key challenges that expert systems in medicine (if one considers computer-aided diagnostic systems as modern expert systems), and perhaps in other application domains, include issues related to aspects such as: big data, existing regulations, healthcare practice, various algorithmic issues, and system assessment.
Finally, the following disadvantages of using expert systems can be summarized:
- Expert systems have superficial knowledge, and a simple task can potentially become computationally expensive.
- Expert systems require knowledge engineers to input the data, data acquisition is very hard.
- The expert system may choose the most inappropriate method for solving a particular problem.
- Problems of ethics in the use of any form of AI are very relevant at present.
- It is a closed world with specific knowledge, in which there is no deep perception of concepts and their interrelationships until an expert provides them.
Applications
Hayes-Roth divides expert systems applications into 10 categories illustrated in the following table. The example applications were not in the original Hayes-Roth table, and some of them arose well afterward. Any application that is not footnoted is described in the Hayes-Roth book. 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 | Examples |
---|---|---|
Interpretation | Inferring situation descriptions from sensor data | Hearsay (speech recognition), PROSPECTOR |
Prediction | Inferring likely consequences of given situations | Preterm Birth Risk Assessment |
Diagnosis | Inferring system malfunctions from observables | CADUCEUS, MYCIN, PUFF, Mistral, Eydenet, Kaleidos, GARVAN-ES1 |
Design | Configuring objects under constraints | Dendral, Mortgage Loan Advisor, R1 (DEC VAX Configuration), SID (DEC VAX 9000 CPU) |
Planning | Designing actions | Mission Planning for Autonomous Underwater Vehicle |
Monitoring | Comparing observations to plan vulnerabilities | REACTOR |
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 correcting student behaviour | SMH.PAL, Intelligent Clinical Training, STEAMER |
Control | Interpreting, predicting, repairing, and monitoring system behaviors | Real Time Process Control, Space Shuttle Mission Control, Smart Autoclave Cure of Composites |
Hearsay was an early attempt at solving voice recognition through an expert systems approach. For the most part this category of expert systems was not all that successful. Hearsay and all interpretation systems are essentially pattern recognition systems—looking 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 user describes their symptoms to the computer as they would to a doctor and the computer returns a medical diagnosis.
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.
GARVAN-ES1 was a medical expert system, developed at the Garvan Institute of Medical Research, that provided automated clinical diagnostic comments on endocrine reports from a pathology laboratory. It was one of the first medical expert systems to go into routine clinical use internationally and the first expert system to be used for diagnosis daily in Australia. The system was written in "C" and ran on a PDP-11 in 64K of memory. It had 661 rules that were compiled; not interpreted.
Mistral is an expert system to monitor dam safety, developed in the 1990s 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 (e.g., Itaipu Dam in Brazil), and on landslide sites under the name of Eydenet, and on monuments under the name of Kaleidos. Mistral is a registered trade mark of CESI.
This section is missing information about which date "is still" in "Its first copy, installed in 1992 on the Dam (Italy), is still operational 24/7/365." refers to, all the sources cited seem to be from before 2000. Please expand the section to include this information. Further details may exist on the talk page. (January 2022) |
See also
- AI winter
- CLIPS
- Constraint logic programming
- Constraint satisfaction
- Knowledge engineering
- Learning classifier system
- Rule-based machine learning
References
- Jackson, Peter (1998). Introduction To Expert Systems (3 ed.). Addison Wesley. p. 2. ISBN 978-0-201-87686-4.
- "Conventional programming". Pcmag.com. Archived from the original on 2012-10-14. Retrieved 2013-09-15.
- ^ Russell, Stuart; Norvig, Peter (1995). Artificial Intelligence: A Modern Approach (PDF). Simon & Schuster. pp. 22–23. ISBN 978-0-13-103805-9. Archived from the original (PDF) on 5 May 2014. Retrieved 14 June 2014.
- ^ Luger & Stubblefield 2004, pp. 227–331.
- ^ Nilsson 1998, chpt. 17.4.
- ^ McCorduck 2004, pp. 327–335, 434–435.
- ^ Crevier 1993, pp. 145–62, 197−203.
- ^ 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.
- "A short history of AI". The Economist. 2024-07-16. Retrieved 2024-08-14.
- ^ Yanase J, Triantaphyllou E (2019). "A Systematic Survey of Computer-Aided Diagnosis in Medicine: Past and Present Developments". Expert Systems with Applications. 138: 112821. doi:10.1016/j.eswa.2019.112821. S2CID 199019309.
- Ledley RS, and Lusted LB (1959). "Reasoning foundations of medical diagnosis". Science. 130 (3366): 9–21. Bibcode:1959Sci...130....9L. doi:10.1126/science.130.3366.9. PMID 13668531.
- Weiss SM, Kulikowski CA, Amarel S, Safir A (1978). "A model-based method for computer-aided medical decision-making". Artificial Intelligence. 11 (1–2): 145–172. CiteSeerX 10.1.1.464.3183. doi:10.1016/0004-3702(78)90015-2.
- Schwartz WB (1970). "Medicine and the computer: the promise and problems of change". New England Journal of Medicine. 283 (23): 1257–1264. doi:10.1056/NEJM197012032832305. PMID 4920342.
- Bleich HL (1972). "Computer-based consultation: Electrolyte and acid-base disorders". The American Journal of Medicine. 53 (3): 285–291. doi:10.1016/0002-9343(72)90170-2. PMID 4559984.
- Rosati RA, McNeer JF, Starmer CF, Mittler BS, Morris JJ, and Wallace AG (1975). "A new information system for medical practice". Archives of Internal Medicine. 135 (8): 1017–1024. doi:10.1001/archinte.1975.00330080019003. PMID 1156062.
- Gorry GA, Kassirer JP, Essig A, and Schwartz WB (1973). "Decision analysis as the basis for computer-aided management of acute renal failure". The American Journal of Medicine. 55 (4): 473–484. doi:10.1016/0002-9343(73)90204-0. PMID 4582702. S2CID 17448496.
- Szolovits P, Patil RS, and Schwartz WB (1988). "Artificial intelligence in medical diagnosis". Annals of Internal Medicine. 108 (1): 80–87. doi:10.7326/0003-4819-108-1-80. PMID 3276267. S2CID 46410202.
- Shortliffe EH, and Buchanan BG (1975). "A model of inexact reasoning in medicine". Mathematical Biosciences. 23 (3–4): 351–379. doi:10.1016/0025-5564(75)90047-4. S2CID 118063112.
- Miller RA, Pople Jr HE, and Myers JD (1982). "Internist-I, an experimental computer-based diagnostic consultant for general internal medicine". New England Journal of Medicine. 307 (8): 468–476. doi:10.1056/NEJM198208193070803. PMID 7048091.
- Feigenbaum, Edward; McCorduck, Pamela (1984). The fifth generation. Addison-Wesley. pp. 1–275. ISBN 978-0451152640.
- Joseph 🎖️, Staney (2023-10-30). "The Diversity of Artificial Intelligence: How Edward Feigenbaum Developed the Expert Systems". Medium. Retrieved 2024-01-26.
- Lea, Andrew S. (2023). Digitizing Diagnosis: Medicine, Minds, and Machines in Twentieth-Century America. Johns Hopkins University Press. pp. 1–256. ISBN 978-1421446813.
- Edward Feigenbaum, 1977. Paraphrased by Hayes-Roth, et al.
- Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems. Addison-Wesley. pp. 6–7. ISBN 978-0-201-10686-2.
- George F. Luger and William A. Stubblefield, Benjamin/Cummings Publishers, Rule-Based Expert System Shell: example of code using the Prolog rule-based expert system shell
- A. Michiels Archived 2012-04-02 at the Wayback Machine, Université de Liège, Belgique: "PROLOG, the first declarative language
- Investigating with APES (Augmented Prolog Expert System), retrieved 2024-01-03
- AI & Law: British Nationality Act Unexpectedly Spurred AI And Law, 17 April 2021, retrieved 2023-11-13
- M.J. Sergot and F. Sadri and R.A. Kowalski and F. Kriwaczek and P. Hammond and H.T. Cory (May 1986). "The British Nationality Act as a Logic Program". Communications of the ACM. 29 (5): 370–386. doi:10.1145/5689.5920.
- Durkin, J. Expert Systems: Catalog of Applications. Intelligent Computer Systems, Inc., Akron, OH, 1993.
- "The IBM PC - CHM Revolution". www.computerhistory.org. Retrieved 2024-01-26.
- Orfali, Robert (1996). The Essential Client/Server Survival Guide. New York: Wiley Computer Publishing. pp. 1–10. ISBN 978-0-471-15325-2.
- Hurwitz, Judith (2011). Smart or Lucky: How Technology Leaders Turn Chance into Success. John Wiley & Son. p. 164. ISBN 978-1118033784. Retrieved 29 November 2013.
- Dunn, Robert J. (September 30, 1985). "Expandable Expertise for Everyday Users". InfoWorld. 7 (39): 30. Retrieved 2011-03-13.
- Gibson, Carl S.; et al. "VAX 9000 Series". Digital Technical Journal of Digital Equipment Corporation. 2 (4, Fall 1990): 118–129.
- Karp, Richard M. (1972). "Reducibility Among Combinatorial Problems" (PDF). In Miller, R. E.; Thatcher, J. W. (eds.). Complexity of Computer Computations. New York: Plenum. pp. 85–103. Archived from the original (PDF) on 2011-06-29. Retrieved 2020-01-24.
- Hubert L. Dreyfus (1972). What Computers Still Can't Do. Cambridge, Massachusetts: The MIT Press.
- "AI Expert Newsletter: W is for Winter". Archived from the original on 2013-11-09. Retrieved 2013-11-29.
- Leith, P. (2010). "The rise and fall of the legal expert system". European Journal of Law and Technology. 1 (1). Archived from the original on 2016-03-04. Retrieved 2020-01-24.
- Haskin, David (January 16, 2003). "Years After Hype, 'Expert Systems' Paying Off for Some". Datamation. Retrieved 29 November 2013.
- Romem, Yoram (2007). "The Social Construction of Expert Systems". Human Systems Management. 26 (4): 291–309. doi:10.3233/HSM-2007-26406.
- Voelker, Michael P. (October 18, 2005). "Business Makes the Rules". Information Week.
- SAP News Desk. "SAP News Desk IntelliCorp Announces Participation in SAP EcoHub". laszlo.sys-con.com. LaszloTrack. Archived from the original on 3 December 2013. Retrieved 29 November 2013.
- Pegasystems. "Smart BPM Requires Smart Business Rules". pega.com. Retrieved 29 November 2013.
- Zhao, Kai; Ying, Shi; Zhang, Linlin; Hu, Luokai (9–10 Oct 2010). "Achieving business process and business rules integration using SPL". Future Information Technology and Management Engineering (FITME). Vol. 2. Changzhou, China: IEEE. pp. 329–332. doi:10.1109/fitme.2010.5656297. ISBN 978-1-4244-9087-5.
- Chung, Junyoung; Gulcehre, Caglar; Cho, Kyunghyun; Bengio, Yoshua (2015-06-01). "Gated Feedback Recurrent Neural Networks". International Conference on Machine Learning. PMLR: 2067–2075. arXiv:1502.02367.
- England, David C. (June 1990). An Expert System for the Management of Hazardous Materials at a Naval Supply Center (PDF) (MSc). Naval Postgraduate School Monterey/CA. p. 21.
- ^ Kiryanov, Denis Aleksandrovich (2021-12-21). "Hybrid categorical expert system for use in content aggregation". Software Systems and Computational Methods (4): 1–22. doi:10.7256/2454-0714.2021.4.37019. ISSN 2454-0714. S2CID 245498498.
- Smith, Reid (May 8, 1985). "Knowledge-Based Systems Concepts, Techniques, Examples" (PDF). Reid G. Smith. Retrieved 9 November 2013.
- ^ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems. Addison-Wesley. ISBN 978-0-201-10686-2.
- Nabil Arman, Polytechnic University of Palestine, January 2007, Fault Detection in Dynamic Rule Bases Using Spanning Trees and Disjoin Sets: ""
- Mettrey, William (1987). "An Assessment of Tools for Building Large Knowledge-Based Systems". AI Magazine. 8 (4). Archived from the original on 2013-11-10. Retrieved 2013-11-29.
- MacGregor, Robert (June 1991). "Using a description classifier to enhance knowledge representation". IEEE Expert. 6 (3): 41–46. doi:10.1109/64.87683. S2CID 29575443.
- 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 (5): 34–43. doi:10.1038/scientificamerican0501-34. Archived from the original on April 24, 2013.
- Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems. Addison-Wesley. p. 6. ISBN 978-0-201-10686-2.
- ^ 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.
- Kendal, S.L.; Creen, M. (2007). An introduction to knowledge engineering. London: Springer. ISBN 978-1-84628-475-5. OCLC 70987401.
- Feigenbaum, Edward A.; McCorduck, Pamela (1983). The fifth generation (1st ed.). Reading, Massachusetts: Addison-Wesley. ISBN 978-0-201-11519-2. OCLC 9324691.
- Lenat, Douglas (1992). "On the thresholds of knowledge". In Kirsh, David (ed.). Foundations Of Artificial Intelligence. MIT Press. pp. 185–250.
- Bezem M (1988). Consistency of rule-based expert systems. 9th International Conference on Automated Deduction. Lecture Notes in Computer Science. Vol. 310. pp. 151–161. doi:10.1007/BFb0012830. ISBN 3-540-19343-X.
- Mak B, Schmitt BH, and Lyytinen K (1997). "User participation in knowledge update of expert systems". Information & Management. 32 (2): 55–63. doi:10.1016/S0378-7206(96)00010-9.
- Pham HN, Triantaphyllou E (2008). "The Impact of Overfitting and Overgeneralization on the Classification Accuracy in Data Mining". Soft Computing for Knowledge Discovery and Data Mining. pp. 391–431. doi:10.1007/978-0-387-69935-6_16. ISBN 978-0-387-69934-9. S2CID 12628921.
- Pham HN, Triantaphyllou E (2008). "Prediction of diabetes by employing a new data mining approach which balances fitting and generalization". Computer and Inf. Science G: 11–26.
- Shan N, and Ziarko W (1995). "Data-based acquisition and incremental modification of classification rules". Computational Intelligence. 11 (2): 357–370. doi:10.1111/j.1467-8640.1995.tb00038.x. S2CID 38974914.
- Coats PK (1988). "Why expert systems fail". Financial Management. 17 (3): 77–86. JSTOR 3666074.
- Hendriks PH, and Vriens DJ (1999). "Knowledge-based systems and knowledge management: friends or foes?". Information & Management. 35 (2): 113–125. doi:10.1016/S0378-7206(98)00080-9. hdl:2066/240554.
- Yanase J, Triantaphyllou E (2019). "The Seven Key Challenges for the Future of Computer-Aided Diagnosis in Medicine". International Journal of Medical Informatics. 129: 413–422. doi:10.1016/j.ijmedinf.2019.06.017. PMID 31445285. S2CID 198287435.
- Woolery, L.K.; 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. doi:10.1136/jamia.1994.95153433. PMC 116227. PMID 7850569.
- ^ Salvaneschi, Paolo; Cadei, Mauro; Lazzari, Marco (1996). "Applying AI to structural safety monitoring and evaluation". IEEE Expert. 11 (4): 24–34. doi:10.1109/64.511774. Retrieved 5 March 2014.
- ^ 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. Bibcode:1999NatHa..20..185L. doi:10.1023/A:1008187024768. S2CID 1746570.
- ^ 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. S2CID 8113173.
- K. Horn; L. Lazarus; P. Compton; J.R. Quinlan (1985). "An expert system for the interpretation of thyroid assays in a clinical laboratory". Aust Comput J. 17: 7–11.
- ^ Buchanan, B. (1986). "Expert systems: working systems and the research literature". Expert Systems. 3 (1): 32–51. doi:10.1111/j.1468-0394.1986.tb00192.x.
- P. Compton; K. Horn; R. Quinlan; L. Lazarus; K. Ho (1988). "Maintaining an Expert System". Proceedings of the Fourth Australian Conference on the Applications of Expert Systems.
- Kwak, S. H. (1990). "A mission planning expert system for an autonomous underwater vehicle". Proceedings of the 1990 Symposium on Autonomous Underwater Vehicle Technology: 123–128. doi:10.1109/AUV.1990.110446. S2CID 60476847.
- Nelson, W. R. (1982). "REACTOR: An Expert System for Diagnosis and Treatment of Nuclear Reactors". AAAI. 82: Proceedings of the Second AAAI Conference on Artificial Intelligence: 296–301.
- ^ Hofmeister, Alan (1994). "SMH.PAL: an expert system for identifying treatment procedures for students with severe disabilities". Exceptional Children. 61 (2). Archived from the original on 3 December 2013. Retrieved 30 November 2013.
- Haddawy, P; Suebnukarn, S. (2010). "Intelligent Clinical Training Systems". Methods Inf Med. 49 (4): 388–9. CiteSeerX 10.1.1.172.60. doi:10.1055/s-0038-1625342. PMID 20686730. S2CID 11903941.
- Hollan, J.; Hutchins, E.; Weitzman, L. (1984). "STEAMER: An interactive inspectable simulation-based training system". AI Magazine.
- Stanley, G.M. (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 R Aided Design in Control Systems. Retrieved 3 December 2013.
- 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.
- Ciriscioli, P. R.; G. S. Springer (1990). "Smart Autoclave Cure of Composites". ISBN 9781003209010.
- Catlett, J. (1990). "Expert systems, the risks and rewards". Hub Information Technology. 2 (7): 20–26.
Works cited
- Crevier, Daniel (1993). AI: The Tumultuous Search for Artificial Intelligence. New York, NY: BasicBooks. ISBN 0-465-02997-3.
- Luger, George; Stubblefield, William (2004). Artificial Intelligence: Structures and Strategies for Complex Problem Solving (5th ed.). Benjamin/Cummings. ISBN 978-0-8053-4780-7. Retrieved 17 December 2019.
- Nilsson, Nils (1998). Artificial Intelligence: A New Synthesis. Morgan Kaufmann. ISBN 978-1-55860-467-4. Retrieved 18 November 2019.
- McCorduck, Pamela (2004), Machines Who Think (2nd ed.), Natick, Massachusetts: A. K. Peters, ISBN 1-5688-1205-1
External links
Knowledge representation and reasoning | |
---|---|
Expert systems | |
Reasoning systems | |
Ontology languages | |
Theorem provers | |
Constraint satisfaction | |
Automated planning |