The Church-Turing Thesis Chapter 18. Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve: ●

Slides:



Advertisements
Similar presentations
Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only.
Advertisements

1 Turing Machines and Equivalent Models Section 13.2 The Church-Turing Thesis.
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Lecture 16 Deterministic Turing Machine (DTM) Finite Control tape head.
Variants of Turing machines
C O N T E X T - F R E E LANGUAGES ( use a grammar to describe a language) 1.
Pushdown Automata Chapter 12. Recognizing Context-Free Languages Two notions of recognition: (1) Say yes or no, just like with FSMs (2) Say yes or no,
Pushdown Automata Chapter 12. Recognizing Context-Free Languages We need a device similar to an FSM except that it needs more power. The insight: Precisely.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
1 Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
Theory of Computation What types of things are computable? How can we demonstrate what things are computable?
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
1 Uncountable Sets continued Theorem: Let be an infinite countable set. The powerset of is uncountable.
1 Decidability continued. 2 Undecidable Problems Halting Problem: Does machine halt on input ? State-entry Problem: Does machine enter state halt on input.
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
Universal Turing Machine
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
TM Design Universal TM MA/CSSE 474 Theory of Computation.
1 CO Games Development 2 Week 21 Turing Machines & Computability Gareth Bellaby.
MA/CSSE 474 Theory of Computation More Reduction Examples Non-SD Reductions.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
A Universal Turing Machine
Turing Machines Chapter 17. Languages and Machines SD D Context-Free Languages Regular Languages reg exps FSMs cfgs PDAs unrestricted grammars Turing.
Turing Machines. Intro to Turing Machines A Turing Machine (TM) has finite-state control (like PDA), and an infinite read-write tape. The tape serves.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
TM Design Macro Language D and SD MA/CSSE 474 Theory of Computation.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Recursively Enumerable and Recursive Languages
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
Lecture 24UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 24.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
The Big Picture Chapter 3.
Finite-State Machines Fundamental Data Structures and Algorithms Peter Lee March 11, 2003.
1 Introduction to Turing Machines
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
Turing Machines Sections 17.6 – The Universal Turing Machine Problem: All our machines so far are hardwired. ENIAC
Pushdown Automata Chapter 12. Recognizing Context-Free Languages Two notions of recognition: (1) Say yes or no, just like with FSMs (2) Say yes or no,
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis (Winter 2016, these slides were also used for Day 33)
Universal Turing Machine
MA/CSSE 474 Theory of Computation Decision Problems, Continued DFSMs.
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis Delayed due dates for HWs See updated schedule page. No class meeting.
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Chapters 11 and 12 Decision Problems and Undecidability.
A Universal Turing Machine
Turing Machines Chapter 17.
CSE 105 theory of computation
Turing Machines Acceptors; Enumerators
COSC 3340: Introduction to Theory of Computation
Decidable Languages Costas Busch - LSU.
Decidability and Undecidability
Formal Languages, Automata and Models of Computation
Recall last lecture and Nondeterministic TMs
CSE 105 theory of computation
CO Games Development 2 Week 21 Turing Machines & Computability
Variations: Multiple tracks Multiple tapes Non-deterministic
CSE 105 theory of computation
Presentation transcript:

The Church-Turing Thesis Chapter 18

Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve: ● There is a countably infinite number of Turing machines since we can lexicographically enumerate all the strings that correspond to syntactically legal Turing machines. ● There is an uncountably infinite number of languages over any nonempty alphabet. ● So there are more languages than there are Turing machines.

What Can Algorithms Do? 1.Can we make all true statements theorems? 2.Can we decide whether a statement is a theorem?

Gödel’s Incompleteness Theorem Kurt Gödel showed, in the proof of his Incompleteness Theorem [Gödel 1931], that the answer to question 1 is no. In particular, he showed that there exists no decidable axiomatization of Peano arithmetic that is both consistent and complete.

The Entscheidungsproblem Does there exist an algorithm to decide, given an arbitrary sentence w in first order logic, whether w is valid? Given a set of axioms A and a sentence w, does there exist an algorithm to decide whether w is entailed by A? Given a set of axioms, A, and a sentence, w, does there exist an algorithm to decide whether w can be proved from A?

The Entscheidungsproblem To answer the question, in any of these forms, requires formalizing the definition of an algorithm: ● Turing: Turing machines. ● Church: lambda calculus. Turing proved that Turing machines and the lambda calculus are equivalent.

Church's Thesis (Church-Turing Thesis) All formalisms powerful enough to describe everything we think of as a computational algorithm are equivalent. This isn’t a formal statement, so we can’t prove it. But many different computational models have been proposed and they all turn out to be equivalent.

Examples of equivalent formalisms: ● Modern computers (with unbounded memory) ● Lambda calculus ● Partial recursive functions ● Tag systems (FSM plus FIFO queue) ● Unrestricted grammars: a S a  B ● Post production systems ● Markov algorithms ● Conway’s Game of Life ● One dimensional cellular automata ● DNA-based computing ● Lindenmayer systems The Church-Turing Thesis

The Lambda Calculus The successor function: (λ x. x + 1) (λ x. x + 1) 3 = 4 Addition: (λ x. λ y. x + y) 3 4 This expression is evaluated by binding 3 to x to create the new function (λ y. 3 + y), which is applied to 4 to return 7. In the pure lambda calculus, there is no built in data type number. All expressions are functions. But the natural numbers can be defined as lambda calculus functions. So the lambda calculus can effectively describe numeric functions just as we have done.

Tag Systems A tag system (or a Post machine) is an FSM augmented with a FIFO queue. A tag system for WW: What about a tag system for PalEven?

The Power of Tag Systems Tag systems are equivalent in power to Turing machines because the TM’s tape can be simulated with the FIFO queue. Suppose that we push abcde onto the queue: a b c d e To read the queue, we must remove the a first. But suppose we want to remove e first:

The Power of Tag Systems Tag systems are equivalent in power to Turing machines because the TM’s tape can be simulated with the FIFO queue. Suppose that we push abcde onto the queue: a b c d e To read the queue, we must remove the a first. But suppose we want to remove e first: Treat the queue as a loop.

Post Production Systems A Post system P is a quintuple (V, , X, R, S): ● V is the rule alphabet, ●  is a subset of V, ● X is a set of variables whose values are drawn from V*, ● R (the set of rules) is a finite subset of: (V  X)*  (V  X)* Every variable on the RHS must also be on the LHS. ● S can be any element of V - . ● LHS may contain multiple symbols. ● Rules may contain variables. ● LHS must match entire string. So, A  B becomes: XAY  XBY

A Post Production System WW = {ww : w  { a, b }*}. P = ({S, T, #, a, b }, { a, b }, {X, Y}, R, S), R = (1)XS  X a S/* Generate ( a  b )* S. (2)XS  X b S  (3)XS  XX/* Create a second copy of X. This Post system can generate, for example, the string abbabb : S  (using (1) and letting X match  ) a S  (using (2) and letting X match a ) ab S  (using (2) and letting X match ab ) abb S  (using (3) and letting X match abb ) abbabb

A Markov algorithm M is a triple (V, , R), where: ● V is the rule alphabet, which contains both working symbols and input symbols. If M is a decider or a semidecider, V will contain two special working symbols, Accept and Reject. ●  is a subset of V, and ● R is an ordered list of rules, each of which is an element of V*  V*. There are two kinds of rules: ● Continuing, written as X  Y, and ● Terminating, written as X  Y As with Turing machines, there is no special start symbol, but there will be an input string. Markov Algorithms

A Markov Algorithm Interpreter Markovalgorithm(M, w) = 1. Until no rules apply or the process has been terminated by executing a terminal rule do: 1.1 Find the first rule in the list R that matches against w. If that rule matches w in more than one place, choose the leftmost match. 1.2 If no rule matches then exit. 1.3 Apply the matched rule to w by replacing the substring that matched the rule’s LHS with the rule’s RHS. 1.4 If the matched rule is a terminating rule, exit. 2. If w contains the symbol Accept then accept. 3. If w contains the symbol Reject then reject. 4. Otherwise, return w. Notice: Markov algorithms are deterministic.

A Markov Algorithm for A n B n C n (1) #a  % (2) #b   Reject (3) #c   Reject (4) %a  a% (5) %b  ? (6) %   Reject (7) ?b  b? (8) ?c   (9) ?   Reject (10) #   Accept (11)   # Example: aabbbccc

The Power of Markov Algorithms Theorem: The Markov algorithm formalism is equivalent in power to the Turing machine. Proof: By two constructions. Show that each formalism can simulate the other.

The Game of Life Playing the game At each step of the computation, the value for each cell is determined by computing the number of neighbors (up to a max of 8) it currently has, according to the following rules: ● A dead cell with exactly three live neighbors becomes a live cell (birth). ● A live cell with two or three live neighbors stays alive (survival). ● In all other cases, a cell dies or remains dead (overcrowding or loneliness). We’ll say that a game halts iff it reaches some stable configuration.

Elementary Cellular Automata Wolfram’s Rule 110Wolfram’s Rule 110 is a universal computer if you can figure out how to encode the program and the input in the initial configuration:

DNA Computing Let G be a directed graph, with one vertex s designated as the start vertex and another vertex d designated as the end vertex. A Hamiltonian path through G is a path that begins at s, ends at d, and visits each other node in G exactly once. The Hamiltonian path problem: given a directed graph G, with designated s and d, does there exist a Hamiltonian path through it? n3n2sn4n5n1dn3n2sn4n5n1d

Adelman’s Procedure 1. He chose a particular graph G (with 7 vertices and 14 edges). 2. He encoded each vertex of G as a sequence of 8 nucleotides. For example, a vertex might be represented as ACCTGCAG. 3. He encoded each directed edge of G as a sequence of 8 nucleotides, namely the last four from the encoding of the start vertex and the first four from the encoding of the end vertex. So an edge from ACTTGCAG to TCGGACTG would be encoded as: GCAGTCGG.

5. He combined the vertex-complement molecules and the edge molecules in a test tube, along with water, salt, some important enzymes, and a few other chemicals required to support the natural biological processes. Adelman’s Procedure 4. He synthesized many copies of each of the edge sequences, as well as many copies of the DNA complements of all the vertex encodings. Example: The complement of ACTTGCAG is TGAACGTC.

6. He allowed to happen the natural process by which complementary strands of DNA in solution will meet and stick together (anneal). G C A G T C G G T G A A C G T C A G C C T G A C Adelman’s Procedure Adding another edge: G C A G T C G G A C T G G G C T T G A A C G T C A G C C T G A C

7. He allowed a second biological reaction to occur. The enzyme ligase that had been added to the mixture joins adjacent sequences of DNA. 8. He used the polymerase chain reaction (PCR) technique to make massive numbers of copies of exactly those sequences that started at the start vertex and ended at the end one. Other sequences were still present in the mix after this step, but in much lower numbers. 9. He used gel electrophoresis to select only those molecules whose length corresponded to a Hamiltonian path through the graph. Adelman’s Procedure

10. He checked that each of the remaining vertices occured in the selected molecules. For each intermediate vertex do: Use a DNA “probe” to attract molecules that contain the DNA sequence for the vertex that is being checked Use a magnet to attract the probes Throw away the rest of the solution. 11. Only molecules that corresponded to paths that started at the start vertex, ended at the end vertex, had the correct length for a path that visited each vertex exactly once, and contained each of the vertices could still be present. So if any DNA was left, a Hamiltonian path existed. Adelman’s Procedure