Brought to you by EarthWeb
IT Library Logo

Click Here!
Click Here!

Search the site:
 
EXPERT SEARCH -----
Programming Languages
Databases
Security
Web Services
Network Services
Middleware
Components
Operating Systems
User Interfaces
Groupware & Collaboration
Content Management
Productivity Applications
Hardware
Fun & Games

EarthWeb Direct EarthWeb Direct Fatbrain Auctions Support Source Answers

EarthWeb sites
Crossnodes
Datamation
Developer.com
DICE
EarthWeb.com
EarthWeb Direct
ERP Hub
Gamelan
GoCertify.com
HTMLGoodies
Intranet Journal
IT Knowledge
IT Library
JavaGoodies
JARS
JavaScripts.com
open source IT
RoadCoders
Y2K Info

Previous Table of Contents Next


4.2. INFERENCE AND CONTROL PROCESS

The inference and control mechanisms that a shell provides manipulate the knowledge in the knowledge base in prescribed ways. In theory, this is analogous to the reasoning process in humans. Smaller shells tend to offer limited processing ability, while the larger ones provide a great deal of flexibility to the designer. It is important to have the inference and control strategies available that best match the way the human expert solves the problem.

Chaining. In rule-based programming, backward and forward chaining are the two basic inference techniques used. Some shells offer one or both of these methods, and some even permit the switching between the two during a session to provide bidirectional inferencing. When selecting a chaining method, consider the problem-solving activity to be programmed. For example, backward chaining is a good choice for diagnostic and prescription problems, while forward chaining applies well to design and planning ones.

Agendas. Some shells permit you to define an agenda of activities for the expert system to perform. This agenda might be a series of goals that a backward chaining system is instructed to pursue in a predefined sequence, or, the shell may permit the agenda to be executed in an intelligent fashion, where certain tasks are performed conditionally based on the system's findings. For large applications, having an agenda capability is a big plus.

Meta-rules. A meta-rule describes how other knowledge should be used. It is usually used to direct the processing of the other knowledge into a new area on the basis of discovered information. Typically, the meta-rule begins the processing of a different set of context-related rules. In applications not suited for solely backward or forward chaining, consider the use of meta-rules.

Nonmonotonic reasoning. This type of reasoning allows for changes in the reasoning for changes in a given fact. It not only permits the retraction of the given fact, it also causes the retraction of all other facts that were dependent on the changed fact. This requires that the shell has an additional recording-keeping facility called a truth maintenance system (Dolye, 1979). Nonmonotonic reasoning is valuable in planning, design, or scheduling applications, where newly discovered information would have an impact on the developing product.

4.3. EXPLANATION FACILITY

An explanation facility provides a transparency to the expert system's reasoning. This is of particular importance in interactive systems, where the user might want to know why a given question is being asked, or how the provided result was obtained. Consider, for example, a diagnostic system in the medical domain, where the system's result is a recommended drug to administer to a patient. During the course of the consultation, the user may want to know why certain information is needed, and at the end a rationalization on how the system arrived at the suggested drug. Since the recommended drug is a result of expert judgement, it is easy to see why a user may want to know how the system derived this recommendation before administering the drug.

For the user's needs, most shells provide very poor explanation facilities. Some provide none at all. Those that do, usually simply show the current rule being processed in response to a why query, and a tracing through the processed rules in response to a how query. In general, these types of "computerize" responses are inadequate and difficult for the user to follow. From the designer's perspective, these facilities can be valuable for debugging purposes. For example, if the system's final result is found to be wrong, a trace through the processed rules can often locate an incorrect rule.

4.4. DEVELOPER INTERFACE

The various shells offer different levels of capabilities for the expert system designer to develop and refine the system. The smaller tools usually provide limited development features, while the more sophisticated ones, though more difficult to learn, provide a wider choice of knowledge representation methods, inference techniques, and user interface design alternatives. Various levels of debugging methods are also provided. Some shells also provide extensive on-line help that can greatly assist in system development.

Knowledge base creation. There are two broad ways of creating a knowledge base. Some shells require you to type the entire knowledge base, much in the same way as using a word processor. One advantage with using this approach is that you can print and review the knowledge. Other shells provide an incremental approach, where individual pieces of knowledge are created and added to the knowledge base. To create a rule, for example, the designer might select from a menu a create-rule item and be presented with a rule-entry form to be filled out. The advantage of this approach is that the shell aids with system development. However, it can be difficult to determine the new rule's relationship with existing knowledge, unless the shell provides a good rule-browsing utility.

Debugging utilities. Debugging utilities allow the designer to check and debug the system. One of the more common and valuable utilities is rule-tracing. Following a session with the system, this utility provides a trace through all of the rules processed, including their processing order and information provided by the user. This trace can uncover problems in the knowledge base when errors occur during system testing. Another valuable utility found in some shells is incremental compilation, which allows the designer to compile the knowledge in an incremental fashion. This permits the designer to immediately see any problems with the new knowledge.

On-line help. Having a good manual that provides the instruction needed to build the expert system is obviously a valuable resource for the designer. Some shell vendors have gone a step further and provide system development help on-line. While developing the system, the designer can access this utility to obtain aid in the effort. This aid might simply be in the form of text that provides help on the requested item. In more advanced on-line help utilities, you can paste a template of a knowledge element (e.g., a function) directly into the system, then edit it as needed.


Previous Table of Contents Next

footer nav
Use of this site is subject certain Terms & Conditions.
Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details.