ebook img

Computation: Finite and Infinite Machines PDF

334 Pages·1967·7.093 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computation: Finite and Infinite Machines

Prentice-Hall Series in Automatic Computation George Forsythe, editor BATES AND DOUGLAS, Programming Language/ One BALJMANN, FELICIANO, BAUER, AND SAMELSON, Introduction to ALGOL BOWLES (editor), Computers t`n Humanistic Research CESCHINO AND KUNTZMAN, Numerical Solution oflnitial Value Problems DESMONDE, Computers and Their Uses DESMONDE, Real- Time Data Processing S ystems: Introductory Concepts EVANS, WALLACE, AND SUTHERLAND, Simulation Us1`ng Digital Computers FORSYTHE AND MOLER, Computer Solution of Linear Algebraic Systems GOLDEN, Fortran IV: Programming and Computing GOLDEN AND LEICHUS, IBM 360; Programming and Computing HARTMANIS AND STEARNS, Algebraic Structure Theory ofSequential Machines HULL, Introduction to Computing MARTIN, Design of Real-time Computer Systems MARTIN, Programming Real- Time Computer Systems MINSKY, Computation: Finite and Infinite Machines MOORE, Interval Analysis SCHULTZ, Digital Processing: A System Orientation SNYDER, Chebyshev Methods in Numerical Approximation STROUD AND SECREST, Gaussian Quadrature Formulas TRAUB, Iterative Methods for the Solution of Equations VARGA, Matrix Iterative Analysis WILKINSON, Rounding Errors in Algebraic Processes ZIEGLE R, Shared- Tinte Data Processing PRENTICE HALL INTERNATIONAL, INC., London PRENTICE HALL OF AUSTRALIA, PTY. LTD.,Sydney PRENTICE HALL or CANADA, LTD., Toronto PRENTICE HALL OF INDIA PRIVATE LTD., New Delhi PRENTKI HALL ot JAPAN, INC., Tokyo /COMPUTATION: FINITE AND INFINITE MACH|NE§ MARVIN L. |y\|Ns|<Y Professor of Electrical Engineering Massachusetts Institute of Technology UN|VERS|TY OF \¢‘v'.A. ILRARY PRENTICE-HALL, INC. ENGLEWOOD CLIFFS. N. J. Q 975d2 © 1967 by Prentice-Hall, lnc. Englewood Cliffs, N. J. All rights reserved. No part of this book may be reproduced in any form or by any means without permission in writing from the publisher. Current printing (last digit): I0 9 8 7 6 5 4 3 2 Library ol`Congress Catalog Card No. 67-|2342 Printed in the United States of`America In memory of HENRY MINSKY PREFACE INTRODUCTION Man has within a single generation found himself sharing the world with a strange new species: the computers and computer-like machines. Neither history, nor philosophy, nor common sense will tell us how these machines will affect us, for they do not do “work” as did machines of the Industrial Revolution. Instead ofdealing with materials or energy, we are told that they handle “control” and “information” and even “intellectual processes.” There are very few individuals today who doubt that the computer and its relatives are developing rapidly in capability and com­ plexity, and that these machines are destined to play important (though not as yet fully understood) roles in society’s future. Though only some of us deal directly with computers, all of us are falling under the shadow of their ever-growing sphere of infiuence, and thus we all need to under­ stand their capabilities and their limitations. It would indeed be reassuring to have a book that categorically and systematically described what all these machines can do and what they cannot do, giving sound theoretical or practical grounds for each judg­ ment. However, although some books have purported to do this, it cannot be done for the following reasons: a) Computer-like devices are utterly unlike anything which science has ever considered-we still lack the tools necessary to fully analyze, synthesize, or even think about them; and b) The methods discovered so far are effective in certain areas, but are developing much too rapidly to allow a useful interpretation and interpolation of results. The abstract theory-as described in this book­ tells us in no uncertain terms that the machines’ potential range is enor­ mous, and that its theoretical limitations are of the subtlest and most elusive sort. There is no reason to suppose machines have any limitations not shared by man. We nevertheless expect our findings to crystallize in the years ahead­ and we are confident that the ideas and the formal methods that fill this book will remain in the mainstream of that theory which is yet to come. vii viii PREFACE We know this is so for several reasons. a) The central concept of effective computability appears necessary, even inevitable, once one has grasped it. In a convergence of ideas rare in science and mathematics, all sorts of independent attempts to form a “Theory of Machines” have been swept in this direction; and b) The sheer simplicity of the theory’s foundation and the extraordinarily short path from this foundation to its logical and surprising conclusions give the theory a mathematical beauty that alone guarantees it a permanent place in computer theory. THE MAIN GOAL The main goal of this book is to introduce the student to the concept of ejeczive procedure-a technical idea that has crystallized only fairly recently but already promises to be as important to the practical culture of modern scientific life as were the ideas of geometry, calculus, or atoms. It is a vital intellectual tool for working with or trying to build models of intricate, complicated systems-be they minds or engineering systems. Its most obvious application is to computation and computers, but I believe it is equally valuable for clear thinking about biological, psycho­ logical, mathematical, and (especially) philosophical questions. This claim must seen impossibly pretentious, and I had better explain it: The theory of effectiveness is useful not only to prove things about complex systems, but is also necessary to prove things about proof itself l The overall strategy of the book is very simple. We will try to engage the concept of effective procedure from such a variety of contexts, for­ malisms, and viewpoints, that its character will become thoroughly under­ stood-in the sense that one can recognize it and adapt it, almost without thinking, wherever and whenever it is appropriate. This concept has so many different aspects that one cannot hope to know them all equally well. It appears unexpectedly in aspects of practical computation, lin­ guistic theories, and mathematical logic. We must know some of these aspects very thoroughly, and others at least casually, if we are to be able to sense its style of operation in new situations. Both the text and the problems are designed with this polyvalence in mind: we pursue a few lines much further than most, but all these approaches keep linking and intersecting to form a web of weirdly different but connecting threads. Most fortunately, the theory is almost entirely self-contained, so that it has no formal mathematical “prerequisites” beyond a reasonable high­ school algebra course. A superficial glance through these pages might give a bewildering impression of the use of many complex and technical formalisms, but this is most definitely not the case. The book is not written in the formalisms, it is merely about them, and one is neither required nor expected to ever have seen them before! PREFACE ix The book has also a second, more playful theme. The many-headed concept which we call effective compatability often appears in an especially potent form-the Universal machine or system. This character has an astonishing variety of secret hiding places which we keep trying to ferret out. It is easily found in the ponderous operation of a modern digital computer’s order-code, or the gross, redundant structure of a FORTRAN or ALGOL-like programming language. (It is not important, at least in this book, that you know what these are.) But it can also lurk within the tiny structure of a “computer” with two memory registers or two instruction-tapes (Chapter I4), or in the seemingly childish bead-Stringing primitives of a Post normal system (Chapter 13), or even in a machine that (almost) neither reads nor writes on its tapes. While there is not much practical use in finding these “minimal Universal systems” they support our main goal by making us aware of exactly what is essential rather than merely practical or convenient in the concept of computation. Perhaps even more important, we learn of many difTerent ways in which great complexity of behavior can arise from the interactions of simple devices, simple actions, simple descriptions, or simple concepts. We see also many different ways in which the same complex behavior can arise from what appear to be utterly different kinds of interactive systems. The reader is prepared for both of these explorations in Part I, which is a training expedition into a smaller but essential (and in many ways analogous) territory. Within the finite-state machine area there exists as wide a variety of appearances of its own indigenous “central concept” (we explore fewer of these, though) and almost as surprising an assembly of its own minimal hiding places. I wish I could have captured in the different approaches to the theory a sense of the different styles of thinking that lead the early explorersm Post, Church, Turing, Kleene, McCulloch, and the others-to approach the same problems with such difTerent (technically and esthetically) formal methods. The personalities are obscured because in my attempt to modernize, simplify, and unify the results I have removed the individual details of the original developments. It would be well worth one’s time perusing Davis’ (1965) collection just to gain additional personal con­ tact with the masters! MATHEMATICAL TECHNIQUES As we stated above, the book is largely self-contained, given enough high-school mathematics to know about functional notation (even this is reviewed in Chapter 7) and mathematical induction (reviewed in Chap­ ter 4). MIT freshmen and sophomores have encountered no difficulty with the material, and though they may be more sophisticated mathe­ X PREFACE matically than most college students, I cannot imagine any good science student or computer programmer having serious trouble. I can, however, imagine educators (even mathematicians who have not encountered ‘“re­ cursive function theory”) becoming suspicious and wondering whether I have somehow constructed a simplitied or diluted version of the theory by “leaving out the calculus.” Quite the contrary: the calculus was never in it! This really is a branch of mathematics that stems directly from non-numerical, logical foundations. Indeed, a number of research workers are currently attempting to bring together this theory with that of Newton and Leibniz; the resulting new subject (currentlycalled “re­ cursive analysis”) has barely gotten offto a start. It is worth a few words to try to explain why classical mathematical analysis plays such a small role here. In developing a Theory of Compu­ tation we are trying to deal with systems composed of a great many parts, or very intricate structures. Classical mathematical methods can do this only in very special situations, and their limitations are very serious. Classically, one is unable to cope with even a few simultaneous non-linear equations, to say nothing of a few dozen, or a few million. Now it is true that under certain special conditions mathematical analysis can “revive,” as it were, when the situation gets complex in such a way that the parts of the system can be treated as individually and independently random­ this is what happens in Statistical Thermodynamic theories. But it must be stated, explicitly and emphatically, that this is just what does not happen when, as in a computation system, the structure has a more or­ ganized, purposeful structure. The statistical analysis works beautifully for things like gases. It works for precious little else. There simply is no reason to suppose that as computations grow large, one will discover any­ thing non-trivial by trying to “average-out” the effects of many events. The effect of the “conditional” (see Chapter 10) is too strong to allow anything like a “conservation” concept to have a place in the theory. Fortunately, the systems of computation have other features that make possible some analysis, though of a very different kind. Instead of the statiszically defined events used in physics, we use logically-defined classes of computations or expressions. They are tied together, not by geometric or energetic properties, but by their relations to similar machines or simi­ lar definitions. We can use machine parts so simple and with such simple interactions that we can apply the utterly transparent Logic of Proposi­ tions, where for an equivalent actual physical machine we would have to solve hopelessly opaque analytic equations. Chapters l, 5, and I2 explain in detail how the problem is reduced until this kind of analysis can be made. One could even complain that the main results are obtained by a most deceptive sort of parlor trick: instead of trying to solve equations, we study their descriptions! It must be admitted that in the long run this PREFACE xi method avoids entirely too many problems, and we can be quite sure that the development of the Theory ofComputation, in the years to come, will be centered around the problem of how to back off a little from this sim­ plitication, without going all the way back. The trouble now is that we do too much in one step. AS A TEXT This book has the form ofa textbook, and I have used earlier versions of it at MIT for several years. Students specializing in computer-related studies can absorb most of the material in a one-term course, since anyone with computer-programming experience is already subconsciously primed with the essential concepts, and needs only to see them precisely formu­ lated. For them, or for students with some higher mathematics courses, I would be inclined to assign Part I as a reading exercise, have them work the problems, and begin “teaching” with Part II. In any case, I feel that the material of Part I ought to be integrated very early somewhere in every scientific or engineering curriculum; the material of Parts II. and III can come considerably later (with the exception of Computer Science students). This edition is also designed for independent reading outside the classroom, and that is why I have given substantial hints for solving most of the harder problems. THE PROBLEMS The reader is asked to solve a number of problems scattered through­ out the book. Only a few ofthese are routine: most of them point toward branches the theory could take, and a few of them are diflicult research problems. The emphasis is on the application of new concepts to new situations rather than on acquiring technical proficiency through drill and repetition. My view is that the best way to understand a new idea is to discover by oneself how to use it to solve one or two reasonably hard problems; the point can easily escape after a hundred simple exercises. Solving a hard problem once can make the ideas a part of one’s thinking resources. The reader is therefore enjoined not to turn too easily to the solutions; I10t unless a needed idea has not come for a day or so. Every such con­ Cession has a price-loss of the experience obtained by solving a new kind of problem. Besides, even if reading the solutions were enough to HCquire the ability to solve such problems (which it is not), one rarely finds a set of ideas which are at once so elegant and so accessible to

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.