applications of deep knowledge

6
Applications of deep knowledge Chris Price and Mark Lee Department of Computer Science, University Colleye of Wales, Penglais, Aberystwyth, Dyfed, SY23 3BZ, UK (email: ... !seismo!mcvax!ukc! aber-cs! cjp). This paper contrasts the shallow representational methods used in many of today's commercial expert systems with methods which reason about the function and structure of the objects under consideration. These methods are used to build 'deep knowledge' systems and are still being researched. The paper gives examples of the experimental application of these methods in different domains. 1. INTRODUCTION Expert systems have been built for applications in very different domains over the past few years, but one experience has been common in all of these domains. The expert system application needs to be chosen very carefully or the expert system which is produced will be unable to deal correctly with a reasonable proportion of the cases which it encounters. It is believed that many of the problems with such systems are due to their lack of underlying (deep) knowledge about their domains. When a human expert has no experience of a particular problem (and so is unable to apply shallow heuristic knowledge gained from experience), he uses his knowledge of the basic principles of the domain to produce new heuristics. Today's expert systems are unable to do this, because they have no such knowledge. This paper contrasts the shallow and deep knowledge approaches to problems and gives examples of some domains in which deep knowledge systems are being experimentally built. Section 2 deals with the problems inherent in the shallow representational approach to expert systems development. In Section 3, the general features of a deep knowledge approach to expert systems are outlined. Both Section 2 and Section 3 use a simple example from the domain of car electrics. Sections 4, 5 and 6 look at three application areas: control, design and diagnosis. Examples are given of projects which are using deep knowledge in those areas. 2. CHARACTERISTICS OF A RULE-BASED EXPERT SYSTEM Expert systems are computer systems capable of making decisions which would otherwise have to be taken by an expert in the particular domain. Rule-based' expert systems usually do this by using rules as exemplified by: IF Car_does_not_start AND Battery_ fiat THEN Alternator_faulty Accepted May 1987. Discussion closes March 1988. @ ' ~1988 Computational Mechanics Publications 12 Artificial Intelligence in Enoineerin#, 1988, Vol. 3, No. 1 Such a rule can be used either forwards (from observation of a dead battery to infer that there is a fault in the alternator) or backwards (a wish to know whether the alternator is working prompting investigation of whether the car will start and whether the battery is charged). This rule is heuristic in nature, and is representative of the empirical associations contained in many such rules. There is no direct link between a flat battery and a faulty alternator. It is merely the case that a common reason for a dead battery is that it is not being recharged, and one possible reason for a battery not being charged is that the alternator is broken (although there are several other, less common, reasons for this). The problem with this approach emerges in the cases when the preconditions are true but the conclusion is false or vice versa. This problem is usually treated in one of two ways: (i) More preconditions are added to the rule to catch exceptions where the existing preconditions are true but the conclusion is false. IF Car_does_notstart AND Battery_fiat AND Not (Lights_left_on_allnight) THEN Alternator faulty (ii) Extra rules are needed to catch exceptions when the preconditions are false but the conclusion should still be true. IF NOT Battery_fiat AND Engine running AND NOT Battery_being_charged THEN Alternator_faulty For a straight-forward expert systems application, this refinement by adding extra conditions and extra rules can be continued until the system reaches an acceptable level of performance - probably defined as a percentage of cases correctly classified - and this has been done successfully on several commercial or industrial systems with which the authors have been involved in the past. However, for large, complex applications, such refinement can cause problems. The authors of Buildino Expert Systems t, one of the classic books on expert systems, have some observations on these problems. In chapter 5 of that book (on Constructing an Expert System), they mention the worst of the problems.

Upload: chris-price

Post on 26-Jun-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Applications of deep knowledge

Applications of deep knowledge

Chris Price and Mark Lee

Department of Computer Science, University Colleye of Wales, Penglais, Aberystwyth, Dyfed, SY23 3BZ, UK (email: . . . !seismo!mcvax!ukc! aber-cs! cjp).

This paper contrasts the shallow representational methods used in many of today's commercial expert systems with methods which reason about the function and structure of the objects under consideration. These methods are used to build 'deep knowledge' systems and are still being researched. The paper gives examples of the experimental application of these methods in different domains.

1. I N T R O D U C T I O N

Expert systems have been built for applications in very different domains over the past few years, but one experience has been common in all of these domains. The expert system application needs to be chosen very carefully or the expert system which is produced will be unable to deal correctly with a reasonable proportion of the cases which it encounters.

It is believed that many of the problems with such systems are due to their lack of underlying (deep) knowledge about their domains. When a human expert has no experience of a particular problem (and so is unable to apply shallow heuristic knowledge gained from experience), he uses his knowledge of the basic principles of the domain to produce new heuristics. Today's expert systems are unable to do this, because they have no such knowledge.

This paper contrasts the shallow and deep knowledge approaches to problems and gives examples of some domains in which deep knowledge systems are being experimentally built.

Section 2 deals with the problems inherent in the shallow representational approach to expert systems development.

In Section 3, the general features of a deep knowledge approach to expert systems are outlined.

Both Section 2 and Section 3 use a simple example from the domain of car electrics.

Sections 4, 5 and 6 look at three application areas: control, design and diagnosis. Examples are given of projects which are using deep knowledge in those areas.

2. CHARACTERISTICS OF A RULE-BASED EXPERT SYSTEM

Expert systems are computer systems capable of making decisions which would otherwise have to be taken by an expert in the particular domain. Rule-based' expert systems usually do this by using rules as exemplified by:

IF Car_does_not_start AND Battery_ fiat T HEN Alternator_faulty

Accepted May 1987. Discussion closes March 1988.

@'~ 1988 Computational Mechanics Publications

12 Artificial Intelligence in Enoineerin#, 1988, Vol. 3, No. 1

Such a rule can be used either forwards (from observation of a dead battery to infer that there is a fault in the alternator) or backwards (a wish to know whether the alternator is working prompting investigation of whether the car will start and whether the battery is charged).

This rule is heuristic in nature, and is representative of the empirical associations contained in many such rules. There is no direct link between a flat battery and a faulty alternator. It is merely the case that a common reason for a dead battery is that it is not being recharged, and one possible reason for a battery not being charged is that the alternator is broken (although there are several other, less common, reasons for this).

The problem with this approach emerges in the cases when the preconditions are true but the conclusion is false or vice versa. This problem is usually treated in one of two ways:

(i) More preconditions are added to the rule to catch exceptions where the existing preconditions are true but the conclusion is false.

IF Car_does_nots tar t AND Battery_fiat AND Not (Lights_left_on_allnight)

T H E N Alternator faulty

(ii) Extra rules are needed to catch exceptions when the preconditions are false but the conclusion should still be true.

IF N O T Battery_fiat AND Engine running AND N O T Battery_being_charged

T H E N Alternator_faulty

For a straight-forward expert systems application, this refinement by adding extra conditions and extra rules can be continued until the system reaches an acceptable level of performance - probably defined as a percentage of cases correctly classified - and this has been done successfully on several commercial or industrial systems with which the authors have been involved in the past.

However, for large, complex applications, such refinement can cause problems. The authors of Buildino Expert Systems t, one of the classic books on expert systems, have some observations on these problems. In chapter 5 of that book (on Constructing an Expert System), they mention the worst of the problems.

Page 2: Applications of deep knowledge

They define a transparent system as one which is understandable, both to the developer and the user of that system, and then observe, 'Maintaining the transparency and performance of an expert system is a poorly understood and difficult problem'. They point out another key problem when they say, 'Knowledge acquisition is a bottleneck in the construction of expert systems'. These problems can be broken down slightly, so that we can see how the heuristic nature of the expert system causes these problems.

a. The knowledge acquisition bottleneck Knowledge engineers have problems eliciting enough

information from the experts. The amount of space which Building Expert Systems spends discussing this activity shows just how difficult it is. There are problems both with classifying the knowledge and with getting enough of it from the expert. Somehow, the knowledge engineer has to think of every possible case (every possible combination of inputs to his program, as a programmer might call this), in a situation where the number of cases might be very large indeed, and come up with the correct answer for each case. Automating the knowledge acquisition process at a heuristic level gives other problems, creating random heuristic rules which even the expert will not understand, and further reducing the transparency of the system.

b. Lack of robustness Any case which has not been explicitly dealt with

during the knowledge acquisition process will probably fail, and so the system has a degree of fragility. Its performance does not degrade gracefully, but rather collapses suddenly. When the system encounters a rare case, it is likely to be unable to make any useful suggestions at all. Worse, it may give completely wrong advice.

c. Haphazard construction Even though the basic theory of a domain may be well

structured, it is much more difficult to structure the heuristics which an expert uses in practice. This is especially true for rarely occurring cases (or, worse, for cases which have never yet occurred) where the expert may not have a clear structure for his knowledge.

Because the relationships between the heuristics are unclear, heuristic-based expert systems are usually put together in a haphazard way rather than designed from a plan, and will be incapable of coherent explanation of their decisions (because the reasons for which those decisions were made were not coherent). Software engineering experience of systems which have not been properly designed has demonstrated that such systems are difficult to test and difficult to maintain.

d. Difficulties with control Expert knowledge about the domain is often

inextriciably interwoven with the meta-knowledge (knowledge about how to apply knowledge) for the application. This can make it very difficult to arrange the knowledge so that the expert system operates in the required way (the system builder gets bogged down with problems like 'How can I arrange these facts so that the questions get asked in a sensible order?').

Applications of deep knowledge: C. Price and M. Lee

e. Opacity of the knowledge base When another application in a similar domain is

encountered, it will be almost impossible to extract anything useful from the first system in order to use it again in the new application. This is because the knowledge is not well structured.

it must be stressed that the problems listed are not necessarily problems with rule-based systems per se. The problems occur because the rules are of a shallow heuristic nature and would occur however that knowledge was represented. Using deep knowledge available in the problem domain, and reasoning from that knowledge can be helpful in attacking some of these problems. To see why that is so, it will be necessary to elaborate on what is meant by deep knowledge.

3. CHARACTERISTICS OF A DEEP KNOWLEDGE SYSTEM

The proponents of deep knowledge systems do not, as a rule, refer to 'deep knowledge' at all. They use a variety of ways of referring to the qualities of the systems they build, such as: envisionment 2, qualitative process theory 3, qualitative simulation, causal reasoning 4. Even so, a set of features can be outlined which distinguish these deep knowledge systems:

a. Model-based representation of knowledge The knowledge in such systems reflects the structure of

their domain. For example, in the car electrics domain, a deep knowledge system might represent the properties of all the labelled parts of the car, plus the ways in which those parts interact (Fig. 1).

Such a representation would contain a cluster of information about each of the components and about the connections between the components. This information would include the state changes of the components, the processes at work in them and the influences which they are able to have on the other components to which they are directly connected. The alternator might be represented as a component which could be connected mechanically via a shaft and electrically to a circuit. If it was so connected, and its shaft was rotating, then it would produce an electric potential (which would set up a current as long as the circuit was complete).

b. Representation separates structure from function This characteristic is phrased differently by different

practitioners, but the general idea is that the representation of the parts of a system should not assume the purposes for which the parts are to be used.

ALTIRNATQII VOLTAfi| REGULATOR

Fig. 1. Car electrical systems

Artificial Intelligence in Engineering, 1988, Vol. 3, No. 1 13

Page 3: Applications of deep knowledge

Applications of deep knowledge: C. Price and M. Lee

For example, although the representation of our ideal car alternator would imply that while it was rotating an alternating voltage was produced, it would not imply that while it was rotating that the battery was being charged. Such an implication would be imposing function on the structure, and would oversimplify the system, reducing its diagnostic power by ignoring the intermediate effects of the control electronics and the connecting wires. It would reduce the diagnostic power of the model by making it able to function 'correctly' without control electronics or even wires between the alternator and the battery.

As this example shows, the inclusion of function in the model's structural representation of the system reduces the usefulness and reliability of the model.

Two good indications whether the representation is structural or not are:

(i) Whether function changes with structure

Replacement of any significant component in the model with a placebo should result in a system which functions differently. For example, if the battery in the car electrics model was replaced by a piece of wire, the car should function differently (if at all).

(ii) Whether the model has several uses

For instance, if a model was built for diagnostic purposes, it should also be possible to use it at least to produce an explanation of the diagnosis and to perform a simulation of the system.

Requiring the model's representation to be structural does not mean that the choice of information represented cannot take into account the application for which the representation is to be used. If the model is to be more compact than what it is representing, then there must obviously be some selection to decide what is in the model.

c. Causal relationships The representation of relationships between different

components or processes in the deep knowledge model reflects the underlying reasons why the shallow heuristic rules usually employed by experts are applicable in certain cases (and why they are not applicable in others).

For example, a good model of the situation where the car headlights are on but the engine is not would show that this causes a drain on the battery which eventually leads to it being dead. Such a model provides a causal explanation of the extra heuristic which we added into one of our example rules in Section 2.

These relationships are only relatively causal. Just as a child can continually ask 'why', it is possible to ask for reasons why the causal relationships are valid, but a reasonable adult would not normally want the headlight- draining-battery explanation above backed up with an explanation for why a load on a battery causes it to run down. Even such basic questions could be answered if the model included another (yet deeper) level of knowledge about basic 'battery and electrical' physics.

Because of the fundamental nature of this type of reasoning, this use of deep knowledge is sometimes referred to as 'reasoning from first principles', but we can observe that 'deepness' of a model is relative, and there is nearly always a more quark-like level of model possible.

d. Nonnumeric representation It must be stressed that a deep knowledge model is

different in kind from a numerical model, and that each has its advantages and disadvantages. The reasoning done by deep knowledge systems tends to be symbolic rather than numeric in nature. Such systems attempt to manipulate higher-level representations in the same way as humans seem to do, sacrificing some of the accuracy of a numeric model. This is achieved by identifying critical (landmark) values for observed variables and then basing the reasoning on those landmarks instead of on continuous expressions. This makes it easier for such systems to produce explanations and justifications at an appropriate level for human consumption than is the case with mathematical models of a domain. For instance, it might be sufficient to observe that the current charging the battery was greater than the load draining it, or that the battery had a load but no charge, without worrying about exact values.

3.1. Benefits Deep knowledge representations which meet the

criteria described above will help in the following ways to solve some of the problems with expert systems which were enumerated at the end of Section 2:

a. Knowledge acquisition will be easier Design of the system being modelled will have included

a detailed examination of that system's structure, and so most of the information necessary to create the deep knowledge model will have been available in some form when the system being modelled was first designed. With such information, it should be relatively easy to build a deep knowledge model of the system. See Sections 5 and 6 for example of this.

b. Such systems will be more robust The heuristic rules which can be produced from the

deep knowledge representation are likely to cover the application area much better (to be more complete) than rules which have been hand-crafted by a knowledge engineer, so the system will be able to cover more of the rarely occurring cases automatically. When the representation proves inadequate, then the model will need to be improved to cover the exceptions, and if this is done in a general way, then the improved model will probably cover several other possible failures that the previous model would have missed. This is more disciplined than adding extra ad-hoc rules to an expert system.

c. Such systems will be more maintainable The methodical representation of information in a deep

knowledge system will make such a system easier to understand and update than the average rule-based system.

d. The knowledge is reusable Again, the methodical and modular representation of

information will make it easier to transfer parts of a deep knowledge expert system to another system in a similar domain.

e. Explanation facilities should improve Deep knowledge systems should be able to provide

reasonable explanation of why they make decisions

14 Artificial Intelligence in Engineering, 1988, Vol. 3, No. 1

Page 4: Applications of deep knowledge

because they will have a causal representation of what is happening and what changes will occur if a particular decision is implemented. Shallow systems are usually only able to say what rules prompted them to recommend a particular course of action.

3.2. Drawbacks It would be foolish to make claims for deep knowledge

systems which are unlikely ever to be met. Consequently, here are some of the major points to be taken into account when considering whether a deep knowledge model may be of use to a specific application:

a. They are extra effort for simple systems A large effort is needed when first building such a

system in a particular domain - experimenting with suitable representations and adding enough information to the system for it to tackle even very simple problems. As we implied in Section 2, a heuristic-based system for a simple problem, carefully constructed, can be quickly put together and tested. If that is adequate for the task at hand, then building a deep knowledge system would be wasted effort.

b. Reasoning from first principles takes longer Having the system think of all possibilities (e.g., in

diagnosis) and then classify them one by one according to likelihood takes much longer than heuristically deciding the few most likely diagnoses. Some work has been done on compiling and compressing deep knowledge models 5, but there has not yet been enough work to produce any general solutions.

c. Reasoning from first principles is more difficult The initial effort of building a deep knowledge model

has already been noted above. In some domains, there is no clear idea of what are the basic principles of the field, e.g., marketing a new product. In such domains it may well prove impossible to build a deep knowledge model.

d. There is still much research to be done Deep knowledge systems are probably several years

away from widespread commercial application, but deep knowledge models are being applied to several different problem types in a wide variety of application areas. Some of the areas where research is being done are:

digital electronic device diagnosis industrial plant diagnosis medical diagnosis mechanical device diagnosis design of digital electronic devices design of mechanical devices simulation of mechanical devices simulation of electronic devices control of simple industrial plants

3.3. Implementation approach One final point to mention about deep knowledge

systems, is how they can be implemented. It would be difficult to construct such a system using an expert systems shell or even a rule-based language such as OPS5, because of their simple and fixed control and data structures. The notable deep knowledge systems which have been constructed to date have either been built from scratch in an AI language (Lisp, Prolog), or in a

Applications of deep knowledge: C. Price and M. Lee

hybrid representation system built on top of Lisp, which includes, as well as rules, some of the following features: constraint-based reasoning; object-oriented pro- gramming; frame-based representation; a truth maintenance system. A deep knowledge system could, theoretically, be implemented in a rule-based language alone (or in Pascal), but the presence of these richer language features makes the task considerably easier.

4. APPLICATION IN CONTROL

Two teams of researchers 6'7 have been experimenting with nonnumerical controllers for control of simple industrial plants. Both research teams have concentrated on the simple problem of controlling flow into and through coupled tanks (Fig. 2). Their representings are process-centred, concentrating on levels and rates of flow in particular pipes and tanks. This work can be compared both with conventional control theory methods of controlling such a plant, and also with an expert system for a similar task.

Clocksin and Morgan 6 claim that their qualitative controller can control the plant adequately without a precise numerical representation of the state of the system (using only values { - , 0, + } for observations). Although it is not as accurate as a conventional numerical controller, it has some advantages. A conventional controller cannot give reasonable justifications for its control strategy - it is just applying the controls which match the present values of the observable parameters. Because qualitative controllers manipulate symbolic concepts, expressing their p]ant models in terms related to components of the plant, they will be able to explain their control strategy - especially valuable when the plant is working outside its operating limits due to error or malfunction.

If this work is compared with the application of heuristic-based expert systems in the same domain, different advantages can be pointed out.

Morgan implies that knowledge acquisition in the domain will be made easy by the deep knowledge approach when he observes, 'The forms of model used to support qualitative descriptions are very similar to the 'block diagram' models used in conventional systems engineering'.

Francis and Leitch 7 point out another advantage of a deep knowledge representation for this application. As extra identical tanks are added to the deep knowledge system, the complexity of the controlling rules only increases linearly. For a shallow representation however, the possible interactions of all the different tanks means that the number of possible rules increases exponentially.

Fig. 2. Coupled tanks control problem

Artificial Intelligence in Engineering, 1988, Vol. 3, No. 1 15

Page 5: Applications of deep knowledge

Applications of deep knowledge: C. Price and M. Lee

So, in this case, the deep knowledge model is actually simpler than the corresponding heuristic model. There are some indications that this may frequently be the case, despite the fact that a complete heuristic system such as that produced by a good deep knowledge model is not usually built because of the knowledge acquisition problems.

5. APPLICATIONS IN DESIGN

There have been numerous attempts in the expert systems field to build design systems with commercial applications [e.g., Neveua]. These systems do variant design - they design different versions of the same basic item by making different selections according to heuristic criteria.

The Edison system 9 is not a system with direct commercial application, but is worth considering because of the type of design it attempts to do. Edison is a deep knowledge system working in the domain of mechanical devices and does rudimentary generative design. It uses its knowledge of basic devices to attempt to invent new devices, but that is only one of the ways in which it can function. Showing the adaptability which has been claimed for deep knowledge systems, it can work in the following ways:

a. Simulation of devices Edison is able to simulate devices and find out what will

happen. For example, if it was given the description of a door with a hinge at the top and one at the side, it could simulate a push and discover that the door will not move.

b. Problem-solving Edison is able to suggest suitable devices for a specific

purpose. If a nutcracker was wanted but none was available, then Edison might suggest using a pair of pliers as a suitable alternative because of the similarity between their functions.

c. Invention of new devices Edison attempts to do this by mutating devices about

which it already knows and assessing the resultant device. Assessment is done against its criteria of usefulness, simplicity, efficiency, elegance and novelty. A door with one of the hinges moved slightly higher or lower down the side would not be a novel device. A door with the hinges on the top would be however, because of its different motion.

Edison's representation is component-centred. Devices are represented as a composition of more primitive devices such as levers, wheels, wedges, containers. The ways in which the primitive devices are connected together are specified, plus the attributes of each of the primitives (their size, shape, and material). The type of description used is a general one, and so is applicable to any mechanical device. It is hierarchical, so components are re-usable in different composite devices.

Edison's reasoning is built on top of its knowledge of physical processes. It has a simple representation of forces, transmission of forces, motion, constraint of motion (through parts being joined in different ways). Its representation of time, like its representation of space is simple, justified by the argument that people do not keep detailed temporal information about events when they do this type of reasoning.

6. APPLICATIONS IN DIAGNOSIS

Many of the important applications of deep knowledge to diagnostic problems have been in the digital electronics field. The structure of digital circuits can be represented in a fairly obvious way, and the intended behaviour of the circuit is strongly implied by its structure. In addition, there is strong commercial impetus for applications in this field.

One deep knowledge diagnostician, DART 1°, shows clearly some of the advantages of a deep knowledge approach to expert systems.

DART is independent of any particular digital circuit (in fact, it is independent of the digital electronics domain, and has been applied to nonelectronic devices). It does its diagnosis on a design description written in a device- independent language.

In the digital electronics domain, the design description is a model of the structure of the circuit, organized around the components of the circuit. DART can use this model to find faulty components that have caused a malfunction in an actual circuit.

The design description resembles the structure so much that it could be automatically generated by a computerized circuit design system such as PALLADIO. This would take away altogether the need for a knowledge acquisition phrase when building an expert system in this domain - as soon as a new circuit has been designed (using such a design system), an automated diagnostician for that circuit can be produced as a by- product.

While DART has some problems for real-world diagnosis (e.g., not taking account of the cost or likely benefit when selecting a test to be done), it illustrates the deep knowledge advantages of robustness, main- tainability, reusability and easy knowledge acquisition. Explanation of the diagnosis could also be produced fairly easily by tracing the relevant tests through the structure of the device to show why the faulty part was diagnosed.

7. S U M M A R Y

In conclusion, deep knowledge models will be of great importance to the expert systems of the future, giving them a robustness which they do not now possess.

The three example applications indicate all of the main advantages of deep knowledge techniques:

Deep knowledge systems should be more maintainable and better able to give valid reasons for their judgements than conventional expert systems or conventional numerical controllers. This is because they are based on the same sorts of underlying knowledge as experts in the field have.

Knowledge acquisition for deep knowledge systems will be much easier in some domains than it is when constructing conventional expert system, because the type of knowledge needed by deep knowledge systems will already have been obtained for other purposes, and will be easily adaptable.

There are indications that deep knowledge systems will be simpler than corresponding conventional expert systems in extremely complex domains.

The knowledge contained in deep knowledge systems will be easier to reuse for different purposes.

16 Artificial Intelligence in Engineering, 1988, Vol. 3, No. 1

Page 6: Applications of deep knowledge

The example app l i ca t ions do not stress the p rob lems with deep knowledge techniques:

A large effort is needed when first bui ld ing such a system in a pa r t i cu la r d o m a i n to decide how to represent the under ly ing knowledge.

A system which reasons from first pr inciples has to d o more work than a conven t iona l exper t system.

In some domains , there is no clear idea of wha t the basic pr inciples of the field are. In such d o m a i n s it m a y well p rove imposs ib le to bui ld a deep knowledge model .

These p rob lems can be summed up with the obse rva t ion tha t there is still much research needed into the cons t ruc t ion and use of deep knowledge models , a l though much p romis ing research has a l r eady been done.

The app l i ca t ion areas in which deep knowledge techniques look like mak ing an impac t a re the three areas out l ined in Sect ions 4, 5 and 6 - process cont ro l , design, and diagnosis . Commerc i a l app l i ca t ions using these techniques are l ikely to emerge first in the d o m a i n of electronics, because the mode l l ing p rob lems are much more s t ra igh t fo rward there than in doma ins such as mechanica l engineering.

R E F E R E N C E S

1 Hayes-Roth, F., Waterman, D. and Lenat, D. (eds) Building Expert Systems, Addison-Wesley, 1983

2 De Kleer, J. and Brown, J. S. Mental Models of Physical Mechanisms and their Acquisition, in Cognitive Skills and their Acquisition, (ed. J. R. Anderson), Erlbaum, Hillsdale, New Jersey, 1981, 285-309

3 Forbus, K. Qualitative Process Theory, in Qualitative Reasoning about Physical Systems, North-Holland, 1984

4 Kuipers. B. Qualitative Simulation, Artificial Intelligence Journal, 1986, 29

5 Bratko, I., Mozetic, I. and Lavrac, N. Automatic Synthesis and Compression of Cardiological Knowledge, to appear in Machine Intelligence 11, Oxford University Press

6 Clocksin, W. F. and Morgan, A. J. Qualitative Control, Proc. ECAI '86, 1,350-356

7 Leitch, R. R. and Francis, J. C. Towards Intelligent Control, in

Applications o f deep knowledge: C. Price and M. Lee

Expert Systems and Optimisation in Process Control, (eds A. Mamdani and J. Efstathiou), Cower Techical Press, Aldershot, England, 1986, 135-159

8 Neveu, B. Smeci. An Expert System for Civil Enoineerinq Design, in Applications of AI in Engineering Problems, Springer-Verlag, 1986

9 Dyer, M., Flowers, M. and Hedges, J. Edison: An Engineering Design Invention System Operating Naively, in Proc. 1st Conf. on Applications of AI in Engineering Problems, (eds D. Sriram and R. Adey), Computational Mechanics Publications, Springer- Verlag, 1986, 327-341

10 Genesereth, M. The Use of Design Descriptions in Automated Diagnosis, in Qualitative Reasoning about Physical Systems, North-Holland, 1984

B I B L I O G R A P H Y

Bobrow, D. (ed.) Qualitative Reasoning About Physical Systems, North- Holland, 1984, also published as Artificial Intelligence Journal, December 1984, 24 Chandrasekaran, B. and Milne, R. (eds) Reasoning about Structure, Behaviour and Function, SIGART Newsletter, July 1985, 93, 4-55 De Kleer, J. An Assumption-based Truth Maintenance System, AI Journal, March 1986, 28(2), 127-224 Gallanti, M., Gilardoni, L., Guida, G. and Stefanini, A. Exploiting Physical and Design Knowledge in the Diagnosis of Complex Industrial Systems, Proc. ECAI '86, 1986, 335-349 Crenesereth, M. MRS - a Metal-level Representation System, HPP-83- 27, Stanford University Hart, P. Directions for Artificial Intelligence in the 80's, SIGART Newsletter, 79, 11-16 Kuipers, B. and Kassirer, J. How to Discover a Knowledge Representation for Causal Reasoning by Studying an Expert Physician, Proc. IJCAI '83, 1983, 49-56 Morgan, A. J. Predicting the Behaviour of Dynamic Systems with Qualitative Vectors, to appear in Proceedings of AISB, Edinburgh, April 1987 Sommerville, I. Software Engineering, Addison-Wesley, 1985 Sussman, G. J. and Steele, G. L. Constraints: A Language for Expressing Almost-hierarchical Descriptions, AI Journal, 14(1), 1-39 Shapiro, S., Srihari, S., Taie, M. and Geller, J. VMES: A Network-based Versatile Maintenance Expert System, Proc. 1st Conf. on Applications of AI in Engineering Problems, (eds D. Sriram and R. Adey), Computational Mechanics Publications, Springer-Verlag, 1986, 925- 936

Artificial Intell igence in Engineering, 1988, Vol. 3, No. 1 17