• No results found

1 Introduction to intel lig ent sy s tems and sof t c omputing 24

inferences (advice). Operational schematics of an expert system are shown in Figure 1.9.

1.3.6.1 Development of an expert system

The development of an expert system requires the combined effort of domain experts, who are human experts in the field of interest, and knowledge engin-eers, who acquire and represent/program the knowledge in a suitable form.

This process will require a knowledge acquisition facility. Other engineers, programmers, etc. are needed for the development of the system interface, integration, and so on. The experts will be involved in defining the problem domain to be solved and in providing the necessary expertise and knowledge for the knowledge base that will lead to the solution of a class of problems in that domain. The knowledge engineers are involved in acquiring and rep-resenting the available knowledge and in the overall process of programming and debugging the system. They organize the acquired knowledge into the form required by the particular expert system tool. Forms of knowledge representation may include logic, production systems (rules), semantic scripts, semantic primitives, frames, and symbolic representations. Experts and know-ledge engineers both will be involved in testing and evaluating the system.

Typically, what is commercially available for developing expert systems is an expert system “shell.” It will consist of the required software programs, but will not contain a knowledge base. It is the responsibility of the user, then, to organize the creation of the required knowledge base, which should satisfy the requirements of the system with respect to the form of knowledge representation that is used and the structure of the knowledge base.

In developing the knowledge base of an expert system, the experts involved may rely on published information, experimental findings, and any other available information in addition to their own knowledge. Testing and evaluation may involve trials where the experts pose problems to the expert system and evaluate the inferences made by the system. Many of these test problems may have solutions that are already known. Others may not be so clear cut and hence the responses of the expert system should be carefully scrutinized by the experts during the testing and evaluation phase. The tests should involve the ultimate users of the system as well. In this regard, the Figure 1.9: Operational schematics of an expert system

1.3 Knowledg e-ba sed sy s tems

25 features of the user interface, including simplicity, use of a common language,

graphics, and voice facilities, are important.

1.3.6.2 Knowledge engineering

A “knowledge engineer” gathers the expertise about a particular domain from one or more experts, and organizes that knowledge into the form required by the particular expert system tool that is to be used. Forms of knowledge representation may include logic, production system (rules), semantic scripts, semantic primitives, and frames and scripts. A typical expert system uses a data structure as the basis of the particular representation technique it imple-ments. Consequently, the knowledge engineer needs to know the general form in which the knowledge is to be represented and the particular form of that representation required by the expert system itself. The knowledge that is

“engineered” in this manner forms the knowledge base of the expert system.

In summary, the tasks of knowledge engineering include the following:

(1) Acquisition of knowledge that is pertinent, from different sources (experts, literature, media, etc.)

(2) Interpretation and integration of the knowledge (from various sources and in different forms)

(3) Representation of the knowledge within the knowledge-based system (suitable structure, language, etc. have to be chosen. Here, one should consider aspects of incomplete knowledge, presence of analytical models, accessibility of system variables for measurement, and availability of past experience)

(4) Processing of knowledge for making inferences (this operation has to be compatible with the knowledge base, objectives of the system, etc. Speed of decision-making is crucial, particularly in real-time applications. The form of the inferences should be consistent with the system objectives) (5) System needs and constraints (accuracy, implications of incomplete

knowledge, and cost of an incorrect inference)

(6) Economic considerations (development cost; cost to the user in com-parison to the benefits).

1.3.6.3 Applications

An expert system may be equally useful to both an expert and a layperson.

For example, it is difficult for one expert to possess complete knowledge in all aspects of a problem and, furthermore, the solutions to a problem can be quite complex. Then, the expert may turn to a good expert system that will provide the necessary solutions, which the expert could evaluate further (perhaps with the assistance of other experts) before adopting. Ideally, an expert system should have an “evolving” knowledge base, which has the capability to learn and continuously update itself.

Expert systems have been developed for a variety of applications such as education and training, medical diagnosis and prescription of treatment,

1 Introduction to intel lig ent sy s tems and sof t c omputing

26 mineral exploration, interpretation of satellite imagery, financial advising, legal consultation, tax return preparation, system troubleshooting and ance, planning and scheduling, weather forecasting, troubleshooting, mainten-ance and operation of plants and machinery, and system control. An expert system that is used to supervise the control system of a plant is called a control expert system. Such expert systems are directly applicable at a high level of operation, for monitoring, supervision, diagnosis, and control of intelligent machines.

While the quality and performance of an expert system is highly depend-ent on the knowledge base that is contained within it, this knowledge alone does not constitute a powerful expert system. A poorly chosen formalism may limit the extent and nature of the knowledge; accordingly, the structure of knowledge representation plays an important role. The formalism that is employed should closely resemble how an expert uses knowledge and performs reasoning. The skill of both the domain expert and the knowledge engineer will be crucial here. The techniques of representation and processing will be dependent on the type of knowledge. The reasoning scheme that is employed will directly affect the search speed and how conflicts are resolved.

In particular, retrieval and processing of information will not be fast or efficient without a good formalism for representing knowledge and a suitable inference-making scheme to process it. In real-time expert systems, speed of decision-making is a crucial factor, and it depends on hardware/software characteristics, the inference-making scheme, and the particular technique of knowledge representation.

Performance goals of the next-generation expert systems are:

n Automatic generation of code and knowledge representation

n Automatic learning and system enhancement from experience

n Voice recognition

n Communication through a natural language

n Automated translation of documents into knowledge bases

n Cooperative problem-solving architectures

n Generic problem-solving shells

n Multilevel reasoning systems.

1.4 Knowledge representation and processing

An appropriate representation of knowledge, including intuition and heur-istic knowledge, is central to the development of machine intelligence and of knowledge-based systems. In a knowledge-based system two types of know-ledge are needed: knowknow-ledge of the problem (problem representation or modeling) and knowledge regarding methods for solving the problem. Ways of representing and processing knowledge include: logic, semantic networks, frames, production systems, and fuzzy logic. Several of these approaches have been discussed before. The rest are examined next.

1.4 Knowledg e represent ation and proc es s ing

27

1.4.1 Semantic networks

Semantic networks are useful in the graphical representation and processing of knowledge. Here, knowledge objects are represented in a network, and their relationships are represented by arcs or lines linking the nodes. The arcs are “directed,” meaning they use arrows to indicate the direction of the relationship between the connecting objects. An arc represents a particular association between two objects. For example, a marriage can be represented by a “married to” arc joining a husband object and a wife object. Knowledge represented by a semantic network is processed using network searching procedures, usually starting with some available data and ending with a set of conclusions.

The nomenclature of a semantic network is described in Figure 1.10.

Specifically, it shows the relationship of Object 1 to Object 2. The object at a node may be generic (e.g., “Plant”) or specific (e.g., “Plant 1”). Relationships represented by links can take many forms. Examples are: IS_A, HAS, CON-TAINS, and HAS_FEATURE.

Example 1.4

To illustrate the concepts of semantic networks, consider the example shown in Figure 1.11.

Figure 1.10: A segment of a semantic network

Figure 1.11: An example of a semantic network

1 Introduction to intel lig ent sy s tems and sof t c omputing