Expert Systems for Domain-Specific Problems

The major challenge in the design of intelligent spatial reasoning systems lies on our ability to build into a system mechanisms to memorize and use knowledge extracted from domain specific experts, and to automatically acquire knowledge from voluminous but incomplete information through learning by examples. Such system can facilitate machine reasoning in a commonly encountered environment where knowledge (in terms of explicitly specified rules) and information (in the form of raw data, digitized maps, or remotely sensed images) are mixed together. The situation is equivalent to human reasoning with previously taught or acquired knowledge that sits in our memories, and knowledge to be acquired by selflearning from our everyday experience.

In the recognition and classification of remotely sensed images, for instance, there may be a set of rules obtained from remote sensing experts that can be used to accomplish the task. Thus, reasoning with a mixture of rules and data is a general phenomenon rather than an exception. The advancement of artificial intelligence attempts to design various means for the achievement of such purpose. Expert systems are products of such undertaking.

Building expert systems from scratch is very involving and time consuming. The general approach is to develop a generic expert system development tool, called a shell, with which expert systems for various problems can be effectively constructed. The shell can assist domain experts to build expert systems to solve specific spatial problems. Using a fuzzy logic based expert system shell (FLESS) as an example, it not only can manage rulebased inference under certainty and uncertainty, but can also utilize procedural knowledge, GIS, and remotesensing operations in an interactive and integrative manner.

Specifically, the shell facilitates the construction of rule based spatial expert systems with intelligence and decision making capabilities. Any mix of fuzzy and nonfuzzy terms and uncertainties in rules and facts are allowed in the system. It can employ fuzzy logic to handle approximate reasoning and fuzzy numbers to handle imprecision and certainty factors in rules.

The key features of the shell are knowledge base development, tracing, dynamic link library (DLL) technology, and operations. Knowledge base development is the part of the shell which handles the construction of domain specific knowledge bases necessary for securing knowledge of a specific problem. Knowledge base is built by the knowledge acquisition subsystem of the shell. It is responsible for storing knowledge entities such as objects, rules, and fuzzy terms acquired through the knowledge acquisition subsystem. Knowledge can be hard encoded from domain specific experts. The acquired knowledge entities, representing expertise, provide knowledge for the inference engine to perform consultations. The knowledge base development part of the tool consists of management modules for objects, fuzzy terms, rules, and inference options.

Tracing is the part which provides inferential strategies and review management facilities. After defining a knowledge base, consultation can be performed. The system will trace the rule base according to the goal and the tracing method set by users. There are three basic components in the consultation driver. They are the inference engine, the linguistic approximation routine, and the review management module. The inference engine of the shell supports both forward (data driven) and backward (goal directed) reasoning. Linguistic approximation is a process that maps the set of fuzzy subsets onto a set of linguistic values or expressions used in decision making. The review management module monitors and traces relevant rules and facts (objects with inferred values) at any time during consultation. It is also responsible for tracing the reasoning chain when explanations are required. The system provides two types of explanations. Users can ask 'why' a fact is required by the system and 'how' a fact is established. This module can also handle 'what if ' reviews which find out what conclusions will be deduced if certain facts are changed. The feature is especially useful for decision makers to evaluate different spatial options or scenarios. The ability to provide consultations is an important part of an intelligent system and FLESS is equipped with such capability.

DLL technology is the part which manages communications with the outside environment such as external libraries and databases. In FLESS, function calls in rules are implemented by the methods of DLL, and it provides a mechanism so that data can be exchanged between an application (e.g., a GIS application involving the use of mathematical models; automatic knowledge acquisition by neural networks or genetic algorithms) and the shell. The application can pass the data required for rule based inference to the shell. The shell will implement the inference based on the predefined knowledge base and the given data. After making an inference, the shell will display the result or pass it back to the applications for further analysis.

Operations is the part that manages systems operations and file manipulations. There is an assortment of operations in the shell. Pull down menu and toolbox are major operations for the manipulation of knowledge bases and inference. Under pull down menu, file operations of the knowledge base include the building of a new knowledge base, retrieving an existing knowledge base, editing a knowledge base, saving a knowledge base, and setting system preferences for external editors. Furthermore, operations for consulting a knowledge base throughout an inferential process are implemented. Help menus for objects, rules, fuzzy terms, and helps are also provided.