1.12k likes | 1.25k Views
CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 14 Mälardalen University 2005.
E N D
CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 14 Mälardalen University 2005
ContentChurch-Turing ThesisOther Models of ComputationTuring Machines Recursive Functions Post Systems Rewriting SystemsMatrix Grammars Markov Algorithms Lindenmayer-SystemsFundamental Limits of Computation Biological Computing Quantum Computing
The aim of mathematical theory of computation is to discuss and model computation in abstraction from any particular implementation of a computer. As technology develops computers change and evolve. • In order to be useful mathematics has to abstract all those superficial differences away and concentrate on what really constitutes computation.
The Turing machine was invented by Alan Turing in 1936 in order to address Hilbert's Entscheidungsproblem. It is sufficiently simple so that various mathematical theorems can be proven about it. In particular by using this model Turing was able to show that the Entscheidungsproblem must be answered in negative, i.e., there is no mechanical procedure, in general, which can be used to decide a theoremhood of an arbitrary statement in mathematics. This, in combination with Gödel theorem, came as a bit of a surprise to mathematicians.
On the other hand, it merely demonstrated what the greatest mathematicians always knew, namely that mathematics is not only syntactic symbol manipulation within a given theory . Some of the best mathematics is constructed by broadening a particular theory that is an object of some assertion and attacking the problem from a higher level.
The original purpose of Turing machine was to model a formalist mathematical reasoning, the way Hilbert wanted it to be. And Hilbert wanted a mathematician to forget about the meaning of various mathematical constructs and, instead, just operate on symbols. In order to do that the mathematician had to • invoke some symbol transformation rules • record each step on paper • go back and forth over the proof and sometimes combine earlier inferences with the later ones • have some mechanism for deciding about which transformation rule to use. http://beige.ucs.indiana.edu/B679/node25.html
Turing simplified this whole procedure by • replacing symbols with sequences of 1s and 0s, • replacing a writing pad with a 1-dimensional paper tape divided into cells which would accommodate either 1 or 0, • inventing a read/write head, which could go back and forth over the tape, • allowing the head to exist in various states that would define a context within which read/write operations would take place. http://beige.ucs.indiana.edu/B679/node25.html
The original Turing machine was deterministic (DTM): the head would be always in a single state, which would uniquely determine which direction it would go into and how far. There is a variant of the Turing machine, which is not deterministic. The head may be in a state, which gives the machine certain choices as to the direction and length of the next traverse. The choices are then made by throwing dice and possibly applying some weights to the outcome. A machine like that is called a probabilistic Turing machine (PTM), and it turns out that it is more powerful than the deterministic Turing machine in the sense that anything computable with DTM is also computable with PTM and usually faster. • But both PTM and DTM are based on classical physics: the states of the tape and of the head are always readable and writable, data can be always copied, everything is uniquely defined.
A mathematical theory of computation that is based on quantum physics is bound to be different. As you move from classical physics to quantum physics there is a qualitative change in concepts that has profound ramifications. • So here's a brief history of how quantum Turing machine came about. • 1973 Bennett demonstrates that a reversible Turing machine is possible • 1980 Benioff observes that since quantum mechanics is reversible a computer based on quantum mechanical principles should be reversible too • 1982 Richard Feynman shows that no classical Turing machine can simulate quantum phenomena without an exponential slow down, and then observes that a universal quantum simulator can • 1985 David Deutsch of Oxford University, UK, describes the first true quantum Turing machine (QTM)
Church-Turing Thesis* *Source: Stanford Encyclopaedia of Philosophy
A Turing machine is an abstract representation of a computing device. It is more like a computer program (software) than a computer (hardware).
LCMs [Logical Computing Machines: Turing’s expression for Turing machines] were first proposed by Alan Turing, in an attempt to give a mathematically precise definition of "algorithm" or "mechanical procedure".
The Church-Turing thesis • concerns an • effective or mechanical method • in logic and mathematics.
A method, M, is called ‘effective’ or ‘mechanical’ just in case: • M is set out in terms of a finite number of exact instructions (each instruction being expressed by means of a finite number of symbols); • M will, if carried out without error, always produce the desired result in a finite number of steps; • M can (in practice or in principle) be carried out by a human being unaided by any machinery except for paper and pencil; • M demands no insight or ingenuity on the part of the human being carrying it out.
Turing’s thesis: LCMs [logical computing machines; TMs] can do anything that could be described as "rule of thumb" or "purely mechanical". (Turing 1948) • He adds: This is sufficiently well established that it is now agreed amongst logicians that "calculable by means of an LCM" is the correct accurate rendering of such phrases.
Turing introduced this thesis in the course of arguing that the Entscheidungsproblem, or decision problem, for the predicate calculus - posed by Hilbert (1928) - is unsolvable.
Church’s account of the Entscheidungsproblem • By the Entscheidungsproblem of a system of symbolic logic is here understood the problem to find an effective method by which, given any expression Q in the notation of the system, it can be determined whether or not Q is provable in the system.
The truth table test is such a method for the propositional calculus. • Turing showed that, given his thesis, there can be no such method for the predicate calculus.
Turing proved formally that there is no TM which can determine, in a finite number of steps, whether or not any given formula of the predicate calculus is a theorem of the calculus. • So, given his thesis that if an effective method exists then it can be carried out by one of his machines, it follows that there is no such method to be found.
Church’s thesis: A function of positive integers is effectively calculable only if recursive.
Misunderstandings of the Turing Thesis • Turing did not show that his machines can solve any problem that can be solved "by instructions, explicitly stated rules, or procedures" and nor did he prove that a universal Turing machine "can compute any function that any computer, with any architecture, can compute".
Turing proved that his universal machine can compute any function that any Turing machine can compute; and he put forward, and advanced philosophical arguments in support of, the thesis here called Turing’s thesis.
A thesis concerning the extent of effective methods - procedures that a human being unaided by machinery is capable of carrying out - has no implication concerning the extent of the procedures that machines are capable of carrying out, even machines acting in accordance with ‘explicitly stated rules’.
Among a machine’s repertoire of atomic operations there may be those that no human being unaided by machinery can perform.
Turing introduces his machines as an idealised description of a certain human activity, the tedious one of numerical computation, which until the advent of automatic computing machines was the occupation of many thousands of people in commerce, government, and research establishments.
Turing’s "Machines". These machines are humans who calculate. (Wittgenstein) • A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine. (Turing)
The Entscheidungsproblem is the problem of finding a humanly executable procedure of a certain sort, and Turing’s aim was precisely to show that there is no such procedure in the case of predicate logic.
Models of Computation • Turing Machines • Recursive Functions • Post Systems • Rewriting Systems
Turing’s Thesis A computation is mechanical if and only if it can be performed by a Turing Machine. Church’s Thesis (extended) All models of computation are equivalent.
Post Systems • Axioms • Productions Very similar to unrestricted grammars
Theorem: A language is recursively enumerable if and only if a Turing Machine generates it.
Theorem: A language is recursively enumerable if and only if a recursive function generates it.
Axiom: Example: Unary Addition Productions:
Post systems are good for proving mathematical statements from a set of Axioms.
Theorem: A language is recursively enumerable if and only if a Post system generates it.
Rewriting Systems They convert one string to another • Matrix Grammars • Markov Algorithms • Lindenmayer-Systems (L-Systems) Very similar to unrestricted grammars.
Matrix Grammars Example: Derivation: A set of productions is applied simultaneously.
Theorem: A language is recursively enumerable if and only if a Matrix grammar generates it.
Markov Algorithms Grammars that produce Example: Derivation:
Theorem: A language is recursively enumerable if and only if a Markov algorithm generates it.
Lindenmayer-Systems They are parallel rewriting systems Example: Derivation:
Extended Lindenmayer-Systems: context Lindenmayer-Systems are not general as recursively enumerable languages Theorem: A language is recursively enumerable if and only if an Extended Lindenmayer-System generates it
L-System Example: Fibonacci numbers • Consider the following simple grammar: • variables : A B • constants : none • start: A • rules: A B • B AB
This L-system produces the following sequence of strings ... • Stage 0 : A • Stage 1 : B • Stage 2 : AB • Stage 3 : BAB • Stage 4 : ABBAB • Stage 5 : BABABBAB • Stage 6 : ABBABBABABBAB • Stage 7 : BABABBABABBABBABABBAB
If we count the length of each string, we obtain the Fibonacci sequence of numbers : • 1 1 2 3 5 8 13 21 34 ....
Example - Algal growth The figure shows the pattern of cell lineages found in the alga Chaetomorpha linum. To describe this pattern, we must let the symbols denote cells in different states, rather than different structures.