Monday, March 26, 2018

Expert System

Expert System
Expert Systems Computer पर आधारित Decision Tool हैं, जो जटिल Decision Making समस्याओं को हल करने के लिये Facts तथा Heuristics दोनों  का प्रयोग करता है। Expert Systems Computer Applications होते है। जो निश्चित टाइप की समस्याओं को हल करने के लिए Non-algorithmic expertise के रूप में प्रयोग किये जाते है। उदाहरण के तौर पर expert System diagnostic एप्लीकेशन में प्रयोग किए जाते हे। इनका प्रयोग व्यक्ति की विशेषता के आधार पर खेलने, वित्तीय प्लांनिग निर्णयों के लिए कम्प्यूटर्स को Configure करने के लिए Real time Systems को माॅनीटर करने के लिए भी किया जाता है।
एक Expert system एक कम्प्यूटर एप्लीकेशन है जो जटिल समस्याओं को हल करता है। ऐसा करने के लिए यह Specific Knowledge and Interface के द्वारा Human रीजनिंग प्रोसेस को पूरा करते है। Expert systems की एक विशिष्ट टाईप की इनफाॅर्मेशन सिस्टम के रूप में देखा जाना चाहिए। निम्न चित्र दर्शाता है कि कैसे एक Expert System कार्य करता हैं। Expert System इनफाॅर्मेशन सिस्टम प्रोसेस इनफाॅर्मेशन के रूप में प्राॅब्लम रिप्रजन्टेशन के एप्रोच के रूप में भिन्न-भिन्न होते हे। एक Expert System में knowledge कई स्त्रोतों से आॅर्गेनाइज की जा सकती है, जैसे-Text books, Reports, data bases, case studies, empirical data and personal experience  इत्यादि। knowledge engineer सामान्यतः Expert के साथ सीधे तौर पर Interact करके knowledge को प्राप्त करता है। Expert system को कई सारे एप्लीकेशन्स एरिया में प्रयोग किया जाता है। एक्सपर्ट सिस्टम कम्पोनेन्टस और ह्यूमन इंटरॅेसिक् Expert system कई प्रमुख Components को रखता है तथा जो सिस्टम के साथ भिन्न-भिन्न Roles के रूप में Interact करते है उनके साथ व्यक्तिगत रूप से Interface करता है चित्र में Expert system के प्रमुख Components को प्रदर्शित किया गया है-
an expert system is a computer system that emulates 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 code. The first expert systems were created in the 1970s and then proliferated in the 1980s. Expert systems were among the first truly successful forms of artificial intelligence (AI) software.
An expert system is divided into two subsystems: 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 abilities

HistoryEdit

Expert systems were introduced by the Stanford Heuristic Programming Project led by Edward Feigenbaum, who is sometimes termed the "father of expert systems"; other key early contributors were Bruce Buchanan and Randall Davis.


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. 
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?
  • 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. 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


AdvantagesEdit


The goal of knowledge-based systems is to make the critical information required for the system to work explicit rather than implicit.[31]In a traditional computer program 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.[32]


No comments:

Computer Terms

The termination of the process due to a program or system fault      -      Abend(abnormal ending) To terminate a process before completion....