What is Expert System?

An expert system is an advanced computer application that is implemented for the purpose of providing solutions to complex problems, or to clarify uncertainties through the use of non-algorithmic programs where normally human expertise will be needed. Expert systems are most common in complex problem domain and are considered as widely used alternatives in searching for solutions that requires the existence of specific human expertise. The expert system is also able to justify its provided solutions based on the knowledge and data from past users. Normally expert systems are used in making business marketing strategic decisions, analyzing the performance of real time systems, configuring computers and perform many other functions which normally would require the existence of human expertise.

The difference between an expert system with a normal problem-solving system is that the latter is a system where both programs and data structures are encoded, while for expert system only the data structures are hard-coded and no problem-specific information is encoded in the program structure. Instead, the knowledge of a human expertise is captured and codified in a process known as knowledge engineering. Hence, whenever a particular problem requires the assistance of a certain human expertise to provide a solution, the human expertise which has been codified will be used and processed in order to provide a rational and logical solution. This knowledge-based expert system enables the system to be frequently added with new knowledge and adapt accordingly to meet new requirements from the ever-changing and unpredictable environment.

Components of Expert System

An expert system has many core system components to function and interfaces with individuals of various roles. The following diagram displaying expert system components and human interfaces.

Components of Expert System

The major components of expert system are:

  • Knowledge base – a set of rules as representation of the expertise, mostly in IF THEN statements.
  • Working storage – the data which is specific to a problem being solved.
  • Inference engine – the code at the core of the system which derives recommendations from the knowledge base and problem-specific data in working storage.
  • User interface – the code that controls the dialog between the user and the system.

There are certain major roles of individuals who interact with the expert system to fully exploit its functionality and capability. They are the:

  • Domain expert – the individual or individuals whose expertises are solving the problems the system is intended to solve;
  • Knowledge engineer – the individual who encodes the expert’s knowledge in a form that can be used by the expert system;
  • User – the individual who will be consulting with the system to get advice which would have been provided by the expert.

Majority of the expert systems are built with expert system shells which contains an inference engine and user interface. The shell will be used by a knowledge engineer to build a system catered for specific problem domain. Sometimes expert systems are also built with custom developed shells for certain applications. In this scenario, there will be another additional individual

  • System engineer – the individual who builds the user interface, designs the declarative format of the knowledge base, and implements the inference engine.

Depending on the size of the project, the knowledge engineer and the system engineer might be the same person. For a custom built system, the design of the format of the knowledge base and the coding of the domain knowledge are closely related. The format has a significant effect on the coding of the knowledge.

One of the major hurdles to overcome in building expert systems is the knowledge engineering process. The process of the codifying the expertise into a required rule format can be a challenging and tedious task. One major advantage of a customized shell is that the format of the knowledge base can be designed to facilitate the knowledge engineering process.

Since the major challenge in expert system development is the building of the knowledge base, it is encouraged that gap and difference between the expert’s representation of the knowledge and the representation in the knowledge base should be minimized. With a customized system, the system engineer can implement a knowledge base whose structures are as close as possible to those used by the domain expert.

Knowledge-based Expert Systems

Not all expert systems have learning components to adapt in new environments or to meet new requirements. But a common element each expert system possesses is that once the system is fully developed it will be tested and be proven by being placed in the same real world problem solving situation, typically as an aid to human workers or a supplement to some information system.

Although reference books are able to provide a tremendous amount of knowledge, users have to read, comprehend and interpret the knowledge for it to be used. Conventional computer programs are built to perform functions using conventional decision-making logic — having only little knowledge along with the basic algorithm for performing the specific functions and fulfill the necessary boundary conditions.

The so-called “knowledgebase” was created in purpose of utilizing some knowledge representation formalism to capture and store the Subject Matter Expert’s (SME) knowledge. The process includes gathering that knowledge from the SME and codifying it according to a standardized format. Knowledge-based expert systems collect the small segments of human knowledge and combined into a set of knowledge-base which is used to aid in solving a complex problem. Any other problem that is within the range and domain of the knowledge-base can also be solved using the same program without reprogramming.

Knowledge-based expert systems solve problems which normally require human intelligence. These said expert systems represent the expertise knowledge as data or rules within a system. These rules and data can be used and called upon for reference when needed to solve complex problems.

When compared to conventional programming, the system has the ability to reason the process with explanations by back-traces and calculate the levels of confidence and deal with uncertainty. The knowledge has to be codified into programming code, hence as the knowledge changes, the program has to be changed accordingly as well and then rebuilt.

Expert System Features

There are a number of features which are commonly used in expert systems. These features allows the users to fully utilize the expert system’s capability conveniently in providing the most logical and reasonable decision in a problematic situation.

  • Backward chaining – an inference technique which continuously break a goal into smaller sub-goals which are easier to prove via IF THEN rules
  • Dealing with uncertainties – the system has the capability to handle and reason with conditions that are uncertain and data which are not precisely known
  • Forward chaining – an inference technique which deduce a problem solution from initial data via IF THEN rules
  • Data representation – the method where the specific problem data is stored and accessed in the system
  • User interface – that portion of the code which creates an easy to use system;
  • Explanations – the ability of the system to explain the reasoning process that it used to reach a recommendation.

The Advantages of Using Expert System

Expert system has been reliably used in the business world to gain tactical advantages and forecast the market’s condition. In this globalization era where every decision made in the business world is critical for success, the assistance provided from an expert system is undoubtedly essential and highly reliable for an organization to succeed. Examples given below will be the advantages for the implementation of an expert system in business:

  1. Providing consistent solutions – It can provide consistent answers for repetitive decisions, processes and tasks. As long as the rule base in the system remains the same, regardless of how many times similar problems are being tested, the final conclusions drawn will remain the same.
  2. Provides reasonable explanations – It has the ability to clarify the reasons why the conclusion was drawn and be why it is considered as the most logical choice among other alternatives. If there are any doubts in concluding a certain problem, it will prompt some questions for users to answer in order to process the logical conclusion.
  3. Overcome human limitations – It does not have human limitations and can work around the clock continuously. Users will be able to frequently use it in seeking solutions. The knowledge of experts is an invaluable asset for the company. It can store the knowledge and use it as long as the organization needs.
  4. Easy to adapt to new conditions – Unlike humans who often have troubles in adapting in new environments, an expert system has high adaptability and can meet new requirements in a short period of time. It also can capture new knowledge from an expert and use it as inference rules to solve new problems.

The Disadvantages of Using Expert System

Although the expert system does provide many significant advantages, it does have its drawbacks as well. Examples given below will be the disadvantages for the implementation of an expert system in business:

  1. Lacks common sense – It lacks common sense needed in some decision making since all the decisions made are based on the inference rules set in the system. It also cannot make creative and innovative responses as human experts would in unusual circumstances.
  2. High implementation and maintenance cost – The implementation of an expert system in business will be a financial burden for smaller organizations since it has high development cost as well as the subsequent recurring costs to upgrade the system to adapt in new environment.
  3. Difficulty in creating inference rules – Domain experts will not be able to always explain their logic and reasoning needed for the knowledge engineering process. Hence, the task of codifying out the knowledge is highly complex and may require high
  4. May provide wrong solutions – It is not error-free. There may be errors occurred in the processing due to some logic mistakes made in the knowledge base, which it will then provide the wrong solutions.

Leave a Reply

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