Expert systems in metallurgy and materials engineering

0 downloads 0 Views 25MB Size Report
pretation, prediction and tessellation. ... 540. Metals and Materials ... some conclusion before looking for another rule. Examples of single rules for XCON.
Expert sMems

Expert systems in metallurgy and materials engineering

k

I 1q9cRID -c4,51

by P Sargent*

This article introduces expert systems by showing the operation of the most common types and examining their relevance to metallurgical problems. The current state of development is described and some comments are made on areas of expansion and likely influence in the future. xpert systems have the potential to solve problems which require reasoning but which require no common sense: They have no appreciation of the real world and so are best at manipulating simple concepts with clearly defined relationships, eg using a set of symptoms to infer the existence of a particular illness, a set of required properties to choose a particular alloy, a set of geometries to choose the most appropriate welding rod, a landscape to choose the best geotechnical fabric, environments to select the best corrosion resistant alloy, etc. It might be argued that a simple checklist, or a table in a supplier's data sheet, can do most of these things but expert systems can be easier to use and should give explanations of their reasoning.

E

Definition

Expert systems do not ask unnecessary questions, can handle a degree of uncertainty and imprecision and can explain any decision when challenged. The definition used by the British Computer Society (the professional institution for software engineers) is as follows: `Expert systems offer intelligent advice or take intelligent decisions by embodying in a computer the knowledge-based component of an expert skill. They must, on demand, be capable of justifying their line of reasoning in a manner intelligible to the user. The style adopted is rule-based programming.' Obviously, a lot of questions are begged by this statement. The comparison made earlier with a checklist is useful because it shows that an expert system depends completely on a great deal of data and information, put together in a meaningful way. This is what is meant by 'knowledge-based'. It depends rather on how one defines 'expert skill', but it is generally agreed that expert systems are a subset of 'intelligent knowledge-based systems' (IKBS), which use the same 'rule-based programming' method (explained later) as that used in other IKBS areas such as computer-based training and design. They also perform much the same function as programs previously known as 'decision support systems'. *Dr Sargent MIM is in the Materials Group. Department of Engineering, University of Cambridge.

540

Expert systems are programs

Expert systems are computer programs and can be written in quite ordinary languages such as BASIC, FORTRAN and PASCAL, although they tend to be rather too large and too slow to run on micros. The ideas and programming style have grown out of research in computing science and in one field of cognitive science*, a field which attempts to test ideas of how people think and process information by incorporating these ideas in computer programs (usually written in the 20 year-old language LISP). In the years since the first medical diagnostic expert system was shown to work (MYCIN, in 1976), other languages have been developed (eg the frame representation language FRL, or OPS85 by DEC) which are particularly suited to 'knowledge representation' and automated reasoning, and a more general language, prolog, has also been shown to be very convenient. Prolog was originally devised in Marseille for a (then) theoretical computing science topic called 'logicprogramming', which has since been adopted as the basis for the Japanese Fifth Generation computing project. However, prolog is in no way essential to the operation of knowledge-based systems, and certainly not all that is written in prolog constitutes an expert system. Expert systems have recently become well known because of: Worry about the Japanese; much cheaper computers; publicity; and because they actually work. They are called expert systems because each is restricted to one very limited domain of knowledge, and so are experts in that one field. Historically, they have been developed to replace rare human experts but the fashion is now changing and now many IKBS projects work on augmenting and aiding a human expert (eg by keeping track of a dozen or so trace element additions' effects on microstructure when a metallurgist is designing a new alloy). There is also a rapidly growing tendency to produce systems purely for customer use, to aid the customer in choosing the most appropriate product from a company's range. The novelty of such systems is clearly also an asset in a sales drive. 'This science. which is closely connected with both computing science and experimental psychology, is also known by the more popular and more inaccurate title of 'artificial intelligence' or Al. It attempts a to extend the range of things computers can do. and b to use programs as tools to study the phenomena of cognition.

Shells

Within the last year or so a plethora of expert system 'shells' have become available: The later ones (eg Kee, ART, Si) are much more sophisticated than their predecessors. A shell is an expert system with no 'knowledge' in it. It is the program for manipulating the concepts and rules, and has a structure for representing knowledge in the computer, but it is 'empty' so that the buyer can construct his or her own expert system for their own problem area (known as the problem `domain'), eg diagnosing rolling-mill faults, or designing sand-casting moulds. The more recently developed shells operate several windows simultaneously on a VDU and come in a range of sizes for micros and mainframes. Specialised architectures

Since shells supply all the structure of the system, they constrain the types of 'knowledge representation' that can be used, and the user has to pervert the problem to fit the architecture of the shell. So EMYCIN, an obsolete shell derived from a medical diagnostic system, is suitable for diagnosing electrical faults in the wiring of a car, but is completely unsuited to heavily numerical problems (such as estimating the creep response of untested alloys) or image processing problems (such as interpreting electron diffraction patterns to discover precipitate growth habits automatically, or counting fatigue striations on a scanning electron micrograph). The architecture of a particular shell is usually optimised towards one kind of `task' which is more general than any particular 'domain'. Some common tasks are diagnosis, selection, classification, interpretation, prediction and tessellation. Shells perform quite badly if they are applied to a different task from that for which they were designed. More recent shells allow more general knowledge representations, but real-time problems and all image processing problems are not yet amenable to commercially available systems. Nevertheless, there is currently a large research effort under way on systems for real-time problems such as sonar analysis and battle management. It was said earlier that expert systems are just programs, but a shell is not an incomplete program. The buyer of a shell does not have to complete the program by writing many sub-routines, but by writing many 'rules'. In order to demonstrate this, it is necessary to discuss what is meant by `rule-based' programming. Rule-based systems

Figure 1 represents the structure of the Metals and Materials

Expert systems

then type 'How' for any one of the current conclusions and the system responds by backtracking from that conclusion and typing out all the rules which it used to arrive at it. This facility is essential for de-bugging an expert system.

EXPERT

KNOWLEDGE BASE

EXPERT SYSTEM

Software tools for updating and correction

L

Rules

L

Database

Glossary and explanations INFERENCE ENGINE

1:: User's case— specific data

Language processor

Metarules

Metarules refer to other rules, rather than to the domain knowledge. All systems have metarules, even if it is only the implicit; `Do the first rule in the list which has its antecedents satisfied'. It is only by intelligently controlling the order in which rules are fired that expert systems become efficient enough and fast enough to be of any use. It is also important that every part of an expert system, especially its control structure, is written explicitly and is accessible to automatic de-bugging aids and this is achieved by having the control explicitly stated as metarules. There can also be expert systems which consist entirely of metarules and operate in the domain of Table I: MYCIN

EXAMPLE OF A RULE IN RI/XCON

USER

Fig I

Structure of the most common type of expert system

most common type of expert system. Initially, only the 'inference engine' and the 'rules' need to be considered: A problem is presented to the 'engine' and it searches for suitable rules to help it decide what to do next. It finds several, chooses one, and 'fires' it, which changes the state of its knowledge of the problem, after which it may ask for more data to come to some conclusion before looking for another rule. Examples of single rules for XCON and MYCIN are given in Table 1 and these are generally what a buyer of a shell has to write to 'complete' the program. Rules are clauses of the 'If... Then..' variety (clauses in predicate calculus*, known as 'production rules') and it should be becoming clear that any 'expert skill' which can be completely written in this form can be made into an expert system. The 'IL.' and the 'And.. ' parts of the clause are known as `antecendent conditions', or `premises', and the 'Then.: and 'Else then..' parts are known as 'consequent actions', or 'conclusions'. The inference engine

With this rule-based method, the inference engine tests to see whether a rule is applicapable by looking for concepts that occur in (usually) the antecedents; it does not have to know what these phrases 'mean', it could just be looking for a string of letters spelling 'aluminium'. Thus, adding and deleting rules is entirely unlike adding subroutines to a conventional program (where all the variables have to match exactly and where it is called from a specific point in *Quite distinct from 'propositional calculus'. which O the system used in constructing truth tables for systems of logic gates.

September 1985

Examples of single rules for XCON and

the main program). This is extremely important because it is a fact that expert systems have to grow as they are applied to wider problems and as the users discover mistakes and over-simplifications. If everything had to be extensively edited each time a rule was changed slightly, then expert systems would be unworkable. The smallest systems can have as few as three or four rules (which would be adequate to control the temperature of a furnace where allowance had to be made for opening the door), whereas Digital Equipment Corp uses XCON to configure its VAX computers, which is one of the largest systems in use, with about 3,500 rules. When there are very few rules, all possible combinations can he considered and a complete decision tree can be constructed. All conventional computer programs work using such a rigid decision tree, but for more than six rules such trees can become very. complex. In the general case, a complete tree for six rules could have as many as 540 decision nodes. An expert system creates the tree as it proceeds and creates only those sections of the tree it needs for the problem in hand. This is why they can work where conventional programs do not. How and why

Conventionally, the user of an expert system can type 'Why' as a response rather than answering the question posed by the system. The system responds by explaining why the question had been asked by listing the conclusions it had already reached and the conclusions it hoped to reach by asking the question. The user can

IF AND AND AND

AND THEN

the most current active context is assigning a power supply an SBI module of any type has been put in the cabinet the position it occupies in the cabinet is known there is space available in the cabinet for a power supply for that position there is an available power supply put the power supply in the cabinet in that space.

EXAMPLE OF A RULE IN MYCIN the current infection is meningitis IF AND the patient has evidence of a serious skin or soft tissue infection AND organisms were not seen on the strain of the culture AND the type of infection is bacterial THEN there is evidence that the organism is: STAPHYLOCOCCUSCOAGPOS (0.75) STREPTOCOCCUS (0.5) where 0.75 and 0.5 are the 'certainty factors' associated with each of the conclusions. If any of the antecendent conditions have certainty factors of less than 1.0, then the factors in the conclusion are reduced accordingly by a systemdependent algorithm (see HayesRoth and Waterman). The certainty factors used by MYCIN and many other systems are not mathematically exact probabilities, but are rough fudge-factors which enable the system to handle imprecision. Experience has shown that even these extremely crude measures do significantly improve the performance of the system, but that they must be 'tuned' properly for the system to work at all.

541

Expert systems

Entire —0. set of rules •-■ 1111■■

One SCHEDULING ), selected METARULES

rule

ENTIRE DATABASE

Fig 2

ENTIRE DATABASE PLUS CHANGE i-e■k

RELEVANT PART OF DATABASE

Progression of system from one state to another as a rule is fired

`meta-knowledge'. They check the consistency and the accessibility of rules, collect statistics on the running system and make entering new rules easier. Meta-knowledge is what is known about the structure of the knowledge which describes the problem domain. HOW EXPERT SYSTEMS FIND A SOLUTION

The firing of each rule in the system can be viewed as a node in a decision tree, so finding a solution to the problem by firing a sequence of rules is the same thing as traversing this tree in the most efficient manner. This is a standard computing science problem and has been much stud• ied since it, and the more general case of `graph traversal', crop up frequently in a very wide range of problems. Search strategies

Figure 2 shows how the system progresses from one state to another as a rule is fired. Figure 3 shows how the initial state can be considered the root node of a tree, and the problem of finding the solution to the problem is reduced to that of finding the `goal state' when the system can only progress by one node at a time. Different strategies are possible, the most obvious being `breadth-first' and `depth-first' searches. The former involves looking at all the possible states from the root (eg from left to right), then looking, in turn, at all the possible states from each of those. Clearly, it can be very slow, but it will always find the goal state nearest to the root. There may be several solutions to the problem and thus several goal states, and there are various refinements which can be adopted to prune the search tree so that unprofitable branches can be ignored, such as the 'mini-max' strategy'. The shape of the tree depends on the knowledge domain being modelled and the way in which the rules interact with each other. If the tree has only a very few branches at each node, and if most of these branches die out, then the breadth-first strategy is a good one. However, if the tree is very broad, with very many possibilities at each node, then that strategy will run into a 'combinatorial explosion' where it 542

Fires

explores so many useless possibilities that no solution can be found in a reasonable time. An alternative is the 'depth-first' strategy. Here, only the one node from the root is considered, then only one (eg the leftmost) from that, and so on, until either a goal or the end of a branch is reached. If it is the end of a branch, then it back-tracks* to the previous node and tries another route. Since the shape of the tree depends on the knowledge domain, there is clearly no single strategy which is suitable for all systems. This is why modern shells allow the user some control over the search strategy. Goal seeking

So far, only traversing the graph from initial state towards the goal has been considered, but for many problems a reasonable amount is known about the goal, and it is possible to try to traverse from the required solution back towards the state one happens to be be in at the moment. This is a 'goal-seeking' mode, in contrast to the 'data-driven' mode described previously. When a system is datadriven it tends to generate a very large number of irrelevant hypotheses concerning the problem, which may be true but are useless. All really useful shells have both modes, and have `meta-metarules' to decide when to use the data-driving metarules and when to use the goal-seeking metarules. Parallel processing

Computers are now being designed to have several processors working simultaneously in parallel. Thus, one processor can be exploring one branch while others are exploring the rest of the tree, which means that irrespective of any improvement in semiconductor technology (faster chips, etc), this change in architecture could mean a speed improvement for expert systems of perhaps several orders of magnitude, depending on the problem.

MATERIALS KNOWLEDGE REPRESENTATION

So far, it has been assumed that all the `knowledge' is supplied entirely in the rules, and this holds true for the majority of shells, Table 2 and fig 4. However, for many uses it would be extremely clumsy to provide everything in the form of rules; an integral database of, perhaps, alloys' softening temperatures and yield points would be easier to deal with. (This must be distinguished from those systems which have been designed purely to act as a conversational, user-friendly 'front end' to a complex, pre-existing database, eg the Science Citation Index.) There is an alternative argument that having all the knowledge in the rules gives a more 'homogeneous knowledge representation' which, it can be argued, is more explicit and easier to de-bug. However, many large systems will need a database, or access to a database, therefore this avenue is worth exploring. Valuable materials properties databases

Most materials problems require an extensive (and valuable) database of materials properties and such databases are necessarily incomplete. Also, in addition to the Fig 3 A Breadth-first search and B depth-first search showing how the initial state can be considered the root node of a tree. The solution is reduced to discovering the goal state, ie when the system progresses one node at a time.

Initial state A

9 10

I2

I3

14•

15 Goal state

B

I I•

12 Goal state

This is a method for tree search which is available as part of the language specification for prolog. but prolog then continues to traverse the entire tree and to generate all possible solutions, so a proper inference engine has to be written for prolog-based expert systems lust as it has to be when other languages are used. It is. however, rather easier to perform in prolog.

Metals and Materials

Expert systems

Table 2:

Knowledge representation

It is easy to see how the knowledge is put into a system in the form of rules, but how is it then manipulated by the inference engine, and how does it 'know' how to use it intelligently? There are two places that knowledge is stored in an expert system: The 'base' database and the 'case' database. The base data are those supplied in the rules and (sometimes) in an additional database (see fig I ). The case database is the system's knowledge of the current state of the problem, and is much more complicated. In a sense, this, and the way in which it interacts with the inference engine, is the heart of any KBS. Basic concepts Any knowledge based system uses a finite number of 'conceptual primitives'. These, to the computer, are just a few hundred individual flags with no intrinsic 'meaning', but in communication with the outside world, they would have names like 'material', 'creep', 'environment' or 'fracture toughness'. These concepts have to be sufficient to describe any problem put to the system; they have to 'span' the 'knowledge space'. These concepts are ordered in a tree-like hierarchy; fig 4 shows part of such a tree which may be suitable for a system advising on the creep behaviour of alloys. Most of the objects in the tree have a number of 'attributes', eg 'lattice diffusion creep' would be associated with a list of attributes such as 'activation energy', 'atomic volume', 'temperature', etc. These attributes could all take 'values' in the course of running the system, which would enable calculations to be made and conclusions drawn, very much as variables are used in conventional programs. This object, attribute, value 'triple' is the usual means of representation in most knowledge based systems. Causal reasoning These representations are really very crude and rarely capture any subtlety of the expert's knowledge. In particular, it is very difficult to express time-varying behaviour or to use underlying physically based ideas of the process. The representations currently in use are designed to work with heuristic rules (rules of thumb found by experience, not cogitation). and using these systems to reason casually with models of the situation is more difficult. Mention should be made of 'frame-based' as well as rule-based programming. Knowledge can be coded as a network of 'frames', which are small causal models of parts of the system. This technique was used for the mineral exploration system PROSPECTOR and is generally far less flexible than the rule-based method when creating new systems, however it is almost essential if causal reasoning is required. Most shells do not support frame-based representations.

data being common to the problems, the concepts and relationships between them (ie the expertise of the professional metallurgist) are also common. This means that several different expert systems concerned with different kinds of metallurgical problem or consultation task, eg materials selection, failure analysis, phase diagram calculation or teaching metallurgical principles, can be built along similar lines. Rule libraries Such expert systems would merely differ in the ordering and importance of the rules and (therefore) the way in which the rulegraph is traversed, ie they only differ at the metarule level, Table 3 and fig 5. This means that with a proven-correct database and a proven-correct 'rule library' new expert systems for new expert metallurgical tasks could be developed very quickly by adding a handful of new metarules and a few more specialised rules to the library. Thus, these systems would be Fig 4 base

Four possible levels in materials knowledge

META- METARULES METARULES RULE- LIBRARY MATERIALS DATABASE September 1985

smaller, easier to write and to maintain, and would share many of the same features. Also, the rules in the library would have to be more robust because they would be accessed in quite different ways. Two types of metallurgical expert system can be distinguished. First, those which use concepts in the same way that existing shells do — using rules ad hoc to Table 3: metarules

Examples of materials rules and

META-METARULE Considering the rulebase as a whole, prioritise those metarules which select on a basis of reducing the total number of unsatisfied antecendent conditions, eg if there are many rules which need to know the service temperature, then select those metarules which try to find it out. STRATEGIC METARULE If the task is materials-selection then select rules which concentrate on: • Environment; • temperature; and • fabrication. SCHEDULING METARULE If service temperature is less than 400' C then select rules about environment-compatibility before rules about service temperature. TACTICAL METARULE If temperature is higher than precipitate dissolution temperature then use rules which refer to similar solid solution alloy. RULE If total strain in service lifetime limit is given and service temperature is greater than 0.25 solidus then call deformation map program for max stress limit.

select, eg classes of materials based on human experience (like ICI's stress corrosion cracking system or the Rubber and Plastics Research Association polymeric materials selector PLASCAMS). These are usually being developed for materials selection for small, self-contained fields. The second type is a system associated with a relational database, as described earlier, where the structure of the database reflects the physical relationships between the quantities. This is very much an area for future research, but successful systems of this kind would be very useful indeed, Table 4. KNOWLEDGE ENGINEERING PROBLEMS Experience with expert systems has shown that the most difficult part of implementing a system is acquiring the knowledge in a useful form. The expert, whose brains are being picked, is often too busy, frequently inarticulate and sometimes unhelpful. The buyer (or builder) of the expert system shell and the expert usually view the domain in very different ways and have great difficulty communicating. Expert Fig 5 Part of the structure of a possible knowledge representation for creep limited materials selection IROOT I

ELEMENTS 0, InCROSTRUCTuRE OF E vIRONMEN T EA mECNANICS _ \\ ---StRESS PROCESSESSTRAI N TExTURE / RATE

REL ANON S

/ MINDS ,,,,,,,r /,TRUN_ MATERIALS i

..„----- \ % Rzr PRECIPITATES HEAT CERAmILS T - -TREATMENT

'. /

ALLOYS

DE FORMA".

-------ELETFENTS / \;>.,,„,,G CE, IN ',ALL°, ANNEALING ELEMENTS CREEP

C ...„

/ SOLUTIOM PARTICLE ALLOYS ALLOYS

/N DISPERSION

PRECIPITATE ALLOYS



"EL D

'- 10‘vER DIFFUSION LAW

BOUNDARY DIFFUSION

LAI "CT DM UYON

systems are most useful when they encapsulate knowledge which was previously unexpressed in any form at all, and these are the forms of knowledge which are most difficult to 'acquire'. The knowledge acquisition bottleneck Professor Michie of the Turing Institute, Edinburgh, calls this knowledge acquisition problem the Feigenbaum Bottleneck after an early worker in the field. To avoid it, Michie uses a machine learning program and runs several hundred worked examples through the system to enable it to construct its own rules by induction. This only works if the boundaries of the domain are very well defined and is particularly good for finding solutions to things like chess problems. The machine learning approach has the great advantage that the rules it comes up with usually work much better than those derived from human experts. A soya-bean disease diagnosing system of this sort was correct 99% of the time, compared with a system where the rules were written by hand, which was correct only 83% of the time; even after the human concerned had 543

Expert systems

Table 4: Possible IKBS applications in materials engineering

SUPERFICIAL CONCEPTS— CURRENT TECHNOLOGY Equipment fault analysis, eg in mechanical testing machines, electron microscopes, vacuum systems, furnace controllers, word processors. A working system is in use diagnosing the causes of 'cobbles' in the Allied Steel and Wire Rod Mill at Scunthorpe.

IMAGE PROCESSING SYSTEMS TEM diffraction pattern indexing SEM fatigue striation counting More complicated recognition and counting of objects than is possible by current generations of Quantimet.

REAL TIME PROBLEMS Control of rolling mills, continuous casting, electrolyte tanks, furnaces, any sort of process control where equipment idiosyncracies have to be taken into account, as well as what 'theoretically should happen'.

DEEP-KNOWLEDGE SYSTEMS Reasoning from models using causality, eg • Research in deformation mechanisms; • paint-environment interactions; • phase diagram calculations using heuristics; • alloy design aids; • selection of thermomechanical treatment for final use; and • general materials selection under constraints. Expert support systems — tools to aid experts explore complicated problems in their area of expertise: a by modelling conceptual complexities or b by acting as a pedantic colleague. Teaching materials science: Not 'expert systems' as such, but knowledge-based tutors, eg teaching microstructures using laser disc technology to display illustrative micrographs as appropriate in the discussion.

had access to all the examples used to `train' the learning system, it was only improved to 93%. The major disadvantage is that the rules discovered by a learning program are frequently completely incomprehensible and thus useless for explaining to a user how a conclusion has been reached. Consistency — de-bugging a rule library For large systems with many rules there are very significant problems in finding rules which are inconsistent, rules which reference each other in closed loops and in dealing with rules that reference themselves. Some authorities consider that systems with more than a thousand or so rules are not really possible and are certainly not trustworthy without some major advances in automatic system maintenance, things which might be thought of as expert systems whose domain is the structure of other expert systems. There has been some progress along these lines, a system called TEIRESIAS was devised to aid a knowledge acquisition for MYCIN and some of its ideas were incorporated in 544

EMYCIN and its descendants, but large systems, with current technology, are certainly not for novices. All systems work with an implicit 'closed world' assumption and deal very badly with problems at the edge of their domain. This is one place where metarules are essential for warning a user when the set problem begins to look as if it is beyond the current capability of the system. This is something the system designer (shell user) has to do, • something a sophisticated `knowledge engineering' tool can probably help with, but which is very difficult to formulate in practical terms. Most systems assume that if a relationship or a fact is not in the database, then it is false, which can lead to the production of nonsense. THE MATERIALS SELECTION PROBLEM This is likely to be the most important application of expert systems in the metallurgical field in the immediate future, not because it will help metallurgists do their own jobs, but because it will make their expertise available to people who might not otherwise seek it: 'In smaller firms consideration of materials matters is often perfunctory and sometimes non-existent... potentially the most dangerous situation arises when the engineer/designer does not realise that there is a problem.'2 The necessity for intelligent dialogue A central problem of materials selection currently is that for detailed design, the systems available home in on a small family of similar materials rather more specifically than is really required by the user, who may just want to scan possible vague options. Rather than asking a lot of questions and then coming up with a single answer, eg 'use stainless 316', a materials selection export system must adapt a more tutorial mode of operation and lead the designer through the relevant parts of the database, explaining the significance of critical factors, when the user was probably not originally aware which of the criteria were important and which were irrelevant. To do this effectively the system must have some kind of model in its own mind of how the user thinks (so-called 'user models'), which is another large area related to computer-based training techniques and in which rule-based programming techniques can be used. Accountability problems If an engineer uses a materials selector system and designs some plant which subsequently fails, the responsibility would lie with the engineer, but the full use of expert systems would come only when they are used by people who do not understand the detailed reasoning, ie when they are used by people who lack that sort of expertise. In such circumstances there are legal problems with failures. Depending on the kind of failure, it could be the fault of the shell designer, the 'knowledge engineer' who

used the shell and devised the rules, or of the 'expert' whose ideas and data were used by the knowledge engineer. If the failure occurred because a query had fallen outside the range of knowledge of the system then it would be very difficult to separate these liabilities. Nevertheless, despite all these problems, some kind of well-engineered and useful mechanical engineering designer's `expert pet metallurgist' could be sitting on desks and beside computer-aided design workstations by the end of this decade. GENERAL IMPLICATIONS OF EXPERT SYSTEMS The interface between knowledge-bases, rule-libraries, numerical modelling and rule-based expert systems for materials science is an area needing examination before expertise and detailed knowledge of materials properties can be incorporated at a fundamental level into a knowledge system. Godel's theorem These techniques and needs appear at the same time that the concept of 'computational irreducibility' is becoming more widely known as a realisation of Godel's theorem in the real world. One aspect of this is that for many physical processes it is not theoretically poss;ble to predict even the existence of laws describing the overall behaviour of a system ,.=;thout simulating each and every one of the system's elemental 'behavioural atoms'. Thus, although there are some laws governing the behaviour of molecules in a turbulent gas, or dislocations in a metal, Godel's theorum indicates that there are some true statements that can be made about the behaviour that cannot be proved, but can only be simulated from the beginning. Such statements are termed 'formally undecidable' and ad hoc rules found from expert knowledge or experiment are the only way of approaching some of these problems. Even when truths may be 'formally decidable', the route to the proof may involve so many decisions that the problem of combinatonal explosion (where solutions take many times the age of the universe to compute), is encountered, in which case, heuristic rules again provide a possible route to a solution. Thus, although expert systems based on heuristic rules culled from human experts were originally developed purely as a pragmatic measure (because of the failure of General Problem Solvers when applied to real problems), there are serious philosophical reasons why this approach may become extremely important in all the sciences. In a more general sense, it is possible that IKBS could have a profound influence on the way in which much scientific research is done and communicated. References Bundy, A, Burstall, R M, Weir, S and Young, R M. Artificial intelligence: An introductory course. Edinburgh University Press, 1980,102. Metals and Materials

Expert systems

2

Crane, F A A and Charles, J A. Selection and use of engineering materials. Butterworths, 1984.

Further reading

Promotional literature from Teknowledge Inc, Inference Corp, Expert Systems International (Oxford) and IntelliCorp will give an idea of currently available shells, and the journals Artificial Intelligence and The AI Magazine are where much research in this area is published. The September 1984 issue of IEEE Computer is dedicated to expert systems and decision support systems. The issue of Scientific American in the same month contains excellent reviews on modern software engineering, natural language processing and knowledge based systems. Other sources of information include the following.

based program system for predicting drug interactions, Int J Bio-med Computing, 1978:9,259-271. A very clear illustration of what a prolog program can do, with application particularly in materials/environment interactions. Davis, R. Teiresias: Applications of MetaLevel Reasoning, as in 'Knowledge systems in artificial intelligence', (ed Davis, R and Lenat, D B), McGraw-Hill, New York, 1982. Thorough description of a complex system demonstrating the use of metarules and metaknowledge generally. Duda, R 0 and Shortliffe, E H. Expert Systems Research, Science, 1983: 220,261. Good introduction and many useful references.

Bundy, A, Burstall, R M, Weir, S and Young, R M. Artificial intelligence: An Introductory course, Edinburgh University Press, 1980. Undergraduate text book, very useful for the range of AI covered.

Hayes-Roth, F and Waterman, D A (eds). Building Expert Systems, Addison Wesley, 1983. Essential reading for beginners.

Crane, F A A, and Charles, J A. Selection and use of engineering materials, Butterworths, 1984.

Matthews, A and Swift, K G. Intelligent knowledge-based systems for tribological coatings selection, Thin Solid Films, 1983: 109,305-311. Illustration of a simple 'current technology' system.

Darvas, F, Futo, I and Szeredi, P. Logic

McDermott, J. R1 Revisited: Four years in the trenches, The Al Magazine, 1984: 5, 21-34. An account of the only large system in real, everyday use. Schindler, M. Artificial intelligence begins to pay off with expert systems for engineering, Electronic Design, 9 August 1984: 106-146. Good examples of developing systems. Welbank, M. A review of knowledge acquisition techniques for expert systems, published by Martlesham Consultancy Services, British Telecom Research Laboratories, Martlesham Heath, Ipswich, 1983. A very thorough and readable review of the human engineering and management aspects of building systems.

Acknowledgements

The author would like to thank members of the Engineering Materials and Microstructural Physics Groups at the University of Cambridge for discussions and comments after seminars on this subject, and to members of the Oxford and Cambridge Indentation Science Group for constructive criticism of the text. ■