Examine individual changes
Appearance
This page allows you to examine the variables generated by the Edit Filter for an individual change.
Variables generated for this change
Variable | Value |
---|---|
Edit count of the user (user_editcount ) | null |
Name of the user account (user_name ) | '41.66.235.66' |
Age of the user account (user_age ) | 0 |
Groups (including implicit) the user is in (user_groups ) | [
0 => '*'
] |
Whether or not a user is editing through the mobile interface (user_mobile ) | false |
Page ID (page_id ) | 10136 |
Page namespace (page_namespace ) | 0 |
Page title without namespace (page_title ) | 'Expert system' |
Full page title (page_prefixedtitle ) | 'Expert system' |
Last ten users to contribute to the page (page_recent_contributors ) | [
0 => 'Rjwilmsi',
1 => 'MadScientistX11',
2 => '166.21.100.2',
3 => 'Frap',
4 => 'Phil Boswell',
5 => 'Ronz',
6 => 'Bender235',
7 => '137.154.114.104',
8 => 'Norman21',
9 => '134.29.246.225'
] |
Action (action ) | 'edit' |
Edit summary/reason (summary ) | '/* History */ ' |
Whether or not the edit is marked as minor (no longer in use) (minor_edit ) | false |
Old page wikitext, before the edit (old_wikitext ) | '[[File:Symbolics3640 Modified.JPG|200px|thumbnail|right|A [[Symbolics Inc.|Symbolics]] Lisp Machine: An Early Platform for Expert Systems. Note the unusual [[Space-cadet keyboard|"space cadet keyboard"]].]]
In [[artificial intelligence]], an '''expert system''' is a computer system that emulates the decision-making ability of a human expert.<ref name="Jackson1998">{{Citation | title = Introduction To Expert Systems | year = 1998 | publisher = Addison Wesley | edition = 3 | last = Jackson | first = Peter | isbn = 978-0-201-87686-4 | page = 2 }}</ref>
Expert systems are designed to solve complex problems by [[automated reasoning|reasoning]] about knowledge, represented primarily as [[Rule-based system|if–then rules]] rather than through conventional [[procedural code]].<ref>{{cite web |url=http://www.pcmag.com/encyclopedia_term/0,2542,t=conventional+programming&i=40325,00.asp |title=Conventional programming |publisher=Pcmag.com |accessdate=2013-09-15}}</ref> The first expert systems 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> Expert systems were among the first truly successful forms of [[Artificial Intelligence|AI]] software.<ref>{{cite book|last1=Russel|first1=Stuart|last2=Norvig|first2=Peter|title=Artificial Intelligence: A Modern Approach|date=1995|publisher=Simon & Schuster|isbn=0-13-103805-2|pages=22–23|url=http://stpk.cs.rtu.lv/sites/all/files/stpk/materiali/MI/Artificial%20Intelligence%20A%20Modern%20Approach.pdf|accessdate=14 June 2014}}</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}}
An expert system is divided into two sub-systems: the [[inference engine]] and the [[knowledge base]]. The knowledge base represents facts and rules. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging capabilities.<ref>[http://www.hrmars.com/admin/pics/261.pdf Nwigbo Stella and Agbo Okechuku Chuks], School of Science Education, Expert system: a catalyst in educational development in Nigeria: "''Knowledge-based systems collect the small fragments of human know-how into a knowledge-base which is used to reason through a problem, using the knowledge that is appropriated''"</ref>
== History ==
[[Edward Feigenbaum]] in a 1977 paper said that the key insight of early expert systems was that "intelligent systems derive their power from the knowledge they possess rather than from the specific formalisms and inference schemes they use" (as paraphrased by Hayes-Roth, et al.) Although, in retrospect, this seems a rather straightforward insight, it was a significant step forward at the time. Until then, research had been focused on attempts to develop very general-purpose problem solvers such as those described by [[Allen Newell|Newell]] and [[Herb Simon|Simon]].<ref>{{cite book|last=Hayes-Roth|first=Frederick|pages=6–7|title=Building Expert Systems|year=1983|publisher=Addison-Wesley|isbn=0-201-10686-8|first2=Donald|last2=Waterman|first3=Douglas|last3=Lenat}}</ref>
Expert systems were introduced by the Stanford Heuristic Programming Project led by Feigenbaum, who is sometimes referred to as the "father of expert systems". 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]]).
In addition to Feigenbaum key early contributors were [[Edward Shortliffe]], Bruce Buchanan, and Randall Davis. Expert systems were among the first truly successful forms of [[Artificial Intelligence|AI]] software.<ref>{{cite book|last1=Russel|first1=Stuart|last2=Norvig|first2=Peter|title=Artificial Intelligence: A Modern Approach|date=1995|publisher=Simon & Schuster|isbn=0-13-103805-2|pages=22–23|url=http://stpk.cs.rtu.lv/sites/all/files/stpk/materiali/MI/Artificial%20Intelligence%20A%20Modern%20Approach.pdf|accessdate=14 June 2014}}</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}}
Research on expert systems was also active in France. In the US the focus tended to be on rule-based systems, first on systems hard coded on top of LISP programming environments and then on expert system shells developed by vendors such as [[IntelliCorp (software)|Intellicorp]]. In France research focused more on systems developed in [[Prolog]]. The advantage of expert system shells was that they were somewhat easier for non-programmers to use. The advantage of Prolog environments was that they weren't focused only on IF-THEN rules. Prolog environments provided a much fuller realization of a complete [[First Order Logic]] environment.<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>[http://promethee.philo.ulg.ac.be/engdep1/download/prolog/htm_docs/prolog.htm A. MICHIELS], Université de Liège, Belgique: "PROLOG, the first declarative language</ref>
In the 1980s, expert systems proliferated. Universities offered expert system courses and two thirds of the [[Fortune 1000]] 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 [[Fifth Generation Computer Systems project]] in Japan and increased research funding in Europe.
In 1981 the first [[IBM PC]] was introduced, with the [[MS-DOS]] operating system. The imbalance between the relatively powerful chips in the highly affordable PC compared to the much more expensive price of processing power in the Mainframes that dominated the corporate IT world at the time created a whole new type of architecture for corporate computing known as the [[Client-server model]].<ref>{{cite book|last=Orfali|first=Robert|title=The Essential Client/Server Survival Guide|year=1996|publisher=Wiley Computer Publishing|location=New York|isbn=0-471-15325-7|pages=1–10}}</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. Up until that point the primary development environment for expert systems had been high end Lisp machines from [[Xerox]], [[Symbolics Inc.|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. In addition new vendors often financed by Venture Capital started appearing regularly. These new vendors included Aion Corporation, [[Neuron Data]], 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=1118033787|page=164|url=http://books.google.com/books?id=3KrTQzQHl7AC&pg=PA164&lpg=PA164&dq=expert+systems+failed+to+live+up+to+hype&source=bl&ots=dT3kLwalVA&sig=EhIk5BYXUKfpvIpbVJRc5sO9LE4&hl=en&sa=X&ei=OtKYUumcJcvtoASG9YL4Aw&ved=0CGEQ6AEwBQ#v=onepage&q=expert%20systems%20failed%20to%20live%20up%20to%20hype&f=false|accessdate=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=http://books.google.com/books?id=iS8EAAAAMBAJ&pg=PA30 | accessdate=2011-03-13 }}</ref>
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 didn't deliver on their over hyped promise.<ref>[http://www.ainewsletter.com/newsletters/aix_0501.htm#w AI Expert Newsletter: W is for Winter]</ref><ref>[http://ejlt.org//article/view/14/1 Leith P., "The rise and fall of the legal expert system", in European Journal of Law and Technology, Vol 1, Issue 1, 2010]</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 standalone tools for the development of special purpose "expert" systems to one more tool that an IT professional has at their disposal.<ref>{{cite journal|last=Haskin|first=David|title=Years After Hype, 'Expert Systems' Paying Off For Some|journal=Datamation|date=January 16, 2003|url=http://www.datamation.com/netsys/article.php/1570851/Years-After-Hype-Expert-Systems-Paying-Off-For-Some.htm|accessdate=29 November 2013}}</ref> Many of the leading major business application suite vendors such as [[SAP (software)|SAP]], [[Siebel Systems|Siebel]], and [[Oracle Corporation|Oracle]] integrated expert system capabilities into their suite of products as a way of specifying 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=http://laszlo.sys-con.com|publisher=LaszloTrack|accessdate=29 November 2013}}</ref><ref>{{cite web|last=Pegasystems|title=Smart BPM Requires Smart Business Rules|url=http://www.pega.com/business-rules|work=http://www.pega.com|accessdate=29 November 2013}}</ref><ref>{{cite journal|last=Zhao|first=Kai|first2=Shi|last2=Ying|first3=Linlin|last3=Zhang|first4=Luokai|last4=Hu|title=Achieving business process and business rules integration using SPL|journal=Future Information Technology and Management Engineering (FITME)|date=9–10 Oct 2010|year=2010|volume=2|pages=329–332|url=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5656297&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5656297|accessdate=29 November 2013|doi=10.1109/fitme.2010.5656297}}</ref>
== Software architecture ==
An expert system is an example of a [[knowledge-based system]]. Expert systems were the first commercial systems to use a knowledge-based architecture. A knowledge-based system is essentially composed of two sub-systems: the [[knowledge base]] and the [[inference engine]].<ref>{{cite web|last=Smith|first=Reid|title=Knowledge-Based Systems Concepts, Techniques, Examples|url=http://www.reidgsmith.com/Knowledge-Based_Systems_-_Concepts_Techniques_Examples_08-May-1985.pdf|work=http://www.reidgsmith.com|publisher=Schlumberger-Doll Research|accessdate=9 November 2013|date=May 8, 1985}}</ref>
The knowledge base represents facts about the world. In early expert systems such as Mycin and Dendral these facts were represented primarily as flat assertions about variables. In later expert systems developed with commercial shells the knowledge base took on more structure and utilized 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 capabilities 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|last=Hayes-Roth|first=Frederick|title=Building Expert Systems|year=1983|publisher=Addison-Wesley|isbn=0-201-10686-8|first2=Donald|last2=Waterman|first3=Douglas|last3=Lenat}}</ref>
There are primarily 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:
<math>R1: Man(x) => Mortal(x)</math>
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 doesn't 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 capabilities. 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>[http://www.ccis2k.org/iajit/PDF/vol.4,no.1/9-Nabil.pdf Nabil Arman], 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- BasedSystems|journal=AI Magazine|year=1987|volume= 8| issue = 4|url=http://www.aaai.org/ojs/index.php/aimagazine/article/viewArticle/625}}</ref> Some of the most important of these were:
* Truth Maintenance. Truth maintenance 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 hypothetical reasoning, the knowledge base can be divided up into many possible views, aka worlds. This allows the inference engine to explore multiple possibilities in parallel. In this simple example, the system may want to explore the consequences of both assertions, what will be true if Socrates is a Man and what will be true if he is not?
* Fuzzy Logic. One of the first extensions of 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 and combination of probabilities.
* Ontology Classification. With the addition of object classes to the knowledge base a new type of reasoning was possible. Rather than reason simply about the values of the objects the system could also reason about the structure of the objects as well. 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 known as [[Deductive classifier|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]].<ref>{{cite journal|last=MacGregor|first=Robert|title=Using a description classifier to enhance knowledge representation|journal=IEEE Expert|date=June 1991|volume=6|issue=3|url=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=87683&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D87683|accessdate=10 November 2013}}</ref><ref>{{cite journal|last=Berners-Lee|first=Tim|first2=James|last2=Hendler|first3=Ora|last3=Lassila|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|date=May 17, 2001|url=http://www.cs.umd.edu/~golbeck/LBSC690/SemanticWeb.html}}</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|last=Hayes-Roth|first=Frederick|page=6|title=Building Expert Systems|year=1983|publisher=Addison-Wesley|isbn=0-201-10686-8|first2=Donald|last2=Waterman|first3=Douglas|last3=Lenat}}</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 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. In addition 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|last=Wong|first=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|accessdate=29 November 2013|doi=10.1016/0378-7206(95)00023-p}}</ref>
== 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 effort 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 seem at least as critical as knowledge acquisition. These problems with expert systems were essentially the same problems as any other large system: integration, access to large databases, and performance.<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><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 = [[Addison-Wesley]]
| location = [[Reading, MA]] | isbn = 978-0-201-11519-2 | oclc = 9324691}}</ref>
Performance was especially problematic for early expert systems as they were built using tools that featured interpreted rather than compiled code such as Lisp. Interpreting provides an extremely powerful development environment but with a cost that it is virtually impossible to obtain the levels of efficiency of the fastest compiled languages of the time such as [[C (programming language)|C]]. System and database integration were difficult for early expert systems due to the fact that the tools were mostly in languages and platforms that were not familiar to nor welcomed 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 a great deal of effort in the later stages of expert system tool development were focused on integration with legacy environments such as [[COBOL]], integration with large database systems, and porting to more standard platforms. These issues were resolved primarily by the client-server paradigm shift as PCs were gradually accepted in the IT world as a legitimate platform for serious business system development and as affordable minicomputer servers provided the processing power needed for AI applications.<ref name="Wong 1995 141–152"/>
== Applications ==
Hayes-Roth divides expert systems applications into 10 categories illustrated in the following table. Note that the example applications were not in the original Hayes-Roth table and some of the example applications came along quite a bit later. Any application that is not foot noted is described in the Hayes-Roth book.<ref name="Hayes-Roth 1983"/> Also, while these categories provide an intuitive framework for describing the space of expert systems applications, they are not rigid categories and in some cases an application may show characteristics of more than one category.
{| class="wikitable"
|-
! Category !! Problem Addressed !! Examples
|-
| Interpretation || Inferring situation descriptions from sensor data || Hearsay (Speech Recognition), PROSPECTOR
|-
| Prediction || Inferring likely consequences of given situations || Pretirm Birth Risk Assessment<ref>{{cite journal|last=Woolery|first=L.K.|title=Machine learning for an expert system to predict preterm birth risk|journal=Journal of the American Medical Informatics Association|year=1994|volume=1|issue=6|pages=439–446|pmc=116227|pmid=7850569|doi=10.1136/jamia.1994.95153433}}</ref>
|-
| Diagnosis || Inferring system malfunctions from observables || CADUCEUS, [[MYCIN]], PUFF, Mistral<ref name="Mistral">{{cite journal|last=Salvaneschi|first=Paolo|first2=Mauro|last2=Cadei|first3=Marco|last3=Lazzari|title=Applying AI to structural safety monitoring and evaluation|journal=IEEE Expert - Intelligent Systems|year=1996|volume=11|issue=4|pages=24–34|url=http://www.computer.org/csdl/mags/ex/1996/04/x4024-abs.html|accessdate=5 March 2014|doi=10.1109/64.511774}}</ref>
|-
| Design || Configuring objects under constraints || [[Dendral]], [[Expert systems for mortgages|Mortgage Loan Advisor]], R1 (Dec Vax Configuration)
|-
| Planning || Designing actions || Mission Planning for Autonomous Underwater Vehicle<ref>{{cite journal|last=Kwak|first=S.. H.|title=A mission planning expert system for an autonomous underwater vehicle|journal=Proceedings of the 1990 Symposium on Autonomous Underwater Vehicle Technology|year=1990|pages=123–128|url=http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=110446|accessdate=30 November 2013}}</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|year=1982|url=http://citeseerx.ist.psu.edu/showciting;jsessionid=2A70F70899982564FF75673D749D4ABB?cid=1023155|accessdate=30 November 2013}}</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 repairing student behavior || SMH.PAL, Intelligent Clinical Training,<ref>{{cite journal|last=Haddawy|first=P|first2=S.|last2=Suebnukarn|title=Intelligent Clinical Training Systems|journal=Methods Inf Med 2010|year=2010|id = {{citeseerx|10.1.1.172.60}}|accessdate=<!-- 30 November 2013 -->}}</ref> STEAMER<ref>{{cite journal|last=Hollan|first=J.|first2=E.|last2=Hutchins|first3=L.|last3=Weitzman|title=STEAMER: An interactive inspectable simulation-based training system|journal=AI Magazine|year=1984|url=http://citeseerx.ist.psu.edu/showciting;jsessionid=2A70F70899982564FF75673D749D4ABB?cid=67352|accessdate=30 November 2013}}</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 Federati on 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|accessdate=3 December 2013}}</ref> Space Shuttle Mission Control<ref>{{cite journal|last=Rasmussen|first=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=http://www.researchgate.net/publication/4702412_The_INCO_Expert_System_Project_CLIPS_in_Shuttle_mission_control|accessdate=30 November 2013}}</ref>
|}
Hearsay was an early attempt at solving voice recognition through an expert systems approach. For the most part this category or 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 sales people configuring Dec Vax computers and mortgage loan application development.
SMH.PAL is an expert system for the assessment of students with multiple disabilities.<ref>{{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|accessdate=30 November 2013}}</ref>
Mistral <ref name="Mistral"/> is an expert system for the monitoring of dam safety developed in the 90's by Ismes (Italy). It gets data from an automatic monitoring system and performs a diagnosis of the state of the dam. Its first copy, installed in 1992 on the [[Ridracoli]] Dam (Italy), is still operational 24/7/365. It has been installed on several dams in Italy and abroad (e.g. [[Itaipu Dam]] in Brazil), as well as on landslides under the name of Eydenet,<ref name="Eydenet">{{cite journal|last=Lazzari|first=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|doi=10.1023/A:1008187024768}}</ref> and on monuments under the name of Kaleidos.<ref name="Kaleidos">{{cite journal|last=Lancini|first=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|doi=10.2749/101686697780494392}}</ref> Mistral is a registered trade mark of [[Centro Elettrotecnico Sperimentale Italiano|CESI]].
== See also ==
* [[AI effect]]
* [[Applications of artificial intelligence]]
* [[Knowledge engineering]]
* [[List of emerging technologies]]
* [[Outline of artificial intelligence]]
== References ==
{{reflist|30em}}
== External links ==
* {{dmoz|Computers/Artificial_Intelligence/|Artificial Intelligence}}
* [http://www.codeproject.com/KB/recipes/ArtificialAdvice-1.aspx Expert System tutorial on Code Project]
{{DEFAULTSORT:Expert System}}
[[Category:Artificial intelligence]]
[[Category:Decision theory]]
[[Category:Expert systems|*]]
[[Category:Information systems]]' |
New page wikitext, after the edit (new_wikitext ) | '[[File:Symbolics3640 Modified.JPG|200px|thumbnail|right|A [[Symbolics Inc.|Symbolics]] Lisp Machine: An Early Platform for Expert Systems. Note the unusual [[Space-cadet keyboard|"space cadet keyboard"]].]]
In [[artificial intelligence]], an '''expert system''' is a computer system that emulates the decision-making ability of a human expert.<ref name="Jackson1998">{{Citation | title = Introduction To Expert Systems | year = 1998 | publisher = Addison Wesley | edition = 3 | last = Jackson | first = Peter | isbn = 978-0-201-87686-4 | page = 2 }}</ref>
Expert systems are designed to solve complex problems by [[automated reasoning|reasoning]] about knowledge, represented primarily as [[Rule-based system|if–then rules]] rather than through conventional [[procedural code]].<ref>{{cite web |url=http://www.pcmag.com/encyclopedia_term/0,2542,t=conventional+programming&i=40325,00.asp |title=Conventional programming |publisher=Pcmag.com |accessdate=2013-09-15}}</ref> The first expert systems 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> Expert systems were among the first truly successful forms of [[Artificial Intelligence|AI]] software.<ref>{{cite book|last1=Russel|first1=Stuart|last2=Norvig|first2=Peter|title=Artificial Intelligence: A Modern Approach|date=1995|publisher=Simon & Schuster|isbn=0-13-103805-2|pages=22–23|url=http://stpk.cs.rtu.lv/sites/all/files/stpk/materiali/MI/Artificial%20Intelligence%20A%20Modern%20Approach.pdf|accessdate=14 June 2014}}</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}}
An expert system is divided into two sub-systems: the [[inference engine]] and the [[knowledge base]]. The knowledge base represents facts and rules. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging capabilities.<ref>[http://www.hrmars.com/admin/pics/261.pdf Nwigbo Stella and Agbo Okechuku Chuks], School of Science Education, Expert system: a catalyst in educational development in Nigeria: "''Knowledge-based systems collect the small fragments of human know-how into a knowledge-base which is used to reason through a problem, using the knowledge that is appropriated''"</ref>
== FUCK YOU SCIS ==
-Kappa
== Software architecture ==
An expert system is an example of a [[knowledge-based system]]. Expert systems were the first commercial systems to use a knowledge-based architecture. A knowledge-based system is essentially composed of two sub-systems: the [[knowledge base]] and the [[inference engine]].<ref>{{cite web|last=Smith|first=Reid|title=Knowledge-Based Systems Concepts, Techniques, Examples|url=http://www.reidgsmith.com/Knowledge-Based_Systems_-_Concepts_Techniques_Examples_08-May-1985.pdf|work=http://www.reidgsmith.com|publisher=Schlumberger-Doll Research|accessdate=9 November 2013|date=May 8, 1985}}</ref>
The knowledge base represents facts about the world. In early expert systems such as Mycin and Dendral these facts were represented primarily as flat assertions about variables. In later expert systems developed with commercial shells the knowledge base took on more structure and utilized 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 capabilities 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|last=Hayes-Roth|first=Frederick|title=Building Expert Systems|year=1983|publisher=Addison-Wesley|isbn=0-201-10686-8|first2=Donald|last2=Waterman|first3=Douglas|last3=Lenat}}</ref>
There are primarily 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:
<math>R1: Man(x) => Mortal(x)</math>
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 doesn't 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 capabilities. 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>[http://www.ccis2k.org/iajit/PDF/vol.4,no.1/9-Nabil.pdf Nabil Arman], 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- BasedSystems|journal=AI Magazine|year=1987|volume= 8| issue = 4|url=http://www.aaai.org/ojs/index.php/aimagazine/article/viewArticle/625}}</ref> Some of the most important of these were:
* Truth Maintenance. Truth maintenance 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 hypothetical reasoning, the knowledge base can be divided up into many possible views, aka worlds. This allows the inference engine to explore multiple possibilities in parallel. In this simple example, the system may want to explore the consequences of both assertions, what will be true if Socrates is a Man and what will be true if he is not?
* Fuzzy Logic. One of the first extensions of 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 and combination of probabilities.
* Ontology Classification. With the addition of object classes to the knowledge base a new type of reasoning was possible. Rather than reason simply about the values of the objects the system could also reason about the structure of the objects as well. 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 known as [[Deductive classifier|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]].<ref>{{cite journal|last=MacGregor|first=Robert|title=Using a description classifier to enhance knowledge representation|journal=IEEE Expert|date=June 1991|volume=6|issue=3|url=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=87683&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D87683|accessdate=10 November 2013}}</ref><ref>{{cite journal|last=Berners-Lee|first=Tim|first2=James|last2=Hendler|first3=Ora|last3=Lassila|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|date=May 17, 2001|url=http://www.cs.umd.edu/~golbeck/LBSC690/SemanticWeb.html}}</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|last=Hayes-Roth|first=Frederick|page=6|title=Building Expert Systems|year=1983|publisher=Addison-Wesley|isbn=0-201-10686-8|first2=Donald|last2=Waterman|first3=Douglas|last3=Lenat}}</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 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. In addition 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|last=Wong|first=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|accessdate=29 November 2013|doi=10.1016/0378-7206(95)00023-p}}</ref>
== 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 effort 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 seem at least as critical as knowledge acquisition. These problems with expert systems were essentially the same problems as any other large system: integration, access to large databases, and performance.<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><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 = [[Addison-Wesley]]
| location = [[Reading, MA]] | isbn = 978-0-201-11519-2 | oclc = 9324691}}</ref>
Performance was especially problematic for early expert systems as they were built using tools that featured interpreted rather than compiled code such as Lisp. Interpreting provides an extremely powerful development environment but with a cost that it is virtually impossible to obtain the levels of efficiency of the fastest compiled languages of the time such as [[C (programming language)|C]]. System and database integration were difficult for early expert systems due to the fact that the tools were mostly in languages and platforms that were not familiar to nor welcomed 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 a great deal of effort in the later stages of expert system tool development were focused on integration with legacy environments such as [[COBOL]], integration with large database systems, and porting to more standard platforms. These issues were resolved primarily by the client-server paradigm shift as PCs were gradually accepted in the IT world as a legitimate platform for serious business system development and as affordable minicomputer servers provided the processing power needed for AI applications.<ref name="Wong 1995 141–152"/>
== Applications ==
Hayes-Roth divides expert systems applications into 10 categories illustrated in the following table. Note that the example applications were not in the original Hayes-Roth table and some of the example applications came along quite a bit later. Any application that is not foot noted is described in the Hayes-Roth book.<ref name="Hayes-Roth 1983"/> Also, while these categories provide an intuitive framework for describing the space of expert systems applications, they are not rigid categories and in some cases an application may show characteristics of more than one category.
{| class="wikitable"
|-
! Category !! Problem Addressed !! Examples
|-
| Interpretation || Inferring situation descriptions from sensor data || Hearsay (Speech Recognition), PROSPECTOR
|-
| Prediction || Inferring likely consequences of given situations || Pretirm Birth Risk Assessment<ref>{{cite journal|last=Woolery|first=L.K.|title=Machine learning for an expert system to predict preterm birth risk|journal=Journal of the American Medical Informatics Association|year=1994|volume=1|issue=6|pages=439–446|pmc=116227|pmid=7850569|doi=10.1136/jamia.1994.95153433}}</ref>
|-
| Diagnosis || Inferring system malfunctions from observables || CADUCEUS, [[MYCIN]], PUFF, Mistral<ref name="Mistral">{{cite journal|last=Salvaneschi|first=Paolo|first2=Mauro|last2=Cadei|first3=Marco|last3=Lazzari|title=Applying AI to structural safety monitoring and evaluation|journal=IEEE Expert - Intelligent Systems|year=1996|volume=11|issue=4|pages=24–34|url=http://www.computer.org/csdl/mags/ex/1996/04/x4024-abs.html|accessdate=5 March 2014|doi=10.1109/64.511774}}</ref>
|-
| Design || Configuring objects under constraints || [[Dendral]], [[Expert systems for mortgages|Mortgage Loan Advisor]], R1 (Dec Vax Configuration)
|-
| Planning || Designing actions || Mission Planning for Autonomous Underwater Vehicle<ref>{{cite journal|last=Kwak|first=S.. H.|title=A mission planning expert system for an autonomous underwater vehicle|journal=Proceedings of the 1990 Symposium on Autonomous Underwater Vehicle Technology|year=1990|pages=123–128|url=http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=110446|accessdate=30 November 2013}}</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|year=1982|url=http://citeseerx.ist.psu.edu/showciting;jsessionid=2A70F70899982564FF75673D749D4ABB?cid=1023155|accessdate=30 November 2013}}</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 repairing student behavior || SMH.PAL, Intelligent Clinical Training,<ref>{{cite journal|last=Haddawy|first=P|first2=S.|last2=Suebnukarn|title=Intelligent Clinical Training Systems|journal=Methods Inf Med 2010|year=2010|id = {{citeseerx|10.1.1.172.60}}|accessdate=<!-- 30 November 2013 -->}}</ref> STEAMER<ref>{{cite journal|last=Hollan|first=J.|first2=E.|last2=Hutchins|first3=L.|last3=Weitzman|title=STEAMER: An interactive inspectable simulation-based training system|journal=AI Magazine|year=1984|url=http://citeseerx.ist.psu.edu/showciting;jsessionid=2A70F70899982564FF75673D749D4ABB?cid=67352|accessdate=30 November 2013}}</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 Federati on 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|accessdate=3 December 2013}}</ref> Space Shuttle Mission Control<ref>{{cite journal|last=Rasmussen|first=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=http://www.researchgate.net/publication/4702412_The_INCO_Expert_System_Project_CLIPS_in_Shuttle_mission_control|accessdate=30 November 2013}}</ref>
|}
Hearsay was an early attempt at solving voice recognition through an expert systems approach. For the most part this category or 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 sales people configuring Dec Vax computers and mortgage loan application development.
SMH.PAL is an expert system for the assessment of students with multiple disabilities.<ref>{{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|accessdate=30 November 2013}}</ref>
Mistral <ref name="Mistral"/> is an expert system for the monitoring of dam safety developed in the 90's by Ismes (Italy). It gets data from an automatic monitoring system and performs a diagnosis of the state of the dam. Its first copy, installed in 1992 on the [[Ridracoli]] Dam (Italy), is still operational 24/7/365. It has been installed on several dams in Italy and abroad (e.g. [[Itaipu Dam]] in Brazil), as well as on landslides under the name of Eydenet,<ref name="Eydenet">{{cite journal|last=Lazzari|first=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|doi=10.1023/A:1008187024768}}</ref> and on monuments under the name of Kaleidos.<ref name="Kaleidos">{{cite journal|last=Lancini|first=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|doi=10.2749/101686697780494392}}</ref> Mistral is a registered trade mark of [[Centro Elettrotecnico Sperimentale Italiano|CESI]].
== See also ==
* [[AI effect]]
* [[Applications of artificial intelligence]]
* [[Knowledge engineering]]
* [[List of emerging technologies]]
* [[Outline of artificial intelligence]]
== References ==
{{reflist|30em}}
== External links ==
* {{dmoz|Computers/Artificial_Intelligence/|Artificial Intelligence}}
* [http://www.codeproject.com/KB/recipes/ArtificialAdvice-1.aspx Expert System tutorial on Code Project]
{{DEFAULTSORT:Expert System}}
[[Category:Artificial intelligence]]
[[Category:Decision theory]]
[[Category:Expert systems|*]]
[[Category:Information systems]]' |
Unified diff of changes made by edit (edit_diff ) | '@@ -5,20 +5,8 @@
An expert system is divided into two sub-systems: the [[inference engine]] and the [[knowledge base]]. The knowledge base represents facts and rules. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging capabilities.<ref>[http://www.hrmars.com/admin/pics/261.pdf Nwigbo Stella and Agbo Okechuku Chuks], School of Science Education, Expert system: a catalyst in educational development in Nigeria: "''Knowledge-based systems collect the small fragments of human know-how into a knowledge-base which is used to reason through a problem, using the knowledge that is appropriated''"</ref>
-== History ==
-[[Edward Feigenbaum]] in a 1977 paper said that the key insight of early expert systems was that "intelligent systems derive their power from the knowledge they possess rather than from the specific formalisms and inference schemes they use" (as paraphrased by Hayes-Roth, et al.) Although, in retrospect, this seems a rather straightforward insight, it was a significant step forward at the time. Until then, research had been focused on attempts to develop very general-purpose problem solvers such as those described by [[Allen Newell|Newell]] and [[Herb Simon|Simon]].<ref>{{cite book|last=Hayes-Roth|first=Frederick|pages=6–7|title=Building Expert Systems|year=1983|publisher=Addison-Wesley|isbn=0-201-10686-8|first2=Donald|last2=Waterman|first3=Douglas|last3=Lenat}}</ref>
-
-Expert systems were introduced by the Stanford Heuristic Programming Project led by Feigenbaum, who is sometimes referred to as the "father of expert systems". 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]]).
-
-In addition to Feigenbaum key early contributors were [[Edward Shortliffe]], Bruce Buchanan, and Randall Davis. Expert systems were among the first truly successful forms of [[Artificial Intelligence|AI]] software.<ref>{{cite book|last1=Russel|first1=Stuart|last2=Norvig|first2=Peter|title=Artificial Intelligence: A Modern Approach|date=1995|publisher=Simon & Schuster|isbn=0-13-103805-2|pages=22–23|url=http://stpk.cs.rtu.lv/sites/all/files/stpk/materiali/MI/Artificial%20Intelligence%20A%20Modern%20Approach.pdf|accessdate=14 June 2014}}</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}}
-
-Research on expert systems was also active in France. In the US the focus tended to be on rule-based systems, first on systems hard coded on top of LISP programming environments and then on expert system shells developed by vendors such as [[IntelliCorp (software)|Intellicorp]]. In France research focused more on systems developed in [[Prolog]]. The advantage of expert system shells was that they were somewhat easier for non-programmers to use. The advantage of Prolog environments was that they weren't focused only on IF-THEN rules. Prolog environments provided a much fuller realization of a complete [[First Order Logic]] environment.<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>[http://promethee.philo.ulg.ac.be/engdep1/download/prolog/htm_docs/prolog.htm A. MICHIELS], Université de Liège, Belgique: "PROLOG, the first declarative language</ref>
-
-In the 1980s, expert systems proliferated. Universities offered expert system courses and two thirds of the [[Fortune 1000]] 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 [[Fifth Generation Computer Systems project]] in Japan and increased research funding in Europe.
-
-In 1981 the first [[IBM PC]] was introduced, with the [[MS-DOS]] operating system. The imbalance between the relatively powerful chips in the highly affordable PC compared to the much more expensive price of processing power in the Mainframes that dominated the corporate IT world at the time created a whole new type of architecture for corporate computing known as the [[Client-server model]].<ref>{{cite book|last=Orfali|first=Robert|title=The Essential Client/Server Survival Guide|year=1996|publisher=Wiley Computer Publishing|location=New York|isbn=0-471-15325-7|pages=1–10}}</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. Up until that point the primary development environment for expert systems had been high end Lisp machines from [[Xerox]], [[Symbolics Inc.|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. In addition new vendors often financed by Venture Capital started appearing regularly. These new vendors included Aion Corporation, [[Neuron Data]], 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=1118033787|page=164|url=http://books.google.com/books?id=3KrTQzQHl7AC&pg=PA164&lpg=PA164&dq=expert+systems+failed+to+live+up+to+hype&source=bl&ots=dT3kLwalVA&sig=EhIk5BYXUKfpvIpbVJRc5sO9LE4&hl=en&sa=X&ei=OtKYUumcJcvtoASG9YL4Aw&ved=0CGEQ6AEwBQ#v=onepage&q=expert%20systems%20failed%20to%20live%20up%20to%20hype&f=false|accessdate=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=http://books.google.com/books?id=iS8EAAAAMBAJ&pg=PA30 | accessdate=2011-03-13 }}</ref>
-
-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 didn't deliver on their over hyped promise.<ref>[http://www.ainewsletter.com/newsletters/aix_0501.htm#w AI Expert Newsletter: W is for Winter]</ref><ref>[http://ejlt.org//article/view/14/1 Leith P., "The rise and fall of the legal expert system", in European Journal of Law and Technology, Vol 1, Issue 1, 2010]</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 standalone tools for the development of special purpose "expert" systems to one more tool that an IT professional has at their disposal.<ref>{{cite journal|last=Haskin|first=David|title=Years After Hype, 'Expert Systems' Paying Off For Some|journal=Datamation|date=January 16, 2003|url=http://www.datamation.com/netsys/article.php/1570851/Years-After-Hype-Expert-Systems-Paying-Off-For-Some.htm|accessdate=29 November 2013}}</ref> Many of the leading major business application suite vendors such as [[SAP (software)|SAP]], [[Siebel Systems|Siebel]], and [[Oracle Corporation|Oracle]] integrated expert system capabilities into their suite of products as a way of specifying 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=http://laszlo.sys-con.com|publisher=LaszloTrack|accessdate=29 November 2013}}</ref><ref>{{cite web|last=Pegasystems|title=Smart BPM Requires Smart Business Rules|url=http://www.pega.com/business-rules|work=http://www.pega.com|accessdate=29 November 2013}}</ref><ref>{{cite journal|last=Zhao|first=Kai|first2=Shi|last2=Ying|first3=Linlin|last3=Zhang|first4=Luokai|last4=Hu|title=Achieving business process and business rules integration using SPL|journal=Future Information Technology and Management Engineering (FITME)|date=9–10 Oct 2010|year=2010|volume=2|pages=329–332|url=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5656297&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5656297|accessdate=29 November 2013|doi=10.1109/fitme.2010.5656297}}</ref>
+== FUCK YOU SCIS ==
+-Kappa
== Software architecture ==
An expert system is an example of a [[knowledge-based system]]. Expert systems were the first commercial systems to use a knowledge-based architecture. A knowledge-based system is essentially composed of two sub-systems: the [[knowledge base]] and the [[inference engine]].<ref>{{cite web|last=Smith|first=Reid|title=Knowledge-Based Systems Concepts, Techniques, Examples|url=http://www.reidgsmith.com/Knowledge-Based_Systems_-_Concepts_Techniques_Examples_08-May-1985.pdf|work=http://www.reidgsmith.com|publisher=Schlumberger-Doll Research|accessdate=9 November 2013|date=May 8, 1985}}</ref>
' |
New page size (new_size ) | 22637 |
Old page size (old_size ) | 31029 |
Size change in edit (edit_delta ) | -8392 |
Lines added in edit (added_lines ) | [
0 => '== FUCK YOU SCIS ==',
1 => '-Kappa'
] |
Lines removed in edit (removed_lines ) | [
0 => '== History ==',
1 => '[[Edward Feigenbaum]] in a 1977 paper said that the key insight of early expert systems was that "intelligent systems derive their power from the knowledge they possess rather than from the specific formalisms and inference schemes they use" (as paraphrased by Hayes-Roth, et al.) Although, in retrospect, this seems a rather straightforward insight, it was a significant step forward at the time. Until then, research had been focused on attempts to develop very general-purpose problem solvers such as those described by [[Allen Newell|Newell]] and [[Herb Simon|Simon]].<ref>{{cite book|last=Hayes-Roth|first=Frederick|pages=6–7|title=Building Expert Systems|year=1983|publisher=Addison-Wesley|isbn=0-201-10686-8|first2=Donald|last2=Waterman|first3=Douglas|last3=Lenat}}</ref>',
2 => false,
3 => 'Expert systems were introduced by the Stanford Heuristic Programming Project led by Feigenbaum, who is sometimes referred to as the "father of expert systems". 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]]).',
4 => false,
5 => 'In addition to Feigenbaum key early contributors were [[Edward Shortliffe]], Bruce Buchanan, and Randall Davis. Expert systems were among the first truly successful forms of [[Artificial Intelligence|AI]] software.<ref>{{cite book|last1=Russel|first1=Stuart|last2=Norvig|first2=Peter|title=Artificial Intelligence: A Modern Approach|date=1995|publisher=Simon & Schuster|isbn=0-13-103805-2|pages=22–23|url=http://stpk.cs.rtu.lv/sites/all/files/stpk/materiali/MI/Artificial%20Intelligence%20A%20Modern%20Approach.pdf|accessdate=14 June 2014}}</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}}',
6 => false,
7 => 'Research on expert systems was also active in France. In the US the focus tended to be on rule-based systems, first on systems hard coded on top of LISP programming environments and then on expert system shells developed by vendors such as [[IntelliCorp (software)|Intellicorp]]. In France research focused more on systems developed in [[Prolog]]. The advantage of expert system shells was that they were somewhat easier for non-programmers to use. The advantage of Prolog environments was that they weren't focused only on IF-THEN rules. Prolog environments provided a much fuller realization of a complete [[First Order Logic]] environment.<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>[http://promethee.philo.ulg.ac.be/engdep1/download/prolog/htm_docs/prolog.htm A. MICHIELS], Université de Liège, Belgique: "PROLOG, the first declarative language</ref>',
8 => false,
9 => 'In the 1980s, expert systems proliferated. Universities offered expert system courses and two thirds of the [[Fortune 1000]] 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 [[Fifth Generation Computer Systems project]] in Japan and increased research funding in Europe.',
10 => false,
11 => 'In 1981 the first [[IBM PC]] was introduced, with the [[MS-DOS]] operating system. The imbalance between the relatively powerful chips in the highly affordable PC compared to the much more expensive price of processing power in the Mainframes that dominated the corporate IT world at the time created a whole new type of architecture for corporate computing known as the [[Client-server model]].<ref>{{cite book|last=Orfali|first=Robert|title=The Essential Client/Server Survival Guide|year=1996|publisher=Wiley Computer Publishing|location=New York|isbn=0-471-15325-7|pages=1–10}}</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. Up until that point the primary development environment for expert systems had been high end Lisp machines from [[Xerox]], [[Symbolics Inc.|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. In addition new vendors often financed by Venture Capital started appearing regularly. These new vendors included Aion Corporation, [[Neuron Data]], 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=1118033787|page=164|url=http://books.google.com/books?id=3KrTQzQHl7AC&pg=PA164&lpg=PA164&dq=expert+systems+failed+to+live+up+to+hype&source=bl&ots=dT3kLwalVA&sig=EhIk5BYXUKfpvIpbVJRc5sO9LE4&hl=en&sa=X&ei=OtKYUumcJcvtoASG9YL4Aw&ved=0CGEQ6AEwBQ#v=onepage&q=expert%20systems%20failed%20to%20live%20up%20to%20hype&f=false|accessdate=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=http://books.google.com/books?id=iS8EAAAAMBAJ&pg=PA30 | accessdate=2011-03-13 }}</ref>',
12 => false,
13 => '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 didn't deliver on their over hyped promise.<ref>[http://www.ainewsletter.com/newsletters/aix_0501.htm#w AI Expert Newsletter: W is for Winter]</ref><ref>[http://ejlt.org//article/view/14/1 Leith P., "The rise and fall of the legal expert system", in European Journal of Law and Technology, Vol 1, Issue 1, 2010]</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 standalone tools for the development of special purpose "expert" systems to one more tool that an IT professional has at their disposal.<ref>{{cite journal|last=Haskin|first=David|title=Years After Hype, 'Expert Systems' Paying Off For Some|journal=Datamation|date=January 16, 2003|url=http://www.datamation.com/netsys/article.php/1570851/Years-After-Hype-Expert-Systems-Paying-Off-For-Some.htm|accessdate=29 November 2013}}</ref> Many of the leading major business application suite vendors such as [[SAP (software)|SAP]], [[Siebel Systems|Siebel]], and [[Oracle Corporation|Oracle]] integrated expert system capabilities into their suite of products as a way of specifying 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=http://laszlo.sys-con.com|publisher=LaszloTrack|accessdate=29 November 2013}}</ref><ref>{{cite web|last=Pegasystems|title=Smart BPM Requires Smart Business Rules|url=http://www.pega.com/business-rules|work=http://www.pega.com|accessdate=29 November 2013}}</ref><ref>{{cite journal|last=Zhao|first=Kai|first2=Shi|last2=Ying|first3=Linlin|last3=Zhang|first4=Luokai|last4=Hu|title=Achieving business process and business rules integration using SPL|journal=Future Information Technology and Management Engineering (FITME)|date=9–10 Oct 2010|year=2010|volume=2|pages=329–332|url=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5656297&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5656297|accessdate=29 November 2013|doi=10.1109/fitme.2010.5656297}}</ref>'
] |
Whether or not the change was made through a Tor exit node (tor_exit_node ) | 0 |
Unix timestamp of change (timestamp ) | 1410016185 |