or P = NP = NP-complete?

Size: px
Start display at page:

Download "or P = NP = NP-complete?"

Transcription

1 P = NP? Research Seminar TBW Southwestphalia University of Applied Sciences Campus Hagen Summer Term 2010 NP-complete NP P or P = NP = NP-complete? 1 / 64

2 Contents 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 2 / 64

3 Bibliography Sanjeev Arora and Boaz Barak. Computational Complexity. A Modern Approach. Cambridge University Press, Cambridge, Ronald Lewis Graham, Donald E. Knuth, and Oren Patashnik. Concrete Mathematics. Addison-Wesley, Upper Saddle River, NJ, 2nd edition, Dirk W. Hoffmann. Theoretische Informatik. Carl Hanser Verlag, München, C. M. Papadimitriou. Computational Complexity. Addison-Wesley, Reading, Massachusetts, Michael Sipser. Introduction to the Theory of Computation. Thomson Course Technology, Boston, / 64

4 Bibliography Web Sources Web Sources Wo] gwoegi/p-versus-np.htm Gerhard J. Woeginger (TU Eindhoven): The P-versus-NP page. A list of links to a number of purported solutions to the problem. Zoo] Complexity Zoo Wiki at Stanford University. last visited ] 4 / 64

5 Decision problems languages Definitions Übersicht 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 5 / 64

6 Decision problems languages Definitions Strings Let Σ be a given alphabet. Then a string over Σ is a finite tuple of symbols x k Σ. x 1 x 2... x n 6 / 64

7 Decision problems languages Definitions Strings Let Σ be a given alphabet. Then a string over Σ is a finite tuple of symbols x k Σ. x 1 x 2... x n The length x of a string x is the number of its symbols. 6 / 64

8 Decision problems languages Definitions Strings Let Σ be a given alphabet. Then a string over Σ is a finite tuple of symbols x k Σ. x 1 x 2... x n The length x of a string x is the number of its symbols. By Σ n we denote the set of strings of length n, and by Σ the set of strings of arbitrary length. 6 / 64

9 Decision problems languages Definitions Strings Let Σ be a given alphabet. Then a string over Σ is a finite tuple of symbols x k Σ. x 1 x 2... x n The length x of a string x is the number of its symbols. By Σ n we denote the set of strings of length n, and by Σ the set of strings of arbitrary length. Especially, Σ 0 is the set consisting of the empty string (""), and Σ = n 0 Σ n. (1) Note that { } {""}. 6 / 64

10 Decision problems languages Definitions Languages and decision problems Often, a string is also called a word. 7 / 64

11 Decision problems languages Definitions Languages and decision problems Often, a string is also called a word. A language is a set of words Pap94, p. 24], Sip06, p. 14]. 7 / 64

12 Decision problems languages Definitions Languages and decision problems Often, a string is also called a word. A language is a set of words Pap94, p. 24], Sip06, p. 14]. A decision problem for a given language L is defined by the word problem Hof09, pp 164, 176, 182, 184] to decide whether, for a given word x Σ, we have x L, i.e., whether the word is contained in the language. 7 / 64

13 Decision problems languages Definitions Languages and decision problems Often, a string is also called a word. A language is a set of words Pap94, p. 24], Sip06, p. 14]. A decision problem for a given language L is defined by the word problem Hof09, pp 164, 176, 182, 184] to decide whether, for a given word x Σ, we have x L, i.e., whether the word is contained in the language. In the literature on complexity theory, language often refers to the special meaning decision problem AB09, p. 3]. 7 / 64

14 Decision problems languages Definitions Encodings Often a string of a given language is intended to represent certain objects other than strings, such as graphs, polynomials, or grammars. 8 / 64

15 Decision problems languages Definitions Encodings Often a string of a given language is intended to represent certain objects other than strings, such as graphs, polynomials, or grammars. Encoding an object A into its representation as a string is A. Encoding of several objects A 1, A 2,..., A k : A 1, A 2,..., A k. 8 / 64

16 Decision problems languages Definitions Encodings Often a string of a given language is intended to represent certain objects other than strings, such as graphs, polynomials, or grammars. Encoding an object A into its representation as a string is A. Encoding of several objects A 1, A 2,..., A k : A 1, A 2,..., A k. For a graph G and alphabet Σ = {1, 2, 3, 4, (, ),,} Sip06, 3.23]: G 1 4 G (1,2,3,4)((1,2),(2,3),(3,1),(1,4)) / 64

17 Decision problems languages Definitions Encodings Often a string of a given language is intended to represent certain objects other than strings, such as graphs, polynomials, or grammars. Encoding an object A into its representation as a string is A. Encoding of several objects A 1, A 2,..., A k : A 1, A 2,..., A k. For a graph G and alphabet Σ = {1, 2, 3, 4, (, ),,} Sip06, 3.23]: G 1 4 G (1,2,3,4)((1,2),(2,3),(3,1),(1,4)) 3 2 Strings of different encodings can be translated into each other in a unique way. 8 / 64

18 Decision problems languages Übersicht 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 9 / 64

19 Decision problems languages Palindromes A palindrome (παλιν again, δρoµoς direction) is a string which can be read the same way in either direction, for instance / 64

20 Decision problems languages Palindromes A palindrome (παλιν again, δρoµoς direction) is a string which can be read the same way in either direction, for instance... stets, Regallager, Rentner, Reliefpfeiler, Ein Esel lese nie 10 / 64

21 Decision problems languages Palindromes A palindrome (παλιν again, δρoµoς direction) is a string which can be read the same way in either direction, for instance... stets, Regallager, Rentner, Reliefpfeiler, Ein Esel lese nie step on no pets, rats live on no evil star, Able was I ere I saw Elba 10 / 64

22 Decision problems languages Palindromes A palindrome (παλιν again, δρoµoς direction) is a string which can be read the same way in either direction, for instance... stets, Regallager, Rentner, Reliefpfeiler, Ein Esel lese nie step on no pets, rats live on no evil star, Able was I ere I saw Elba Historical example: Pompeii 79 AD ( SATOR square ) R O T A S O P E R A T E N E T A R E P O S A T O R Wheels and] works holds Arepo the sower last vis ] (Reading with alternate directions and beginning with the S: Sator opera tenet = The sower holds the works in the possible meaning The creator preserves his creation ). 10 / 64

23 Decision problems languages Notation: CAPITAL LETTERS Then we have the language PALINDROME = {x Σ : x 1 x 2... x x = x x x x 1... x 1 } It induces the corresponding word problem, i.e., the decision problem whether a word x Σ satisfies x PALINDROME. 11 / 64

24 Decision problems languages Notation: CAPITAL LETTERS Then we have the language PALINDROME = {x Σ : x 1 x 2... x x = x x x x 1... x 1 } It induces the corresponding word problem, i.e., the decision problem whether a word x Σ satisfies x PALINDROME. We consider a decision problem as a mathematical object, and not just a thing to solve. When problems are treated as mathematical objects, we denote it with capital letters, e.g., PALINDROME. 11 / 64

25 Decision problems languages Notation: CAPITAL LETTERS Then we have the language PALINDROME = {x Σ : x 1 x 2... x x = x x x x 1... x 1 } It induces the corresponding word problem, i.e., the decision problem whether a word x Σ satisfies x PALINDROME. We consider a decision problem as a mathematical object, and not just a thing to solve. When problems are treated as mathematical objects, we denote it with capital letters, e.g., PALINDROME. Usually, the problem is characterized by the language as a given mathematical set where the underlying alphabet is not explicitly given AB09, p 3], Sip06, p 143, 166],... and sometimes the corresponding word problem is simply identified with the language itself Pap94, pp 3, 8]. 11 / 64

26 Decision problems languages EVENS and SEVENS The set of even numbers is given by EVENS = { n : n N, n mod 2 = 0}. 12 / 64

27 Decision problems languages EVENS and SEVENS The set of even numbers is given by EVENS = { n : n N, n mod 2 = 0}. It is decidable by the simple algorithm of merely looking at the last digit in the decimal system, or any other number system to an even base b = 2k for some k N. 12 / 64

28 Decision problems languages EVENS and SEVENS The set of even numbers is given by EVENS = { n : n N, n mod 2 = 0}. It is decidable by the simple algorithm of merely looking at the last digit in the decimal system, or any other number system to an even base b = 2k for some k N. Its running time: T (n) = O(1). 12 / 64

29 Decision problems languages EVENS and SEVENS The set of even numbers is given by EVENS = { n : n N, n mod 2 = 0}. It is decidable by the simple algorithm of merely looking at the last digit in the decimal system, or any other number system to an even base b = 2k for some k N. Its running time: T (n) = O(1). Let SEVENS = { n : n N, n mod 7 = 0}. 12 / 64

30 Decision problems languages EVENS and SEVENS The set of even numbers is given by EVENS = { n : n N, n mod 2 = 0}. It is decidable by the simple algorithm of merely looking at the last digit in the decimal system, or any other number system to an even base b = 2k for some k N. Its running time: T (n) = O(1). Let SEVENS = { n : n N, n mod 7 = 0}. It is decidable by the algorithm of dividing the input n by 7 and determining the remainder. 12 / 64

31 Decision problems languages EVENS and SEVENS The set of even numbers is given by EVENS = { n : n N, n mod 2 = 0}. It is decidable by the simple algorithm of merely looking at the last digit in the decimal system, or any other number system to an even base b = 2k for some k N. Its running time: T (n) = O(1). Let SEVENS = { n : n N, n mod 7 = 0}. It is decidable by the algorithm of dividing the input n by 7 and determining the remainder. Running time T (n) = O(log n). 12 / 64

32 Definition Übersicht 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 13 / 64

33 Definition Definition A Turing machine M with m tapes, m 1, is a tuple (Q, Γ, δ) where Q is a finite set of possible states in which M s register can be, containing a start symbol q s and a halting state q h ; Γ is a finite set of the symbols, the alphabet of M, which M s tapes can attain, containing a blank symbol, a start symbol, and the numbers 0 and 1; a function δ : Q Γ m Q Γ m {,, } m describes the rules the machine M uses in performing each step; this function is called the transition function of M. Γ is also called the tape alphabet of M. It has to be distinguished from the alphabet Σ = Γ \ {, } which underlies a language which is written on one of the tapes as input. 14 / 64

34 Definition Turing machine with binary alphabet and single tape (m = 1) Program δ Finite state Control Q Read/Write Head Tape L R 15 / 64

35 Übersicht 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 16 / 64

36 Example: Binary successor q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) Consider the single-tape Turing machine M = (Q, Γ, δ) (m = 1) with the states the tape alphabet Q = {q s, q 1, q h }, Γ = {0, 1,, }, and the transition function δ as given by the table on the left. 17 / 64

37 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, ?? 18 / 64

38 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, / 64

39 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, / 64

40 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, q s, / 64

41 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, q s, q s, / 64

42 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, q s, q s, q s, / 64

43 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, q s, q s, q s, q s, / 64

44 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, q s, q s, q s, q s, q 1, / 64

45 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, q s, q s, q s, q s, q 1, q 1, / 64

46 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, q s, q s, q s, q s, q 1, q 1, q 1, / 64

47 Transition function and its computation for input q Q σ Γ δ(q, σ) q s 0 (q s, 0, ) q s 1 (q s, 1, ) q s (q 1,, ) q s (q s,, ) q 1 0 (q h, 1, ) q 1 1 (q 1, 0, ) q 1 (q h,, ) 0. q s, q s, q s, q s, q s, q s, q s, q 1, q 1, q 1, q h, / 64

48 Example: Palindrome checker q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) Let M = (Q, Γ, δ) be a single-tape Turing machine where Q = {q s, q 0, q 1, q 0, q 1, q w, q y, q n } with two halting states q y, q n ( yes, no ), Γ = {0, 1,, }, and δ is given by the tables on the left. 29 / 64

49 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, ?? 30 / 64

50 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, / 64

51 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, / 64

52 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, / 64

53 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, / 64

54 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, / 64

55 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, q w, 0 36 / 64

56 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, q w, 0 7. q w, 0 37 / 64

57 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, q w, 0 7. q w, 0 8. q s, 0 38 / 64

58 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, q w, 0 7. q w, 0 8. q s, 0 9. q 0, 39 / 64

59 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, q w, 0 7. q w, 0 8. q s, 0 9. q 0, 10. q 0, 40 / 64

60 Transition function and computation for input 101 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, q w, 0 7. q w, 0 8. q s, 0 9. q 0, 10. q 0, 11. q y, 41 / 64

61 Functioning of the palindrome checker 1 In state q s, the Turing machine M searches its string for the first input symbol x (after the ) 2 M remembers the symbol x by changing its corresponding state q x (This capability of a Turing machine to remember finite information in its state is crucial) 3 The symbol x is deleted by 4 M changes to its walking state q w and moves to the right until the first is met 5 M moves one place to the left and changes to the state q x, still remembering the first symbol x 6 If the last symbol x of the string equals the remembered symbol x, it is replaced by; otherwise, the machine halts with qn ( no ). 7 If the remaining string is empty, M halts with q y ( yes ); M is in state q w and moves to the left until a symbol is reached. 8 Repeat step 1 42 / 64

62 Transition function and computation for input 100 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, ?? 43 / 64

63 Transition function and computation for input 100 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, / 64

64 Transition function and computation for input 100 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, / 64

65 Transition function and computation for input 100 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, / 64

66 Transition function and computation for input 100 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, / 64

67 Transition function and computation for input 100 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, / 64

68 Transition function and computation for input 100 q σ δ(q, σ) q s 0 (q s,, ) q s 1 (q s,, ) q s (q s,, ) q s (q y,, ) q 0 0 (q s, 0, ) q 0 1 (q s, 1, ) q 0 ( q 0,, ) q 1 0 (q 1, 0, ) q 1 1 (q 1, 1, ) q 1 ( q 1,, ) q σ δ(q, σ) q 0 0 (q w,, ) q 0 1 (q n, 1, ) q 0 (q y,, ) q 1 0 (q n, 0, ) q 1 1 (q w,, ) q 1 (q y,, ) q w 0 (q w, 0, ) q w 1 (q w, 1, ) q w (q s,, ) 0. q s, q s, q 1, q 1, q 1, q 1, q n, 0 49 / 64

69 Church-Turing Thesis: Algorithm = Turing Machine Übersicht 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 50 / 64

70 Church-Turing Thesis: Algorithm = Turing Machine Church-Turing Thesis Every physically realizable algorithm can be simulated by a Turing machine. 51 / 64

71 Universal Turing Machine Übersicht 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 52 / 64

72 Universal Turing Machine Universal Turing Machine A universal Turing machine is a Turing machine which can simulate the execution of any other Turing machine. 53 / 64

73 Universal Turing Machine Universal Turing Machine A universal Turing machine is a Turing machine which can simulate the execution of any other Turing machine. Computers (desktop, laptop, smart phones,...) are universal Turing machines, since any program can run on them. 53 / 64

74 Universal Turing Machine Universal Turing Machine A universal Turing machine is a Turing machine which can simulate the execution of any other Turing machine. Computers (desktop, laptop, smart phones,...) are universal Turing machines, since any program can run on them. However, it was a surprising observation in the 1930 s that general-purpose computers are possible at all. After all, the parameters of a universal Turing machine alphabet size, number of states, and number of tapes are fixed. 53 / 64

75 Universal Turing Machine Universal Turing Machine A universal Turing machine is a Turing machine which can simulate the execution of any other Turing machine. Computers (desktop, laptop, smart phones,...) are universal Turing machines, since any program can run on them. However, it was a surprising observation in the 1930 s that general-purpose computers are possible at all. After all, the parameters of a universal Turing machine alphabet size, number of states, and number of tapes are fixed. Alan Turing ( ) was the first to show in the 1930 s that this is not a hurdle because of the ability to use encodings. 53 / 64

76 Universal Turing Machine Efficient universal Turing machine Theorem. Efficient universal Turing machine] There exists a Turing machine U such that for every with x, α {0, 1} U(x, α) = M α (x), where M α denotes the Turing machine represented by α. Moreover, if M α halts on input x within T steps, then U(x, α) halts within kt ln T steps, where k is a number independent of n = x and depending only on M α s alphabet size, number of tapes, and number of states. 54 / 64

77 Decidability Übersicht 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 55 / 64

78 Decidability Decidability A language L is called Turing-recognizable, if there exists a Turing machine which halts accepting on every input x L. (However, there possibly might exist no Turing machine which ever rejects an input x / L.) 56 / 64

79 Decidability Decidability A language L is called Turing-recognizable, if there exists a Turing machine which halts accepting on every input x L. (However, there possibly might exist no Turing machine which ever rejects an input x / L.) A language is called decidable, if there exists a Turing machine which, on every input, halts, either accepting or rejecting. 56 / 64

80 Decidability Decidability A language L is called Turing-recognizable, if there exists a Turing machine which halts accepting on every input x L. (However, there possibly might exist no Turing machine which ever rejects an input x / L.) A language is called decidable, if there exists a Turing machine which, on every input, halts, either accepting or rejecting. Every decidable language is Turing-recognizable, but not vice versa. 56 / 64

81 Decidability Decidability, computability, enumerability Since deciding a language is equivalent to computing a function, a decidable language is also called computable AB09, p 23], Sip06, 5.17]. 57 / 64

82 Decidability Decidability, computability, enumerability Since deciding a language is equivalent to computing a function, a decidable language is also called computable AB09, p 23], Sip06, 5.17]. The Turing-recognizable languages are exactly the recursively enumerable languages Hof09, 4.6]. 57 / 64

83 Decidability Decidability, computability, enumerability Since deciding a language is equivalent to computing a function, a decidable language is also called computable AB09, p 23], Sip06, 5.17]. The Turing-recognizable languages are exactly the recursively enumerable languages Hof09, 4.6]. The decidable languages are also called recursive languages Pap94, 2.2]. (Recursive languages are not contained in the Chomsky hierarchy, but all regular, context-free, and context-sensitive languages are recursive Hof09, p 302], Sip06, p 172].) 57 / 64

84 Decidability Excursion: Diophantine sets A set X N n 0 is Diophantine if it satisfies X = {(x 1,..., x n ) : y N m 0 s.t. f (x 1,..., x n, y 1,..., y m ) = 0} where f : Z m+n Z is a polynomial with integer coefficients 58 / 64

85 Decidability Excursion: Diophantine sets A set X N n 0 is Diophantine if it satisfies X = {(x 1,..., x n ) : y N m 0 s.t. f (x 1,..., x n, y 1,..., y m ) = 0} where f : Z m+n Z is a polynomial with integer coefficients Matiyasevich s theorem (1970): A set X N n 0 is Turing-recognizable if and only if it is Diophantine. 58 / 64

86 Decidability Excursion: Diophantine sets A set X N n 0 is Diophantine if it satisfies X = {(x 1,..., x n ) : y N m 0 s.t. f (x 1,..., x n, y 1,..., y m ) = 0} where f : Z m+n Z is a polynomial with integer coefficients Matiyasevich s theorem (1970): A set X N n 0 is Turing-recognizable if and only if it is Diophantine. Matiyasevich s theorem resolved the tenth Hilbert problem (1900): There is no general algorithm to decide a Diophantine equation. 58 / 64

87 Decidability Excursion: Diophantine sets A set X N n 0 is Diophantine if it satisfies X = {(x 1,..., x n ) : y N m 0 s.t. f (x 1,..., x n, y 1,..., y m ) = 0} where f : Z m+n Z is a polynomial with integer coefficients Matiyasevich s theorem (1970): A set X N n 0 is Turing-recognizable if and only if it is Diophantine. Matiyasevich s theorem resolved the tenth Hilbert problem (1900): There is no general algorithm to decide a Diophantine equation. Moreover: Any Turing-recognizable language uniquely corresponds to a Diophantine equation: Computability means number theory 58 / 64

88 Decidability Excursion: 1 of Diophantine sets The set of all even non-negative integers is defined by the Diophantine equation x = 2y, i.e., f (x, y) = x 2y / 64

89 Decidability Excursion: 1 of Diophantine sets The set of all even non-negative integers is defined by the Diophantine equation x = 2y, i.e., f (x, y) = x 2y. The set of all squares is defined by the Diophantine equation x = y 2, i.e., f (x, y) = x y / 64

90 Decidability Excursion: 1 of Diophantine sets The set of all even non-negative integers is defined by the Diophantine equation x = 2y, i.e., f (x, y) = x 2y. The set of all squares is defined by the Diophantine equation x = y 2, i.e., f (x, y) = x y 2. The set of all non-negative integers that are not squares is defined by Pell s equation (y 1 + 1) 2 x(y 2 + 1) 2 = 1, i.e., f (x, y 1, y 2 ) = (y 1 + 1) 2 x(y 2 + 1) 2 1, provided that the unknowns y 1 and y 2 range over non-negative integers / 64

91 Decidability Excursion: Fibonacci numbers 2 as Diophantine sets The set of all Fibonacci numbers is defined by f (x, y) = (x 2 + xy y 2 ) / 64

92 Decidability Excursion: Fibonacci numbers 2 as Diophantine sets The set of all Fibonacci numbers is defined by f (x, y) = (x 2 + xy y 2 ) 2 1. E.g., (x, y) = (0, 1), (1, 1), (1,2), (2, 3), (3, 5), (5, 8), solve f = / 64

93 Decidability Excursion: Fibonacci numbers 2 as Diophantine sets The set of all Fibonacci numbers is defined by f (x, y) = (x 2 + xy y 2 ) 2 1. E.g., (x, y) = (0, 1), (1, 1), (1,2), (2, 3), (3, 5), (5, 8), solve f = 0. In fact, the Diophantine equation follows from Cassini s identity F 2 n+1 F n+1f n F 2 n = ( 1) n, where F n denotes the n-th Fibonacci number GKP94, (6.106)] / 64

94 Decidability Excursion: Fibonacci numbers 2 as Diophantine sets The set of all Fibonacci numbers is defined by f (x, y) = (x 2 + xy y 2 ) 2 1. E.g., (x, y) = (0, 1), (1, 1), (1,2), (2, 3), (3, 5), (5, 8), solve f = 0. In fact, the Diophantine equation follows from Cassini s identity F 2 n+1 F n+1f n F 2 n = ( 1) n, where F n denotes the n-th Fibonacci number GKP94, (6.106)]. The Fibonacci numbers play a important role in Matiyasevich s proof of his theorem GKP94, pp 294] / 64

95 Decidability Excursion: Fibonacci numbers 2 as Diophantine sets The set of all Fibonacci numbers is defined by f (x, y) = (x 2 + xy y 2 ) 2 1. E.g., (x, y) = (0, 1), (1, 1), (1,2), (2, 3), (3, 5), (5, 8), solve f = 0. In fact, the Diophantine equation follows from Cassini s identity F 2 n+1 F n+1f n F 2 n = ( 1) n, where F n denotes the n-th Fibonacci number GKP94, (6.106)]. The Fibonacci numbers play a important role in Matiyasevich s proof of his theorem GKP94, pp 294]. F n can be computed in a closed form: F n = φn ˆφ n 5 where φ = (1 + 5)/ is the golden ratio and ˆφ = 1/φ, both satisfying the equation x 2 = x + 1 GKP94, pp 299] / 64

96 Nondeterministic Turing Machines Übersicht 1 Bibliography 2 Decision problems languages Definitions 3 Turing Machines Definition Church-Turing Thesis: Algorithm = Turing Machine Universal Turing Machine Decidability Nondeterministic Turing Machines 61 / 64

97 Nondeterministic Turing Machines Nondeterministic Turing Machines A non-deterministic Turing machine M is a tuple (Q, Γ, δ) where the set Q of machine states and the tape alphabet Γ are given as for a deterministic Turing machine, but the transition function is δ : Q Γ m P(Q Γ m {,, } m ), Here P(A) for an arbitrary set A denotes the power set of A, i.e., the set of all possible subsets of A. 62 / 64

98 Nondeterministic Turing Machines Nondeterministic Turing Machines A non-deterministic Turing machine M is a tuple (Q, Γ, δ) where the set Q of machine states and the tape alphabet Γ are given as for a deterministic Turing machine, but the transition function is δ : Q Γ m P(Q Γ m {,, } m ), Here P(A) for an arbitrary set A denotes the power set of A, i.e., the set of all possible subsets of A. In particular,, A P(A), and P(A) = 2 A. 62 / 64

99 Nondeterministic Turing Machines Nondeterministic Turing Machines A non-deterministic Turing machine M is a tuple (Q, Γ, δ) where the set Q of machine states and the tape alphabet Γ are given as for a deterministic Turing machine, but the transition function is δ : Q Γ m P(Q Γ m {,, } m ), Here P(A) for an arbitrary set A denotes the power set of A, i.e., the set of all possible subsets of A. In particular,, A P(A), and P(A) = 2 A. For instance, for A = {a, b, c} we have / 64

100 Nondeterministic Turing Machines Deterministic versus nondeterministic Turing Machines time The succession of computational steps in a deterministic Turing machine (left), where for each state-symbol combination there is at most one next step, and in a nondeterministic Turing-machine (right), where for each state-symbol combination there may be more than one next step. 63 / 64

101 Nondeterministic Turing Machines Deterministic versus nondeterministic Turing Machines time The succession of computational steps in a deterministic Turing machine (left), where for each state-symbol combination there is at most one next step, and in a nondeterministic Turing-machine (right), where for each state-symbol combination there may be more than one next step. In the deterministic case, a problem is accepted if the Turing machine halts with the final state yes, whereas in the nondeterministic case it is solved if there is at least one final state yes. 63 / 64

102 Nondeterministic Turing Machines Discussion Any questions? 64 / 64

Chapter 3: The Church-Turing Thesis

Chapter 3: The Church-Turing Thesis Chapter 3: The Church-Turing Thesis 1 Turing Machine (TM) Control... Bi-direction Read/Write Turing machine is a much more powerful model, proposed by Alan Turing in 1936. 2 Church/Turing Thesis Anything

More information

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite The Church-Turing Thesis CS60001: Foundations of Computing Science Professor, Dept. of Computer Sc. & Engg., Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q 0, q accept, q reject ), where

More information

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages COMP/MATH 300 Topics for Spring 2017 June 5, 2017 Review and Regular Languages Exam I I. Introductory and review information from Chapter 0 II. Problems and Languages A. Computable problems can be expressed

More information

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM) Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM) 1 Deterministic Turing Machine (DTM).. B B 0 1 1 0 0 B B.. Finite Control Two-way, infinite tape, broken into

More information

CSCE 551: Chin-Tser Huang. University of South Carolina

CSCE 551: Chin-Tser Huang. University of South Carolina CSCE 551: Theory of Computation Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Church-Turing Thesis The definition of the algorithm came in the 1936 papers of Alonzo Church h and Alan

More information

On the Computational Hardness of Graph Coloring

On the Computational Hardness of Graph Coloring On the Computational Hardness of Graph Coloring Steven Rutherford June 3, 2011 Contents 1 Introduction 2 2 Turing Machine 2 3 Complexity Classes 3 4 Polynomial Time (P) 4 4.1 COLORED-GRAPH...........................

More information

Theory of Computation

Theory of Computation Theory of Computation Lecture #6 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 39 Lecture 6: Overview Prove the equivalence of enumerators and TMs. Dovetailing

More information

Turing Machines Part III

Turing Machines Part III Turing Machines Part III Announcements Problem Set 6 due now. Problem Set 7 out, due Monday, March 4. Play around with Turing machines, their powers, and their limits. Some problems require Wednesday's

More information

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta CSE 2001: Introduction to Theory of Computation Fall 2012 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cs.yorku.ca/course/2001 11/13/2012 CSE

More information

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta CSE 2001: Introduction to Theory of Computation Fall 2013 Suprakash Datta datta@cse.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/2001 11/7/2013 CSE

More information

TURING MAHINES

TURING MAHINES 15-453 TURING MAHINES TURING MACHINE FINITE STATE q 10 CONTROL AI N P U T INFINITE TAPE read write move 0 0, R, R q accept, R q reject 0 0, R 0 0, R, L read write move 0 0, R, R q accept, R 0 0, R 0 0,

More information

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT.

Recap DFA,NFA, DTM. Slides by Prof. Debasis Mitra, FIT. Recap DFA,NFA, DTM Slides by Prof. Debasis Mitra, FIT. 1 Formal Language Finite set of alphabets Σ: e.g., {0, 1}, {a, b, c}, { {, } } Language L is a subset of strings on Σ, e.g., {00, 110, 01} a finite

More information

NODIA AND COMPANY. GATE SOLVED PAPER Computer Science Engineering Theory of Computation. Copyright By NODIA & COMPANY

NODIA AND COMPANY. GATE SOLVED PAPER Computer Science Engineering Theory of Computation. Copyright By NODIA & COMPANY No part of this publication may be reproduced or distributed in any form or any means, electronic, mechanical, photocopying, or otherwise without the prior permission of the author. GATE SOLVED PAPER Computer

More information

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever.   ETH Zürich (D-ITET) October, Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) October, 19 2017 Part 5 out of 5 Last week was all about Context-Free Languages Context-Free

More information

The Church-Turing Thesis

The Church-Turing Thesis The Church-Turing Thesis Huan Long Shanghai Jiao Tong University Acknowledgements Part of the slides comes from a similar course in Fudan University given by Prof. Yijia Chen. http://basics.sjtu.edu.cn/

More information

Computability and Complexity Theory

Computability and Complexity Theory Discrete Math for Bioinformatics WS 09/10:, by A Bockmayr/K Reinert, January 27, 2010, 18:39 9001 Computability and Complexity Theory Computability and complexity Computability theory What problems can

More information

CSCC63 Worksheet Turing Machines

CSCC63 Worksheet Turing Machines 1 An Example CSCC63 Worksheet Turing Machines Goal. Design a turing machine, M that accepts only strings of the form {w#w w {0, 1} }. Idea. Describe in words how the machine would work. Read first symbol

More information

CS21 Decidability and Tractability

CS21 Decidability and Tractability CS21 Decidability and Tractability Lecture 8 January 24, 2018 Outline Turing Machines and variants multitape TMs nondeterministic TMs Church-Turing Thesis So far several models of computation finite automata

More information

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine There is no known model of computation more powerful than Turing Machines Definition of Algorithm:

More information

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis

Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis Harvard CS 121 and CSCI E-121 Lecture 14: Turing Machines and the Church Turing Thesis Harry Lewis October 22, 2013 Reading: Sipser, 3.2, 3.3. The Basic Turing Machine The Basic Turing Machine a a b a

More information

Theory of Computer Science

Theory of Computer Science Theory of Computer Science D1. Turing-Computability Malte Helmert University of Basel April 18, 2016 Overview: Course contents of this course: logic How can knowledge be represented? How can reasoning

More information

Theory of Computation (IX) Yijia Chen Fudan University

Theory of Computation (IX) Yijia Chen Fudan University Theory of Computation (IX) Yijia Chen Fudan University Review The Definition of Algorithm Polynomials and their roots A polynomial is a sum of terms, where each term is a product of certain variables and

More information

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK COMS11700 Undecidability Department of Computer Science, University of Bristol Bristol, UK 4 April 2014 COMS11700: Undecidability Slide 1/29 Decidability We are particularly interested in Turing machines

More information

Final exam study sheet for CS3719 Turing machines and decidability.

Final exam study sheet for CS3719 Turing machines and decidability. Final exam study sheet for CS3719 Turing machines and decidability. A Turing machine is a finite automaton with an infinite memory (tape). Formally, a Turing machine is a 6-tuple M = (Q, Σ, Γ, δ, q 0,

More information

Decidability: Church-Turing Thesis

Decidability: Church-Turing Thesis Decidability: Church-Turing Thesis While there are a countably infinite number of languages that are described by TMs over some alphabet Σ, there are an uncountably infinite number that are not Are there

More information

UNRESTRICTED GRAMMARS

UNRESTRICTED GRAMMARS 136 UNRESTRICTED GRAMMARS Context-free grammar allows to substitute only variables with strings In an unrestricted grammar (or a rewriting system) one may substitute any non-empty string (containing variables

More information

Theory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem

Theory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem Theory of Computer Science May 2, 2018 D7. Halting Problem and Reductions Theory of Computer Science D7. Halting Problem and Reductions Gabriele Röger University of Basel May 2, 2018 D7.1 Introduction

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Fall 2016 http://cseweb.ucsd.edu/classes/fa16/cse105-abc/ Today's learning goals Sipser Ch 3 Trace the computation of a Turing machine using its transition function and configurations.

More information

CSCI3390-Assignment 2 Solutions

CSCI3390-Assignment 2 Solutions CSCI3390-Assignment 2 Solutions due February 3, 2016 1 TMs for Deciding Languages Write the specification of a Turing machine recognizing one of the following three languages. Do one of these problems.

More information

Computability Theory. CS215, Lecture 6,

Computability Theory. CS215, Lecture 6, Computability Theory CS215, Lecture 6, 2000 1 The Birth of Turing Machines At the end of the 19th century, Gottlob Frege conjectured that mathematics could be built from fundamental logic In 1900 David

More information

CSC173 Workshop: 13 Sept. Notes

CSC173 Workshop: 13 Sept. Notes CSC173 Workshop: 13 Sept. Notes Frank Ferraro Department of Computer Science University of Rochester September 14, 2010 1 Regular Languages and Equivalent Forms A language can be thought of a set L of

More information

Turing Machine Recap

Turing Machine Recap Turing Machine Recap DFA with (infinite) tape. One move: read, write, move, change state. High-level Points Church-Turing thesis: TMs are the most general computing devices. So far no counter example Every

More information

1 Computational Problems

1 Computational Problems Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

Ταουσάκος Θανάσης Αλγόριθμοι και Πολυπλοκότητα II 7 Φεβρουαρίου 2013

Ταουσάκος Θανάσης Αλγόριθμοι και Πολυπλοκότητα II 7 Φεβρουαρίου 2013 Ταουσάκος Θανάσης Αλγόριθμοι και Πολυπλοκότητα II 7 Φεβρουαρίου 2013 Alternation: important generalization of non-determinism Redefining Non-Determinism in terms of configurations: a configuration lead

More information

Problems, and How Computer Scientists Solve Them Manas Thakur

Problems, and How Computer Scientists Solve Them Manas Thakur Problems, and How Computer Scientists Solve Them PACE Lab, IIT Madras Content Credits Introduction to Automata Theory, Languages, and Computation, 3rd edition. Hopcroft et al. Introduction to the Theory

More information

Part I: Definitions and Properties

Part I: Definitions and Properties Turing Machines Part I: Definitions and Properties Finite State Automata Deterministic Automata (DFSA) M = {Q, Σ, δ, q 0, F} -- Σ = Symbols -- Q = States -- q 0 = Initial State -- F = Accepting States

More information

Notes for Lecture Notes 2

Notes for Lecture Notes 2 Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

More Turing Machines. CS154 Chris Pollett Mar 15, 2006.

More Turing Machines. CS154 Chris Pollett Mar 15, 2006. More Turing Machines CS154 Chris Pollett Mar 15, 2006. Outline Multitape Turing Machines Nondeterministic Turing Machines Enumerators Introduction There have been many different proposals for what it means

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY REVIEW for MIDTERM 1 THURSDAY Feb 6 Midterm 1 will cover everything we have seen so far The PROBLEMS will be from Sipser, Chapters 1, 2, 3 It will be

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION FORMAL LANGUAGES, AUTOMATA AND COMPUTATION DECIDABILITY ( LECTURE 15) SLIDES FOR 15-453 SPRING 2011 1 / 34 TURING MACHINES-SYNOPSIS The most general model of computation Computations of a TM are described

More information

Opleiding Informatica

Opleiding Informatica Opleiding Informatica Tape-quantifying Turing machines in the arithmetical hierarchy Simon Heijungs Supervisors: H.J. Hoogeboom & R. van Vliet BACHELOR THESIS Leiden Institute of Advanced Computer Science

More information

On Rice s theorem. Hans Hüttel. October 2001

On Rice s theorem. Hans Hüttel. October 2001 On Rice s theorem Hans Hüttel October 2001 We have seen that there exist languages that are Turing-acceptable but not Turing-decidable. An important example of such a language was the language of the Halting

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Chomsky Normal Form and TURING MACHINES TUESDAY Feb 4 CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form:

More information

UNIT-VIII COMPUTABILITY THEORY

UNIT-VIII COMPUTABILITY THEORY CONTEXT SENSITIVE LANGUAGE UNIT-VIII COMPUTABILITY THEORY A Context Sensitive Grammar is a 4-tuple, G = (N, Σ P, S) where: N Set of non terminal symbols Σ Set of terminal symbols S Start symbol of the

More information

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY RYAN DOUGHERTY If we want to talk about a program running on a real computer, consider the following: when a program reads an instruction,

More information

Theory of Computation

Theory of Computation Theory of Computation Unit 4-6: Turing Machines and Computability Decidability and Encoding Turing Machines Complexity and NP Completeness Syedur Rahman syedurrahman@gmail.com Turing Machines Q The set

More information

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine) CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM) Proposed by Alan Turing in 936 finite-state control + infinitely long tape A stronger

More information

Introduction to Turing Machines. Reading: Chapters 8 & 9

Introduction to Turing Machines. Reading: Chapters 8 & 9 Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages

More information

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops.

} Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops. and their languages } Some languages are Turing-decidable A Turing Machine will halt on all inputs (either accepting or rejecting). No infinite loops. } Some languages are Turing-recognizable, but not

More information

Chapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE

Chapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE Chapter 1 - Time and Space Complexity deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE 1 / 41 Deterministic Turing machines Definition 1.1 A (deterministic

More information

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine) CS537 Theory of Computation Lecture : Computability Theory I (Turing Machine) Objectives Introduce the Turing Machine (TM)? Proposed by Alan Turing in 936 finite-state control + infinitely long tape A

More information

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA

Turing Machines. 22c:135 Theory of Computation. Tape of a Turing Machine (TM) TM versus FA, PDA Turing Machines A Turing machine is similar to a finite automaton with supply of unlimited memory. A Turing machine can do everything that any computing device can do. There exist problems that even a

More information

The Pumping Lemma. for all n 0, u 1 v n u 2 L (i.e. u 1 u 2 L, u 1 vu 2 L [but we knew that anyway], u 1 vvu 2 L, u 1 vvvu 2 L, etc.

The Pumping Lemma. for all n 0, u 1 v n u 2 L (i.e. u 1 u 2 L, u 1 vu 2 L [but we knew that anyway], u 1 vvu 2 L, u 1 vvvu 2 L, etc. The Pumping Lemma For every regular language L, there is a number l 1 satisfying the pumping lemma property: All w L with w l can be expressed as a concatenation of three strings, w = u 1 vu 2, where u

More information

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018 CS 301 Lecture 17 Church Turing thesis Stephen Checkoway March 19, 2018 1 / 17 An abridged modern history of formalizing algorithms An algorithm is a finite, unambiguous sequence of steps for solving a

More information

CPSC 421: Tutorial #1

CPSC 421: Tutorial #1 CPSC 421: Tutorial #1 October 14, 2016 Set Theory. 1. Let A be an arbitrary set, and let B = {x A : x / x}. That is, B contains all sets in A that do not contain themselves: For all y, ( ) y B if and only

More information

Turing Machines. Wolfgang Schreiner

Turing Machines. Wolfgang Schreiner Turing Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner

More information

Chapter 7 Turing Machines

Chapter 7 Turing Machines Chapter 7 Turing Machines Copyright 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 A General Model of Computation Both finite automata and pushdown automata are

More information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 13 CHAPTER 4 TURING MACHINES 1. The definition of Turing machine 2. Computing with Turing machines 3. Extensions of Turing

More information

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4

Chomsky Normal Form and TURING MACHINES. TUESDAY Feb 4 Chomsky Normal Form and TURING MACHINES TUESDAY Feb 4 CHOMSKY NORMAL FORM A context-free grammar is in Chomsky normal form if every rule is of the form: A BC A a S ε B and C aren t start variables a is

More information

1 Showing Recognizability

1 Showing Recognizability CSCC63 Worksheet Recognizability and Decidability 1 1 Showing Recognizability 1.1 An Example - take 1 Let Σ be an alphabet. L = { M M is a T M and L(M) }, i.e., that M accepts some string from Σ. Prove

More information

Easy Shortcut Definitions

Easy Shortcut Definitions This version Mon Dec 12 2016 Easy Shortcut Definitions If you read and understand only this section, you ll understand P and NP. A language L is in the class P if there is some constant k and some machine

More information

INF Introduction and Regular Languages. Daniel Lupp. 18th January University of Oslo. Department of Informatics. Universitetet i Oslo

INF Introduction and Regular Languages. Daniel Lupp. 18th January University of Oslo. Department of Informatics. Universitetet i Oslo INF28 1. Introduction and Regular Languages Daniel Lupp Universitetet i Oslo 18th January 218 Department of Informatics University of Oslo INF28 Lecture :: 18th January 1 / 33 Details on the Course consists

More information

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1) Time Complexity (1) CSCI 2670 Original Slides were written by Dr. Frederick W Maier Spring 2014 Time Complexity So far we ve dealt with determining whether or not a problem is decidable. But even if it

More information

About the relationship between formal logic and complexity classes

About the relationship between formal logic and complexity classes About the relationship between formal logic and complexity classes Working paper Comments welcome; my email: armandobcm@yahoo.com Armando B. Matos October 20, 2013 1 Introduction We analyze a particular

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2016 http://cseweb.ucsd.edu/classes/sp16/cse105-ab/ Today's learning goals Sipser Ch 3.3, 4.1 State and use the Church-Turing thesis. Give examples of decidable problems.

More information

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak; Topics in Theoretical Computer Science February 29, 2016 Lecturer: Ola Svensson Lecture 2 (Notes) Scribes: Ola Svensson Disclaimer: These notes were written for the lecturer only and may contain inconsistent

More information

COMPUTATIONAL COMPLEXITY

COMPUTATIONAL COMPLEXITY ATHEATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Computational Complexity - Osamu Watanabe COPUTATIONAL COPLEXITY Osamu Watanabe Tokyo Institute of Technology, Tokyo, Japan Keywords: {deterministic, randomized,

More information

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information

Theory of Computation Lecture Notes. Problems and Algorithms. Class Information Theory of Computation Lecture Notes Prof. Yuh-Dauh Lyuu Dept. Computer Science & Information Engineering and Department of Finance National Taiwan University Problems and Algorithms c 2004 Prof. Yuh-Dauh

More information

Turing Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1

Turing Machines. The Language Hierarchy. Context-Free Languages. Regular Languages. Courtesy Costas Busch - RPI 1 Turing Machines a n b n c The anguage Hierarchy n? ww? Context-Free anguages a n b n egular anguages a * a *b* ww Courtesy Costas Busch - PI a n b n c n Turing Machines anguages accepted by Turing Machines

More information

Most General computer?

Most General computer? Turing Machines Most General computer? DFAs are simple model of computation. Accept only the regular languages. Is there a kind of computer that can accept any language, or compute any function? Recall

More information

The Cook-Levin Theorem

The Cook-Levin Theorem An Exposition Sandip Sinha Anamay Chaturvedi Indian Institute of Science, Bangalore 14th November 14 Introduction Deciding a Language Let L {0, 1} be a language, and let M be a Turing machine. We say M

More information

Turing Machines. Lecture 8

Turing Machines. Lecture 8 Turing Machines Lecture 8 1 Course Trajectory We will see algorithms, what can be done. But what cannot be done? 2 Computation Problem: To compute a function F that maps each input (a string) to an output

More information

Theory of Computation

Theory of Computation Theory of Computation Lecture #2 Sarmad Abbasi Virtual University Sarmad Abbasi (Virtual University) Theory of Computation 1 / 1 Lecture 2: Overview Recall some basic definitions from Automata Theory.

More information

Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0

Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0 Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0 Turing Machines Now for a machine model of much greater power.

More information

CSCE 551 Final Exam, Spring 2004 Answer Key

CSCE 551 Final Exam, Spring 2004 Answer Key CSCE 551 Final Exam, Spring 2004 Answer Key 1. (10 points) Using any method you like (including intuition), give the unique minimal DFA equivalent to the following NFA: 0 1 2 0 5 1 3 4 If your answer is

More information

DM17. Beregnelighed. Jacob Aae Mikkelsen

DM17. Beregnelighed. Jacob Aae Mikkelsen DM17 Beregnelighed Jacob Aae Mikkelsen January 12, 2007 CONTENTS Contents 1 Introduction 2 1.1 Operations with languages...................... 2 2 Finite Automata 3 2.1 Regular expressions/languages....................

More information

A Lower Bound of 2 n Conditional Jumps for Boolean Satisfiability on A Random Access Machine

A Lower Bound of 2 n Conditional Jumps for Boolean Satisfiability on A Random Access Machine A Lower Bound of 2 n Conditional Jumps for Boolean Satisfiability on A Random Access Machine Samuel C. Hsieh Computer Science Department, Ball State University July 3, 2014 Abstract We establish a lower

More information

M. Smith. 6 September 2016 / GSAC

M. Smith. 6 September 2016 / GSAC , Complexity, and Department of Mathematics University of Utah 6 September 2016 / GSAC Outline 1 2 3 4 Outline 1 2 3 4 Motivation The clock puzzle is an infamous part of the video game XIII-2 (2011). Most

More information

Turing Machines, diagonalization, the halting problem, reducibility

Turing Machines, diagonalization, the halting problem, reducibility Notes on Computer Theory Last updated: September, 015 Turing Machines, diagonalization, the halting problem, reducibility 1 Turing Machines A Turing machine is a state machine, similar to the ones we have

More information

HIS LEGACY. 100 Years Turing celebration. Gordana Dodig Crnkovic, IDT Open Seminar. Computer Science and Network Department Mälardalen University

HIS LEGACY. 100 Years Turing celebration. Gordana Dodig Crnkovic, IDT Open Seminar. Computer Science and Network Department Mälardalen University IDT Open Seminar AAN TUING AND HIS EGACY 00 Years Turing celebration http://www.mrtc.mdh.se/~gdc/work/turingcentenary.pdf http://www.mrtc.mdh.se/ mdh se/~gdc/work/turingmachine.pdf Gordana Dodig Crnkovic,

More information

Intro to Theory of Computation

Intro to Theory of Computation Intro to Theory of Computation LECTURE 14 Last time Turing Machine Variants Church-Turing Thesis Today Universal TM Decidable languages Designing deciders Sofya Raskhodnikova 3/1/2016 Sofya Raskhodnikova;

More information

Fundamentals of Computer Science

Fundamentals of Computer Science Fundamentals of Computer Science Chapter 8: Turing machines Henrik Björklund Umeå University February 17, 2014 The power of automata Finite automata have only finite memory. They recognize the regular

More information

DRAFT. Algebraic computation models. Chapter 14

DRAFT. Algebraic computation models. Chapter 14 Chapter 14 Algebraic computation models Somewhat rough We think of numerical algorithms root-finding, gaussian elimination etc. as operating over R or C, even though the underlying representation of the

More information

17.1 The Halting Problem

17.1 The Halting Problem CS125 Lecture 17 Fall 2016 17.1 The Halting Problem Consider the HALTING PROBLEM (HALT TM ): Given a TM M and w, does M halt on input w? Theorem 17.1 HALT TM is undecidable. Suppose HALT TM = { M,w : M

More information

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE Volume 3, No. 5, May 2012 Journal of Global Research in Computer Science REVIEW ARTICLE Available Online at www.jgrcs.info COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE Tirtharaj Dash

More information

Equivalent Variations of Turing Machines

Equivalent Variations of Turing Machines Equivalent Variations of Turing Machines Nondeterministic TM = deterministic TM npda = pushdown automata with n stacks 2PDA = npda = TM for all n 2 Turing machines with n tapes (n 2) and n tape heads has

More information

Theory of Computing Tamás Herendi

Theory of Computing Tamás Herendi Theory of Computing Tamás Herendi Theory of Computing Tamás Herendi Publication date 2014 Table of Contents 1 Preface 1 2 Formal languages 2 3 Order of growth rate 9 4 Turing machines 16 1 The definition

More information

Computer Sciences Department

Computer Sciences Department Computer Sciences Department 1 Reference Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Computer Sciences Department 3 ADVANCED TOPICS IN C O M P U T A B I L I T Y

More information

Automata Theory (2A) Young Won Lim 5/31/18

Automata Theory (2A) Young Won Lim 5/31/18 Automata Theory (2A) Copyright (c) 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later

More information

P and NP. Or, how to make $1,000,000.

P and NP. Or, how to make $1,000,000. P and NP Or, how to make $1,000,000. http://www.claymath.org/millennium-problems/p-vs-np-problem Review: Polynomial time difference between single-tape and multi-tape TMs Exponential time difference between

More information

Busch Complexity Lectures: Turing s Thesis. Costas Busch - LSU 1

Busch Complexity Lectures: Turing s Thesis. Costas Busch - LSU 1 Busch Complexity Lectures: Turing s Thesis Costas Busch - LSU 1 Turing s thesis (1930): Any computation carried out by mechanical means can be performed by a Turing Machine Costas Busch - LSU 2 Algorithm:

More information

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability

The Turing Machine. Computability. The Church-Turing Thesis (1936) Theory Hall of Fame. Theory Hall of Fame. Undecidability The Turing Machine Computability Motivating idea Build a theoretical a human computer Likened to a human with a paper and pencil that can solve problems in an algorithmic way The theoretical provides a

More information

Non Determinism of Finite Automata

Non Determinism of Finite Automata Non Determinism of Finite Automata Akshit Chauhan 1, Deepak Kumar 2, Deepak Chandel 3, 1,2,3 CSE Department DCE Gurgaon Abstract: The basic finite automata model has been extended over the years with different

More information

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University IV. Turing Machine Yuxi Fu BASICS, Shanghai Jiao Tong University Alan Turing Alan Turing (23Jun.1912-7Jun.1954), an English student of Church, introduced a machine model for effective calculation in On

More information

CSCI 1590 Intro to Computational Complexity

CSCI 1590 Intro to Computational Complexity CSCI 59 Intro to Computational Complexity Overview of the Course John E. Savage Brown University January 2, 29 John E. Savage (Brown University) CSCI 59 Intro to Computational Complexity January 2, 29

More information

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Large Numbers, Busy Beavers, Noncomputability and Incompleteness Large Numbers, Busy Beavers, Noncomputability and Incompleteness Food For Thought November 1, 2007 Sam Buss Department of Mathematics U.C. San Diego PART I Large Numbers, Busy Beavers, and Undecidability

More information

CSE 460: Computabilty and Formal Languages Turing Machine (TM) S. Pramanik

CSE 460: Computabilty and Formal Languages Turing Machine (TM) S. Pramanik CSE 460: Computabilty and Formal Languages Turing Machine (TM) S. Pramanik 1 Definition of Turing Machine A 5-tuple: T = (Q, Σ, Γ, q 0, δ), where Q: a finite set of states h: the halt state, not included

More information

Theory of Computation Time Complexity

Theory of Computation Time Complexity Theory of Computation Time Complexity Bow-Yaw Wang Academia Sinica Spring 2012 Bow-Yaw Wang (Academia Sinica) Time Complexity Spring 2012 1 / 59 Time for Deciding a Language Let us consider A = {0 n 1

More information

Space Complexity. The space complexity of a program is how much memory it uses.

Space Complexity. The space complexity of a program is how much memory it uses. Space Complexity The space complexity of a program is how much memory it uses. Measuring Space When we compute the space used by a TM, we do not count the input (think of input as readonly). We say that

More information

CS20a: Turing Machines (Oct 29, 2002)

CS20a: Turing Machines (Oct 29, 2002) CS20a: Turing Machines (Oct 29, 2002) So far: DFA = regular languages PDA = context-free languages Today: Computability 1 Handicapped machines DFA limitations Tape head moves only one direction 2-way DFA

More information