Expert systems are computer programs designed to solve problems requiring experts. In the field of artificial intelligence, knowledge-based expert systems received most of the early attention. An expert system includes a knowledge base and an inference engine. The knowledge base is the accumulation and representation of knowledge specific to a particular task. It is often constructed in the form of rules, but methods such as frames and semantic nets are also used. Rule-based expert systems rule statements normally include a premise and a conclusion, using If and Then statements. The inference engine is the system's machinery for selecting and applying knowledge from the knowledge base to the specific problem. An inference engine uses the knowledge base along with responses from the user to solve problems. The inference engine takes information and proceeds forward through the knowledge base looking for a valid path. The engine may either take information and proceed forward through the knowledge base looking for a valid path, or start with goals and work backward until a clear path is found. In conventional programs the knowledge base is part of the program, but with an expert system it is separate. This distinction makes it possible to substitute a new knowledge base for a new task in place of the existing knowledge base. Expert systems can also be updated readily as new knowledge is discovered. Expert systems take advantage of an expert's heuristics or knowledge from experience. The combination of heuristics and learned principles helps account for the value of an expert. Usually an expert system is developed through an iterative process where an initial program is prepared and then developed and improved with additional items of knowledge. Expert systems cannot exactly model human problem-solving processes, but rather they attempt to interact with expert thought concerning specific areas of knowledge. Most expert systems allow confidence factors in order to express uncertainty. Uncertainty may arise from either the stored knowledge base or user responses.
Although an expert system is useful for arriving at a solution from numerous options, its range of focus needs to be narrow to avoid an excessively complex system. The economic advantages of going to the time and expense of developing an expert system need to be established. If the problem is very simple or if ample resources are already available to solve the problem within the company, then the investment may not be worthwhile. Some problems are too broad or general to be solved by an expert system. To be solved by an expert system, the problem would have to be solvable to start with by a human expert in the field. Expert systems work well with programs where symbolic logic and rules are required.
Expert systems can benefit problem-solving situations in which humans suffer from cognitive overload or fail to monitor all available information. It can be difficult to simultaneously manipulate all relevant information to obtain the optimal solution. An expert system may be more consistent in certain situations in which there is little time to think. Expert systems can often deliver solutions more quickly than their human counterparts. They are also readily available at any time. Human experts are then able to better use their skills on more difficult problems beyond the ability of the expert system. The process of building a knowledge base can help to clarify and organize an expert's logic and thinking process. A disadvantage of an expert system is that it can be costly to develop. It also needs to be maintained and updated to remain current.
Was this article helpful?