Sunday, 9 October 2016

Developing an Expert system

Capabilities of Expert Systems: General View
The most important applied area of AI is the field of expert systems. An expert system (ES) is a knowledge-based system that employs knowledge about its application domain and uses an inferencing (reason) procedure to solve problems that would otherwise require human competence or expertise. The power of expert systems stems primarily from the specific knowledge about a narrow domain stored in the expert system's knowledge base.
It is important to stress to students that expert systems are assistants to decision makers and not substitutes for them. Expert systems do not have human capabilities. They use a knowledge base of a particular domain and bring that knowledge to bear on the facts of the particular situation at hand. The knowledge base of an ES also contains heuristic knowledge - rules of thumb used by human experts who work in the domain.
 Applications of Expert Systems
The test outlines some illustrative mini cases of expert systems applications. These include areas such as high-risk credit decisions, advertising decision making, and manufacturing decisions.
Generic Categories of Expert System Applications
Outlines the generic areas of ES applications where ES can be applied. Application areas include classification, diagnosis, monitoring, process control, design, scheduling and planning, and generation of options.
Classification - identify an object based on stated characteristics
Diagnosis Systems - infer malfunction or disease from observable data
Monitoring - compare data from a continually observed system to prescribe behavior
Process Control - control a physical process based on monitoring
Design - configure a system according to specifications
Scheduling & Planning - develop or modify a plan of action
Generation of Options - generate alternative solutions to a problem
How Expert Systems Work
The strength of an ES derives from its knowledge base - an organized collection of facts and heuristics about the system's domain. An ES is built in a process known as knowledge engineering, during which knowledge about the domain is acquired from human experts and other sources by knowledge engineers.
The accumulation of knowledge in knowledge bases, from which conclusions are to be drawn by the inference engine, is the hallmark of an expert system.
Knowledge Representation and the Knowledge Base
The knowledge base of an ES contains both factual and heuristic knowledge. Knowledge representation is the method used to organize the knowledge in the knowledge base. Knowledge bases must represent notions as actions to be taken under circumstances, causality, time, dependencies, goals, and other higher-level concepts.
Several methods of knowledge representation can be drawn upon. Two of these methods include:
1. Frame-based systems
- are employed for building very powerful ESs. A frame specifies the attributes of a complex object and frames for various object types have specified relationships.
2. Production rules
- are the most common method of knowledge representation used in business. Rule-based expert systems are expert systems in which the knowledge is represented by production rules.
A production rule, or simply a rule, consists of an IF part (a condition or premise) and a THEN part (an action or conclusion). IF condition THEN action (conclusion).
The explanation facility explains how the system arrived at the recommendation. Depending on the tool used to implement the expert system, the explanation may be either in a natural language or simply a listing of rule numbers.
Inference Engine 
The inference engine:
1. Combines the facts of a specific case with the knowledge contained in the knowledge base to come up with a recommendation. In a rule-based expert system, the inference engine controls the order in which production rules are applied (A fired@) and resolves conflicts if more than one rule is applicable at a given time. This is what A reasoning@ amounts to in rule-based systems.
2. Directs the user interface to query the user for any information it needs for further inferencing.
The facts of the given case are entered into the working memory, which acts as a blackboard, accumulating the knowledge about the case at hand. The inference engine repeatedly applies the rules to the working memory, adding new information (obtained from the rules conclusions) to it, until a goal state is produced or confirmed.
One of several strategies can be employed by an inference engine to reach a conclusion. Inferencing engines for rule-based systems generally work by either forward or backward chaining of rules. Two strategies are:
1. Forward chaining
- is a data-driven strategy. The inferencing process moves from the facts of the case to a goal (conclusion). The strategy is thus driven by the facts available in the working memory and by the premises that can be satisfied. The inference engine attempts to match the condition (IF) part of each rule in the knowledge base with the facts currently available in the working memory. If several rules match, a conflict resolution procedure is invoked; for example, the lowest-numbered rule that adds new information to the working memory is fired. The conclusion of the firing rule is added to the working memory.
Forward-chaining systems are commonly used to solve more open-ended problems of a design or planning nature, such as, for example, establishing the configuration of a complex product.
2. Backward chaining
- the inference engine attempts to match the assumed (hypothesized) conclusion - the goal or sub goal state - with the conclusion (THEN) part of the rule. If such a rule is found, its premise becomes the new sub goal. In an ES with few possible goal states, this is a good strategy to pursue.
If a hypothesized goal state cannot be supported by the premises, the system will attempt to prove another goal state. Thus, possible conclusions are review until a goal state that can be supported by the premises is encountered.
Backward chaining is best suited for applications in which the possible conclusions are limited in number and well defined. Classification or diagnosis type systems, in which each of several possible conclusions can be checked to see if it is supported by the data, are typical applications.
Uncertainty and Fuzzy Logic
Fuzzy logic is a method of reasoning that resembles human reasoning since it allows for approximate values and inferences and incomplete or ambiguous data (fuzzy data). Fuzzy logic is a method of choice for handling uncertainty in some expert systems.
Expert systems with fuzzy-logic capabilities thus allow for more flexible and creative handling of problems. These systems are used, for example, to control manufacturing processes.
Expert System Technology
There are several levels of ES technologies available. Two important things to keep in mind when selecting ES tools include:
1. The tool selected for the project has to match the capability and sophistication of the projected ES, in particular, the need to integrate it with other subsystems such as databases and other components of a larger information system.
2. The tool also has to match the qualifications of the project team.
Expert systems technologies include:
1. Specific expert systems
- These expert systems actually provide recommendations in a specific task domain.
2. Expert system shells
- are the most common vehicle for the development of specific ESs. A shell is an expert system without a knowledge base. A shell furnishes the ES developer with the inference engine, user interface, and the explanation and knowledge acquisition facilities.
Domain-specific shells are actually incomplete specific expert systems, which require much less effort in order to field an actual system.
3. Expert system development environments
- these systems expand the capabilities of shells in various directions. They run on engineering workstations, minicomputers, or mainframes; offer tight integration with large databases; and support the building of large expert systems.
4. High-level programming languages
Several ES development environments have been rewritten from LISP into a procedural language more commonly found in the commercial environment, such as C or C++. ESs are now rarely developed in a programming language.
Roles in Expert System Development
Three fundamental roles in building expert systems are:
1. Expert - Successful ES systems depend on the experience and application of knowledge that the people can bring to it during its development. Large systems generally require multiple experts.
2. Knowledge engineer - The knowledge engineer has a dual task. This person should be able to elicit knowledge from the expert, gradually gaining an understanding of an area of expertise. Intelligence, tact, empathy, and proficiency in specific techniques of knowledge acquisition are all required of a knowledge engineer. Knowledge-acquisition techniques include conducting interviews with varying degrees of structure, protocol analysis, observation of experts at work, and analysis of cases.
On the other hand, the knowledge engineer must also select a tool appropriate for the project and use it to represent the knowledge with the application of the knowledge acquisition facility.
3. User - A system developed by an end user with a simple shell, is built rather quickly an inexpensively. Larger systems are built in an organized development effort. A prototype-oriented iterative development strategy is commonly used. ESs lends themselves particularly well to prototyping.
Development and Maintenance of Expert Systems 
Steps in the methodology for the iterative process of ES development and maintenance include:
1. Problem Identification and Feasibility Analysis:
- the problem must be suitable for an expert system to solve it.
- must find an expert for the project
- cost-effectiveness of the system has to be established (feasibility)
2. System Design and ES Technology Identification:
- the system is being designed. The needed degree of integration with other subsystems and databases is established
- concepts that best represent the domain knowledge are worked out
- the best way to represent the knowledge and to perform inferencing should be established with sample cases
3. Development of Prototype:
- knowledge engineer works with the expert to place the initial kernel of knowledge in the knowledge base.
- knowledge needs to be expressed in the language of the specific tool chosen for the project
4. Testing and Refinement of Prototype:
- using sample cases, the prototype is tested, and deficiencies in performance are noted. End users test the prototypes of the ES.
5. Complete and Field the ES:
- the interaction of the ES with all elements of its environment, including users and other information systems, is ensured and tested.
- ES is documented and user training is conducted
6. Maintain the System:
- the system is keep current primarily by updating its knowledge base.
- interfaces with other information systems have to be maintained as well, as those systems evolve.
Expert Systems in Organizations: Benefits and Limitations
Expert systems offer both tangible and important intangible benefits to owner companies. These benefits should be weighted against the development and exploitation costs of an ES, which are high for large, organizationally important ESs.
Benefits of Expert Systems
An ES is no substitute for a knowledge worker's overall performance of the problem-solving task. But these systems can dramatically reduce the amount of work the individual must do to solve a problem, and they do leave people with the creative and innovative aspects of problem solving.
Some of the possible organizational benefits of expert systems are:
1. An Es can complete its part of the tasks much faster than a human expert.
2. The error rate of successful systems is low, sometimes much lower than the human error rate for the same task.
3. ESs make consistent recommendations
4. ESs are a convenient vehicle for bringing to the point of application difficult-to-use sources of knowledge.
5. ESs can capture the scarce expertise of a uniquely qualified expert.
6. ESs can become a vehicle for building up organizational knowledge, as opposed to the knowledge of individuals in the organization.
7. When use as training vehicles, ESs result in a faster learning curve for novices.
8. The company can operate an ES in environments hazardous for humans.
Limitations of Expert Systems
No technology offers an easy and total solution. Large systems are costly and require significant development time and computer resources. ESs also have their limitations which include:
1. Limitations of the technology
2. Problems with knowledge acquisition
3. Operational domains as the principal area of ES application
4. Maintaining human expertise in organizations


No comments:

Post a Comment