1.08k likes | 1.16k Views
CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15 School of Innovation, Design and Engineering Mälardalen University 2011. 1.
E N D
CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15 School of Innovation, Design and Engineering Mälardalen University 2011 1
ContentChurch-Turing ThesisOther Models of ComputationTuring Machines Recursive Functions Post Systems Rewriting SystemsMatrix Grammars Markov Algorithms Lindenmayer-SystemsNatural/Physical Computation Biological Computing Quantum Computing
THE CONCEPT OF COMPUTABILITY • “I explore the conceptual foundations of Alan Turing’s analysis of computability, which still dominates thinking about computability today. I argue that Turing’s account represents a last vestige of a famous but unsuccessful program in pure mathematics, viz., Hilbert’s formalist program. • It is my contention that the plausibility of Turing’s account as an analysis of the computational capacities of physical machines rests upon a number of highly problematic assumptions whose plausibility in turn is grounded in the formalist stance towards mathematics. • More specifically, the Turing account conflates concepts that are crucial for understanding the computational capacities of physical machines. These concepts include the idea of an “operation” or “action” that is “formal,” “mechanical,” “well-defined,” and “precisely described,” and the idea of a “symbol” that is “formal,” “uninterpreted,” and “shaped”. • When these concepts are disentangled, the intuitive appeal of Turing’s account is significantly undermined. This opens the way for exploring models of hypercomputability that are fundamentally di:erent from those currently entertained in the literature.” Carol E. Cleland • http://www.sciencedirect.com/science/journal/03043975 • http://www.damtp.cam.ac.uk/events/strings02/dirac/hawking Stephen Hawking: Gödel and the end of Physics
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:7) • 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. • http://www.alanturing.net/turing_archive/pages/Reference%20Articles/The%20Turing-Church%20Thesis.htmlAlanTuring.net (Jack Copeland)
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 logic. • Turing showed that, given his thesis, there can be no such method for the predicate logic. Propositional logic (also called sentential calculus or sentential logic) is a formal system in which formulas of a formal language may be interpreted as representing propositions. A system of inference rules and axioms allows theorems to be derived as true propositions. http://en.wikipedia.org/wiki/Propositional_calculus In mathematical logic, predicate logic is the symbolic formal systems like first-order logic, second-order logic or many-sorted logic. This formal system is distinguished from other systems in that its formulae contain variables which can be quantified. Two common quantifiers are the existential ∃ ("there exists") and universal ∀ ("for all") quantifiers. http://en.wikipedia.org/wiki/Predicate_logic
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. (Jack Copeland)
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.
Equivalent 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 Similar to unrestricted grammars A Post canonical system, as created by Emil Post, is a string-manipulation system that starts with finitely-many strings and repeatedly transforms them by applying a finite set of specified rules, thus generating a formal language. Today they are mainly of historical relevance because every Post canonical system can be reduced to a string rewriting system
Axiom: Example: Unary Addition Productions:
Axiom: Production:
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.
Markov Algorithms Grammars that produce Example: Derivation:
Lindenmayer-Systems They are parallel rewriting systems Example: Derivation:
Extended Lindenmayer-Systems: context Lindenmayer-Systems are not general as recursively enumerable languages
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 start: A rules: A B B AB
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.
This growth process can be generated from an axiom A and growth rules • A DB • B C • C D • D E • E A
Here is the pattern generated by this model. It matches the arrangement of cells in the original alga. • Stage 0 : A • Stage 1 : D B • Stage 2 : E C • Stage 3 : A D • Stage 4 : D B E • Stage 5 : E C A • Stage 6 : A D D B • Stage 7 : D B E E C • Stage 8 : E C A A D • Stage 9 : A D D B D B E • Stage 10 : D B E E C E C A • Stage 11 : E C A A D A D D B A DB B C C D D E E A
Example - a compound leaf (or branch) • Leaf1 { ; Name of the l-system, "{" indicates start • ; Compound leaf with alternating branches, • angle 8 ; Set angle increment to (360/8)=45 degrees • axiom x ; Starting character string • a=n ; Change every "a" into an "n" • n=o ; Likewise change "n" to "o" etc ... • o=p • p=x • b=e • e=h • h=j • j=y • x=F[+A(4)]Fy ; Change every "x" into "F[+A(4)]Fy" • y=F[-B(4)]Fx ; Change every "y" into "F[-B(4)]Fx" • F=@1.18F@i1.18 • } ; final } indicates end
http://www.xs4all.nl/~cvdmark/tutor.html L-systems tutorial with animations http://nptel.iitm.ac.in/courses/106106049/39 Lecture on L systems by Prof. Kamala Krithivasan http://www.youtube.com/watch?v=l3Txk_difKA&feature=related rose http://www.youtube.com/watch?v=ZVyi4ykVHJM&feature=related apple tree generated by L system
Here is a series of forms created by slowly changing the angle parameter. lsys00.ls Check the rest of the Gallery of L-systems: http://home.wanadoo.nl/laurens.lapre
A model of a horse chestnut tree inspired by the work of Chiba and Takenaka. Plant Environment Response Reception Internal processes Internal processes Here branches compete for light from the sky hemisphere. Clusters of leaves cast shadows on branches further down. An apex in shade does not produce new branches. An existing branch whose leaves do not receive enough light dies and is shed from the tree. In such a manner, the competition for light controls the density of branches in the tree crowns. Reception Response
Plant Environment Reception Response Internal processes Internal processes Response Reception
Apropos adaptive reactive systems: "What's the color of a chameleon put onto a mirror?" Stewart Brand (Must be possible to verify experimentally, isn’t it?) http://research.microsoft.com/pubs/144550/CACM_11.pdf Biology as Reactivity From Communications of ACM (Association for Computing Machinery)
Feynman, R. The Character of Physical Law, page 57: • "It always bothers me that, according to the laws as we understand them today, it takes a computing machine an infinite number of logical operations to figure out what goes on in no matter how tiny a region of space, and no matter how tiny a region of time. How can all that be going on in that tiny space? Why should it take an infinite amount of logic to figure out what one tiny piece of space/time is going to do? So I have often made the hypotheses that ultimately physics will not require a mathematical statement, that in the end the machinery will be revealed, and the laws will turn out to be simple, like the chequer board with all its apparent complexities".
Biological Computing This part of the lecturecan be madeinto a wholecourse, see http://web.eecs.utk.edu/~mclennan http://web.eecs.utk.edu/~mclennan/Classes/420/Biologically-InspiredComputation
DNA Computing • DNA computing is a form of computing which uses DNA, biochemistry and molecular biology, instead of the traditional silicon-based computer technologies. DNA computing, or, more generally, biomolecular computing, is a fast developing interdisciplinary area. Research and development in this area concerns theory, experiments and applications of DNA computing. • http://en.wikipedia.org/wiki/DNA_computing