Advanced Information Systems

Knowledge Based Systems

The Role of Knowledge-Based Technologies

The pre-industrial and industrial sectors of Bell's economic model as shown in Figure 1 are still basic to human existence.The shift of labor from these sectors in post-industrial society is dependent on the application of information technology.

Fig.1 Economic sectors

The most important applications of the new knowledge-based technologies in the short term are to the older industries at the base of our economy--no enterprise can afford to neglect them.

Figure 2 shows the state of the art of information technology in terms of computing and its interaction with the physical, social and knowledge worlds:

Fig.2 The state of the art in information technology

Expert Systems Architectures

Figure 3 shows the basic structure of an expert system:

Fig.3 Structure of a knowledge-based system

Initial Steps In Expert Systems Technology

One of the first expert system developments was the fuzzy logic control system developed in 1974. The system accepted human knowledge of control strategies expressed verbally and encoded it directly as computer programs which acted on the environment. This work was undertaken as part of a study of machine learning in process control and the system controlled was a small steam engine. The verbal rules were of the form:
If the pressure error is positive and big and the change in pressure error is 
	not negative medium or big
Then make the heat change negative and big
Priming the learning machine by such rules was first introduced because learning took too long. It was expected that the rules would act like verbal instructions to a human operator and aid the machine in setting up an initial approximate control strategy. However, it was found that rules such as this may be interpreted algorithmically to produce computer control programs that are more effective than those derived from classical control theory. Additionally, the learning machine then proceeded only to "learn" less effective strategies. Hence interest switched to the process whereby human expression of verbal rules that appear vague can lead to highly effective control strategies, that is to the development of expert systems.

The rules on which a particular expert system is based may be seen as ways of representing knowledge. This is not a new concept as such rules have been used in the past quite independently of computer systems. The rules below are an excerpt from a training manual for lime kiln operators. It seems that the encoding of expertise into a set of fairly vague but highly applicable rules is a standard way of making it available to others.

1. When the burning zone temperature is drastically low:
	(a) reduce kiln speed;
	(b) reduce fuel.
2. When the burning zone temperature is slightly low:
	(a) increase I.D. fan speed;
	(b) increase fuel rate.
In parallel with the controller development, other expert systems were being developed for completely different domains. MYCIN is a well-known medical diagnosis expert system which aids a clinician to act as a consultant on infectious diseases. It uses rules of the form:
If	1) the infection is primary-bacteremia, and
	2) the site of the culture is one of the sterile sites, and
	3) the suspected portal of entry of the organism is the gastro-intestinal tract,
Then there is suggestive evidence (.7) that the identity of the organism is bacteroides.
Such rules are obtained from specialists in microbial infections and their application to particular data is fairly simple data processing. The rules are validated through their application to many cases and revised when they fail to give the correct diagnosis. MYCIN is designed to interact with a clinician in order to make a diagnosis and suggest therapy for a particular patient with a suspected microbial infections. It first gathers data about the patient and then uses this to make inferences about the infections and their treatment. The following is part of a dialog between MYCIN and a clinician responsible for testing and treating a patient.
(1) Patient's name: (first-last) FRED SMITH
(2) Sex: MALE
(3) Age: 55
(4) Have you been able to obtain positive cultures from a site at which Fred Smith has
	 an infection? YES
(5) What is the infection? PRIMARY-BACTEREMIA
(6) Please give the date and approximate time when signs or symptoms of the primary-
	bacteremia (INFECTION-1) first appeared. (mo/da/yr) MAY 5, 1975
The most recent culture associated with the primary-bacteremia (INFECTION-1) will be 
	referred to as:
(7) From what site was the specimen for CULTURE-1 taken? BLOOD
(8) Please give the date and time when this blood culture (CULTURE-1) was obtained.
	 (mo/da/yr) MAY 9, 1975
The first significant organism from this blood culture (CULTURE-1) will be referred to as:
(9) Enter the identity of ORGANISM-1: UNKNOWN
(10) Is ORGANISM-1 a rod or coccus (etc.): ROD
(11) The gram stain of ORGANISM-1: GRAMNEG
(12) Have there been POSITIVE cultures from sites which are NOT associated with infections
	 about which you are seeking advice? NO
(13) Did ORGANISM-1 grow aerobically? YES (8)
(14) Did ORGANISM-1 grow anaerobically? YES
(15) What is the suspected portal of entry of ORGANISM-1 into the sterile site? GI (6)
My therapy recommendations will be based on the following probable infection(s) and 
	potential causative organism(s):
<Item 1>  E.COLI [ORGANISM-1]

The Spread Of Expert Systems Technology

Since the initial success with MYCIN a very wide range of expert systems have been developed. Figure 4 is a brief summary of some significant expert systems and their applications, and Figure 5 is a brief summary of some major areas of application of expert systems. The numbers and domains have both increased greatly since these tables were prepared as research and applications of expert systems have developed world-wide. It is now impossible to make any accurate count since most universities have some activity and many industrial expert systems are regarded as highly proprietary.

Fig4 Some significant expert systems

Fig.5 Areas of application of expert systems

The Importance Of Meta-Knowledge

MYCIN works well when the rules are complete and correct, but it was difficult to set up the rules initially. It was also difficult to trace the rules causing errors in the deductions of MYCIN if the clinician feels that something has gone wrong. To overcome these problems TEIRESIAS was added as an auxiliary expert system with expertise about MYCIN. It has the facility to explain MYCIN's decisions, and help the clinician amend the rules when they lead to incorrect conclusions.

TEIRESIAS uses a similar rule-based approach to reasoning as does MYCIN but the rules are now rules about the forms of rules and the use of rules. The rules above are expressions of inferences from data about the world to conclusions about it, a basic level of knowledge processing. Davis discovered that similar rules could express inferences at a higher level about relations between these basic patterns of inference. A typical one of these metarules has the form:

If	1) there are rules which do not mention the current goal in their premise
	2) there are rules which mention the current goal in their premise
Then it is definite that the former should be done before the latter.
The effect of the metarules on the dialog is that the clinician and MYCIN-TEIRESIAS can discuss the rules and inferences made as well as the patient, organisms and infection.

The dialog below shows a debugging sequence in which the inference made by MYCIN above is noted to be incorrect and TEIRESIAS aids the clinician in correcting it.

<Item 1>  E.COLI [ORGANISM-1]
Are all these identities correct? N
Are there any identities missing? Y
Are there any identities that shouldn't have appeared? Y
Do you want to
	1] track down the problem yourself, or
	2] allow me to guide the debugging, or
	3] ignore it for now and fix it another time?
Type 1, 2 or 3 2
We'll start with the PSEUDOMONAS-AERUGINOSA first. The following rules were used in 
	deducing that the identity of ORGANISM-1 is pseudomonas-aeruginosa
Since [1.1] the category of ORGANISM-1 is not known
	[1.2] the gram strain of ORGANISM-1 is gramneg
	[1.3] the morphology of ORGANISM-1 is rod
	[1.4] the aerobicity of ORGANISM-1 is facultative
There is weakly suggestive evidence (.3) that the identity of ORGANISM-1 is pseudomonas-
Is this rule correct? Y
Should its premise have failed for this case? Y
Which clause of the premise should have been false? [give #] 1
No conclusions were reached concerning the category of ORGANISM-1. Should it have been 
	possible to conclude a category? Y
There were no rules successfully invoked in the attempt to deduce that the category of 
	ORGANISM-1 is enterobacteriaceae.
The following (potentially applicable) rules were NOT executed because the starred [**] 
	clause failed:
If	1) the identity of ORGANISM-1 is not known
**	2) the gram strain of ORGANISM-1 is not known
	3) the morphology of ORGANISM-1 is not known
	4) the site of CULTURE-1 is csf
	5) the infection is meningitis
	6) the age (in years) of Albert Hall is less than or equal to .17
then there is weakly suggestive evidence (.33) that the category of ORGANISM-1 is 
If	1) the morphology of ORGANISM-1 is rod
	2) the gram strain of ORGANISM-1 is gramneg
	3) the aerobicity of ORGANISM-1 is facultative
**	4) the infection with ORGANISM-1 was acquired while the patient was hospitalized 
then there is suggestive evidence (.7) that the category of ORGANISM-1 is 
Are all these rules correct? Y
Should any of them have been successfully invoked? N
Is there a rule missing? Y
Ok, then I need a rule that would allow me to deduce that the category of ORGANISM-1 is 
Would you like to give me such a rule now? Y
In this dialog the clinician noticed an identity was missing in those deduced by MYCIN. He chose to allow TEIRESIAS to guide the debugging, and it used the metarule of starting with the identity which appeared incorrectly. The program then reconstructed the deductive process, asking the clinician to confirm its actions at each stage, or comment on anything incorrect. It confirmed the facts about the particular case in hand and checked that the rules were correct. Before very long the issue has become sharply focused for the clinician and the system.

The main guideline in debugging MYCIN is that a rule must be found which is relevant to this particular patient, but true in general, and enhancing the set of rules of knowledge. The new rule is added to the set of knowledge rules, with a tag explaining who added it and in what circumstances. This allows the ultimate level of explanation to be given in terms of who added the rule and the reasons given. Whereas MYCIN's rules are specific to microbial infections, those of TEIRESIAS are more general and can be used in other domains.

Inductive Acquisition Of Knowledge

The interaction with TEIRESIAS demonstrates the dynamic nature of expert systems. They have often been presented in the literature as means of capturing expert knowledge as if that knowledge was a static, finished product, universal in nature and owned by one person. In practice knowledge is fluid, situational and generally distributed across groups of people. The initial priming of an expert system with the knowledge of one or more experts is a way of getting started. Metarules cannot be effective unless the basic vocabulary and patterns of inference have been at least approximately established. However, an expert system then becomes an entity that grows with the knowledge and experience of its users. It is a support tool for their knowledge acquisition and refinement as well as a way of making it more accessible to themselves and others.

The use of metarules allows expert systems to be programmed interactively by their users. From one perspective TEIRESIAS can be seen as an important development in automatic programming. From another it can be seen as a way in which a machine acquires knowledge through interaction with a person. Metarules may also be used to implement knowledge acquisition procedures in which machines acquire knowledge directly through their interaction with the environment, i.e. a process of machine learning.

It was found that learning could be introduced effectively in the steam engine controller through metarules that expressed the way in which the basic rules should be changed as a result of performance feedback. The learning level of their controller operator on rules of the form:

If time is small and error is negative big
Then desired change is big.
If time is big and error is positive zero
Then desired change is zero.
The use of a very high level of metarules for knowledge acquisition is illustrated by AM which searches for "interesting" conjectures in mathematics. What is remarkable about AM is the very notion of what it is doing. This is the highest level of scientific creation, looking for the patterns underlying knowledge. The concept of something being interesting seems peculiarly human and certainly too vague to form the basis of a computer program. However, AM is not only able to generate conjectures in mathematics but also meaningful routes to them.

The rules below are two of the few hundred rules used by AM. Most of them are sufficiently general to apply to other situations. In an organizational context, for example, Rule 19 indicates that a committee which has decision-making powers that do not apply to its sub-committees below a certain size has an interesting property (that of requiring a quorum). Its sub-committees also have an interesting property (that of being quorate).

19. If concept C possesses some very interesting property lacked by one of its 
	specializations S,
	Then both C and S become slightly more interesting.
38. If there are no known examples for the interesting concept X,
	Then consider spending some time looking for such examples.
Inductive inference of knowledge through machine learning procedures is a significant alternative to direct access to the verbal knowledge of experts, and comes closer to capturing the knowledge of main interest. We want to know the basis for what the experts do rather than what they say they do. Michalski and Chilausky have reported an interesting comparison of two expert systems for plant disease diagnosis, one constructed directly from the expert's stated rules, and the other constructed automatically by an algorithm for logical induction of structure from behavior. The expert system with induced rules had a better performance in diagnosis and the expert agreed that its rules, although not obvious at first, were better than his own.


Task 65
Filling in examples of the following concept: "Divisors-of." 3 Reasons:
(1)	No known examples for Divisors-of so far.
(2)	Times, which is related to Divisors-of, is now very interesting.
(3)	Focus of attention: AM recently defined Divisors-of.
26 examples found, in 9.2 seconds. e.g.: Divisors-of (6) = {1 2 3 6}.

Task 66
Considering numbers which have very small sets of Divisors-of (i.e very few divisors). 
2 Reasons:
(1)	Worthwhile to look for extreme cases.
(2)	Focus of attention: AM recently worked on Divisors-of.

Filling in examples of numbers with 0 divisors. 0 examples found, in 4.0 seconds. 
Conjecture: no numbers have 0 divisors.
Filling in examples of numbers with 1 divisors. 1 examples found, in 4.0 seconds. 
e.g.: Divisors-of(l) = {1}. Conjecture: 1 is the only number with 1 divisor.
Filling in examples of numbers with 2 divisors. 24 examples found, in 4.0 seconds. 
e.g.: Divisors-of(13)= {1 13}. No obvious conjecture. This kind of number merits more 
	study. Creating a new concept: "Numbers-with-2-divisors."
Filling in examples of numbers with 3 divisors. 11 examples found, in 4.0 seconds. 
e.g.: Divisors-of(49) = {1 7 49}. All numbers with 3 divisor are also Squares. This kind 
	of number merits more study. Creating a new concept: 
"Numbers-with-3-divisors." Task 67 Considering the square-roots of Numbers-with-3-divisors. 2 Reasons: (1) Numbers-with-3-divisors are unexpectedly also perfect Squares. (2) Focus of attention: AM recently worked on Numbers-with-3-divisors. All square-roots of Numbers-with-3-divisors seem to be Numbers-with-2-divisors. e.g., Divisors-of(Square-root(169)) = Divisors-of(l3) = {1 13}. Formulating the converse to this statement. Empirically, it seems to be true. The square of each Number-with-2-divisors seems to be a Number-with-3-divisors. This is very unusual. It is not plausibly a coincidence. (Chance of coincidence is <.001). Boosting interestingness factor of the concepts involved: lnterestingness factor of "Divisors-of" raised from 300 to 400. lnterestingness factor of "Numbers-with-2-divisors" raised from 100 to 600. Interestingness factor of "Numbers-with-3-divisors" raised from 200 to 700. USER: Call the set of numbers with 2 divisors "Primes." Task 80 Considering the concept "Prime-times." 2 Reasons: (1) Conjecs about Prime-times will tell much about Primes and Times-1. (2) Focus of attention: recently defined Prime-times. Looking specifically at Prime-times(48), which is {(2 2 2 2 3)} 4 conjectures proposed, after .6 seconds. e.g., "x is never inside any member of Prime-times(x)." Testing them on other examples of Prime-times. Only 1 out of the 4 conjectures are verified for all 23 known examples of Prime-times: Conjecture 1: Prime-times(x) is always a singleton set. That is, Prime-times is a function, not just a relation. e.g., Prime-times(48), which is {(2 2 2 2 3)}, is a singleton set. e.g., Prime-times(47), which is {(47)} is a singleton set. This holds for all 17 known examples of Prime-times. (Chance of coincidence is .0001) This fails for 2 of the boundary cases (extreme numbers): 0 and 1. Conjecture is amended: Each number >1 is the product of a unique bag of primes. I suspect that this conjecture may be very useful. USER: Call this conjecture "Unique factorization conjecture." Task 106 Considering the set of numbers for which Prime-add is denned (has non-empty value). 1 Reason: (1) Prime-add often has non-empty value. Worth isolating that case. Warning: no task on the agenda has an interestingness value above 200! Creating a new concept "Prime-addable." Prime-addable is a kind of Number. x is Prime-addable iff Prime- add(x) is non-empty. Will spend 5.0 seconds filling in examples of Prime-addable. 18 examples found. Here are some of them: 4 5 6 7 8 9 10 12 13 14 16 17 18. Empirically, all even numbers are also in this set (ignoring boundary cases: 0 2 4 6). So conjectured. Danger: must examine boundary cases: the numbers 0, 2, 4, and 6. Two exceptions noticed. The only exceptions are the smallest boundary cases: 0, 2. Conjecture is amended: All even numbers >2 are the sum of two primes. Warning: I expect this conjecture will be cute but useless. USER: Why? Because the concept of "Primes" originally arose as extreme cases of Divisors-of. The more closely an operation F is related to the concept Divisors-of, the more natural will be any conjecture involving both that operation F and Primes. e..g., conjectures involving both Primes and Times will be natural and useful. But this conjecture, which involves Primes and Add-1, will be cute but useless, since the relation "Add-1" is unrelated to the relation "Divisors-of" End of explanation. USER: Call this conjecture "Goldbach's conjecture."

Expert Systems On Modern Workstations

The examples above of early expert system developments are textually oriented. Recent expert systems take advantage of the facilities of modern graphic workstations to offer highly interactive user environments and support systems. For example, Nexpert is an expert system shell that operates on Vax, Sun and Apollo workstations as well as in the Apple Macintosh and IBM PC environments. Figure 6 shows some of the uses of windows in Nexpert: The prompt window is an important contribution to the usability of a complex window, icon and mouse environment where the user often finds it difficult to determine which of the many actions available will achieve his objective. As he moves the cursor around the screen using the mouse the text in the prompt window changes continuously to show what action would be initiated if he clicked the mouse in that position.

Figure 7 shows a further window, the rule editor, which illustrates some of the care taken about human factors in Nexpert's design:

Note also how the rule itself is automatically formatted for clarity in presentation. The prompt window is particularly helpful for initial users who are not familiar with the icons since moving the cursor to an icon brings up an explanation of the action involved as a prompt.

Fig.6 A modern multi-window, menu and icon environment in Nexpert

Fig.7 The rule editor dialog environment in Nexpert

Figure 8 shows a the edit window that appears when we click on the two-arrowed head icon to copy-and-edit a copy of an existing rule into a new rule. The rule is shown in structured fields which may each be edited.

Figure 9 shows the specialized edit window that appears when we click on the third premise in the rule shown on the screen of Figure 8. It gives function buttons for probable fields that might be copied from elsewhere together with a numeric keyboard to minimize keystrokes.

The graphic dialog capabilities used in Nexpert are important not only in their standard window, menu and icon forms, but also in their capability to allow mimic diagrams to be used in highly customized user interfaces. Figure 10 shows a mimic diagram monitoring the status of a chemical plant through data received from instruments communicating through a Macintosh serial port. The operator can see the status of the plant through the numeric indicators and also actuate the plant by clicking on the valve symbols causing them to open and close.

An expert system is active in Nexpert while the mimic diagram is in operation. It monitors the status of the plant and its rules are activated when values go outside safety limits. Figure 11 shows a dialog with this system triggered off by an alarm condition. It has asked for the task being performed currently and suggested that the operator click on the "options" button if he is not sure of possible responses. The result of doing this is shown in the front window in Figure 11 where the possible responses are tabulated. Note that this list is generated automatically by the expert system shell by checking the rules that might use the data to be entered and determining what values they test for in their premises. Thus, an automatic help facility is generated that is bound to be meaningful in terms of the actual behavior of the system. This reduces the load of dialog design and ensures that the help facility is always in step with the actual knowledge base.

If the operator clicks on an option in the list he returns to the screen of Figure 10 with the required data automatically entered as shown in Figure 12.

The operator may also request an explanation of why the data is required by clicking on the "why?" button in Figure 12. An explanation is given in terms of the rule being tested that requires the data as shown in Figure 13.

The explanation may be further expanded as required. Clicking on the second premise in Figure 13 highlights it, and then clicking on the "why?" button again produces a broader explanation of why the task has to be known in terms of all the rules that use its value in their premises as shown in Figure 14.

Clicking on the "how?" button at this stage queries in what ways the value of the task may be determined. Figure 15 shows the result of doing this which indicates that the value must come from the user.

When the operator has entered the data required the expert system recommends actions which will result in containing the problem that has arisen. A second expert system is then invoked which diagnoses the likely source of the problem and indicates it on the mimic diagram as shown in Figure 16.

Nexpert also uses the graphic capabilities to show the data and inferences in graphic form as shown in Figure 17. The knowledge engineer can navigate the knowledge base during an interaction and determine which rules have been invoked, and which rules are capable of being invoked, based on the data entered through the instruments and by the operator.

An important capability of Nexpert is that it allows a user to enter a hypothesis which it takes as a goal to be derived from inference rules and facts in the knowledge base. However, if it disproves the hypothesis it takes the data gathered from the user during its attempt to derive the hypothesis and draws whatever conclusions it can from it. The result is that it often comes up with a hypothesis that the user regards as the "nearest" true one to that which he suggested. This is a powerful feature in an expert system, but illustrates the complexity of user interface considerations involved at a high cognitive level.

Fig.8 Creating a new rule by editing a copy of an old one in the rule editor

Fig.9 The premise editing dialog in the rule editor

Fig.10 Dialog through a mimic diagram of gauges and semaphors in Nexpert

Fig.11 A plant fault detection expert system invoked by abnormal data

Fig.12 Selection of a response from the help dialog by pointing and clicking

Fig.13 Explanatory dialog in response to a "why?" question

Fig.14 Further in-depth development of the "why?" question dialog

Fig.15 Explanatory dialog in response to a "how?" question

Fig.16 Graphical presentation of conclusions about the source of plant failure

Fig.17 Graphical presentation of the relations between data, rules and inferences

The Internal Operation Of An Expert System

The inferencing and explanation processes in current expert systems, although different from conventional data processing, are in themselves very simple and easy to understand. The following example shows the structure and operation of a legal expert system written in the Apes expert system shell embedded in Prolog.

The example was created to demonstrate the feasibility of encoding some British social security legislation in an expert system. The legislation relates to the eligibility of applicants for "supplementary benefit," being money paid to the needy over and above normal unemployment benefits.

The researchers commenced with the statement in a leaflet for applicants:
"A person is probably entitled to supplementary benefit if they have insufficient savings,
 are over 16 years of age and need financial help."
which might be encoded in Prolog as:
<person> is-entitled-to supplementary-benefit if
<person> has-insufficient-savings and
<person> is-over-16 and
<person> needs-financial-help
strength probable
Howver, as might be expected, the actual legislation is not uncertain--the "probably" in the leaflet indicated that some information was missing, and the full statement of entitlement can be encoded in Prolog as:
<person> is-entitled-to supplementary-benefit if
not <person> is-disqualified-by sex and
not <person> is-a-juvenile and
<person> study-status-OK and
<person> is-a-GB-resident and
<person> is-excused-or-registered-for-work and
<person> needs-financial-help and
not <person> is-disqualified-by trade-dispute
This encoding already has some interesting properties. The intention behind the legislation is very clear from the overt knowledge representation. Each qualifying clause was added by governments with specific exclusions in mind, for example, that students in the vacation periods and workers on strike should not be entitled.

This is also a Prolog program that will run. However, it is incomplete because many of the premises in it cannot be tested as they not defined in Prolog primitives. This can be done by stepwise refinement:

<person> is-disqualified-by sex if
sex of <person> is female and
<person> has-partner and
<person> is-living-with-partner
<person> needs-financial-help if
capital of <person> LESS max-capital for
supplementary-benefit and
requirements of <person> at-least resources of <person>
Certain data required cannot be inferred but must be requested from the user. This is done in Apes by defining it to be "askable:"
is-a-GB-resident	askable
sex	askable
age	askable
Now, if the user queries the expert system it will attempt to satisfy each clause, inferring what it can and asking where specified. At any point in the dialog the user can ask "why" the system needs the information:
Is(peter is-entitled-to supplementary-benefit)
What is peter's sex? male
How old is peter? 23
Is peter in full-time education? why
if	peter is not in full-time education
then peter's educational status is OK
if	peter is not disqualified by sex and
	peter is not a juvenile and
	peter's educational status is OK and
	peter is currently resident in Great Britain and
	peter is excused registration or has registered
	    for work and
	peter needs financial help and
	peter is not disqualified by being in a trade-dispute
then peter is entitled to supplementary benefit
which is what you originally asked about
Having answered the "why" question, the system continues the dialog. When it comes to a conclusion the user can again ask "why," this time meaning "why was that conclusion reached:"
Is peter in full-time education? no
Is peter currently resident in Great Britain? yes
Has peter signed on as unemployed? yes
How much savings does peter have? 2600

No, I cannot confirm peter is-entitled-to supplementary-benefit why

peter is-entitled-to supplementary-benefit could be deduced from the rule
<person> is-entitled-to supplementary-benefit if
not <person> is-disqualified-by sex and
not <person> is-a-juvenile and
<person> study-status-OK and
<person> is-a-GB-resident and
<person> is-excused-or-registered-for-work and
<person> needs-financial-help and
not <person> is-disqualified-by trade-dispute

peter is-disqualified-by sex is untrue
peter is-a-juvenile is untrue
peter study-status-OK
peter is-a-GB-resident
peter is-excused-or-registered-for-work
but peter needs-financial-help is not true

but peter needs-financial-help is not true why

peter needs-financial-help could be deduced from the rule

<person> needs-financial-help if
capital of <person> LESS max-capital for supplementary-benefit and
requirements of <person> at-least resources of <person>

but capital peter LESS max-capital for supplementary- benefit is not true why

peter capital 2600
supplementary-benefit max-capital 2500
2600 LESS 2500 is not true
but LESS is a built-in relation so I cannot help more
Note that "why" questions can be cascaded but eventually the system reaches a built-in Prolog primitive about which it has no knowledge except that it may use it for inference. It has reached the depth of its knowledge and can explain no further. This is an important chracteristic of expert systems (which they share with people), that their knowledge may be superficial or founded on in-depth fundamentals, or somewhere in between.

This example illustrates the simplicity of the inference and explanation systems in current expert systems. It also illustrates the utility of such systems in carrying out logical inference and explaining it in understandable terms.

Knowledge Engineering: Expert Systems Development

What Feigenbaum terms knowledge engineering, the reduction of a large body of knowledge to a precise set of facts and rules, has already become a major bottleneck impeding the application of expert systems in new domains. We need to understand more about the nature of expertise in itself and to able to apply this knowledge to the elicitation of expertise in specific domains.

The problems of knowledge engineering have been stated clearly:

"Knowledge acquisition is a bottleneck in the construction of expert systems. The knowledge engineer's job is to act as a go-between to help an expert build a system. Since the knowledge engineer has far less knowledge of the domain than the expert, however, communication problems impede the process of transferring expertise into a program. The vocabulary initially used by the expert to talk about the domain with a novice is often inadequate for problem-solving; thus the knowledge engineer and expert must work together to extend and refine it. One of the most difficult aspects of the knowledge engineer's task is helping the expert to structure the domain knowledge, to identify and formalize the domain concepts." (Hayes-Roth, Waterman & Lenat 1983)

This bottleneck is the major impediment to the application of expert systems, and to the realization of their full potential. The automation of knowledge acquisition and transfer has become a major research and technological goal. This section presents some techniques for the automation of the knowledge engineering task with examples of their application and indications of their further development and integration.

Problems In Expert System Development

The preceding section have given an overview of expert systems and an indication of some of the problems that may arise in their development. Many of these relate to the knowledge engineering bottleneck but there are many others that are not direct outcomes, and the knowledge engineering problems in themselves have many facets.

The synopsis above shows what may be termed the problems of professionalism in establishing prototyping facilities:

Knowledge acquisition and transfer processes in human society are complex and poorly understood. Neurology, psychology, linguistics, education, sociology, anthropology, philosophy and systems theory all have significant contributions to make. However, integrating them, disambiguating jargon, and combining different objectives and perspectives are major problems.

There is a variety of short-term problems arising from these weaknesses in foundations:

Rapid prototyping is a significant practical objective and techniques for accelerated initial development without loss of long-term quality are now common in conventional data processing. However, expert system development emphasizes weaknesses in some areas of performance which we tend to take for granted in standard information technology. There are problems with:

Department of Computer Science 12-Jan-96