risiarch ripdrt arr · pdf file · 2017-05-23briefly reviewed including some prolog...

40
- I RISIARCH RIPDRT ARR 134 AUSTRALIAN ROAD RESEA R CH BOARD , 7 OCT 1985 LIBRARY I Knowledge based systems tools on microsystems M.R. Wigan

Upload: hanhan

Post on 07-Mar-2018

216 views

Category:

Documents


2 download

TRANSCRIPT

-

I RISIARCH RIPDRT ARR 134

AUSTRALIAN ROAD RESEA RCH BOARD

, 7 OCT 1985

LIBRARY I

Knowledge based systems

tools on microsystems

M.R. Wigan

AUSTRALIAN ROAD RESEARCH BOARD

REPORT SUMMARY THE PURPOSE OF THIS REPORT

is to summarise material used for seminars given to Monash University (March 1985), to the ACADS Seminar on Expert Systems given as part of the 1985 COLEX InfonTIation Technology program in Adelaide (August 1985) and the ACADSI CSIRO Workshop on knowledge based systems in Melbourne (September 1985) . is to give a brief review of the many knowledge based ('expert ') systems tools now available on microsystems, and relate them to other and earlier systems on larger machines.

THIS REPORT SHOULD INTEREST

- those concerned with improving engineer productivity - those wishing to start to evaluate the potential for 'knowledge based' or 'expert' systems in their own areas -- those interested in artificial intelligence and logic programming languages on microsystems

THE MAJOR CONCLUSIONS OF THE REPORT ARE

there are ample tools available for at least the initial work on specialised application areas in transport, roads and construction the key problem remains : judgemented knowledge is not normall y put in a recorded form in these areas, and this is the real need for IKBS construction

AS A CONSEQUENCE OF THE WORK REPORTED, THE FOLLOWING ACTI ON IS RECOMMENDED

several areas of transport, works, regulations and construction should be selected and subjected to formalisation of judgemental behaviour in association with long standing experts in the selected specialities_ Small scale and unambitious targets should be set subsequent to the above, incorporation of this knowledge in several shells should be carried out, and the results refined in field tests to assess the training, communication and cost-effectiveness benefits of larger-scale efforts on these lines

RELATED ARRB RESEARCH

FS1118 - Transport and communications (University of Leeds UK, SERC Fellowship) A852 - Microcomputer applications

AUSTRALIAN ROAD RESEARCH BOARD

CUT OUT INFORMATION RETRIEVAL CARD

WIGAN, M.R. (1985) : KNOWLEDGE BASED SYSTEMS TOOLS ON MICROSYSTEMS. Australian Road Research Board. Research Report 134. 35 pages, 3 tables, 11 figures , and 2 appendices.

KEYWORDS : Knowledge based systems· lexpert systems· /micro/digital computer/ PROLOG· ILISp· /shell· Isystems analysis

ABSTRACT : Knowledge based systems tools are increasingly available on microcomputer systems. The range and characteristics of some of these tools available in Australia are briefly reviewed including some PROLOG and LISP systems and Expert System Shells for both text- and rule-based approaches. While the tools available up to 1984 were reasonably adequate for self and academic teaching purposes and for prototyping systems, production quality and capability tools are now becoming more widely available. Different paradigms for problem reduction and analysis are covered, followed by the matching of problem type, approach and tool to both the learning phase and the production process. There is a bias towards the construction, design and transport application areas.

1111111 11111 11111 1111111111111111111111111111 _on IRR_D Key_words _____ ----A

0002427

Australian Road Research Board Research Report ARR No. 134

KNOWLEDGE BASED SYSTEMS TOOLS ON MICROSYSTEMS

Australian Road Research Board . 500 Burwood Highway, Vermont South' Victoria 3133, Australia

September 1985

by

M.R. WIGAN

. ;

Research Report ARR No. 134

ISBN 0 869102060 Report

ISBN 0 869102079 Microfiche

ISSN 0518 - 0728

The ARR series of reports was created by the Board to quickly and economically reproduce the conclusions of road and road transport research subjects for those associated with roads and the road transport industry. Unlike other technical publications produced by the Australian Road Research Board , ARR reports are not reviewed by referees .

Although this report is believed to be correct at the time of its publication , the Australian Road Research Board does not accept responsibility for any consequences arising from the use of the information contained in it. People using the information contained in the report should apply, and rely upon, their own skill and judgment to the particular issue which they are considering .

Reference to , or reproduction of this report must include a precise reference to the report.

Research Report ARR No. 134

CONTENTS

1. INTRODUCTION

2. THE EMERGENCE OF THE SHELL

3. MICROSYSTEMS TOOLS

4. APPLIED TOOLS 11

5. MORE DETAILED DISCUSSION OF MICROSYSTEM TOOL REQUIREMENTS 15

6. MIGRATION OF KBS TOOLS TO PERSONAL WORKSTATIONS 18

7. MATCHING PROBLEM SOLVING METHODS TO REAL PROBLEMS 19

8. GRAPHICS AND KNOWLEDGE BASED SYSTEMS 20

9. SUMMARY COMMENTS ON SOME OF THE AVAILABLE TOOLS ON MICROSYSTEMS 23

10. A QUESTION OF PERSPECTIVE 28

11 . CONCLUSION 30

REFERENCES 30

APPENDIX A-The naive reverse in Prolog 34

APPENDIX B -A session with the algebraic solution system PRESS, written in Prolog 35

ARR No. 134

I. INTRODUCTION

There is a wide variety of interpretations of the term 'expert system'. These differing ideas reflect a lack of systematic discussion of the problems towards which 'expert systems' are directed, and the means by which they are implemented.

The basic terms with which this report is involved are the following:

I. explanation 2. deduction 3. advice 4. inference

Most useful expert systems offer the user explanations if they ask to have the reasons for a particular question being posed, and will explain the chain of deduction that led to this point.

If an expert system does not provide advice on an issue where the system purports to offer a user special knowledge, then it is arguably not an expert system at all. However, the task of inferring conclusions or probabilities from inbuilt expertise in response to user queries is an invariable capability.

Treating problems in this way leads to a series of special requirements. Ideally the complexities of the inference system, the painful coding of the user interface and the articulation of the explanation mechanisms would all be provided to a practical analyst wishing to start the task of building an expert system for a specific problem are with which he was concerned.

This series of tasks are the parallels to compilers and problem generators ("4th generation languages") for conventional computer systems, and the days are long gone when an applications analyst had to consider writing a compiler before he started his application coding. The family of tools now available to cocoon expert system builders from the internals and mechanisms of an expert system are usually termed 'shells', by analogy to the Unix shell which does a similar task for users of that operating system. Like Unix, many of the available shells are still objects of considerable complexity, flexibility and programming power, and - again like Unix - are not yet always easily recognised as a 'simple' interface.

This report is concerned primarily with disentangling the languages and expert system shells now available on small systems (Z80 with CP/M 80 up to -typically - 68000 and PDP-II systems running UNIX). This exploration will take us through the conceptual chain of developments which led to the appearance of these tools to the specific tools which are now available on small computers to exercise expert system building and operation.

2. THE EMERGENCE OF THE SHELL

The logical structure that is appropriate to the first phase of expert systems app lications is one of developing rules, checking for conditions, and re-estimating probabilities before seeking further information. This can be expressed as follows:

2 ARR No. 134

I. rules which specify conditions under which an action occurs. 2. inference engine for estimating revised probabilities and actions. 3. response to a user to obtain further information or to report to him.

These translate cleanly to Rule system, Inference Engine and User Interface.

The early - and very successful - systems such as DENDRAL (Buchanan et al. 1976) and PROSPECTOR (Duda et al. 1978) were distinguished by the sheer scale of the effort involved, and the high levels of performance achieved. This led to a feeling that such approaches were necessarily for problems at these scales of effort, requiring massive computing power, and that the level of complexity involved was that of the detailed discussions on the foundations of plausible reasoning and of system building techniques dedicated to LISP.

The initial development of 'expert' systems drew heavily on purpose­built large-scale LISP and I-·:OKTKAN programming packages, and ohly after the initial phase of integrated knowledge and inference systems did the question of building expert systems as a task in itself really gain much attention with such systems as TEIRESIAS (Davis 1979). Up to this point the rule system and the inference engine were tightly bound together, and in the case of such systems as MYCIN the 'knowledge engineer' would be a programmer who could adjust the relevant section of the program and ensure that this addition did not upset the logic or the interfaces with other parts of the program.

This led fairly promptly to a development of major importance: the extraction of the EMYCIN (an expert system tool empty of the knowledge which made MYCIN a operational expert system).

EMYCIN is simply the core of the LISP-based MYCIN (Buchanan and Shortliffe 1984) plausible reasoning system for medical diagnosis. EMYCIN (Van Melle 1979) was of considerable importance as an early inference engine, where the other basic - but internal - operative mechanisms were for the first time separated more or less cleanly from the knowledge base in an attempt to make the task of buikliny un expert system separable from writing the entire problem solving driving and inference frameworks at the same time as the 'expert' task. EMYCIN has subsequently been used for a number of successful medical and other expert systems, and thus was demonstrably the first generally available expert system shell which achieved a wider use than that of its' initial authors.

The first of the MYCIN family was a large LISP program with rules, data, inference engine, and user interface all mixed up. Consequently, the modification version and extension of MYCIN information required an extensive and skilled understanding of the MYCIN program as a whole.

The rapid specialisation of this large program into separable functional tools followed very quickly. EMYCIN was the inference engine and user interface part (Empty MYCIN with data and rules removed), and quickly gave to a number of expert systems in widely diverse areas: PUFF (Atkins et al. 1984) for lung ventilation performance, and SACON (Bennett and Englemore 1979) for engineering advice were but two of these. The complexity of EMYCIN was still significant and a separate explanation (TEIRESIAS) (Davis 1979), and tuition systems (GUIDON) (Clancey 1979) rapidly emerged based on different ways of exploiting the 'knowledge' in an EMYCIN system for the acquisition of new information and for tuition purposes respectively. The need to make building expert systems easier and clearer, to take full advantage of the inference infrastructure provided in MYCIN, the ROSIE (Fain, Gorlin, Hayes-Roth,

ARR No. 134

MYCIN EMYCIN .Inference engine .Inference engine .Data .Rules .User Interaction .User Interaction

Buchanan (1984) Van Mel1e(1979)

PUFF ~

SACON .... . TIERESIAS . Data GUIDON .Rules

Alkins(1984)

.Explanation Bennen(1979) .Automated

system tuition

Davis(1979) Clancey(1979)

ROSIE .Natural

language .Shell Fain(1931)

Fig. 1 - Key elements of IKBS (based on Mycin)

EMYCIN in LISP PUFF in Basic MYCIN in LISP + rules in r------. ~ + rules in BASIC + rules in LISP EMYCIN

= PUFF = PUFF

MAINFRAME MAINFRAME MICROSYSTEM goal driven

single purpose ~

development r------. single purpose program environment for program DEC-10 1976 rules PDP-11 1979

SOFTWARE TO HARDWARE IMPLEMENTATION CYCLE (1970s)

Fig. 2 - Mycin to Puff: KL-10 to PDP-11

Rosenschein, Sowizral and Waterman 1981) language was built up, providing the well-interfaced 'shell' needed for wider usage. Fig. I shows in diagrammatic form how the key separable elements of a knowledge based system emerged from the monolithic MCYIN system.

The links between the elements of Fig. I and current microsystems are made clearer by Fig. 2. PUFF was developed using EMYCIN - but once developed for production use, was converted to a single-minded program in Basic on a m icrosystem.

EMYCIN was - and still is - a fairly awkward environment in which to set up expert knowledge for end user delivery. At about the same time as these larger and well publicised systems were gaining currency in the U.S., a simultaneous development was occurring of a complementary - and arguably more broadly accessible - approach.

3

4 ARR No. 134

This was the stream of logic programming, which had its origin in the formal treatment of logic as a programming language. The work on resolution principles exemplified by Robinson (1979) led to the idea of making the resolution process available as an operational language. The Horn-clause based logic programming system became embodied as the PROLOG language through the efforts of the Marseilles group (Roussel 1975).

PROLOG now provided an alternative basis for knowledge based systems construction from the already-classical LISP approach, and has led the expert systems applications development efforts in many European countries: notably France, Hungary and the U.K., and from a major strand in the current range of Japanese programs in this area. PROLOG contains its own inference 'engine' (the process by which the logic programming statements are resolved requires an automated mechanism for making and driving inference deductions and operations), and for many of the smaller tasks provides a highly effective declarative language in which to express rule-based expert knowledge, with the added capability of asserting new rules dynamically generated by the operation of the system itself in the course of a consultation.

Once again, the construction of higher level expert system shell facilities emerged as a useful and problem oriented task, and a number of such Expert System shells based on (and embedded in) PROLOG have appeared and continue to appear. A number of examples will be discussed later in this report.

The two alternative paths outlined here are far from the only routes used to produce expert systems or shells. There is, however, a series of progeny of PROSPECTOR which has achieved wide application and industrial use.

PROSPECTOR is based Or) the two concepts of production ru les (if condition then set condition or act ion ) and of plausible reasoning. Most expert systems are not based solely on production rules, and many employ the probabilistic expressions termed 'plausible reasoning' coined by Duda et al. ( 1978) in their report describing the foundations of PROSPECTOR. There have been numerous efforts to improve the often weak theoretical underpinning of such schemes for 'plausible reasoning'.

The PROSPECTOR approach (Duda et al. 1979) has proved to be a rich source of shells, although Quinlan (1983) - amongst others - has demonstrated (with his INFERNO system) that the algorithms may be considerably improved upon, and made more reliable. The general approach has remained, and in some cases has clearly been influenced by Quinlan's findings. There are several schools of thought which have concentrated on improving the basis for the plausible reasoning approach to expert systems, and the Demster-Schaefer formalism (Demster 1968; Shaefer 1976) of these attracted perhaps the greatest volume of support to date (see, for example Garvey, Lowrance and Fischler 1981). Fuzzy logic has also been used in this context (Ishizuka, Fu and Yao 1982).

PROSPECTOR has been widely influential, and is the moral progenitor of a large fraction of the currently available expert system shells. Fig. 3 shows a family tree of microsystem products arising from Prospector, and moving on to recreate PROSPECTOR's range of capabilities, even to graphics output, but on far smaller machines.

In practice, the problems of consistent treatment of certainty in such advisory shells have to date not been as important in practice as might have been expected, as the key problem in expert systems applications is still the knowledge engineering, rather than the finer details of the tools structures within which this knowledge is articulated and delivered. The refinement of the inference

ARR No. 134

PROSPECTOR + graphics (short life)

The Devolution of Prospector

1976 Mainframe progenitor

~-=--------------

1977 Apple Z80 8086 68000 PDP-11 VAX

1 1981

Savoir (Cox , Broughton)

8086 68000 + videotext PDP-11

~ VAX

~ -1984

Fig. 3 - The Devolution of Prospector

Cyber VAX Xerox 1100 IBM PC

1983

techniques employed in expert system shells will become increas ingly important as more ambitious applications are addressed on small systems, and users are strongly advised to investigate and question the mechanisms employed in any shell that they are considering.

3. MICROSYSTEMS TOOLS

At this point we shall demonstrate the wide range of affordable tools to enable experimental applications without heavy investments in computer science backup.

The tools available on microsystems fall into a number of broad categories:

I. implementations of LISP 2. shells written (and embedded) in these LISPs 3. implementations of PROLOG 4. shells written (and embedded) in these PROLOGs 5. stand-alone shells (in any language) 6. deductive rule search and identification assistance 7. integrated special purpose expert systems with their own knowledge

based embedded as a tota I product.

In each of these categories there are a range of entrants, often with a common ancestor. While it is difficult to unambiguously define an 'expert system', it is also now becoming equally hard to define a 'micro'-system unambiguously. As an arbitrary cutoff, 68000, 680 I 0 and low end PDP-II processors have been included in the present definition for the purposes of this report.

Some of the small-system LISP implementations of note include, apart from the wide spread dedicated LISP Machine and Xerox research workstations which provide the main stay of much the North American work on applied artificial ' intelligence.

5

6 ARR No. 134

I. T.L.C. LISP on Z80 CP/M systems 2. Cromemco LISP on Z80 COOS systems 3. MULisp on Z80 and 8088/86 systems 4. Golden Hill Common LISP on 8088/86 systems 5. L1SPKit LISP on 68000, PERQ, VAX 6. Cambridge LISP on 68000 under TRIPOS, CP/M 68 K 7. Franz Lisp on 68000, Vax and other Unix systems 8. IQLisp on 8086/88 and other systems

LISP suffers from a wide lack of agreed standards, but there has been a recent agreement on a series of facilities comprising COMMON LISP, which has a degree of standardisation in the core capabilities provided. Golden Hill Common Lisp, as one example, provides most of this standard LISP for 8088/86 based m icrosystems.

Some of the many PROLOG implementations of note are:

I. LP A's Micro- and Professional- PROLOG on Z80 and 8088/86 2. ESI's PROLOG-Ion Z80, 8088, 8086, PDP I I RT -I I, (RSX and

VAX-VMS) 3. Marseilles PROLOG on 6502 4. MuPROLOG on 68000/UNIX systems 5. LPA'S Sigma Prolog on 68000 and Unix systems 6. NSW Prolog on 8086, 68000 and UNIX systems 7. Quintas Prolog for Sun and MegaFrame 68010, and VAX systems 8. ESI's Prolog-2 compiler for 8086 family 9. Horne from the University of Rochester 10. York Prolog on many small systems, written in Pascal II. Arity Prolog interpreter and compiler for 8086 systems 12. MPROLOG for 8086 and IBM 370/308x series systems 13. POPLOG: a Pop2, Lisp and Prolog synthesis

Many of the smaller expert system shells in use do not necessar ily employ either PROLOG or LISP, and there are several families of small expert shells with no allegiance to either langl.lC10p. nvnilnhle on microsystems. Even FORTRAN has been used effectively at Rutgers University for their EXPERT system (Weiss and Kulikowski 1984). The portability of many of these shells is quite good, and appears to be helping their rapid propagation (even on the lethargic but ubiquitous IBM PC).

These fall into a number of categories:

I. PROSPECTOR style shells (Microexpert , INSIGHT, Sage, EXSYS, AL/X and Savoir) - often written in Pascal or C

2. Lisp style shells (in Franz Lisp for example) 3. Prolog style logical shells such as APES, M.I 4. Prolog style text management shells (ES/p advisor) 5. Rule induction tools (such as ALCS/Expert Ease, 103) 6. Mixed approach shells, written in Pascal, C, or assembler (TESS,

OPS-V) 7. Implementations of mainframe knowledge systems for specific domains

(REDUCE) 8. Special purpose shells for introductory purposes, typically in Forth or

Basic - often based on decision table techniques

This does not exhaust the range of different types of expert system support tools, but gives a practical idea of the range and nature of the materials already to hand for the purpose - and on microsystems. Table I is an eclectic,

ARR No. 134

brief, partial list to provide some idea of a representative range of knowledge~ based software now avai lable on microsystems, their countries of origin, and whether or not they are known to be currently available within Australia.

A key type of tool which has emerged is the rule induction assistant. The key progenitor of this style of tool is the ID3 rule induction system developed by Quinlan (1979), and the algorithms have been implemented in several commercial packages to date. Some examples are:

I. Expert Ease on 8086 systems, in UCSD Pascal 2. ALCS on 8086 systems, embedded in a database management system

(SuperFile in this case) 3. Rule Master from Radian in the U.S. 4. KDS from KDSlnc in the U.S.

These tools take sets of data and attributes and deduce operational conditional rules to explain as much of the variance as possible. The cruder of the two, Expert Ease, provides a simple harness to run these rules at once as an embryonic expert system limited to the rules derived from the data inputs employed.

The slightly more sophisticated ALCS/Superfile combination-based on further work by the authors of Expert Ease - permits rapid and constructive searches for empirical rules for subsequent inclusion in a shell with wider expertise included. It is crucial to acknowledge that the ID3 approach cannot be used blindly, and is of by far the greatest value when the underlying structure of the problem requires otherwise empirical pruning of a huge tree of finite discrete

. alternatives (such as the chess end game problem addressed by Quinlan (1982).

Rulemaster is a UNIX-oriented large-scale IKBS tool (also available on IBM PC's) which employs these approaches to compact rules already input, as well as helping the user to deduce rules as one aspect of the development environment offered. KDS is similar to Rulemaster, but optimised for large-scale problems specifically on an IBM Pc. A practical example of the two strategies (user defined, and computer induced) for rule production is given by Michalski and Chilauski (1980).

As the weight of user efforts moves to applications development, this category of tool will take on much greater importance in aiding the 'knowledge engineer' in his task. Tools of this type are already in use to help to generate rules for input to others already embodied in systems under existing shells such as Micro Expert (Wager 1984). This trend to developing rules under one system to be run under another is fairly widespread, and Lansdown (1982) reports other cases where Micro Expert was the target shell.

Amongst the most effective and widely used knowledge based systems are the symbolic mathematics systems MACSYMA (Martin and Fateman 1971) and REDUCE (Hearn 1984). These systems contain a massive amount of special knowledge (on integration differentiation, polynomial reduction and matrix algebra for example), and are implemented in Lisp. Fig. 4 shows how these systems relate. The major examples are:

I. MUMATH on Z80/8086 2. REDUCE on 68000X, V AX 3. MACSYMA with graphics on 68010 4. SMP with graphics on 680 I 0 5. PRESS in Prolog.

7

00

TABLE I

SOME OF THE MANY EXPERT SYSTEM TOOLS CURRENTL Y AVAILABLE ON SMALL SYSTEMS

Name Author Organisation Source Available in Australia

ADA Prolog Automata Design US yes ALCS Southdata Software UK yes AL/X Reiter Intelligent Terminals UK no APES Hammond Logic Based Systems UK yes Arborist Texas Instruments US yes ARITY Prolog Arity Corporation US yes BUILD Rosenman Sydney University Australia yes Cambridge LISP Fitch MetaComCo UK yes DEC-IO PROLOG Warren Edinburgh University L.:K yes DUCK McDermott Smart Systems Technology US no ES/P Advisor Goodall Expert Systems International L.:K yes Expert Ease Intelligent Terminals LK yes Expert Edge (TESS) Helix Human Edge UK yes EsperLlSP Exper Tell igence LS yes EXSYS Huntingdon Exsys Inc US yes Franz Lisp Franz Inc US yes GC-L1SP Golden Hill Computing US yes Hulk Brainstorm Computing UK no INSIGHT 1,2 Seiler LevelS Research US no IF-PROLOG Springer-Verlag Germany yes IQLisp Integral Quality US no KDS KDS US yes KDS KDS US ,'es KES Software A&E US no MacPROLOG McCabe Logic Progr'Jmming Associates UI< yes MI T eKnowledge US yes ~

:n MicroEXPERT Cox lSI UK yes :n MicroPROLOG 3.1 McCabe Logic Progr:Jmming Associates Ul( yes z

0

M~roSY~dCS ~zeradi ~TroSyn ics Pty UI< no --'

M ROL Runga ry yes (J.) -l'>

MULisp Software House Microsoft US yes MUMath " " " yes - -MUProlog Naish Melbourne University Australia yes NSW Prolog Summut NSW University Australia yes OPS-V Taylor Exper Tell i gence US yes OPSV+ Artelligence US no Personal Consultant+ T.I. US yes Personal Consultant Texas Instruments US yes POPLOG Sussex UniversityUK Systems Designers UK yes Portable Common Lisp Lucid Inc. US yes PRESS Welham University of Edinburgh UK no Professional APES Hammond Logic Based Systems UK yes Professional PROLOG McCabe Logic Programming Associates UK yes PROLOG-I Goodall Expert Systems International UK yes PROLOG-II Kanoui Centre for propogation of PROLOG France no PROLOG-2 Goodall Expert Systems International UK yes PROLOG V Chalcedony Inc US no PROLOG-86 Solution Systems US no PROVE Thompson CSIRO Australia yes REVEAL McDonnell Douglas US no RULE MASTER Michie et al. Radian US yes SAGE-PC SPL-Insight UK no T.L.C. Lisp Allen The Lisp Company US no QUINT AS PROLOG Warren Quintas Computer Systems US yes REDUCE Hearn Rand Corporation US yes SAVOIR Cox lSI UK yes TIMM General Research Corporation US no XL Watts International System Solution Australia not yet

These systems range from near trivial to extremely powerful, but all are available on microsystems up to and including those based on the Motorola 680 I O. f\Iot all are recommendable, but all have something to offer.

» :0 :0 z 0 ...... (..) .j::.

10 ARR No. 134

MATHLAB

(Engelmore)

MACSYMA Lisp - Integration

(Martin) REDUCE 2

Lisp - Algebra 1971 (Hearn)

- 1971 - DEC-10 Lisp - Algebra

- 1980 - VDX 1970 (2.0)

-~ MACSYMA

MuMath

SMP Lisp + Graph ics MuLisp -

C + Graphics SUN 68010

Algebra +

SUN 68010 - 1984 f--' ""- Z808088

-1984 REDUCE -1981 -1984

PRESS (Hearn)

Prolog - direct Sage 68000

problem solving with dialog aid -1984 (3.1) DEC10 -1982

Fig. 4 - KBS for Symbolic Mathematics

MACSYMA has long been widely used on VAX mini computer systems, and has migrated to some large 68000-based virtual memory UNIX systems such as the SUN (680 I 0 based super micro). REDUCE has migrated down to the very small (non-memory mapped) 68000 systems such as the Sage, under both TRIPOS and CP/M68K. Consequently any 68000 with a megabyte or more of linear address space is able to run REDUCE - and at a remarkably brisk level of performance under the Cambridge LISP compiler used for this downevent port. Both REDUCE and MACSYMA originally omitted symbolic integration, although both now include it.

This powerful level of direct 'expert' support or microsystems is not widely known, and is of practical importance in particular to engineers and scientists.

The clear chain of links between Bennett and Englemore (1979) SACON (an advice system to help engineers select the best options from a massive existing MARC structural design program written in Fortran), Gale and Pregibon's (1982) Lisp-based expert system for regression analysis, and Hearn's REDUCE demonstrate how symbolic algebra and numerical problem solving has now moved close to knowledge based systems both for the identification and execution of such problems - and the tools are all now available on micros. At present the level of power required is represented by such personal workstations as the various Lisp Machines, by LMI, Xerox and others. However, the integrated processing and graphics power represented by these high level workstations (which have become the preferred development environment for much of large-scale applied knowledge based systems) is replicated at a lower level by such large 680 I 0 systems as SUN and APOLLO. The versions of MACSYMA (in Lisp) and SMP (in C) available for symbolic interactivity mathematics support are fully integrated with 3-d and bit­mapped graphics. This is as yet not available on the cheaper (Sage level) 68000 systems, although the Macintosh and the currently announced Commodore AMIGA 68000 will swiftly change this situation. It is significant to note that all of SACON has been used as a 'simple' example for the Teknowledge MI Expert System shell, running on an IBM PC (and written, in its own terms in interpreted Prolog-I ).

ARR No. 134

For engineering design applications these types of system are already in existence on micro systems, but the 3-d geometric design stream typified by knowledge-base assisted architecture has not yet quite converged with engineering design.

It con be expected to do so - but not yet on the smaller microsystems. So far the MUMath symbolic algebra system (written in MUlisp) has appeared on Z80 and 8086 systems, but is not in the same power range as the other systems mentioned.

The more recent relevant development for Computer Aided Design is the PRESS system, written in the U.K. in Prolog (Bundy and Welham 1981), which was specifically designed to elicit information, interact with the user, and solve problems at school leaver (university entrance) level. The user interface is probably the best yet provided for computational support and explanation, and the basis of Prolog ensures that such facilities can in future be demanded by users in the IKBS and graphics environments now the subject on integrated developments. PRESS has already been employed as the algebraic part of the generalised system to solve mechanics problems (Bundy, Byrd, Lager, Mellish and Palmer 1979). The Xerox 1100 and lisp Machine dedicated lisp minicomputers already have the capacity and the tools: only the integration of the tools and the next quantum drop in price level need be awaited. The recent release of the TI Explorer and the Tek Personal AI Machine suggests that this wait will not be long.

4. APPLIED TOOLS

A fundamental problem with expert systems is that the deduction of knowledge and judgement is considerably harder than the learning process required to manufacture the technical tools, although these tools too require some effective and demanding understanding for their full effectiveness. It is not always necessary to descend to the shell-building languages (such as lisp or Prolog) underlying the tools, where the difficulty levels rise sharply once again.

The text animation shells and the rule induction tools both provide examples of special purpose tools for restricted problem domains, where, by reducing the level of skill required of the user, productivity is much increased. An example familiar in every day life may help to explain an appropriate solving approach.

The regulatory basis for much of the transport system is the subject of changing and extensive regulation. Only the prospective driver {rather that the existing licence holder} is faced with the requirement for learning and being tested on these regulations as they are current at the time of his driving test. Subsequent to this occasion there is but a limited exposure to the occasional television or newspaper coverage of some aspects of the changes to the regulations, leading to an increasing gap between the knowledge of drivers of the regulations and the associated penalties and the actual situation defined by the current laws and regulations.

While the formal legal argument is that it is everyone's duty to discover and maintain an up to date knowledge of the law, the rapid growth of the exercise of regulatory powers subsequent to the passing of Acts, and the great increase in the volume of regulation has been leading to greater uncertainty of the application of the law in both the average person and in the legal area, where the testing of a law in Court is essential in many fields of government intervention to establish case law in the interpretation of a regulation: a thriving industry has grown up to help to try to inform users of regulations now in effect.

11

12 ARR No. 134

These joint effects suggest that there are several new requirements arising both for the formulation and the propagation of information about the law and the regulations enacted under enabling legislation.

These problems are in the eminent domain of some of the tools of logic programming and of small scale 'expert' systems building and are especially well addressed by text animation shells.

The formulation of regulatory legislation as logical statements, with a growing overload of complex rulebased overriding interpretations, is well suited to the style of logical statements of which PROLOG is an operational and testing tool. Imperial College, London, U.K. has made early moves (e.g. Hammond and Pickup 1982) in this area, and a famous example is the continuing reduction of the recently revised (and very complex) British Nationality Act into a PROLOG format. This elucidated a series of areas where apparent gaps had been left in the legislation, without the use of legal skills - which had been used to introduce these areas of flexibility when the drafting had been done in the conventional manner. Areas of information on health and welfare regulations have also been attacked for some time. Policy and regulatory matters and codes of practice are all in the same category of limited but valuable and cost effective applications of IKBS methods on micro systems.

PROLOG itself is a Protean tool for such purposes, and a specialised tool (an 'expert system shell', so called) is really needed to make this sort of text structuring task readily accessible to non-PROLOG programmers (still a far from plentiful breed: many engineers have still not moved on from Fortran to Pascal or Modula). Such a shell enfolds the substantial bodies of text which comprise the written statements of the clauses of a complex manual or expression of a regulation, and provides straiqhtforward means of keeping these bulky pieces of text out of the way (on a disc) until they are needed, and then automatically recalling them. This set of functions reduces the task to one of specifying the relationships between clauses (which are statements of rules or of facts) and the provision of explanations and automatic questioning of the user if a piece of information is required to resolve the next choice.

This limited set of support functions converts the task of writing a fairly lengthy PROLOG program into the direct specification of the necessary logical relationship which control the meaning of the input text.

This transformation of a general tool into a tool for a particular task is a general capability of computers, and is little different from the normal specification of an applied computer program. The difference here is that a large amount of the automatic explanation, querying, and control of the tool in operation is entirely handled by the PROLOG style of declarative statements, and programming in the conventional sense is not required. This frees up the specification task from the needs for special formats to relate to these supportive capabilities, and drastically simplifies the construction of a suitable shell (a shell being the external interface seen by the user of the too!). The similarities with the uses of 4th generation languages are appropriate to consider. The greater power of each statement is both a source of productivity and a need for careful specification.

It is clear that the successful construction of an 'animated text' (a term coined by Goodall to describe the ES/P Advisor Prolog shell) version of a complex regulation in this way will lead not only to a clear process of disentangling the parts of a regulation which apply in any specific case, but also provides a means for checking the structure of the regulation when at the construction and drafting stage, for explaining its application at this point and later on, for teaching the

ARR No. 134

application of the regulation and - of great importance to operational authorities -provides a low-manpower means of aiding members of the public (to whom the regulation is to apply) in finding out what it means in their particular case.

The underlying problems of setting up a system of this kind which can be adapted swiftly to track changes in regulations has been an underlying problem for Computer Based Learning Systems - which have in most cases less need to adapt. It is the declarative nature of PROLOG that now makes this considerably easier to do. The PROLOG system itself carries out the process of searching for a satisfactory answer to the queries posed. This means that the addition of an further fact or general rule (which may be input at run time by the user, or be generated directly by the program itself and added to the system) does NOT require reprogramming. This level of flexibility (in terms of the end use of the tool) is a fair measure of the potentially lower costs of maintaining a regulatory system in this general format.

It is perhaps not quite what is generally expected to be called an 'expert' system, and the author prefers the less tendentious title invoked by the U.K. Alvey Report of an 'Intelligent Knowledge Based System' - or even just 'Responsive Knowledge Based System' (RKBS) as the most appropriate title!

The automatic deduction of general rules and their progressive inclusion in a PROLOG system is a normal process in many PROLOG programs, but the need to specify the necessary predicates (the PROLOG statements of a fact or a rule, not a normal sequential programming statement) to achieve this in a particular case requires some skill in writing and understanding the peculiarities of PROLOG.

The PROSPECTOR-style of plausible reasoning expert advisory shell is a very different type of building tool, but still requires probabilities and rules to be specified to operate. The construction of such rules and the estimation of the key odds ratios for different conditional outcomes are an essential part of the expert advisory system's construction. This is very much the hardest part of the task to carry out as it is the knowledge engineering, and not the computing.

Once again, embryonic special tools exist to help. The 103 approach of Quinlan (1979) has been implemented by members of Donald Michie's group in Edinburgh for commercial sale as ALCS/Expert Ease. Expert Ease generates a series of Pascal statements embodying the rules that it has been able to adduce, while ALCS is a version of 103 integrated closely with the Superfile data base system, which generates the rules from the data base via Superfile calls.

This category of tool takes numerical sets of data as input, and then attempts to determine a series of conditional rules (and the associated probabilities) to represent this data. Some experiments have been done on Australian weather data records, with useful - but disappointing - results. On different sets of data the results can be much better (or indeed worse).

Rule induction systems of greater power are now appearing as part of newer systems such as Radian's Rulemaster and KDSlnc's KDS systems - both of which are now available on IBM PC's.

A developing requirement for industrial 'shells' with a delivery system to give users their own packaged KBS on their own microsystem has now converged with products like SAVOIR, which ICI and ISIS jointly developed, and is now used both to distribute packaged (runtime only) knowledge systems - and to link directly into large-scale data banks with an intelligent KBS front end for wheat and other types of farming, using Prestel (Viatel) technology. This is now a large-scale operative ICI commercial system.

13

14 ARR No. 134

This uniformity in user interface between a micro system and a central, remotely-accessed system for the small IKBS System is a generally emergent trend in computer-based workstations, and, in the case of knowledge engineering, reflects the fast that many valuable knowledge systems can be produced in a form suitable for small system delivery - albeit on a tightly defined area of knowledge.

The re-emergence of graphics (Prestel) as an aid on even very small systems is a key trend. KES, designed by ex-PROSPECTOR staff for Cyber and other large systems, does not yet offer graphics support, but most of the 'heavy duty' systems now available for larger problems (such as Teleknowledge's KS300, Xerox's LOOPS, Inference Corporation's ART, IntelliCorp's KEE) all offer powerful graphics. The essential message is that the production of an advice system using IKBS techniques has already attracted a series of support tools, drawing from the same technology. Tools for building expert systems have formed a part of largescale Artificial Intelligence work since the early I ~70s.

The diagnostic-advice style of IKBS system has gained substantial attention as a result of the very large-scale efforts of the MYCIN and PROSPECTOR projects in particular. This type of technique is essentially that of plausible reasoning, which can be implemented in a PROLOG system quite straightforwardly. A detailed example is given by Clark and McCabe (1982) for a car fault diagnosis problem. The latter approach work is echoed by Chin (1981) who produced a MYCIN-style module in micro-Prolog as part of his Master's work. This was the initial basis for the APES augmented-PROLOG system for easing the building of expert systems which build up their advice by querying the user (a phrase associated with Sergot and Hammond - the authors of APES). Th is expert shell is designed explicitly to help in this task, and to provide the runtime environment for the subsequent use of the expert system thereby constructed.

The complex connections between query-the-user PROLOG shells, using weighted reasoning for the rules asserted, and the simpler - but very much faster - shells written in a variety of languages (often in Fortran or Pascal) but restricted to plausible reasoning methods are confusing. The major differences in application tend to be the speed of the resulting system, and, the most important aspect, the availability of runtime systems to transfer the resultant expert system elsewhere without having to ensure both that the environment under which the system was developed was available to the prospective user, and that the readable specifications in which the system has been implemented was protected (if that was desired).

This gap between the PROLOG tools and the plausible reasoning shells will very shortly disappear, as the availability of PROLOG compilers spreads. Warren's early DEC - 10 and -20 compilers are now increasingly being challenged by a range of other PROLOG compilers for a wider range of systems (68000, 8086 and VAX are all appearing, including new high performance systems by Warren), whose performances are rapidly improving.

The important issue is that the current offerings from QUINT AS, the firm with which Warren is now associated, are claiming 20,000+ lips (logical inferences per second) on a Sun 68010-based large micro computer, yet this only increases to a claimed 23,000 on the VAX 11/780. The speeds are adequate to implement major systems in the huge virtual address spaces of these types of system, and irredeemably blurr the differences between 'small mainframe' and 'micro' in this type of application. The SUN has been selected by many groups (including the U.K. Alvey Project Group concerned) as their serious AI workstation. This position has been enhanced by the POPLOG environment built by Sussex University to provide compiled LISP, PROLOG and POP-II in a powerful

ARR No. 134

development environment. POPLOG must be the first full scale major development environment on 68000 microsystems rather than dedicated bitslice LISP stations. POPLOG has been used for IKBS methods of recognising buses in street scenes (Hogg, Sullivan, Baker and Mott 1984) and other substantial IKBS and imaging applications, particularly at Plymouth Technical College, U.K.

Most of the major manufacturers are close to releasing their own 'AI Workstations', DEC and Tectronix being perhaps the first to make this public -DEC with their OPS5 software release, T.I. with their Lisp-based Explorer, and Tek with their 8086-based Smalltalk/Lisp 68000-based workstation product.

It is important to note that the phrase 'expert system' is all too broadly used, and disguises the very real smaller scale applications which are worthwhile, cost effective, and can be completed in a few months on a small machine. The tools to make the task more one of organising and acquiring the 'knowledge' -always the real objective of such projects in the end analysis - stand clear of the complexities of the technical tools used to build the shells for the application.

Knowledge exists at all levels, and the need to deliver it more flexibly, understandably, and effectively is becoming widespread. IKBS or 'expert system' techniques are now genuinely available in a form suitable for extending the range of options available to systems analysts and end users to problems of both very modest size and to areas where the effort required still remain very large.

The difference this time around is that the development and delivery tools are there, in numbers, and on cheap machines for the development and learning stages. The commercial and applications promise of 'expert' systems can now be tested economically and effectively •••• and success stories are beginning to appear in many places.

Quite a number of these have taken the route of developing simple rules in a prototype environment (often Prolog), and then feeding them into an operational shell such as MicroExpert (Cox and Broughton 1985).

This approach is listed several times in a recent review of expert systems in the construction industry (Wager 1984) : particularly in connection with using the small APPLE-based 'Expert' - now renamed 'PRENTICE' shell developed by Lansdown (1982) as part of a study for the Royal Institute of British Architects in this manner. No doubt users of MicroExpert will then migrate their knowledge base to SAVOIR if and when they need more power and/or a video text interface.

This 'building block' approach of using the available tools at each stage and concentrating efforts on the knowledge acquisition is clearly effective. It also illustrates the importance of ensuring a migration path when investing significant amounts of effort in a particular tool on a micro system.

5. MORE DETAILED DISCUSSION OF MICROSYSTEM TOOL REQUIREMENTS

The various tools listed in the earlier sections require a little more discussion before it is really possible to consider which - if any - will fulfil a specific role or task.

There are a number of frames of reference required to make sense of the range of offerings.

I. Education 2. Prototyping

15

16

3. 4. 5. 6. 7. 8.

Product delivery Portability Technical validity Academic or commercial sourcing Performance Other operational considerations

ARR No. 134

Questions of price and local availability are always subject to change, and are excluded from this discussion.

Each of these headings require some careful qualification. Education in this field is often self-education, and so the best tool for learning may well not be used for anything other than that process. The cost of professional courses in these subject areas is typically of the same order or greater than the purchase of an appropriate self-learning tool. This is a typical situation for microsystems, and the purchase/training balance requires careful consideration in most such cases: do not fail to cost your own time in both cases.

Considerable efforts can be expended, in attempting to get approval to purchase a small piece of 'experimental' software, when the same effort would have obtained approval to attend a possibly more expensive course.

This is not untypical of modern professional life, where the continuing investment in new knowledge is not always recognised, sometimes by both management Old staff alike, as an increasingly necessary maintenance investment in human capital as the pace of change accelerates, and the useful lifetime of detailed technical knowledge falls.

It is difficult to discuss the performance of various tools with some guidelines. 'Performance' in terms of speed is only one dimension, and is frequently badly misrepresented: the use made of memory is also misleading if treated in isolation - and the 'capacity' in terms of 'numbers of rules' is quite inappropriate without a clear idea of how many 'rules' are needed in the particular tool to express a specific statement of information.

Benchmarks are therefore both dangerous and misleading but still required to evaluate the inevitable tradeoffs between different aspects.

For PROLOG in particular it is useful to have some idea of the underlying speed of the inference engine. This is normally expressed in terms of 'lips' (Logical Inferences/second). The simple test chosen to assume this rate of execution for this report is the 'naive reverse' of a list. This is a straightforward statement in PROLOG which produces a list of numbers in the reverse order to the input list. For n elements in the list this requires «N+ I ).(N+2)/2, or 496 inferences for the reversal of a 30 element list.

The basic statement of the naive reverse in PROLOG is given as Appendix A. A typical set of approximate results has been collated by the author and are given as Table II. These results have been obtained from different sources, and only a few have been re-run by the author. Not only is the naive reverse a rather one-eyed test, but also the differing implementations the host operating system have a visible and substantial effect. Garbage collection, stack space, clause indexing and many other features are completely ignored by such a test.

This modest list of results, some claimed, some fully verified is given to encourage the careful specification of more relevant and helpful means of assessing the 'performance', 'capability', and 'effectiveness' of different KBS tools

ARR No. 134

Table II

INDICATIVE AND APPROXIMATE PERFORMANCE LEVELS

OF SOME PROLOGS ON THE NAIVE REVERSE TEST

PROLOG INTERPRETERS

Automata Design (USA) MsDOS IBM PC 4.77 MHz 8088 :

MPROLOG (Hungary) MsDOS IBM XT 4.77 MHz 8088 :

PROLOG-I (U.K.) MsDOS IBM XT 4.77 MHz 8088 :

MicroProlog (U.K.) CP/M80 Z80 4MHz:

PROLOG-I (U.K.) CP/M80 Z80 4MHz:

NSW PROLOG(Australia) UNIX SUN 2/ I 20 10M Hz 680 I 0 :

PROLOG-I (U.K.) VMS VAX 11/780:

MUPROLOG (Australia) UNIX HP 9000

WARREN (U.K.) PDP-II

PROLOG COMPILERS

QUINTAS PROLOG (USA) UNIX.VAX 11/780:

• SUN 2/120 10 MHz 68010:

WARREN (U.K.) DEC-IO KI

LPA MACPROLOG (U.K.) Finder Macintosh 8MHz 68000 :

PROLOG-2 (U.K.) MsDOS IBM PC/XT 4.7Z MHz 8088 :

APRICOT 7+MHz 8086 :

LSI Octopus 8MHz 8088 :

Wang PC 8MHz 8086:

Burroughs B25 6MHz 80186 :

IBM PC/AT 6MHz 80286 :

17

50 Lips

300 Lips

250 Lips

250 Lips

310 Lips

490 Lips

1000 Lips

600 Lips

. 480 Lips

24000 Lips

20000 Lips

10000 Lips

2500 Lips

2200 Lips

3000 Lips

3500 Lips

5000 Lips

6000 Lips

6270 Lips

18 ARR No. 134

and development systems. This process is essential as a part of the understanding needed to make effective use of the 'canned' expertise - or otherwise - built into the shells available, and to properly address the application utility of the options. It would be a major error to assume that the performance on naive reverse is a fair reflection of the power of the Prolog, although broad comparisons (50, 500 or 5000 Lips?) are useful and not too misleading.

6. MIGRATION OF KBS TOOLS TO PERSONAL WORKSTATIONS

The migration of substantial tools from large mainframes to personal workstations (of various types) is well advanced, and the history and the reasons for this are well worth reviewing.

The most prolific sources of microsystems shells have been MYCIN and PROSPECTOR. PROSPECTOR offered not only a plausible inference mechanism and a classification rule system, but also an extensive graphics output facility. It is not entirely reasonable to attribute the later systems to PROSPECTOR or Mycin as specific progenitors, as both these and other systems clearly contributed as the field moved on.

Fig. 3 shows a selection of migration developments based on a PROSPECTOR - style of rule based plausible reasoning to establish a specific goal under partial information. AL/X (Reiter 1977) was a small-scale initial implementation at the University of Illinois, which later saw active service in the aid of an oil drilling platform safety advice system. It could be run on APPLE computers, and was - and is - marketed in this form via Edinburgh University in the U.K.

This particular shell was the first used ICI (U.K.) in their growing association with applied artifical intelligence, before moving on to the SPL 'SAGE' second generation shell.

A similar tool (Micro Expert) was produced by a small company (ISIS) (U.K.), for Apples - and then for larger systems; a case of reverse migration from the small machines, a pattern now also arising with Prolog and Prolog compilers Micro Expert has enjoyed wide use in industry teaching, in introductory work in groups ,starting in KBS programs, and is now (via drastically cut down form) part of the Alvey projects 'NCC starter kit' for getting potential IKBS application writers or users going quickly. It is also used as a target shell for work on determining 'rules' for some new work on construction application of KBS (see Lansdown 1982), where it also provides a separate run time only system to permit the easy distribution of the resultant KBS. The field experience of major companies in the U.K. led a joint venture with ICI to produce the SAVOIR shell, which has considerably greater power, but still resides as IBM PC systems -although mainly on VAXen for production use. This system has been taken up by British Telecom, British Aerospace, U.K. Admiralty, IBM, Thorn, EMI, etc., and is in stark contrast to the graphics-oriented KEE, ART and other large-scale U.S. systems ••• albeit these have been applied to larger problems in most cases.

These examples are cases of progressive migration up the scale from smaller systems, but the large development environments are equally quickly migrating downwards from large markings and and dedicated workstations to PC's.

ARR No. 134

7. MATCHING PROBLEM SOLVING METHODS TO REAL PROBLEMS

The plethora of acronyms in Table III might delude some readers into the the belief that any tool would do for their problems, and they would be quite wrong. Knowledge based systems require as much, if not more, problem analysis before reaching for the tool box that any other operational research or decision support issue, or computer application. Most current applications work in a range of fields are tentative, and a few are already practical.

Applications in the planning, transport and construction area have been discussed by several authors (Cohn, Harris and Boulby 1984; Dickey and Doughty 1983; Desrochers 1984; Lansdown 1984;Ogawa, Fu and Vao 1984; Rosenman and Gero 1984; Wager 1984; Wigan 1983 Q and t Wood 1985; Zozaya-Gorostiza 1985). This is typical of many application fields, and cover a wide range of initial investigations. Military applications in transport engineering are substantial and well advanced.

Experiments are needed to select the 'right' problems in each area, and it is now timely to do such work on microsystems. Very few examples indeed have yet been any more than identified as yet. This author gave a seminar to Transport Canada in November 1984 (Wigan 1984), which has already resulted in at least one such contract being initiated in Canada.

Table III

APPROXIMATE LEVELS OF 'RULE COMPLEXITY'

19

Subject Name Date Level: Feasibility Prototype Initial Field Use

Locomotive ma intenance DEL T A/CATS-I 1984 45 350 500-2000

Infectious diseases MYCIN 1976 400 diagnosis

Spectroscopy Interpretation DENDRAL 19

Ventilation PUFF 1979 400 400 of lungs

Structural Analysis SACON 1978 170 Program usage aid

Oil drill DRILLING 1984 250 sticking ADVISOR advisor

VAX XEON:RI 1983 250 750 500 configuration

Minerals PROSPECTOR 1980 330 Investigation

20 ARR No. 134

Fig. 5 - Prospector graphics output of an ore body prediction

8. GRAPHICS AND KNOWLEDGE BASED SYSTEMS

Transmission of understanding can be considerably enhanced by graphics displays and interactions, and knowledge based systems are no exception. While some of the small-scale tools (such as MicroProlog) have been hooked up to graphics displays (Julien 1982), the more useful scale graphics enhancements are exemplified by Micro Expert 4.0 graphic display of the hypothesis trees, with on screen navigation and inquiry of the rules and links (Cox and Broughton 1985). It is rarely remembered that PROSPECTOR included a graphics output in the SRI System (Fig. 5). However, at the heavy duty end of the spectrum, IKBS development environments make heavy use of bit-mapped graphics. KEE, ART and LOOPS provide some of the most compelling demonstrations that such tools are needed for developers - and effective for end users. At present this depends on high-end personal (mini) computers such as PERQ, LISP Machine, Texas Instruments Explorer Symbolics and Xerox 1100 series. Within 1984 these capabilities are beginning to arrive on personal (micro) computers.

The user of graphics in IKBS applications are not simply the obvious ones of assistance during development, and in improving the user interface during the usage of the system. Fig. 6 shows the final result of the development of an 'interpretation' IKBS chip for an electrophorometer. The usual spectral graph output, with some numerical associations with key scales are visible below the x-axis: the significant addition to the explanations phrase added by the embedded IKBS chip 'Interpretive Analysis: Electrophoretic pattern suggests acute inflammation'.

This is, perhaps, the inverse of graphics as an output and, where the verbal advice is a more concise and easily understood outcome than the spectral graph. It should be noted that the massive early DENDRAL system was designed specifically to interpret graphical output of the spectral variety: after ten years this task (or at least a well judged subset of it) is now operated in the field by a microsystem.

This increase in 'power' is due to several different factors, and is not simply due to the increasing power of mainframes and micro computers: Fig. 7 shows the development cycle used. The mainframe-based Rutgers EXPERT tool was used for development and testing, but once this phase had been completed

ARR No. 134

I

I )

10181 SEC 1031% TP gm% 6.400 AlG .827

fi

1\

" ~ ( f\

II \./ ~ v

Alb ---Alpha 1 45.26

2.90 5.09

.32

I

"'-Alpha 2 18.39

1.18

I

,

Bet. 14.00

.90

Interpretive AnlVysis: 8ectrophoretic pattern suggests acute inftammation.

I

1I

1

L Gamma 17.25

1. 10

----- - - - - - --- - --- - -- - - - - ------ - - - ----------- - -- - --- --- - - - --- -- ---000000000000000000000

Fig. 6 - Example of an IKBS-assisted eleclro phoretic analyser

EXPERT EXPERT EXPERT Special

mainframe medical generate chip

development f-- instru ment KBS ~ assemb ly f- executes in

language th e dedicated system prototype prototype system

Developing th e Helena Labs. Electrophoneti c Interpreter

Fig . 7 - Adding interp retation to an instrument

EXPERT was then also used to generate the micro computer assembler code to into the chip - directly from the newly developed knowledge base. This exact equivalent of cross-compiler development bring with it both large-scale tools and extremely rapid updating of the target delivery syste (via EPROM revisions) on an automated basis.

The complementary roles of mainframe and micro for this closely focussed application are evident: this being the other key development - the availability of a delivery system (here to EPROM) for the IKBS base once developed or revised.

The fresh emphasis on the delivery system is - as yet - still escaping the large-scale development environments such as KEE, ART and LOOPS: you must obtain a further U.S. $100000 piece of equipment on which to operate the developed IKBS.

GTE have produced an interesting expert system to help to buffer the imminent loss retirement of an expert diesel locomotive diagnostician by. Fig. 8 shows the mix of tools, development, and delivery systems. A mainframe Lisp has been used to develop the system: the whole structure, thus produced, has bee converted to FORTH, for speedy micro computer implementation, and optical discs, under the control of the micro system, then deliver both diagnosis and construction. An elegant use of all three types of tool.

21

22 ARR No. 134

Development ---. Portability DELTA/CATS-1 • all in LISP and

~ speed • in FORTH • dedicated

videodisk

Development of an integrated field diagnosis system

Fig. 8 - The G.E. diesel locomotive diagnostic system

"0"'" \4 6

:od 7 lit U

Fig. 9 - TRUCKIN: a Loops IKBS on a Xerox 1100 Lisp machine

The next quantum increase in the penetration of IKBS systems in the market place will arrive when multitasking bit-mapped graphics delivery systems drop to $1-3 K: this is likely to occur with increasing frequency from late 1984, and will open the market for both delivery and use of KEE-Ievel systems. The Zerox 1100 display of the 'trucking' system developed in LOOPS, with extensive analog 'controls', icons, and windows gives a good idea of the richness of the user interface due shortly on micros for IKBS delivery (Fig. 9). The shortages of knowledge engineers will still provide a firm limit on the rates of growth of the IKBS systems, but the rapidly increasing market size and cheap run of potential delivery systems for these developed tools will combine to expand the delivery of such systems and reduce their delivered costs.

One of the most productive lines of development has been the chain of products resulting from the MOLGEN system at Stand ford University. This was an expert system designed to help molecular biologist design DNA diagnostic experiments, and was based on a shell called UNITS. Several versions of MOLGEN emerged, one of which (Stefik et al. 1983) led to Xerox corporation's LOOPS. A simultaneous efforts by another group let to IntelliCorp's KEE development environment. These families of tools rely heavily on hybrid methods graphics workstations and integrated environments, furthermore a knowledge of INTERLISP (Teitelman 1978) is highly desirable for any knowledge engineer using them. Their tools have been effective in very large and significant problems, and are clearly the prototypes for the new generation of 680 I 0 supermicro equipment.

ARR No. 134

Successes in IKBS applications are still mainly in the 'intelligent assistant' area, and this will change more slowly as the formidable problems of knowledge engineering tools and the problems which are being grappled with must still await further basic research to reach the market - and the elapsed time to engineer significant systems will still be of the order of years, albeit 1-2, thus further delaying the purely technology-driven rate of IKBS deliveries to well outside the small scale 6 to 12 man-month problem.

9. SUMMARY COMMENTS ON SOME OF THE AVAILABLE TOOLS ON MICROSYSTEMS

The variety and rapid state of development of these tools means that these following comments should be regarded as relevant only to the date of writing (August 1985), and as simply partial expansions of the basic entries in Table III.

ADA Prolog is a fairly extensive MsDos prolog using virtual memory, and is perhaps the cheapest available with this feature, which may make up for its fairly slow execution rate.

ALCS is a commercial implementation of Quinlan's ID3 on MsDos, and is integrated with the micro free text Super File database system from South Data Software in London, U.K. This combination provides a convenient exploratory tool for generating empirical rules from raw data, but - like it's cousin Expert Ease -may be something of a Sourcerer's Apprentice if it is not used in an appropriate manner on data where there is an a priori reason or hypothesis that a decision rule tree would be an appropriate data structure to describe the mechanisms underlying the data.

AL/X is Reiter's (1977) straightforward backward chaining shell, originally put up on an APPLE II, in APPLE Pascal, for commercial distribution by Intelligent Terminals Ltd, in the U.K ••

APES is Hammond and Sergot's MsDos MicroProlog extension package (written in Micro Prolog) to permit easier construction of expert system dialogs and explanations. Due to British Technology Group export requirements, the source code is provided on Iy in an encoded format, so a number of users have been unable to make best use of it as it is not always clear how various features have been implemented, and this will interact with large systems built in MicroProlog. APES is also delivered as part of the POPLOG environment, where it can perform very well.

Arborist is a decision support decision tree system that is part of Texas Instruments' MsDos AI sales development program.

Arity Prolog is an interpreter and compiler system written in Lattice C to run under PCDOS. The I inking of user-written predicates in C is well supported. Arity is closely involved with LOTUS corporation, and is - not surprisingly - set up to easily access LOTUS files.

BUILD is an academic shell written by Rosenman at the University of Sydney, in ESI's PROLOG-I, for construction industry application.

Cambridge lisp is the lisp compiler associated with Fitch and Norman on large computers, and running under the TRIPOS operating system on large

23

24 ARR No. 134

machines. Tripos is now on Sage, Atari and Commodore 68000 systems, and this lisp has also been ported to CP/M-68K. This system is often associated with symbolic algebra (through Fitch) and requires a megabyte or more of memory. Rand Corporation licences for REDUCE are available.

DEC-IO Prolog is the original compiler, still available from Edinburgy University, although now overshadowed by the later - commercial - QUINT AS DEC-IO compi ler by the same authors.

DUCK is one of the smaller 'large-scale' development systems, and is associated with the OPS-V, XCON Carnegie-Mellon University. Duck is written in Franz lisp and is available on the SUN/CADMUS/MASSCOMP/ APOLLO quartet of excellent graphics oriented MC680 I 0 series of UNIX workstations.

ES/P Advisor is a Prolog shell written to run under MSDOS and Vax VMS. This shcll is essentially a backward chaining systern wilhuul cerluinty factors, optimised to handle very large volumes of text. It can be linked directly to interpreted or compiled Prolog, and thus can be extended indefinitely if appropriate. A crippled version of this is one of the systems chosen by the NCC (The U.K. National Computing Centre) as an element of the 'NCC expert systems starter pack' sponsored by the Alvey Directorate for IKBS familiarisation.

Expert Ease is available under the UCSD-p System as an implementation of Quinlan's ID3, Expert Ease is set up primarily as a self contained system, where a set of rules are deduced from all of the input data and then run as a complete 'expert system'. This can be very convenient, but is somewhat limited 'and conceptually error prone unless the data sets and hypothesis are well matched. A crippled version of this is part of NCC Starter Pack.

Expert Edge is a renamed TESS (which is in turn a renamed NUCLEUS): a plausible reasoning shell written in C by Helix of London U.K. for MsDos. TESS is intended to provide a harness for a series of business-oriented 'knowledge packages' of rules, and requires a substantial amount of memory.

ExperLlSP is a sound lisp tor the Apple Macintosh, and makes good use of a 512 Kb Mac.

Exsys is an MsDos shell written in C for backward chaining of rules, with some rather limited plausible reasoning facilities. Exsys can be linked to other languages,graphics, and Lotus files, and has a very large rule capacity and an on line manual on disc. Run time-only systems can be generated for use without the Exsys licenced disc.

Franz lisp is a very powerful and well supported UNIX Lisp available on 68010 (SUN) - and VAX systems - with full bit-mapped graphics support. A large number of substantial IKBS systems have been written in Franz lisp, as well as versions of MacSyma and Reduce.

Golden Common Lisp is a very extensive MsDos Lisp including full tutoring package. Golden Hill is Boston based, and includes Winston on their list of Directors. The Lisp package as a whole is probably the most extensive (if not most powerful) available on 8086 at print.

Hulk is a very cheap and very simple system for a BBC Micro, and was included here to point out that individual aspects of IKBS tools can often be illustrated best by tiny systems including only a single feature in a primitive form.

ARR No. 134

INSIGHT-I could easily - though its low price - become the 'Turbo Pascal' of backward chaining MsDos shells, and includes some plausible reasoning features: the documentation is brief but complete. INSIGHT -2 has forward chaining, enternal linkages and other features required for more serious work, but operational experience on INSIGHT -2 has not yet been obtained.

IF-Prolog is a MacIntosh product promoted by Springer-Verlag, but is not yet really ready for release. Pre release revisions can be obtained within Germany. The system is clearly a UNIX-Prolog, and the Mac Implementations is in Astec-C. No performance Fig.s are yet available.

IQ Lisp has been used as the basis of quite a number of MsDos products (including T.I.'s Personal Consultant and the initial version of Exsys).

KDS is a very interesting new system, tuned to the IBM PC, which offers massive rule (16,000 rules) and fact (256,000 facts) capacity and runtime -only system versions from the start. The use of rule induction methods as part of the system suggests that this could be considerably easier to use than some of the first generation shells listed here.

KES is one of the heavier duty products, and is the outcome of staff involved in PROSPECTORs subsequently building their own tools. KES has been operated only on large machines until recently (1985) when an IBM PC version has been advertised.

MacPROLOG by Frank McCabe (who is the author of Micro-Prolog and deeply involved in the HOPE and ALICE projects at Imperial College, U.K.) is a new incremental multi-syntax compiler, extensively integrated into the Mac environment, but not due to come out of beta test until late September 1985. This is clearly going to be one of the faster Pro logs, on the basis of the performance of the beta-level versions tested by this author.

M I is a very expensive and full featured backward chaining plausible reasoning MsDos shell, written by Teknowledge in the U.K.. Prolog-I interpreter to provide a delivery component for their entry level training package and for prototype testing.

Micro Expert has been widely used in teaching and pilot applications for some years, on CP/M80, 86, MsDos, UCSD and RT -II microsystems. It is a backward chaining shell with plausible reasoning, Bayesian structures, and fuzzy logic and is extendable to link to other data or to modify the plausible reasoning. A crippled version is a component of the NCC Starter Pack.

MicroProlog 3.1 is the current CP/M80, MsDos release of MicroProlog­the original Z80 Prolog, which has seen extensive educational use for a considerable time. The syntax is very individual, as Lisp like, which permits a habit - forming use of the meta-variable thereby permitted, which does not easily transfer to the Warren (Dec-I 0) 'standard' syntax. MicroProlog has by far the best third party documentary support from 5-10 year old to post graduate level (Clark and McCabe (1984), Berk (1985), Conlon (1985), De Sarum (1985), Ennals (1984) are a selection of these). Versions also exist for Sinclair Spectrum, BBC Micro and Acorn.

Micro Synics is perhaps an odd one out, as a BASIC MsDos front end system tailored to dialogs, but forms (in a cut down format) the fourth element of the NCC Starter Pack quartet.

25

26 ARR No. 134

MPROLOG is a major industrial Prolog interpreter, originating in Hungary on large mainframes, but now ported to MsDos and the IBM-PC. It has a very large number of built in predicates, and has recently acquired a set of graphics ('Eagle Graphics') facilities developed by Andres Domain of SKI on a recent visit to Australia. In the IBM-PC form it is fairly slow, but shares a strict modular structure with its larger (and compatible) brethren. A compiler is now under development in Hungary, and other processors (such as the 68000) are also scheduled.

MULisp:MU/Math is an early Z80 (and now 8086) Lisp dialect tailored specifically to symbolic mathematics. Surprisingly effective, there are now quite extensive libraries, although they cannot fairly be compared with those of Reduce of Macsyma.

MUProlog is one of several widely available academic Prologs written in C. MUProiog is from Melbourne University, and has extensive data base facilities. Likc most (but not all) such Prologs, MUrrolog is continually changing, but is economical to obtain. A number of 68000 and HP9000 installations have been done, and the very first (and long outdated) embryonic version, by John Lloyd, has even been seen on Pascal MicroEngines under the UCSD III Pascal.

NSWProiog is an academic Prolog from the University of NSW, and has been very stable. It has been ported to many small machines, from IBM-PC to Mac Intosh and SUN.

OPS-V from Expertelligence was written by Taylor, and is a fairly restricted version for the Macintosh with a limited number of rules (about 50). OPS-V is available (free) from Carnegie-Mellon University, and a considerable number of commercial versions have become available - but with widely varying levels of implementation quality enhancements and support.

OPS-V+ is a powerful extended version of OPS5 implementation for SUN, VAX (and now IBM-PC) with 1500 rule capacity, and therefore considerably more capable than the small lOPS-V' systems which share almost the same name.

Personal Consultant is a backward chaining shell, writtp.n in I~ lisp, and is offered by Texax Instruments for their 8086-based machines. Personal Consultant PLUS includes additional constructs such as frames and direct access to the underlying Lisp.

POPLOG is a very significant product package, created at Sussex University, as an integrated POP-2, Lisp and Prolog environment, with both interpreted and compiled code capabilities. It runs on SUN 680 I 0 workstations, and is well integrated with the graphics. Plymouth Technical College (U.K.) has used POPLOG for knowledge-based shape recognition and the machine version computations for London bus recognition (Hogg et al. 1984): this confluence of image processing and IKBS tools is a key development, and can be expected to be imitated and extended very quickly.

Portable Common Lisp is a 680 I 0 UNIX implementation of the emerging Lisp 'standard'.

Press is a Prolog system for algebraic manipulation and problem solving, written at the University of Edinbugh and readily available from there in both DEC-I 0 and QUINT AS Prolog formats.

Professional APES is a revised version of the MsDos APES set of MicroProlog extensions; implemented in Professional Prolog (the LPA upgraded MicroProlog).

ARR No. 134

Professional Prolog is an improved MicroProlog for Z80 and 8086 machines, and is substantially faster. The Dec-IO (Edinbugh) syntax option is considerably better to use, and might permit users of this de-facto standard to consider this Prolog.

Prolog-I is the name of a series of compatible Prolog interpreters produced by Expert Systems International in Oxford U.K. These range from Z80 CP/M to VAX-VMS, and include 8086 CP/M86 and MSDOS and RT II and RSX-II M versions. All use DEC-IO syntax. Prolog-Ion MsDos has been used by other major companies (such a Teknowledge) on which to base their own commercial products.

Prolog-2 is one of a number of recently released Prolog compilers initially on the IBM-PC. Prolog-2 has perhaps one of the most ambitious specifications, with windowing, interpreter modes within compiled code, access to the tokeniser and fast rates of execution. Early releases were limited to the interpreter mode, but with access to a very large virtual memory space for the data base.

Prolog-V is a modest MsDos system, using Dec-IO syntax, which is not yet useful for more than training purposes.

Prove is a Prolog shell written by John Thompson at CSIRO in Melbourne, which has been brought up on the Macintosh as well as larger machines. A Prolog compiler is desirable for any effective for use of this shell on such small machines.

Revea l is an MsDos shell developed by McDonnell-Douglas mainly for business use, and has been tailored to appear rather different to other shells at the user level.

Rule Master is a large-scale UNIX oriented tool, newly available on PC's: The ID3 approach is offered as an intrinsic part of the IKBS bui Iding environment.

Sage-PC is a second-generation version of the Sage plausible reason ing shell, which has recently been brought down to the IBM PC.

T.L.C. Lisp is a very fast Z80 CP/M Lisp written by John Allen. It has been available for a long time, but has been little use for knowledge systems work.

Quintas Prolog is the second-generation compiler by Warren and Perei ra ,who wrote the original DEC-IO compiler which is still the reference standard. Quintas Prolog provides what is at present the definitive performance under UNIX on 68010, VAX and Convergent Technologies Megaframe systems.

Reduce is now similar to Macsyma in power and range of capabilities, and runs well under compiled Cambridge Lisp and Franz Lisp on 68000 systems.

Savoir is the second generation forward and backward chaining shell derived from experience MicroExpert, and is set up for MsDos (as well as RSX li­M and VAX-VMS), and has videotext and videodisk interfaces in use. SAVOIR is the shell for one of the few expert systems already in general commercial use, accessible by the public on a wide area system, as the carrier for ICI end-user services, and is the tool for British Aerospaces' massive new expert system for NASTRAN finite element applications, at a level far beyond the original small scale test in this area (SACON). It is interesting to note that the authors of TESS (Expert Edge) are numbered amongst the customers.

27

28 ARR No. 134

TIMM is another rule induction system, combined with a shell. It has recently been brought down to the IBM-PC.

XL is a very recent Australian forward and backward chaining frame­oriented system under UNIX, presently limited to 50-100 rules in interpreted mode, with expansion and compilation in hand.

These notes provide a broad view of the variety of presently available tools, but does NOT cover the quality and performance of these systems in development and use.

Only a few systems (notably KES, KDS, POPLOG, QUINTAS, Franzlisp, SAVOIR, OPS-V+) could reasonably be viewed as fairly full development environments, although almost all of the tools listed above are adequate in context to do the - sometimes specialised and limited - jobs for which they are most appropriate.

The full-scale complete IKBS development environments such as KEE, ART, LOOPS, etc. have not, in general, migrated down to small machines, largely due to the considerable computing power approprate to the larger problems for which they are suited.

10. A QUESTION OF PERSPECTIVE

The basic elements of an expert system are reasonably obvious, specification of the knowledge, a method of interacting with the user, and a black box whose job it is to access the knowledge, process it, and control the interaction with the user. An 'cxpcrt' system or a 'KBS' is, after all, just (J cOrrl!-,ufer !-,rogram.

Un like other programs, the performance or power of KBS systems needs to be measured in terms other than 'speed of execution of a task'. Just as the 'naive list reverse' bench mark simply does not cover more than even a part of this aspect the 'performance' of a PROLOG, and other measures of the capacity of the PROLOG are at least as important, the assessment of the capacity or complexity of a KBS shell requires several different dimensions.

Although there are a range of methods of representing 'knowledge' almost all systems include the capacity to handle a 'rule' (IF (condition) THEN (action», although the complexity permitted for a single 'rule' may vary considerably between different KBS tools. Consequently the 'number of rules' is one sensible measure of complexity for judging expert systems, and the tools being considered.

the field:

I . 2. 3.

A general perspective may be gained from the following results from

a feasibility demonstration a Lab prototype (reasonable coverage) a production system (extensive coverage)

40 rules 400 rules 1400 rules

These capac ities are reflected in the microsystems tools. For example, the Expertelligence OPS-5 on a Macintosh is a limited system handling only about 50 rules (about the same as the severely stripped down versions of various streets which form the NCC 'Starter Pack'), MicroExpert handles 400 + rules, EXSYS handles about 700 rules - but what each system defines as a 'rule' can vary a great deal, and the 'power' of a rule may vary by a fraction of 5, 10 or more between

ARR No. 134

onE RULE FOR YOU-

How many for the system?

OPS - 5

(Carnegie Mellon Uni.) , R1 [XCONj

(DEC - CMU) Mainframe

Progenitor

29

[Aor B if C 1

, A if B or C ---1-------~iCrOprOgen;­OPS-5+

A if C BifC

A HB A ifC

Fig. 10 - How many rules?

(Arte lligence) r-'------- ----,

MAC OPS-5 IBM-PC (Expertelligence)

1984

SUN r-~--------,

MAC

1984

TOPSI (OMS Inc.)

Z8D

IBM-PC

1985

Fig. 11 - The Devolution of OPS-V

different expert system shells of which a simple measure of response time is inescapably necessary.

In spite of these cautious comments, it is quite clear that non-trivial systems are already in the capacity range of currently common microsystems, and that this capacity is more than adequate for feasibility and initial demonstration/field use. The rapid escalation of microsystems power and memory size will ensure that the economics of hardware capacity and provision will not present a problem for long - and the objectives of several major National projects around the world (in the U.S., Japan, U.K. and EEC for example) are to provide personal computer/workstation speed and capabilities to far exceed the large general purpose computers in current use for major expert systems.

Table III is an (approximate) assembly of several different sources of problem complexity levels, and provides a further opportunity for caution in considering KBS projects outside clearly defined and circumscribed domains. The sharp reduction in the number of rules in XCON:RI was due to the reimplementation of the speed programming language (OPS-V), which increased the power of a single 'rule'. Today XCON handles several thousand rules and outperforms the experts in DEC in its knowledge domain of computer configuration. Nevertheless, care must be taken when interpreting the 'number of rules' capacity of systems: an illustrative example is given as Fig. 10 to demonstrate the effect of even simple specification variations.

While XCON is perhaps a little outside microsystem capabilities today, this will soon change: the OPS-V development language (Forgy 1981) is widely available at a fairly low level of support, but, as seen in Fig. II and Table I, is already running in a variety of implementations on microsystems.

Too Is such as KDS, wh ich have the capac ity for up to 16000 ru les on a PC, and offer rule induction assistance as simply one aspect of the development environment, are already appearing on microsystems.

30 ARR No. 134

II. CONCLUSIONS

The tools for IKBS construction and use at a practical, closely focussed level are now fairly readily available. They differ in quality and performance, but in practice the key problem is no longer finding a tool, but selecting one. The attention of potential users should now be directed towards the definition, extraction and implementation of the knowledge base rather than the tools.

With the advent of Prolog compilers on PC's and other microsystems, and runtime systems for many of the better-quality shells, the problems of the distribution of the results of IKBS construction on micros are now manageable. Videotext, graphics, and optical discs are now also practical delivery media on microsystems, and embedded small IKBS systems within equipment is already a reality.

Versions of the integrated graphics and hybrid expert system building environments presently used for large-scale applications (KEE, etc.) will shortly appear on such 'super micro' 680 I O-Ievel systems as the TEK 4410, and must therefore be considered to be moving into the 'personal system' area. This type of tool is still better thought of as the basis for large-effort projects, and the current crop of micro systems sheets and tools on 8086 and 68000 family systems will still provide appropriate entry level and initial project support.

Many early transport, road construction and other industry applications will be fully satisfied by current tools, as they are characterised by a shallow underlying theoretical base, and long on the use of operational - and generally little recorded - judgemental experience.

REFERENCES

ATKINS, J.S., KUNZ, J.C., SHORTCLIFFE, G.H. and FALLA T, R •. I. (1984). PUFF: an expert system for interpretation of preliminary function data. In B.C. Clancey, and G.H. Shortcliffe, (Ed.) 'Readings in Medical ArtificCiT Intelligence: The First Decade.' (Addison-Wesley: Reading.)

BENNETT, J.S. and ENG ELM ORE, R.S. (1979). SAC ON: a knowledge based consultant for structural analysis. Proc. 6th IJCAI79, pp. 47-49.

BERK, A.A. (1985). MicroProlog and Artificial Intelligence. (Collins: London) (164 pp.).

BUCHANAN, B.G., SMITH, D.H., WHITE, W.C., GRITTER, R., FEIGENBAUM, F.A., LEDERBURG, J. and DJERASSI, C. (1976). Applications of artificial intelligence for chemical inference. Automatic rule formation in mass spectrometry by means of the meta-DEN ORAL program. J. Am. Chem. (98), pp. 6168-78.

BUCHANAN, B.G. and SHORTLIFFE, E.H. (Editors) (1984). Rule-based expert systems: the MYCIN experiments of the Stanford Heuristic Programming Project. (Addison-Wesley: Reading, Mass.)

BUNDY, A., BYRD, L., LAGER, G., MELLISH, C. and PALMER, M. (1979). Solving mechanics problems using meta-level inference • .!!:!. IJCAI6 Kaufman, Palo Alto, California (pp. 1071-1127).

ARR No. 134

BUNDY, A. and WELHAM, B. (1981). Using Meta-level inference for selective application of multiple rewrite sets in algebraic manipulation. Artificial Intelligence pp. 190-210.

BYRD, L., PEREIRA, F. and WARREN, D. (1980). A Guide to DEC- I 0 Prolog and Prolog DebuGging Facilities. DAI Occasional Paper 19, Dept Artificial Intelligence, niv Edinburgh.

CHIN, (1981). Computer Interrogation Systems: CISP. M.Sc. Thesis, Imperial College, London, U.K.

CLANCEY, W.J. (1979). Tutoring rules for guiding a case method dialogue. Int. J. Man-Machine Studies (11), pp. 25-49.

CLARK, K.L. and McCABE, F.G. (1982). PROLOG: a language for implementing expert systems. 1!!. 'Machine Intelligence 10' (Ellis Horwood: Chichester)

------------- (1984). Micro-PROLOG: Programming in Logic. (Prentice Hall: Englewood Cliffs, N.J.) (40 I pp.).

COHN, L., HARRIS, G., and BOULBY, F. (1984). An expert system for highway noise decision making. Tech. Rep., Dept. Eng., Vanderbuilt Univ.

CONLON, T. (1985). Start Problem Solving with Prolog. (Addison-Wesley: Sydney.) (182 pp.)

COX, P., and BROUGHTON, R. (1985). Micro Expert Users Manual Version 4.0. lSI Ltd, Redhill.

DAVIS, R. (1979). Interactive transfer of expertise acquisition of new inference rules. Artificallntelligence 12(2), pp. 121-57.

DEMSTER, A.P. (1968). A generalisation of Bayesian inference. J. R. Stat. Soc. B(30), pp. 205-47.

DESROCHERS, M. (1984). Les systemes experts et la recherche operationelle. Report 386, Centre de Recherches sur les Transports, Univ. Montreal, Quebec. (66 pp.) .

DE SARUM, H. (1985). Programming in MicroProlog. (Ellis Horwood: Chichester.) (166 pp.).

DICKEY J., and DOUGHTY, J. (1983). The computer consultant: Users guide for the APPLE II. Virginia Polytechnic, Blacksburg, Virginia. (139 pp.) (Unpublished) • .

DUDA, R.O., HART, P.E., NILSSON, N.J., REBOH, R., SLOCUM, J. and SUTHERLAND, G.L. (1978). Development of a computer based consultant for mineral exploration - SRI International. Report on SRI projects 5821 and 6415, SRI, Menlo Park, California.

DUDA, R.O., HART, P.E. BARRETT, P., GASHNIG, J., KONOLlGE, K., REBOH, R. and SLOCUM, J. (1979). Development of the PROSPECTOR System for mineral exploration. Final Report: SRI Projects 5821, 6415. Stanford Res. Inst., Menlo Park, California.

ENNALS, R. (1984). Beginning MicroProlog. (Ellis Horwood: Chichester.)

31

32 ARR No. 134

rAIN, J., GORLlN, D., HAYES-ROTH, R., ROSENSCHEIN, J., SOWIZRAL, H., and WATERMAN, D. (1981). The ROSIE reference manual. Tech. Rep. NI-1647-ARPA. Rand Corporation, Santa Monica, California.

FORGY, C.L. (1981). The OPS5 users manual. Tech. Rep. CMU-CS-81-135. Computer Science Dept. Carnegie, Mellon Univ. Pittsburgh.

GARVEY, T.D., LOWRANCE, J.D. and FISCHLER, M.A. (1981). An inference technique for integrating knowledge from disparate sources. Proc. 7th. Int. Joint Conf. Artifical Intelligence. William Kaufman, Palo Alto, California, pp. 319-25.

GALE, W.A. and PREGIBON, D. (1982). An expert system for regression analysis. Bell Labs. Tech. Rep. Murray Hill, N.J.

HAMMOND, P. and PICKUP, I. (1982). Prolog representation of DHSS Regulations: a pilot project. Dept. Computing, Working Papcr 82/26, Imperial College, London.

HEARN, A. (1984). REDUCE users guide to version 3.1. Rand Corp., Santa Monica. (180 pp.).

HOGG, D.C., SULLIVAN, G.D., BAKER, K.D. and MOTT, D.H. (1984). Recognition of vehicles in traffic scenes using geometric models. Int. Conf. on Road Traffic Data Collection. Conf. Pub. 242. Inst. of Elec. Eng., London, pp. 115-19.

ISHIZU, K., M., FU, L.S. and Y AO, J. T.P. (1982). Inference procedures under uncertainty for the problem reduction method. Info. Sci. (28), pp. 179-206.

JULIEN, SL. (1982).. Graphics in MicroProlog. Dept. Computing Working Paper 82/17, Imperial College, London. (76 pp.).

LANSDOWN, J. (1982). Expert systems: their impact on the construction industry. RIBA Conference Fund, London.

MARTIN, W.A. and F ATEMAN, R.J. (1971). The Macsyma SYSTEM In Proc. 2nd Symp. on Symbolic and Algebra-ic Manipulation, Los Angeles, pp. 59-75-:-

MICHALSKI, R.S. and CHILAUSKI, R.L. (1980). Knowledge acquisition by encoding expert rules verses computer induction from examples: a case study involving soyabean pathology. Int. J. for Man Machine Stud. 12(1), pp. 63-87.

OGAWA, H, FU., L.S. and Y AO, J. T.P. (1984). An expert system for structure damage assessment. Pattern Recogn ition Lett. (2), pp. 427-32.

QUINLAN, J.R. (1979). Discovering rules by induction from large collections of examples. IN D. Michie, (Ed.) 'Expert Systems in the Micro-Electronic Age.' Edinburgh University Press, pp. 168-20 I.

-------------- (1982). Semi-autonomous acquisition of pattern-based knowledge In D. Michie, (1982). 'Introductory Readings in Expert Systems.' Gordon and Breach, London, pp. 192-207.

-------------- (1983) INFERNO: A cautious approach to uncertain inference. The Computer J. 26(3), pp. 255-69. -

REITER, J.E. (1977). AL/X: An inference system for probabilistic reasoning. MS Thesis, Univ. Illinois, Urbana, III. (84 pp.).

ARR No. 134

ROBINSON, J.A. (1979). Logic: Form and Function. Edinburgh University Press. ROUSSEL, P. (1975) PROLOG: Manual d'utilisation. Rapporte Interne GIA, Ver de Luminy, Univ. d'Aix Marseille, Luminy, France.

ROSENMAN, M.A. and GERO, J.S. (1984). An expert system for building regulations. Dept. Architectural Science, Univ. Sydney, (44 pp.).

SHAFER, G. (1976). A theory of statistical evidence. In W. Harper, and C.A. Hooker, (Eds) 'Foundations of Probability Theroy, Statistical Inference, and Statistical Theories of Science' (II), pp. 365-436.

STEFIK, M., BORROW, D.G., MITTAL, S. and CONWAY, L. (1983). Knowledge programming in LOOPS: report on an experimental course. AI Magazine 4(3).

TEITELMAN, W. (1978). INTERLISP Reference Manual. Xerox PARC, Palo Alto, CA.

VAN MELLE, W. (1979). A domain-dependent production rule system for consultation programs. Proc. 6th Int. IJCAI79 Joint Conf. on Artifical Intelligence, Tokyo, Japan. pp. 923-25.

WAGER, D.M. (1984). Expert systems and the construction industry. Construction Industry Computing Assoc., Cambridge.

WEISS, S. and KULIKOWSKI, C. (1984). A Practical Guide to Designing Expert Systems. (Row man and Allanheld: Totowa, N.J.)

WIGAN, M.R. (1983a). Road life curves: some initial analytic thoughts. Conf. Aust. Inst. T ransp. Qld. Un iv. (28 pp.).

-------------- (1983b). Information technology and transportation: what research needs to be startednow? Working Paper 172, Inst. Transp. Stud., Univ. Leeds.

-------------- (1984). Useful information from the data explosion: Applied IKBS for transport. Presentation to Transport Canada Nov. ON 1287, Australian Road Research Board. (20 pp.) (Unpublished).

WOOD, P. (1985). A knowledge based system for transit bus maintenance. Tech. Rep. MP-84W 15, Mitre Corp., McLean, Virginia.

ZOZAY A-GOROSTIZA, C. (1985). THAll: A traffic light signal setting expert system assistant. Tech. Rep., Dept. Civil Eng., Carnegie-Mellon Univ., Pittsburgh, Pennsylvania.

33

34 ARR No. 134

APPENDIX A

THE NAIVE REVERSE IN PROLOG

Nlist ( 1,2,3,4,5,6,7,8,9,10, II, 12, 13, 14, 15, 16, 17, 18,19,20,21,22,23, 24, 25, 26, 27, 28, 29, 30 ).

Nreverse«( J ,C J).

Nreverse ([X I Rest], Result):­Nreverse (Rest, New), append (New, [X], Result).

1* empty list specific *1

1* prune head *1 1* reverse the ta i I *1 1* add old head to end *1

append (rJ, L, L). append (0< I L I.J , L2, [xl Lj) ):- append (L I , L2, L3).

Assuming a predicate 'time' exists which pr ints the time out on the console, a further predicate 'Do Nothing' is required to determine the actual execution time of the naive reverse:

?- time, Nreverse (N list, Result), time.

?- time, Do Nothing, time.

These two queries will then provide the necessary times to deduce the Lip rate, and for the 30 element list the time differences in seconds between the two intervals printed out from these two queries must be divided by 496.

ARR No. 134

APPENDIX B

A SESSION WITH THE ALGEBRAIC SOLUTION SYSTEM PRESS, WRITTEN IN PROLOG

/I prolog press I? - aeb (I) /* aeb (') is the formula below */ Solving sec (2* x) + tan (2*x) = 3, for x Applying substitution

x *2 = xl to : sec (x *2) + tan (x *2) = 3 gives: sec (x I) + tan (x I) = 3

Rewriting equation in terms of sec (x I) gives sec (x I) + (sec (x I) 2 - I) (1/2) = 3

Applying substitution x2 = sec (x I) x2 + (x2 2 + -I) (1/2) = 3

Trying to isolate x2 2 + -I in x2 + (x2 2 + -I) (I /2) = 3

x2 2 = -I = ( x2* -I +3) 2 (by Isolation)

Polynomial x2 2 = ( x2* -I + 3) 2* -I + -I becomes x2 * 6 + -10 when in normal form

Aplying substitution x2 = sec ( x I)

to : x2 = (5/3) gives: sec ( x I) = (5/3)

Letting n I denote an arbitrary integer x I = n 1* 360 + arcsec «5/3»: x I = n 1* 360 + arcsec «5/3»* -I gives: x*2 = n 1* 360 + arcsec «5/3» : x*2 = n I + 360 + arc sec «5/3» -I

Solving disjunct: x*2 = n 1* 360 + arcsec «5/3»-1 x = (n I *360 + arc sec «5/3)))* (1/2)

(by Isolation)

Solving disjunct: x*2 = n 1* 360 + arcsec «t /3»* -I x = (n 1* 360 + arcsec «5/3)))* (1/2)

(by Isolation)

Answer is : (X I : X2) where X I = x = (n 1* 360 + arcsec «5/3»)* (1/2) X2 = x = (n 1* 360 + arcsec «5/3»* -1)* (1/2)

All of these outputs were generated by PRESS from the initial problem statement.

35