Expert systems (ES) are one of the prominent exploration domains of AI. It is presented by the scientists at Stanford University, Computer Science Department.
The expert systems are the computer applications created to solve complex issues in a particular domain, at the level of extra-ordinary human intelligence and skill.
The expert systems are capable of −
They are incapable of −
The components of ES include −
Let us see them one by one briefly −
It contains domain-specific and high-quality information.
Knowledge is required to exhibit intelligence. The success of any ES majorly depends upon the collection of highly accurate and precise information.
The data is collection of facts. The information is organized as data and facts about the task domain. Data, information, and past experience joined together are termed as knowledge.
The knowledge base of an ES is a store of both, factual and heuristic information.
Factual Knowledge − It is the information widely accepted by the Knowledge Engineers and researchers in the task domain.
Heuristic Knowledge − It is about practice, accurate judgement, one’s capacity of evaluation, and guessing.
It is the strategy used to organize and formalize the knowledge in the knowledge base. It is in the form of IF-THEN-ELSE rules.
The success of any expert system significantly depends on the quality, completeness, and exactness of the information stored in the knowledge base.
The knowledge base is formed by readings from different experts, scholars, and the Knowledge Engineers. The knowledge engineer is a person with the qualities of empathy, quick learning, and case analyzing skills.
He acquires information from subject expert by recording, interviewing, and observing him at work, etc. He then categorizes and organizes the information in a meaningful way, in the form of IF-THEN-ELSE rules, to be utilized by interference machine. The knowledge engineer also monitors the development of the ES.
Use of efficient procedures and rules by the Inference Engine is fundamental in deducting a correct, flawless solution.
In case of knowledge-based ES, the Inference Engine acquires and manipulates the knowledge from the knowledge base to arrive at a particular solution.
In case of rule based ES, it −
Applies rules repeatedly to the facts, which are obtained from earlier rule application.
Adds new knowledge into the knowledge base if required.
Resolves rules conflict when multiple rules are applicable to a particular case.
To suggest a solution, the Inference Engine utilizes the following strategies −
It is a strategy of an expert system to answer the inquiry, “What can happen next?”
Here, the Inference Engine follows the chain of conditions and deductions and finally deduces the outcome. It considers all the facts and rules, and sorts them before finishing up to a solution.
This strategy is followed for working on conclusion, result, or impact. For example, prediction of share market status as an effect of changes in interest rates.
With this strategy, an expert system discovers the answer to the question, “Why this occurred?”
On the basis of what has already happened, the Inference Engine attempts to discover which conditions could have happened in the past for this result. This strategy is followed for finding out cause or reason. For example, diagnosis of blood cancer in humans.
User interface provides communication between user of the ES and the ES itself. It is commonly Natural Language Processing so as to be used by the user who is well-versed in the task domain. The user of the ES need not be necessarily an expert in Artificial Intelligence.
It clarifies how the ES has arrived at a particular recommendation. The explanation may appear in the following forms −
The user interface makes it simple to trace the credibility of the deductions.
It should assist users to accomplish their goals in shortest possible way.
It should be designed to work for user’s existing or desired work practices.
Its technology should be adaptable to user’s requirements; not the other way round.
It should make efficient utilize of user input.
No technology can offer easy and complete solution. Large systems are expensive, require significant development time, and computer resources. ESs have their limitations which incorporate −
The following table shows where ES can be applied.
|Design Domain||Camera lens design, automobile design.|
|Medical Domain||Diagnosis Systems to deduce cause of disease from observed data, conduction medical operations on humans.|
|Monitoring Systems||Comparing data continuously with observed system or with prescribed behavior such as leakage monitoring in long petroleum pipeline.|
|Process Control Systems||Controlling a physical process based on monitoring.|
|Knowledge Domain||Finding out faults in vehicles, computers.|
|Finance/Commerce||Detection of possible fraud, suspicious transactions, stock market trading, Airline scheduling, cargo scheduling.|
There are several levels of ES technologies available. Expert systems technologies incorporate −
Expert System Development Environment − The ES development environment incorporates hardware and tools. They are −
Workstations, minicomputers, mainframes.
High level Symbolic Programming Languages such as LISt Programming (LISP) and PROgrammation en LOGique (PROLOG).
Tools − They reduce the effort and cost engaged in developing an expert system to large extent.
Powerful editors and debugging tools with multi-windows.
They provide rapid prototyping
Have Inbuilt definitions of model, knowledge representation, and inference design.
Shells − A shell is nothing but an expert system without knowledge base. A shell gives the developers with knowledge acquisition, inference engine, user interface, and explanation facility. For example, few shells are given below −
Java Expert System Shell (JESS) that provides completely developed Java API for creating an expert system.
Vidwan, a shell developed at the National Centre for Software Technology, Mumbai in 1993. It empowers knowledge encoding in the form of IF-THEN rules.
The process of ES development is iterative. Steps in developing the ES include −
Identify the ES Technology
Know and establish the degree of integration with the other systems and databases.
Realize how the concepts can represent the domain knowledge best.
From Knowledge Base: The knowledge engineer works to −
The knowledge engineer uses sample cases to test the prototype for any deficiencies in performance.
End users test the prototypes of the ES.
Test and ensure the interaction of the ES with all elements of its environment, including end users, databases, and other information systems.
Document the ES project well.
Train the user to use ES.
Keep the knowledge base up-to-date by regular review and update.
Cater for new interfaces with other information systems, as those systems evolve.
Availability − They are easily available due to mass production of software.
Less Production Cost − Production cost is reasonable. This makes them affordable.
Speed − They offer great speed. They reduce the amount of work an individual puts in.
Less Error Rate − Error rate is low as compared to human errors.
Reducing Risk − They can work in the environment dangerous to humans.
Steady response − They work steadily without getting motional, tensed or fatigued.