Introduction about Expert System Design
What Is an Expert System? An expert system Is a computer program that simulates the Judgment and behavior of a human or an organization that has expert knowledge and experience In a particular field. Typically, such a system contains a knowledge base contacting accumulated experience and a set of rules for applying the knowledge base to each particular situation that is described to the program. Sophisticated expert systems can be enhanced with additions to the knowledge base or to the set of rules.
Among he best-known expert systems have been those that play chess and that assist in medical diagnosis. (What’s. Com) An expert system, a computer system or program that uses artificial intelligence techniques to solve problems that ordinarily require a knowledgeable human. The method used to construct such systems, knowledge engineering, extracts a set of rules and data from an expert or experts through extensive questioning. This material is then organized in a format suitable for representation in a computer and a set of tools for inquiry, manipulation, and response is applied.
While such systems o not often replace the human experts, they can serve as useful adjuncts or assistants. Among some of the successful expert systems developed are INTERNIST, a medical diagnosis tool that contains nearly 100,000 relationships between symptoms and diseases, and PROSPECTOR, an aid to geologists in interpreting mineral data. (Free Dictionary) An expert system is a class of computer programs developed by researchers in artificial intelligence during the sass and applied commercially throughout the 1 sass.
Read also: “Difference Between Flow Shops and Job Shops”
In essence, they are programs made up of a set of rules that analyze Information (usually supplied by the user of the system) about a specific lass of problems, as well as provide analysis of the robber(s), and, depending upon their design, a recommended course of user action In order to Implement corrections. (Worldly) Why Use an Expert System? There are many reasons to use an expert system. Here are some of the primary reasons: 1 . Helps preserve knowledge-?builds up the corporate memory of the firm. 2. Helps if expertise is scarce, expensive, or unavailable. . Helps if under time and 4. Helps in training new employees. 5. Helps improve worker productivity. The SEES major components are: 1 . Knowledge base–the software that represents the knowledge. 2. Inference engine–the reasoning mechanism. The inference engine controls overall execution of the rules. It searches through the knowledge base, attempting to pattern match facts or knowledge present in memory to the antecedents of rules. If a rule’s antecedent is satisfied, the rule is ready to fire and is placed in the agenda.
When a rule is ready to fire it means that since the antecedent is satisfied, the consequent can be executed. Salience is a mechanism used by some expert systems to add a procedural aspect to rule inference. Certain rules may be given a higher salience than others, which means that when the inference engine is searching for rules to fire, it places those with a higher salience at the top of the agenda. There are two types of chaining: forward and backward. In forward chaining, the expert system is given data and chains forward to reach a conclusion.
In backward chaining, the expert system is given a hypothesis and backtracks to check if it is valid. Inference is to computers what reasoning is to humans. 3. User interface–the hardware and software that provide the dialogue between people and the computer. The SEES minor components are: 1 . Domain expert–the individual who is considered an expert. . Knowledge engineer–the individual who acquires and represents the knowledge. 3. Explanation facility–the software that answers questions such as “Why” and “How. 4. Blackboard–a workplace for storing and working on intermediate information. 5. Reasoning improvement–a facility (not available commercially) for improving the reasoning capabilities of an SEES. 6. User–the non-expert who uses the machine for consultation. 7. Hardware–the hardware that is needed to support the SEES. Types of Problems solved by Expert System Typically, the problems to be solved are of the sort that would normally be tackled by human “expert” – a medical or other professional, in most cases.
Real experts in the problem domain (which will typically be very narrow, for instance “diagnosing skin diseases in human teenagers”) are asked to provide “rules of thumb” on how they evaluate the problems, either explicitly with the aid of experienced system developers, or sometimes implicitly, by getting such experts to evaluate test cases and using computer programs to examine the test data and (in a strictly limited manner) derive rules from that. Simple systems use simple true/false logic to evaluate data, but more sophisticated oral uncertainties, using such methods as fuzzy logic.
Such sophistication is difficult to develop and still highly imperfect. Uncertainty Uncertainty in expert systems can be handled in a variety of approaches. Here are some of them, with brief descriptions: 1 . Certainty factors 2. Dumpster-Shafer theory 3. Bayesian network 4. Fuzzy logic Certainty Factors are used as a degree of confirmation of a piece of evidence. Mathematically, a certainty factor is the measure of belief minus the measure of disbelief. Here is an example: If the light is green then K to cross the street CB 0. 9
The rule in the example says: I am 90% certain that it is safe to cross the street when the light is green. There are certain advantages and disadvantages to certainty factors. They are easy to compute and can be used to easily propagate uncertainty through the system. However, they are created partly ad hoc. Also, the certainty factor of two rules in an inference chain is calculated as independent probabilities. Dumpster-Shafer Theory does not force belief to be assigned to ignorance or refutation of a hypothesis. For example, belief of 0. 7 in falling asleep in class does not mean that the chance of not falling asleep in class is 0.
Bayesian Networks are based on Bases Theorem: Bases Theorem gives the probability of event H given that event E has occurred. Bayesian networks have their use, but are often not practical for large systems. There is also a problem with the uncertainty of user responses. Fuzzy Logic Fuzzy logic is a superset of conventional (Boolean) logic that has been extended to handle the concept of a partial truth truth values between completely true and completely false. In fuzzy logic, everything is a matter of degree. Some people think that fuzzy logic is a contradiction of terms. Fuzzy logic is a logic OF fuzziness, not a OIC which is ITSELF fuzzy.
Fuzzy sets and logic are used to represent uncertainty, which is crucial for the management of real systems. A fuzzy expert system is an expert system that uses a collection of fuzzy membership functions and rules to reason about data. Every rules fires to some degree. The fuzzy inference process becomes much more complicated, expanding to 4 steps: 1 . Pacification 2. Inference 3. Composition 4. Diversification Percentage Production/Operations MGM 48% Finance Information Systems Marketing/Transactions Accounting/Auditing 5% International Business 3% Human Resources 2% Others
Knowledge Engineering or Building an SEES There are basically 4 steps to building an expert system. 1. Analysis 2. Specification 3. Development 4. Deployment The spiral model is normally used to implement this approach. The spiral model of developing software is fairly common these days. Expert system development can be modeled as a spiral, where each circuit adds more capabilities to the system. There are other approaches, such as the incremental or linear model, but we prefer the spiral model. Analysis The purpose of analysis is to identify a potential application.
Possible applications include diagnostics, a controller, etc. During analysis the developer must also assess the suitability of knowledge-engineering technology for this application. You must ask yourself the question Will something else work better? This is true for applying any type of artificial intelligence to solve a problem. If there is a numerical method or heuristic that is well established, than stick with that approach and use artificial intelligence to solve problems which are difficult. Specification The specification step is where the developer defines what the expert system will do.
Here the developer must also work with the expert to learn enough about the task to plan system development. The expert is a human who is identified as being the domain expert in a particular field. The developer must familiarize himself with the problem so that system development can be performed. The developer will spend a expert system should do can be challenging. It may be difficult to obtain reliable information. Some experts may solve problems differently, or tell the developer what they think he wants to hear.
The experts may envision a different functionality for the system than the developer, who better understands the limitations of the software. It is also important to assure the experts that the purpose of the expert system is not to place the experts, but to proliferate their knowledge and expertise throughout the organization. Also, once an expert system is developed, it cannot create new ways to solve problems. It is up to the human experts to continually refine their knowledge and find better ways of solving problems. Development The development step consists of several important tasks.
Here, the developer must learn how the expert performs the task (knowledge acquisition) in a variety of cases. There are basically three kinds of cases the developer should discuss with the expert: current, historical, and hypothetical. Current cases can be covered by watching the expert perform a task. Historical cases can be discussed by discussing with the expert a task that was performed in the past. And, hypothetical cases can be covered by having the expert describe how a task should be performed in a hypothetical situation.
The knowledge acquisition process, which started in the specification phase, continues into the development phase. The developer must extract knowledge from the previous case discussions. The types of knowledge the developer looks for can be grouped into three categories: strategic, Judgmental, and factual. Strategic knowledge is used to help create a flow chart of the system. Judgmental knowledge usually helps define the inference process and describes the reasoning process used by the expert. Finally, factual knowledge describes the characteristics and important attributes of objects in the system.
Next, a conceptual model of the expert system must be developed. This conceptual model is a framework which consists of high- level descriptions of the tasks and situations. In this framework, the developer must: Decide how the inference, representation, and control structure can be used to implement. Build the knowledge base. Verify and validate (am I building the product right? Am I building the right product? ). Deployment In the deployment phase the developer installs the system for routine use. He also fixes bugs, updates, and enhances the expert system.
Some Notes on Verification & Validation There are two areas the expert system developer should take note of in the verification & validation process which are peculiar to expert systems: inconsistencies and incompleteness. Inconsistencies can be caused by redundant rules, conflicting rules, subsumed rules, unnecessary premise clauses, and circular rule chains. Incompleteness can be caused by unachievable antecedents or consequences and unreferenced or illegal values. Applications of Expert Systems The spectrum of applications of expert systems technology to industrial and find their way into most areas of knowledge work.
They are as varied as helping salesperson sell modular factory-built homes to helping NASA plan the maintenance of a space shuttle in preparation for its next flight. Applications tend to cluster into seven major classes. 1 . Diagnosis and Troubleshooting of Devices and Systems of All Kinds This class comprises systems that deduce faults and suggest corrective actions for a malfunctioning device or process. Medical diagnosis was one of the first knowledge areas to which SEES technology was applied (for example, see Shortlists 1976), but diagnosis of engineered systems quickly surpassed medical diagnosis.
There are probably more diagnostic applications of SEES than any other type. The diagnostic problem can be stated in the abstract as: given the evidence presenting itself, what is the underlying problem/reason/cause? 2. Planning and Scheduling Systems that fall into this class analyze a set of one or more potentially complex and interacting goals in order to determine a set of actions to achieve those goals, and/or revive a detailed temporal ordering of those actions, taking into account personnel, materiel, and other constraints. This class has great commercial potential, which has been recognized.
Examples involve airline scheduling of flights, personnel, and gates; manufacturing Job-shop scheduling; and manufacturing process planning. 3. Configuration of Manufactured Objects from Subassembly Configuration, whereby a solution to a problem is synthesized from a given set of elements related by a set of constraints, is historically one of the most important of expert system applications. Configuration applications were pioneered by computer companies as a means of facilitating the manufacture of semi-custom minicomputers (McDermott 1981).
The technique has found its way into use in many different industries, for example, modular home building, manufacturing, and other problems involving complex engineering design and manufacturing. 4. Financial Decision Making The financial services industry has been a vigorous user of expert system techniques. Advisory programs have been created to assist bankers in determining whether to make loans to businesses and individuals. Insurance companies have used expert yester to assess the risk presented by the customer and to determine a price for the insurance.
A typical application in the financial markets is in foreign exchange trading. 5. Knowledge Publishing This is a relatively new, but also potentially explosive area. The primary function of the expert system is to deliver knowledge that is relevant to the user’s problem, in the context of the user’s problem. The two most widely distributed expert systems in the world are in this category. The first is an advisor which counsels a user on appropriate grammatical usage in a text. The second is a tax advisor that companies a tax preparation program and advises the user on tax strategy, tactics, and individual tax policy. . Process Monitoring and Control Systems falling in this class analyze real-time data from physical devices with the goal of noticing anomalies, predicting trends, and controlling for both optimality and failure correction. Examples of real-time systems that actively monitor processes can be found in the steel making and oil refining industries. 7. Design and Manufacturing high-level conceptual design of abstract entities all the way to factory floor configuration of manufacturing processes.