Overview
MACHINE INTELLIGENCE 13
The two outstanding figures in the history of computer science are Alan Turing and John von Neumann, and they shared the view that logic was the key to understanding and automating computation. In particular, it was Turing who gave us in the mid-1930s the fundamental analysis, and the logical definition, of the concept of'computability by machine' and who discovered the surprising and beautiful basic fact that there exist universal machines which by suitable programming can be made to t This essay is an expanded and revised version of one entitled The Role of Logic in Computer Science and Artificial Intelligence, which was completed in January 1992 (and was later published in the Proceedings of the Fifth Generation computer Systems 1992 Conference). Since completing that essay I have had the benefit of extremely helpful discussions on many of the details with Professor Donald Michie and Professor I. J. Good, both of whom knew Turing well during the war years at Bletchley Park. Professor J. A. N. Lee, whose knowledge of the literature and archives of the history of computing is encyclopedic, also provided additional information, some of which is still unpublished. Further light has very recently been shed on the von Neumann side of the story by Norman Macrae's excellent biography John von Neumann (Macrae 1992). Accordingly, it seemed appropriate to undertake a more complete and thorough version of the FGCS'92 essay, focussing somewhat more on the interesting historical and biographical issues. I am grateful to Donald Michie and Stephen Muggleton for inviting me to contribute such a'second edition' to the present volume, and I would also like to thank the Institute for New Computer Technology (ICOT) for kind permission to make use of the FGCS'92 essay in this way. 1 LOGIC, COMPUTERS, TURING, AND VON NEUMANN
MACHINE INTELLIGENCE 11
In this paper we will be concerned with such reasoning in its most general form, that is, in inferences that are defeasible: given more information, we may retract them. The purpose of this paper is to introduce a form of non-monotonic inference based on the notion of a partial model of the world. We take partial models to reflect our partial knowledge of the true state of affairs. We then define non-monotonic inference as the process of filling in unknown parts of the model with conjectures: statements that could turn out to be false, given more complete knowledge. To take a standard example from default reasoning: since most birds can fly, if Tweety is a bird it is reasonable to assume that she can fly, at least in the absence of any information to the contrary. We thus have some justification for filling in our partial picture of the world with this conjecture. If our knowledge includes the fact that Tweety is an ostrich, then no such justification exists, and the conjecture must be retracted.
13 Decision Trees and Multi-Valued Attributes J. R. Quinlan
The traditional approach involving protracted interaction between a knowledge engineer and a domain expert is viable only to the extent that both these resources are available; this approach will not meet the apparently exponential growth in demand for expert systems. A solution to this dilemma requires rethinking the way knowledge-based products are built. An example of this reappraisal of methodology appears in Michie (1983), and is based on the principle of formalizing and refining the knowledge implicit in collections of examples or data bases. Dietterich and Michalski (1983) give an overview of methods for learning from examples. There are many such, all based on the idea of inductive generalization. One of the simplest of these methods dates back to work by Hunt in the late fifties (Hunt et al., 1966). Each given example, described by measuring certain fixed properties, belongs to a known class and the'learning' takes the form of developing a classification rule that can then be applied to new objects. Simple though it may be, derivatives of this method have achieved useful results; Kononenko et al. (1984), for example, have managed to generate five medical diagnosis systems with minimal reference to diagnosticians.
Machine Intelligence 4
The equivalence problem for program schemes, or for programs, is reduced to the proving of a theorem in second-order logic. This work extends Manna's first-order logic reductions. Some examples of the technique are given together with a suggested method for obtaining proofs in special cases by firstorder methods. INTRODUCTION Several workers in recent years have considered using techniques and ideas of various mathematical theories of computation for proving interesting results about computer programs. This paper is concerned with two of these approaches.
Report 83 27 Discovering Patterns in Sequences of Objects . S Stanford Thomas G. S. May 1983
A more general kind of sequence-prediction problem--the non-deterministic prediction problem--is defined, and a general methodology for its solution presented. The methodology, called SPARC, employs multiple description models to guide the search for plausible sequence-generating rules. Three different models are presented along with algorithms for instantiating them to discover rules. The instantiation process requires that the initial input sequence be substantially transformed to make explicit important features of the sequence. Four different data transformation operators arc described. The architecture of a system called SPARC/E is presented, which implements most of the methodology for discovering sequence-generating rules in the card game Elcusis. Examples of the execution of SPARC/E are presented.
Automatic Programming Robert Elschlager and Jorge Phillips Handbook of Artificial Intelligence
Theorem Proving Vision Robotics Information Processing Psychology Learning and Inductive Inference Planning and Related Problem-solving Techniques Automatic Programming (AP) Is a new, dynamic, and not precisely defined area of artificial intelligence. This overview discusses the definitions, history, motivating forces and goals of automatic programming and includes a brief description of the basic characteristics and central issues of AP systems. The article begins with a section discussing the various possible definitions of automatic programming, the background in which it has achieved existence, as well as some of its general motivating forces and goals. The next section describes four characteristics of all AP systems: the method by which a user of such a system specifies or describes the desired program, the target language in which the system writes the program, the problem or application area to which the system is addressed, and the approach or operational method employed by the system. Next, a section discusses four basic issues, one or more of which concern all AP systems: the representation and processing of partial or incomplete information; the transformation of structures, and especially the transformation of program descriptions into other descriptions (in this chapter, the term program description includes the user's specification of the desired program, any Internal representations of the progrrm, as well as the target language implementation); the efficiency of the target language Imp,ementation; and the system's capabilities for aiding in the understanding of the program.