Europe
23 PROLOG: a language for implementing expert systems K. L. Clark and F. G. McCabe
We briefly describe the logic programming language PROLOG concentrating on those aspects of the language that make it suitable for implementing expert systems. We show how features of expert systems such as: (1) inference generated requests for data, (2) probabilistic reasoning, (3) explanation of behaviour can be easily programmed in PROLOG. We illustrate each of these features by showing how a fault finder expert could be programmed in PROLOG.
22 Higher-order extensions to PROLOG: are they needed?
PROLOG is a simple and powerful progamming language based on first-order logic. This paper examines two possible extensions to the language which would generally be considered "higher-order".t The first extension introduces lambda expressions and predicate variables so that functions and relations can be treated as'first class' data objects. We argue that this extension does not add anything to the real power of the language. The other extension concerns the introduction of set expressions to denote the set of all (provable) solutions to some goal. We argue that this extension does indeed fill a real gap in the language, but must be defined with care.
LOGLISP: an alternative to PROLOG
Seven years or so after it was first proposed (Kowalski 1974), the technique of'logic programming' today has an enthusiastic band of users and an increasingly impressive record of applications. For most of these people, logic progamming means PROLOG, the system defined and originally implemented by the Marseille group (Roussel 1975). PROLOG has since been implemented in several other places, most notably at Edinburgh (Warren et al. 1977). Much of the rapid success of logic progamming is due to these implementations of PROLOG (as well as to the inspired missionary work of Kowalski, van Emden, Clark and others). The Edinburgh PROLOG system is in particular a superb piece of software engineering which allows the logic progammer to compile assertions into DEC-10 machine code and thus run logic programs with an efficiency which compares favourably with that of compiled LISP. All other implementations of logic programming (including our own, which we describe in this paper) are based on interpreters.
16 Question-answering in English
The problem we consider in this paper is that of discovering formal rules which will enable us to decide when a question posed in English can be answered on the basis of one or more declarative English sentences. To illustrate how this may be done in very simple cases we give rules which translate certain declarative sentences and questions involving the quantifiers'some', 'every', 'any', and'no' into a modified first-order predicate calculus, and answer the questions by comparing their translated forms with those of the declaratives. We suggest that in order to capture the meanings of more complex sentences it will be necessary to go beyond the first-order predicate calculus, to a notation in which the scope of words other than quantifiers and negations is clearly indicated. We conclude by describing a notational form for connected sentences, which seems to be a natural extension of Chomsky's'deep structures'. INTRODUCTION In this paper we shall consider the problem of when an English sentence, or a series of sentences, provides enough information to answer a question, also posed in English.
PROLOGUE
Editors' note The essay by Alan Turing, which we reproduce here, was written in September 1947, when the world's first stored-program digital computers, to a significant degree his own conceptual creation, were about to become operational. The paper was submitted in 1948 to the National Physical Laboratory, where Turing was then employed, as a report on his year's sabbatical leave which he had spent at Cambridge. During the same period Turing achieved his demonstration of the unsolvability of the word problem for semi-groups with cancellation. A condensed version is to appear in the Collected Works of A.M.Turing which is forthcoming under Dr Gandy's editorship. We also thank Mr Michael Woodger, who incidentally helped Turing finish it by drawing the original diagrams, for an unforgettable account of the furore created by Turing at N.P.L. with his prognostications of intelligent machinery: 'Turing is going to infest the countryside' some declared'with a robot which will live on twigs and scrap iron!' The anticipation of the notion of a sub-routine on page 21 and of the device of doing machine problem-solving via theorem-proving algorithms (p. Abstract The possible ways in which machinery might be made to show intelligent behaviour are discussed. The analogy with the human brain is used as a guiding principle. It is pointed out that the potentialities of the human intelligence can only be realized if suitable education is provided. The investigation mainly centres round an analogous teaching process applied to machines. The idea of an unorganized machine is defined, and it is suggested that the infant human cortex is of this nature. Simple examples of such machines are given, and their education by means of rewards and punishments is discussed. I propose to investigate the question as to whether it is possible for machinery to show intelligent behaviour. It is usually assumed without argument that it is not possible. Common catch phrases such as'acting like a machine', 'purely mechanical behaviour' reveal this common attitude. It is not difficult to see why such an attitude should have arisen. Some of the reasons are: (a) An unwillingness to admit the possibility that mankind can have any rivals in intellectual power. This occurs as much amongst intellectual people as amongst others: they have more to lose. Those who admit the possibility all agree that its realization would be very disagreeable.