An expert system was also built for geologists, which was called Prospector and was made in 1979 to help aid geologists in their search for ore deposits. It became famous when it analysed geological data from a site near Mount Tolman in eastern Washington and predicted the existence of molybdenum.
XCON was the first system employed in the industrial world. It decided what components were needed in order to assemble a complete computer system. It outputted this information as a set of diagrams to technicians who physically assemble the computer system.
In 1986 Companies such as DuPont, General Motors, and Boeing relied heavily on expert systems.
In 1984 IRS develops the first government expert system to analyse tax laws and by 1990 over 2,000 known expert systems were in production.
[3] The Characteristics Of Expert Systems
One characteristic of an expert system is that it performs reasoning over representations of human knowledge, which is said by Castillo and Alvarez (1999). For example in addition to doing numerical calculations or data retrieval, the knowledge in the program is normally expressed in a special purpose language and kept separate from the code that performs the reasoning. This program module is referred as the knowledge base. An expert system also stimulates human reasoning about a problem domain rather than stimulating the domain itself. This distinguishes an expert system from more familiar programs that involve mathematical modelling.
Expert systems also has certain kinds of characteristics that makes it different from artificial intelligence programs, such as it deals with subject matter of realistic complexity that normally requires a considerable amount of human expertise. Many AI applications are research programs and many therefore focus upon abstract mathematical problems or simplified versions of real problems in order to gain insight. Expert systems however solve problems of genuine scientific or commercial interest.
Expert systems also exhibit high performance in terms of speed and reliability in order to be a useful tool. AI research applications may not run very fast and can contain bugs. Expert systems must propose solutions in a reasonable time and be exact as possible.
Expert systems are also capable of explaining and justifying solutions or recommendations in order to convince the user that it is reasoning is correct. Expert systems solve problems by heuristic or approximate methods, which, unlike algorithmic solutions are not guaranteed to succeed. A heuristic is essentially a rule of thumb, which encodes a piece of knowledge about how to solve problems in some domain. Firebaugh (1998). Such methods do not require perfect data and the solutions derived by the system may be proposed with varying degrees of certainty.
Figure 1 Elements of an expert system Castillo & Alvarez (1999)
[4] EXPERT SYSTEMS BUILDING TOOLS: DEFINITIONS
An expert system tool, or shell, is a software development environment containing the basic components of expert systems. Associated with a shell is a prescribed method for building applications by configuring and instantiating these components. Some of the generic components of a shell are shown in Figure 2 and described below. The core components of expert systems are the knowledge base and the reasoning engine.
Figure 2 Basic Components of Expert System Tools
Knowledge base: A store of factual and heuristic knowledge. An ES tool provides one or more knowledge representation schemes for expressing knowledge about the application domain. Some tools use both frames FF(objects) and IF-THEN rules. In PROLOG the knowledge is represented as logical statements.
Reasoning engine: Inference mechanisms for manipulating the symbolic information and knowledge in the knowledge base to form a line of reasoning in solving a problem.
Knowledge acquisition subsystem: A subsystem to help experts build knowledge bases. Collecting knowledge needed to solve problems and build the knowledge base continues to be the biggest bottleneck in building expert systems.
Explanation subsystem: A subsystem that explains the system's actions. The explanation can range from how the final or intermediate solutions were arrived at to justifying the need for additional data.
User interface: The means of communication with the user. The user interface is generally not a part of the ES technology, and was not given much attention in the past. However, it is now widely accepted that the user interface can make a critical difference in the perceived utility of a system regardless of the system's performance, which is said by (Beynon et al 2002)
Explaining Solutions
The whole question of how to help a user understand the structure and function of some complex piece of software relates to the comparatively new field of human/computer interaction, which is emerging from an intersection of AI, engineering, psychology and ergonomics. The contribution of expert system researches to date has been to place a high priority upon the accountability of programs.
Explanations of expert systems behaviour are important for a number of reasons:
Users of the system need to satisfy themselves that the programs conclusions are correct for their particular case.
Knowledge Engineers need some way to know that the knowledge that is being applied properly even as the prototype is being built.
Domain Expert need to see a trace of the way in which their knowledge is being applied in order to judge whether knowledge is proceeding successfully.
Managers of expert technology, who may end up being responsible for a program decision, need to satisfy themselves that a systems mode of reasoning is applicable to their domain.
Different problem solving methods tend to perform at a similar level provided they command the same knowledge. The differences in overall performance between the 4 evaluated programs are relatively small and statistically insignificant. However, they are significant when looking at particular details of problem solving results. (Castillo et al 1999).
[5] Expert System Shell
“An expert system shell is a special software program that allows a user to build an expert system without having to learn a programming language” Parker (2001 pg IS17).
Expert system shells provide a straightforward user interface, both for the expert to enter the facts and rules, and for the end user to use the complex expert system to solve a problem.
A shell is basically an expert system without the knowledge base. It provides the developers with the interface engine. Many shells enable the developer to present examples with the correct conclusion and the system automatically builds the rules.
These shells come equipped with an inference mechanism (backward chaining, forward chaining, or both), and require knowledge to be entered according to a specified format (all of which might lead some to categorize OPS5 as a shell). They typically come with a number of other features, such as tools for writing hypertext, for constructing friendly user interfaces, for manipulating lists, strings, and objects, and for interfacing with external programs and databases. These shells qualify as languages, although certainly with a narrower range of application than most programming languages. Firebaugh (1998)
Building expert systems by using shells offers significant advantages. A system can be built to perform a unique task by entering into a shell all the necessary knowledge about a task domain. The inference engine that applies the knowledge to the task at hand is built into the shell. If the program is not very complicated and if an expert has had some training in the use of a shell, the expert can enter the knowledge himself.
Many commercial shells are available today, ranging in size from shells on PCs, to shells on workstations, to shells on large mainframe computers. They range in price from hundreds to tens of thousands of dollars, and range in complexity from simple, forward-chained, rule-based systems requiring two days of training to those so complex that only highly trained knowledge engineers can use them to advantage. They range from general-purpose shells to shells custom-tailored to a class of tasks, such as financial planning or real-time process control.
Although shells simplify programming, in general they don't help with knowledge acquisition. Knowledge acquisition refers to the task of endowing expert systems with knowledge, a task currently performed by knowledge engineers. The choice of reasoning method, or a shell, is important, but it isn't as important as the accumulation of high-quality knowledge. The power of an expert system lies in its store of knowledge about the task domain -- the more knowledge a system is given, the more competent it becomes. Jackson (1998)
[6] Uses of Expert Systems
Expert systems are used in a wide range of applications such as:
Medical diagnosis. There is a very large collection of expert systems for medical diagnosis. This reflects the importance of expert systems in this area and one of the first expert systems was MYCIN that was used for the diagnosis of blood diseases and meningitis.
Fault diagnosis of all kinds such as gas boilers, computers etc “If your gas boiler breaks down, the service engineer might come with a laptop computer and type in all the symptoms to arrive at a diagnosis, and then use the system to find the exact part numbers of the replacement” Heathcote (1998)
Geological. The most well known expert system in geology is PROSPECTOR, developed by Peter Hart, Richard Duda, R. Reboh, K. Konolige. Through PROSPECTOR was considered to be a successor of MYCLIN it was not built with MYCLIN (a tool derived from MYCLIN). The knowledge base is a semantic network. In the past five different geological models have been incorporated into the knowledge base. This makes it a useful tool for geological explorations.
Financial services to predict stock market movement or to recommend an investment strategy. Social services to calculate the benefits due to claimants, industrial uses such as the expert system ELSIE, civil Engineering. The power of expert systems in engineering is based on the fact that they can provide help in design, diagnosis and interpretation problems where standard programs cannot.
In agriculture, expert systems are capable of integrating the perspectives of individual disciplines (e.g. plant pathology, entomology, horticulture, agricultural meteorology) into a framework that best addresses the type of ad hoc decision-making required of modern farmers. Expert systems can be one of the most useful tools for accomplishing the task of providing growers with the day-to-day, integrated decision support needed to grow their crops, which is said by Heathcote (1998).
[7] The benefits and Limitations of an Expert System
The error rate in successful systems is often very low and may be lower than that of a human (Http 1). However, even through expert systems make less mistakes than humans, they cannot learn from their mistakes as a human can – new knowledge has to be entered into the knowledge base as it becomes available. One advantage of an expert system is that there is a reduction in the downtime of expensive piece of equipment as an expert system is quickly able to diagnose a fault. Also, recommendations will be consistent : given the same facts, the recommendation will always be the same and completely impartial.
The uses of expert systems within the organisation can result in a decline in the skill level of some of the people using the system. If a large part of the task is handled by the expert system, employees may not acquire the experience and knowledge that gives the proper understanding of the task. In a survey conducted by (Http: 2),
employees who work with expert systems say that they find this as an advantage rather than a disadvantage as they feel that the work is less stressful when they do not have all the pressure and responsibilities of the task.
An advantage of an expert system is that it can complete tasks much faster than humans – for example, performing a calculation required to decide whether a client should be given a loan or not. However a expert system may come to a different conclusion from a human advisor who can spot exceptional circumstances that an expert system does not take into account.
A disadvantage is that it can be difficult to acquire all the required knowledge from the human expert in order to build the expert system. Expert systems work best when a problem is very well defined and the facts and rules associated with the problem are clearly stated.
Expert systems also aid the training of employees, which can benefit the employer. It was evident that from sources from (Http : 1) that some employees found that training with expert systems is quite difficult and it is not easy to ask for help when the user needs than if it was a human trainer.
However this can mainly be only used in major firms, as expert systems are extremely expensive to build. Even through building an expert system is expensive and gathering the information is time consuming, expert systems have saved firms a lot of money as human experts are difficult to find. It can also be expensive to pay these human expert in hours and to do one task normally requires more than one human expert. Furthermore copies of experts systems can easily be made but training new human experts is time consuming and expensive.
[8] Conclusion
At the very beginning nobody thought that it was possible to have an expert system without the participation of a human expert. However, today this is possible based on data or experience. Expert systems are widely used and some firms rely greatly on them. Although most of the existing expert systems were born from the joint work of human experts and knowledge engineers.
Expert system have greatly developed over the years and have been designed so that they are easier to build and develop. There are now even software programs such as CLIPS, which has a friendly user interface which allows the user to build an expert system without having to know the complex programming language.
Expert systems overall performance depends on the knowledge it can bring to bear on a problem to be solved. The quality of internal data processing in turn depends upon knowledge acquisition, knowledge representation and reasoning strategy, performance also depends upon the quality of data input.
In the future expert systems can be expected to be faster, easier and have more complex knowledge. It should also be able to create systems with knowledge of multiple subjects.
As with most programs expert systems have both advantages and disadvantages. Even though expert systems are expensive and time consuming to build, in the long run the can save a business a lot of money as they are knowledge based and can be effectively used for real world problems.
Bibliography
Alvarez, E., Castillo, E. (1999) Expert Systems Uncertainty and Learning , Computational Mechanics Publications. Oxford
Beynon.M. & Marshall .D. (2002) Knowledge engineering and Neutral Networks, Expert Systems, vol 19, part 5 pp 20 – 25.
Firebaugh (1998) Artificial Intelligence, Thomson Information Publishing Group. Massachusetts.
French, C.S (1996) Data Processing and Information Technology (10th edn), DP Publications, London.
Giraratano, J. & Riley.G. (2000) Expert Systems Principles and Programming 3rd edition, PWS Publishing Company, Boston.
Heathcote. P.M. (1998) Information Technology, Payne Gallway: Ipswich
Http 1, Expert Systems, Available online at , Date of Download 30th of December 2002.
Http 2, Expert Systems, Available online at . Date of Download 31st of December 2002.
Jackson (1998) Introduction to Expert Systems, 3rd edition, Addison Wesley, London
Parker (2001) Understanding Computers Today and Tomorrow, 2000th edn, Harcourt college publishers.