of the hypothesis, but it would not lead to a proof. P 1

Similar documents
Computability. What can be computed?

Technical framework of Operating System using Turing Machines

Automata and Formal Languages - CM0081 Turing Machines

CITS2211 Discrete Structures Turing Machines

DVA325 Formal Languages, Automata and Models of Computation (FABER)

Tiling Problems. This document supersedes the earlier notes posted about the tiling problem. 1 An Undecidable Problem about Tilings of the Plane

Turing Machines (TM)

Implementation of Recursively Enumerable Languages in Universal Turing Machine

CSCI3390-Lecture 8: Undecidability of a special case of the tiling problem

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Oracle Turing Machine. Kaixiang Wang

Membrane Computing as Multi Turing Machines

THE ENUMERATION OF PERMUTATIONS SORTABLE BY POP STACKS IN PARALLEL

Basic Science for Software Developers

Constructions of Coverings of the Integers: Exploring an Erdős Problem

Lecture 20 November 13, 2014

Notes for Recitation 3

Introduction To Automata Theory Languages And Computation Addison Wesley Series In Computer Science

Enhanced Turing Machines

Halting Problem. Implement HALT? Today. Halt does not exist. Halt and Turing. Another view of proof: diagonalization. P - program I - input.

Regular Expressions and Regular Languages. BBM Automata Theory and Formal Languages 1

Multiplayer Pushdown Games. Anil Seth IIT Kanpur

CDT314 FABER Formal Languages, Automata and Models of Computation MARK BURGIN INDUCTIVE TURING MACHINES

Philosophy. AI Slides (5e) c Lin

One-Dimensional Peg Solitaire, and Duotaire

Formulas for Primes. Eric Rowland Hofstra University. Eric Rowland Formulas for Primes / 27

The Tiling Problem. Nikhil Gopalkrishnan. December 08, 2008

UNDECIDABILITY AND APERIODICITY OF TILINGS OF THE PLANE

R&D Meets Production: The Dark Side

Primitive Roots. Chapter Orders and Primitive Roots

arxiv: v1 [cs.cc] 2 Dec 2014

Sequential program, state machine, Concurrent process models

Formal Verification. Lecture 5: Computation Tree Logic (CTL)

Tile Number and Space-Efficient Knot Mosaics

Modeling Supervisory Control of Autonomous Mobile Robots using Graph Theory, Automata and Z Notation

Launchpad Maths. Arithmetic II

One computer theorist s view of cognitive systems

Title? Alan Turing and the Theoretical Foundation of the Information Age

CSCI 1590 Intro to Computational Complexity

Deterministic Symmetric Rendezvous with Tokens in a Synchronous Torus

THE RISE AND FALL OF THE CHURCH-TURING THESIS Mark Burgin

2359 (i.e. 11:59:00 pm) on 4/16/18 via Blackboard

In Response to Peg Jumping for Fun and Profit

arxiv: v1 [cs.cc] 21 Jun 2017

Computation. Philosophical Issues. Instructor: Viola Schiaffonati. March, 26 th 2018

Advanced Automata Theory 4 Games

arxiv: v2 [math.gt] 21 Mar 2018

Sets. Gazihan Alankuş (Based on original slides by Brahim Hnich et al.) August 6, Outline Sets Equality Subset Empty Set Cardinality Power Set

18 Completeness and Compactness of First-Order Tableaux

Lecture 18 - Counting

Computational Completeness of Interaction Machines and Turing Machines

Ideas beyond Number. Teacher s guide to Activity worksheets

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY

EXPLAINING THE SHAPE OF RSK

Computability of Tilings

RMT 2015 Power Round Solutions February 14, 2015

Pattern Avoidance in Unimodal and V-unimodal Permutations

An Aperiodic Tiling from a Dynamical System: An Exposition of An Example of Culik and Kari. S. Eigen J. Navarro V. Prasad

TOPOLOGY, LIMITS OF COMPLEX NUMBERS. Contents 1. Topology and limits of complex numbers 1

arxiv: v1 [math.co] 8 Oct 2012

Chameleon Coins arxiv: v1 [math.ho] 23 Dec 2015

From a Ball Game to Incompleteness

3 Game Theory II: Sequential-Move and Repeated Games

Summary Overview of Topics in Econ 30200b: Decision theory: strong and weak domination by randomized strategies, domination theorem, expected utility

SF2972: Game theory. Introduction to matching

NOT QUITE NUMBER THEORY

Teacher s Notes. Problem of the Month: Courtney s Collection

3-2 Lecture 3: January Repeated Games A repeated game is a standard game which isplayed repeatedly. The utility of each player is the sum of

Strategic Bargaining. This is page 1 Printer: Opaq

Computability of Tilings

Permutation Groups. Definition and Notation

Parallel Line Converse Theorems. Key Terms

18.204: CHIP FIRING GAMES

NANYANG TECHNOLOGICAL UNIVERSITY SEMESTER II EXAMINATION MH1301 DISCRETE MATHEMATICS. Time Allowed: 2 hours

arxiv:math/ v2 [math.co] 25 Apr 2006

Techniques for Generating Sudoku Instances

Extending the Sierpinski Property to all Cases in the Cups and Stones Counting Problem by Numbering the Stones

Is everything stochastic?

Introduction to Computer Engineering. CS/ECE 252, Spring 2013 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin Madison

Communication Engineering Prof. Surendra Prasad Department of Electrical Engineering Indian Institute of Technology, Delhi

Algorithmic Game Theory and Applications. Kousha Etessami

The Pythagorean Theorem

Countability. Jason Filippou UMCP. Jason Filippou UMCP) Countability / 12

FORMAL DEFINITION OF ARTIFICIAL INTELLIGENCE 1

Formalising Event Reconstruction in Digital Investigations

On a Possible Future of Computationalism

Logic and the Sizes of Sets

Math 127: Equivalence Relations

arxiv:math/ v1 [math.co] 22 Aug 2000

On the isomorphism problem of Coxeter groups and related topics

Modular Arithmetic. Kieran Cooney - February 18, 2016

Lecture 2. 1 Nondeterministic Communication Complexity

SOLITAIRE CLOBBER AS AN OPTIMIZATION PROBLEM ON WORDS

Light Up is NP-complete

CSE 20 DISCRETE MATH. Fall

Why Church s Thesis Still Holds

Cryptography. 2. decoding is extremely difficult (for protection against eavesdroppers);

The Four Numbers Game

NON-OVERLAPPING PERMUTATION PATTERNS. To Doron Zeilberger, for his Sixtieth Birthday

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Algorithms and Game Theory Date: 12/4/14

Transcription:

Church-Turing thesis The intuitive notion of an effective procedure or algorithm has been mentioned several times. Today the Turing machine has become the accepted formalization of an algorithm. Clearly one cannot prove that the Turing machine model is equivalent to our intuitive notion of a computer, but there are compelling arguments for this equivalence.

Church-Turing thesis Suppose we were to make the conjecture that in some sense, Turing machines are equal in power to a typical computer. How could we defend such a hypothesis? 1. We could take a sequence of increasingly more difficult problems and show how they are solved by some Turing machine. P 4 Every success in this direction would P 3 strengthen our belief of the truth P of the hypothesis, but it would 2 not lead to a proof. P 1 2. We could find a procedure for which we can write a computer program, but for which we can show that no Turing machine can exits. But no one has yet been able to produce such a counterexample.

Church-Turing thesis Every indication is that Turing machines are in principle as powerful as any computer. Conjecture: Church-Turing Thesis (1930 s) The hypothesis states that any computation that can be carried out by mechanical means can be performed by some Turing machine. The Church-Turing thesis is not something that can be proven. To do so we would have to define precisely the term mechanical means. The Church-Turing thesis is more properly viewed as a definition of what constitutes a mechanical computation: A computation is mechanical if and only if it can be performed by some Turing machine.

Church-Turing thesis If we regard the Church-Turing thesis simply as a definition, we raise the question whether it is sufficiently broad. Is it far-reaching enough to cover everything we now do (and conceivably might do in the future) with computers? A clear yes is not possible, but the evidence in its favour is very strong. Having accepted the Church-Turing thesis, we are now in a position to give a precise definition of an algorithm.

Church-Turing thesis Definition An algorithm for a function f : D R is a Turing machine M, which given as input any d D on its tape, eventually halts with the correct answer f(d) R on its tape. We can require that q f F, for all d D. q 0 d q f f(d),

Church-Turing thesis Identifying an algorithm with a Turing machine program allows us to prove claims such as there exists an algorithm.... However, to construct explicitly an algorithm for even relatively simple problems is a very lengthy undertaking. We can appeal to the Church-Turing thesis and claim that anything we can do on any computer can also be done on a Turing machine. We will accept block diagrams as algorithms on the assumption that we could write a Turing machine program for them.

Church-Turing thesis Nothing will be considered an algorithm if it cannot be rendered as a Turing machine that is guaranteed to halt, and all such machines will be rightfully called algorithms. The Church-Turing thesis is not a theorem, because it is not a mathematical result: It simply asserts that a certain informal concept (algorithm) corresponds to a certain mathematical object (Turing machine). Not being a mathematical statement, the Church-Turing thesis cannot be proved. It is theoretically possible, that the Church-Turing thesis could be disproved in the future, if a proposed and accepted alternative model of computation could carry out computations that cannot be carried out by any TM. No one considers this likely.

Church-Turing thesis Adopting a precise mathematical notion of an algorithm opens up the intriguing possibility of formally proving that certain computational problems cannot be solved by any algorithm. We will not define an even more powerful computational device: according to the Church-Turing thesis, computational tasks, that cannot be performed by Turing machines are impossible, hopeless, undecidable. The pumping theorems we used, exploit the weaknesses of context-free grammars and finite automata. We now must devise techniques for exploiting the power of Turing machines in order to expose their limitations.

Other models of Turing machines Many variations on the basic model of the Turing machine are possible: Turing machines with Stay-Option Turing machines with Semi-Infinite Tape Offline Turing machines Multitape Turing machines Nondeterministic Turing machines The universal Turing machine

Equivalence of classes of automata Definition Two automata are equivalent if they accept the same language. Consider two classes of automata C 1 and C 2. If for every automaton M 1 in C 1 there is an automaton M 2 in C 2 such that L(M 1 ) = L(M 2 ), we say that C 2 is at least as powerful as C 1. If the converse also holds and for every M 2 in C 2 there is an M 1 in C 1 such that L(M 1 ) = L(M 2 ), we say that C 1 and C 2 are equivalent.

Equivalence of classes of automata For demonstrating the equivalence in connection with Turing machines, often the technique of simulation is used. Let M be an automaton. We say that another automaton ˆM can simulate a computation of M if ˆM can mimic the computation of M in the following manner: let d 0, d 1,... be the sequence of instantenous descriptions of the computation of M, that is, d 0 M d 1 M... M d n... then ˆM simulates this computation if it carries out ˆd 0 ˆd 1... dˆ n..., such that each ˆM ˆM ˆM ˆd is associated with a unique configuration of M. To demonstrate the equivalence of two classes of automata, we show that for every machine in one class, there is a machine in the second class capable of simulating it, and vice versa.

Turing machines with a stay option The read-write head of our basic Turing machine must move either to the right or to the left. Sometimes it is convenient to provide a third option, to have the read-write head stay in place after rewriting the cell content. Thus δ : Q Γ Q Γ {L, R, S} This option does not extend the power of the automaton. Theorem The class of Turing machines with a stay option is equivalent to the class of basic Turing machines.

Turing machines with semi-infinite tape A Turing machine with a tape that is unbounded only in one direction. This Turing machine is identical to our basic Turing machine, except that no left move is permitted when the read-write head is at the boundary. Theorem The class of Turing machines with a semi-infinite tape is equivalent to the class of basic Turing machines.

The Offline Turing machine If we put the input file back into the picture, we get what is known as an offline Turing machine. In such a machine, each move is governed by the internal state, what is currently read from the input file, and what is seen on the tape. Control unit Read-only input file Tape Theorem The class of offline Turing machines is equivalent to the class of basic Turing machines.

Multi-tape Turing machines A multitape Turing machine is a Turing machine with several tapes, each with its own independently controlled read-write head. Typically, we define an n-tape machine with δ : Q Γ n Q Γ n {L, R} n Theorem The class of multitape Turing machines is equivalent to the class of basic Turing machines.

Nondeterministic Turing machines Definition A nondeterministic Turing machine is as given in the definition for our basic Turing machine, except that δ is now defined as δ : Q Γ 2 Q Γ {L,R} As always when nondeterminism is involved, the range of δ is a set of possible transitions, any of which can be chosen by the machine. Example: If a Turing machine has transitions specified by it is nondeterministic. δ(q 0, a) = {(q 1, b, R), (q 2, c, L)} The moves q 0 aaa bq 1 aa and q 0 aaa q 2 caa are both possible.

Nondeterministic Turing machines Definition A nondeterministic Turing machine is said to accept w if there is any possible sequence of moves such that with q f F. q 0 w x 1 q f x 2, A nondeterministic TM may have moves available that lead to a non-final state or to an infinite loop. But these alternatives are irrelevant; all we are interested in is the existence of some sequence of moves leading to acceptance.

Nondeterministic Turing machines To show that a nondeterministic TM is no more powerful then a deterministic one, we need to provide a deterministic equivalent for the nondeterminism. One way to visualize the simulation is to use a basic Turing machine, keeping all possible instantenous descriptions of the nondeterministic machine on its tape, seperated by some convention. The simulating machine looks at all active configurations and updates them accordingly.

Nondeterministic Turing machines Theorem The class of deterministic Turing machines and the class of nondeterministic Turing machine are equivalent. As always, nondeterminism can be seen as a choice between alternatives. This can be visualized as a decision tree. Definition A nondeterministic Turing machine M is said to accept a language L if, for all w L, at least one of the possible configurations accepts w. There may be branches that led to non-accepting configurations, while some may put the machine into an infinite loop. But these are irrelevant for acceptance.

The universal Turing machine A universal Turing machine M u is an automaton that, given as input the description of any Turing machine M and an input string w, can simulate the computation of M on w. To construct such an M u, we first choose a standard way of describing Turing machines: We may assume that Q = {q 1, q 2,..., q n } and Γ = {a 1, a 2,..., a m }, where q 1 is the inital state, q 2 is the single final state and a 1 represents the blank. We select an encoding in which q 1 is represented by 1, q 2 is represented by 11, etc. Similarly, a 1 is encoded as 1, a 2 as 11, etc. The symbol 0 will be used as a seperator between the 1 s.

The universal Turing machine With the inital and final state and the blank defined by this convention, any Turing machine can be described completely with δ only. Example: δ(q 1, a 2 ) = (q 2, a 3, L) might appear as... 10110110111010... Any Turing machine has a finite encoding as a string on {0, 1} +, and, given any encoding of M, we can decode it uniquely. A universal Turing machine M u then has an input alphabet that includes {0, 1} and the structure of a multitape machine. Given any program, the universal Turing machine, can carry out the computations specified by that program.

References LINZ, P. An introduction to Formal Languages and Automata. Jones and Bartlett Learning, 2012. HOPCROFT, J. and ULLMAN, J. Introduction to Automata Theory, Languages and Computation. Addison-Wesley, 1979. LEWIS, H.R. and PAPADIMITRIOU C. H. Elements of the theory of computation. Prentice Hall, 1998.