Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 3 Church-Turing Thesis Some slides are.

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

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Variants of Turing machines
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Pages COMPUTABILITY THEORY.
Foundations of (Theoretical) Computer Science Chapter 3 Lecture Notes (Section 3.2: Variants of Turing Machines) David Martin With.
CS605 – The Mathematics and Theory of Computer Science Turing Machines.
Applied Computer Science II Chapter 3 : Turing Machines Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Algorithms Sipser 3.3 (pages ). CS 311 Mount Holyoke College 2 Computability Hilbert's Tenth Problem: Find “a process according to which it can.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Complexity ©D.Moshkovitz 1 Turing Machines. Complexity ©D.Moshkovitz 2 Motivation Our main goal in this course is to analyze problems and categorize them.
CS5371 Theory of Computation Lecture 11: Computability Theory II (TM Variants, Church-Turing Thesis)
Computation Theory Introduction to Turing Machine.
CHAPTER 3 The Church-Turing Thesis
Foundations of (Theoretical) Computer Science
CS5371 Theory of Computation Lecture 10: Computability Theory I (Turing Machine)
1 Foundations of Software Design Fall 2002 Marti Hearst Lecture 29: Computability, Turing Machines, Can Computers Think?
January 28, 2015CS21 Lecture 101 CS21 Decidability and Tractability Lecture 10 January 28, 2015.
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
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.
 Computability Theory Turing Machines Professor MSc. Ivan A. Escobar
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
THE CHURCH-TURING T H E S I S “ TURING MACHINES” Part 1 – Pages COMPUTABILITY THEORY.
Computability Chapter 5. Overview  Turing Machine (TM) considered to be the most general computational model that can be devised (Church-Turing thesis)
The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
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)
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Turing Machines.
Fundamentals of Informatics Lecture 13 Reduction Bas Luttik.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich
Formal Models of Computation
Lecture 9  2010 SDU Lecture9: Turing Machine.  2010 SDU 2 Historical Note Proposed by Alan Turing in 1936 in: On Computable Numbers, with an application.
Lecture 17 Undecidability Topics:  TM variations  Undecidability June 25, 2015 CSCE 355 Foundations of Computation.
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 2 Context-Free Languages Some slides are in courtesy.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 4 Decidability Some slides are in courtesy.
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,
1 Introduction to Turing Machines
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 5 Reducibility Some slides are in courtesy.
The Church-Turing Thesis
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:
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
Theory of Computation Automata Theory Dr. Ayman Srour.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Time complexity Here we will consider elements of computational complexity theory – an investigation of the time (or other resources) required for solving.
Turing Machines.
CSE 105 theory of computation
CSE 105 theory of computation
Turing Machines Acceptors; Enumerators
فصل سوم The Church-Turing Thesis
Theory of Computation Turing Machines.
Decidable Languages Costas Busch - LSU.
CS21 Decidability and Tractability
Formal Languages, Automata and Models of Computation
CSE 105 theory of computation
Variants of Turing machines
Intro to Theory of Computation
CSE 105 theory of computation
Presentation transcript:

Donghyun (David) Kim Department of Mathematics and Computer Science North Carolina Central University 1 Chapter 3 Church-Turing Thesis Some slides are in courtesy of Prof. Verma at University of Houston Spring 2016 CISG 5115 Theory of Computation

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Universal Models of Computation Models of computation that have power equivalent to that of an idealized general-purpose computer or, models of computation characterize problem-solving by humans and machines. how is the input (output) represented? how does the computational model compute? what is the cost (in time and space) ? Use models to determine what can and cannot be computed. 2

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Issues of Computability “What problems can be solved on a given model of computation?” Halting Problem - a classical unsolvable problem: “Given a description of a program, decide whether the program will finish running or continue run forever.” Another one: “Does the program return the correct answer?” 3

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University A Contradiction Argument for Halting Problem Suppose there exists an algorithm P for the Halting Problem. boolean function P (string prog, data) { } P returns T (“prog" stops on “data") or F (“prog" doesn't stop) Now consider the following function Q. boolean function Q (string x) { if (P(x, x) == F) return F; while (1) ; } Q(x) ? Q(x) stops iff P(x,x) returns F, which happens iff P(x,x) doesn't stop on x. Q(x) doesn't stop iff P(x,x) returns T, which happens iff P(x,x) stops on x. Contradiction P (Q, Q) returns T => Q(Q) stops => P (Q,Q) does not stop and return F. P (Q, Q) returns F => Q(Q) does not stop => P (Q,Q) stops and return T. 4

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University 3.1 Turing Machines 5

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Turing Machine (TM) Proposed by Alan Turing in Mimic the problem-solving mechanism of a scientist unbounded supply of paper, pencils, erasers and thinks. write/lookup/modify notes a finite number of mental states: finite volume of brain and discrete thought processes. make decision based on notes and the scientist's current mental state TM: has an unlimited and unrestricted memory (an infinite tape). read/write tape move left/right rejecting/accepting states take immediate effect. Equivalent in power with a real computer. 6

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Turing Machine – cont’ 7... Finite State Control Bi-direction Read/Write Infinite tape (unlimited memory) Tape head (read/write) Initially, a tape contains only the input string and is blank everywhere else.

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Turing Machine – cont’ 8

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Turing Machine – cont’ We can design TM’s for computing functions from strings to strings We can design TM’s to decide languages using special states accept/reject or by writing Y/N on tape. We can design TM’s to accept languages. if TM halts at an accept status (after consuming the whole string), the string is accepted 9

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Example of TM for We want a Turing machine M to accept if its input is a member of B and to reject otherwise. Our goal is to determine whether the input is a member of B – whether the input comprises two identical strings separated by a # symbol. The input is too long for you to remember it all, but you are allowed to move back and forth over the input and make marks on it. 10

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Example of TM for – cont’ Design of M It makes multiple passes over the input string with the read-write head. On each pass, it matches one of the characters on each side of the #symbol. To keep track of which symbols have been checked already, M crosses off each symbol as it is examined. If it crosses off all the symbols, that means that everything matched successfully, and M goes into an accept state. Otherwise, reject #0110 X110#0110 cross off 0

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Example of TM for – cont’ Algorithm of M on input string w Zig-zag across the tape to corresponding positions on either side of the # symbol to check whether these positions contain the same symbol. If they do not, or if no # is found, reject. Cross off symbols as they are checked to keep track of which symbols correspond. When all symbols to the left of the # have been crossed off, check for any remaining symbols to the right of the #. If any symbols remain, reject; otherwise accept. 12

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Example of TM for – cont’ #0110 x110#0110 x110#x110 x110#x110 xx10#x110 xxxx#xxxx accept

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Formal Definition of a TM 14

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Operations of TM Copy input to tape. Start on the leftmost symbol on the tape. Proceed according to the transition rules. (Never move off the left end of the tape.) Continue until it enters the accept state, or the reject state, or goes on forever. 15

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Configurations of TM Configuration: a snap shot (3 items) current state current tape contents current head location e.g. on the tape, is current state, head is on 3 rd 0 Start configuration: Halting configurations (does not yield further configurations) accepting configuration: accept state rejecting configuration: reject state 16

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Language of TM Yield: configuration yields if the TM can go from to in one step. e.g. If, then yields A TM M accepts a string w : M goes from the start configuration to an accepting configuration on input w. The language of M (the language recognized by M ): 17

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Turing-recognizable Languages Definition: A language is Turing-recognizable (recursively enumerable, r.e.) if some Turing machine recognizes (accepts) it, i.e., A TM has three possible outcomes: accept, reject, or not halt (loop) If L is regular., we can determine if, but not necessarily if. Thus, we don't have an algorithm for determining whether or not. (not halt = either loop or still computing?) 18

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Turing-decidable Languages 19

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Example The description of TM that decides, the language consisting of all strings of 0s whose length is a power of 2. = “On input string w ” 1.Sweep left to right across the tape, crossing off (x) every other 0 2.If in stage 1 the tape contained a single 0, accept 3.If in stage 1 the tape contained more than a single 0 and the number of 0s was odd, reject 4.Return the head to the left-hand end of the tape 5.Go to stage 1 20

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University 3.2 Variants of Turing Machines 21

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Turing Machine: Variations A number of variations of TM possible such as: a TM with possible “stay put” moves of the head; a TM with a tape in finite in both directions; a TM with multiple tapes; a non-deterministic TM. It turns out that such variations have no more computation power than the “regular” TM as we defined it (equivalent!) – recognize the same class of languages To prove this, it is enough to show that there is a regular TM simulates a particular variation, i.e., they always produce the same result for the same input. 22

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Turing Machine: Simulation Note that configuration of a TM can be encoded by a (finite) string that other TM can read and write on its tape. Furthermore, the transition function of a TM can be also described by a (finite) string. These observations lead to idea of encoding and running the whole TM by another TM. 23

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Multi-tape TMs It is an ordinary Turing machine with several tapes. Initially, the input appears on tape 1, and the others start out blank. Several tapes, each has its own head for reading and writing. Theorem: Every multitape TM has an equivalent single tape TM. Proof. Simulate a multitape TM with a single tape TM: use one tape to represent all tapes 24

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Multi-tape TMs – cont’ 25 M 0101 aaa ba S #100#aa#a

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Nondeterministic TMs Nondeterministic computation | several possibilities to proceed Theorem: Every nondeterministic TM has an equivalent deterministic TM. Proof. Simulate a nondeterministic TM with a deterministic TM: try all possible derivations. 26

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Nondeterministic TMs – cont’ 27 D 0010 xx# 12 1x input tape (never altered) simulation tape (for a branch of nondeterministic computation) address tape (keeps track of D’s location in N’s nondeterministic computation tree)

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Enumerators A TM with an attached printer. (loosely speaking) Start with a blank input tape The language enumerated is all the strings it prints out. Theorem: A language is Turing-recognizable if and only if some enumerator enumerates it. M = on input w, 1.Run E. Every time that E outputs a string, compare it with w. 2.If w ever appears in the output of E, accept. Construct an enumerator E as follows : 1.Run M for each possible 2.If M accept s, print out 28

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University 3.3 The Definition of Algorithm 29

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Algorithms Algorithms have been around since ancient times. Informally, it is a collection of simple instructions for carrying out some task. They can be called “procedures” or “recipes”. One of the famous algorithms was given by Euclid around 300 BC (now called Euclid's algorithm) for finding the greatest common divisor (GCD) of two integers. However, there was no rigorous definition of the algorithm until the twentieth century 30

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Hilbert's Tenth Problem In 1900, at the International Congress of Mathematicians, David Hilbert posed a list of open problems as a challenge for the coming century. The tenth problem was about an algorithm. He asked to “devise” a procedure for answering to the question whether a given polynomial such as possess an integer root, i.e., a set of integer values of the variables at which the polynomial takes zero value (e.g., x = 5, y = 3, z = 0 is an integer root of the above polynomial). 31 coefficient term

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Hilbert's Tenth Problem – cont’ By asking to devise a procedural way to answer this question, Hilbert implicitly assumed that such a procedure (algorithm) exists. There was no way to come up with a conclusion without the definition of algorithm. 32

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Church-Turing thesis 33

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Church-Turing thesis – cont’ Hilbert's Tenth Problem basically asks to construct a decider for the language: That is, for any given polynomial p, we need to decide whether (in a finite number of steps). That is, Hilbert’s tenth problem asks in essence whether the set D is decidable. 34

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Example: Finding an integer root A Turing machine for finding an integer root of a given polynomial (of a single variable x for simplicity, i.e. ) can be informally described as: Evaluate a given polynomial p ( x ) at x set successively to the values 0, 1, -1, 2, -2, 3, -3, … If at any such value of x the value p ( x ) is zero, then accept. Q: Is this Turing machine recognizer or decider? 35

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Example: Finding an integer root Q: Is this Turing machine recognizer or decider? For a univariate polynomial, it is possible to compute an upper bound for an absolute value of its integer root. If no root found below this bound, the polynomial has no integer roots, and its TM can reject (making it a decider solving the problem). However, as shown by Matijasevic, for multivariate polynomials no such bound can be computed, making it impossible to have a decider for this problem in general case. 36

Spring 2016 CISG 5115 Department of Mathematics and Physics Donghyun (David) Kim North Carolina Central University Description of (Turing Machine) Algorithms Algorithms can be described in three ways: formal: Explicit description of a Turing machine (its states, transition function etc.); implementation: Description of TM using English prose, i.e., how TM moves head, read/writes symbols etc. (without explicitly specifying its states and transition function); high-level: Description of an algorithm using English prose, ignoring implementation details We start with the first two levels and later will switch to the third one, when you feel confident on how to go from one level of algorithm description to another. 37