I have prepared a course in automata theory (finite automata, context-free grammars, decidability, and intractability), and it begins April 23, You can learn. Why Study Automata Theory? § Introduction to Formal Proofs Dantsin, E. et al. (). Automata theory, Languages, and Computation. 3rd ed. Pearson. Hopcroft et al. also essentially equate Turing machines and  J.E. Hopcroft, R. Motwani, and J.D. Ullman. Introduction to Automata Theory, Languages, and Computation. Addison Wesley / Pearson Education,  J.E. Hopcroft and J.D. Ullman. Formal Languages and their Relation to Automata.
|Published (Last):||2 February 2004|
|PDF File Size:||13.9 Mb|
|ePub File Size:||11.68 Mb|
|Price:||Free* [*Free Regsitration Required]|
Is the history of computer science solely a history of progress? I don’t think so. Judge for yourself by reading the present post in which I scrutinize the famous textbooks of John E. Hopcroft and Jeffrey D. I start by comparing the following two quotes. The emphasis in each quote is mine. At ahd first glance, both quotes seem to contradict each other. And then I could rest my case: But, actually, I have taken each quote out of context.
The first quote belongs to an introductory chapter on complexity theory where time and space bounds matter while the second quote appears in an informal chapter on Turing machines where the sole distinction of interest is one between decidability and undecidability. In retrospect, then, both automwta book and the book bring the same message. So there seems rtal be no problem after all. But in the following paragraphs I shall argue that the message conveyed in and again in is questionable and that it has been scrutinized by other software scholars as well.
J.d.ullmman perhaps the history of computer science is a history of conflation after all .
My contention is that Turing machines are mathematical objects and computers are engineered artifacts. The former can serve as mathematical models of the latter.
Likewise, the latter can serve as engineered models i. However, in their Chapter 8, they also attempt to mathematically — albeit informally — demonstrate that a computer can simulate a Turing machine and that a Turing machine can simulate a computer. All this in order to come to the following dubious result:.
Thus, we can be confident that something not doable by a TM cannot be done by a real computer. I will argue that to make sense of all this, we need to be explicit about our modeling activities. Specifically, we should distinguish between two persons:. For an elaborate distinction between an engineer and a scientist see my previous post.
Coming back to Chapter 8 in Hopcroft et al. Fine with me, but then we are stepping away from a purely mathematical argument. Coming then to the simulation of a computer by a Turing machine cf. Fine with me — and there really is no contradiction here, so don’t get me wrong — but the choices made are clearly modeling choices so that the overall argument works out in aitomata first place.
In a word, Hopcroft et al. They efal implicitly working with a particular mathematical model of a real computer, not with a real computer itself. The authors are thus definitely not backing up their following two claims:. J.d.ullkan that the modeling in 1. Anf, modeling implies idealizing: In this regard, the authors incorrectly draw the following conclusion:.
The previous statement langugaes holds if the authors have demonstrated an isomorphism between Turing machines on the one hand and real computers on the other hand. The isomorphism that they are considering only holds between Turing machines and their carefully crafted models of real computers.
Moreover, is it not possible that if we look inside a real computer and refrain from mapping our observations onto our favorite mathematical objects, that the computer is, in some sense, anc something for us that Turing machines do not do?
Only if we look at real computers with our traditional spectacles — in which partially computable functions are the snd objects — can we equate the Turing machine with the computer in a an and rather weak sense.
My contention, in contrast, is to view a Turing machine as one possible mathematical model of a computer program.
Hopcroft and Ullman
A finite state machine is yet another mathematical model of a computer program. I, however, view neither model to be better, for it all depends on the engineering task at hand. However, every now and then Hopcroft et al.
Programs are sufficiently like Turing machines that the [above] observations [ Furthermore, Hopcroft et al. In their own words:.
It is not always unproductive, it all depends on the engineering task at hand.
Welcome to Zhilin Wu’s Homepage!
The authors stick to the Turing machine model and motivate their choice by explaining that computer memory can always be extended in practice:. If we run out of memory, the program can print a request for a human to dismount its disk, store it, and replace it by an empty disk. So, to make the undecidability proof work, the authors have decided to model a composite system: No-nonsense engineers, by contrast, will prefer to use a weaker model of computation and stick to thelry system at thepry Based on their motivations not to use finite state machines, I would opt for a linear bounded automaton and not a Turing machine.
But, of course, if I do that then the much-wanted undecidability result does not hold for linear bounded automata have a decidable halting problem. That, in short, explains why mainstream computer scientists heavily defend the Turing machine as the one and only viable model of computation in an average computability course.
To get a more coherent view on what is going on, and how to fix it, I gladly refer to my latest book Turing Tales . In sum, critical readers who resist indoctrination become amused when reading Hopcroft et al. A much better dissemination strategy, I believe, is to remain solely in the mathematical realm of Turing machines or other — yet equivalent — mathematical objects when explaining undecidability to students, as exemplified by the textbooks of Martin Davis [3, 4].
A separate concern, then, is to discuss and debate how that mathematical impossibility result could — by means of a Turing complete model of computation — have bearing on the languagse artifacts that are being modeled. The writings of Robert Floyd , Benjamin Pierce , and Joe Wells , just to give three names, show that undecidability most definitely has a practical role to play when used properly.
A lot of the above remains controversial in mainstream computer science. I recommend consulting the many references provided in my book  and also the related — but not necessarily similar — writings of Peter Wegner [13, 14, 15], Carol Cleland [1, 2], Oron Shagrir [11, 12], and Edward A.
Lee  in order to get the bigger picture. Is the Church-Turing Thesis True? Minds and Machines3: Recipes, algorithms, languahes programs.
Hopcroft and Ullman | Dijkstra’s Rallying Cry for Generalization
Minds and Machines Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science. Morgan Kaufmann, second edition, Communications of the ACM ajd, 5: Introduction to Automata Theory, Languages, and Computation.
Formal Languages and their Relation to Automata. Plato and the Nerd: The Creative Partnership of Humans and Technology.
Bounded quantification is undecidable. Effective computation by humans and machines. Physical Hypercomputation and the Church-Turing Thesis. Why interaction is more powerful than algorithms. Communications of the ACM40 5 Computation beyond Turing machines.
Communications of the ACM46 4: Principles of problem solving. Communications of the ACM49 7: Typability and type checking in System Alnguages are equivalent and frmal. Annals of Pure and Applied Logic98 Skip to augomata content. Quotes from and I start by comparing the following two quotes.
Later on in that same chapter fromthe authors write: Turing Machines and Computers My contention is that Turing machines are mathematical fodmal and computers are engineered artifacts. All this in order to come to the following dubious result: Specifically, we should distinguish between two persons: An engineer who models i. A scientist who mathematically models the real computer with a Turing machine. The authors are thus definitely not backing up their following two claims: A computer can simulate a Turing machine.
A Turing machine can simulate a computer [7, p. A computer can model i. A Turing machine can mathematically model a computer. In this regard, the authors incorrectly draw the following conclusion: Turing Machines and Computer Programs There is more.
In their own words: