Theory of Computation Lecture Notes

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

Most General computer?

Computability Theory. CS215, Lecture 6,

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

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

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

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

satisfiability (sat) Satisfiability unsatisfiability (unsat or sat complement) and validity Any Expression φ Can Be Converted into CNFs and DNFs

Introduction to Turing Machines

7.1 The Origin of Computer Science

Theory of Computation

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

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

Part I: Definitions and Properties

Artificial Intelligence. 3 Problem Complexity. Prof. Dr. Jana Koehler Fall 2016 HSLU - JK

Turing-Computable Functions

Randomized Complexity Classes; RP

De Morgan s a Laws. De Morgan s laws say that. (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2.

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

CSE 105 THEORY OF COMPUTATION

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

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

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

Turing Machines, diagonalization, the halting problem, reducibility

CSCC63 Worksheet Turing Machines

Theory of Computation

Introduction to Turing Machines. Reading: Chapters 8 & 9

Section 14.1 Computability then else

1 Showing Recognizability

(a) Definition of TMs. First Problem of URMs

The Turing machine model of computation

Universal Turing Machine. Lecture 20

Turing Machines. Lecture 8

Space Complexity. then the space required by M on input x is. w i u i. F ) on. September 27, i=1

CS21 Decidability and Tractability

1 Unrestricted Computation

CS 301. Lecture 18 Decidable languages. Stephen Checkoway. April 2, 2018

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

CSCI3390-Lecture 6: An Undecidable Problem

Theory of Computation

CS4026 Formal Models of Computation

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

1 Definition of a Turing machine

CS20a: Turing Machines (Oct 29, 2002)

TURING MAHINES

Fundamentals of Computer Science

Lecture 12: Mapping Reductions

Lecture 13: Turing Machine

Turing Machines Part III

1 Computational problems

Before We Start. Turing Machines. Languages. Now our picture looks like. Theory Hall of Fame. The Turing Machine. Any questions? The $64,000 Question

Complexity Theory Part I

Advanced topic: Space complexity

CSCI3390-Assignment 2 Solutions

Notes for Lecture 3... x 4

CS151 Complexity Theory. Lecture 1 April 3, 2017

34.1 Polynomial time. Abstract problems

Turing Machine Recap

Turing Machines. Our most powerful model of a computer is the Turing Machine. This is an FA with an infinite tape for storage.

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Please give details of your answer. A direct answer without explanation is not counted.

CSci 311, Models of Computation Chapter 9 Turing Machines

Lecture 14: Recursive Languages

Computability and Complexity Theory

CS294: Pseudorandomness and Combinatorial Constructions September 13, Notes for Lecture 5

Computability and Complexity

COMPUTATIONAL COMPLEXITY

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

Turing Machines Part Two

Turing machines COMS Ashley Montanaro 21 March Department of Computer Science, University of Bristol Bristol, UK

Chapter 3: The Church-Turing Thesis

CS20a: Turing Machines (Oct 29, 2002)

COMPARATIVE ANALYSIS ON TURING MACHINE AND QUANTUM TURING MACHINE

The Church-Turing Thesis

The decision problem (entscheidungsproblem), halting problem, & Turing machines. CS 350 Fall 2018 gilray.org/classes/fall2018/cs350/

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

Midterm Exam 2 CS 341: Foundations of Computer Science II Fall 2018, face-to-face day section Prof. Marvin K. Nakayama

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

Theory of Computation

Limits of Computation

CSE 105 THEORY OF COMPUTATION

A Note on Turing Machine Design

AN INTRODUCTION TO COMPUTABILITY THEORY

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

CS6901: review of Theory of Computation and Algorithms

Decidability: Church-Turing Thesis

Limits of Computability

Decidable Languages - relationship with other classes.

Outline. Complexity Theory. Example. Sketch of a log-space TM for palindromes. Log-space computations. Example VU , SS 2018

CSE 105 Theory of Computation

Midterm II : Formal Languages, Automata, and Computability

10. Finite Automata and Turing Machines

Theory of Computation (IX) Yijia Chen Fudan University

CSCE 551 Final Exam, April 28, 2016 Answer Key

Further discussion of Turing machines

CpSc 421 Homework 9 Solution

CS243, Logic and Computation General models of computation. Limits of computation. 1 Limitations of pushdown automata (PDA)

Turing Machines and the Church-Turing Thesis

Turing Machines (TM) The Turing machine is the ultimate model of computation.

Transcription:

Theory of Computation Lecture Notes Prof. Yuh-Dauh Lyuu Dept. Computer Science & Information Engineering and Department of Finance National Taiwan University c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 1

Class Information Papadimitriou. Computational Complexity. 2nd printing. Addison-Wesley. 1995. The best book on the market for graduate students. We more or less follow the topics of the book. More advanced materials may be added. You may want to review discrete mathematics. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 2

Class Information (concluded) More information and future lecture notes (in PDF format) can be found at www.csie.ntu.edu.tw/~lyuu/complexity.html Please ask many questions in class. The best way for me to remember you in a large class. a Teaching assistants will be announced later. a [A] science concentrator [...] said that in his eighth semester of [Harvard] college, there was not a single science professor who could identify him by name. (New York Times, September 3, 2003.) c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 3

Grading No roll calls. Homeworks. Two to three examinations. You must show up for the examinations, in person. If you cannot make it to an examination, please email me beforehand (unless there is a legitimate reason). Missing the final examination will earn a fail grade. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 4

Problems and Algorithms c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 5

I have never done anything useful. Godfrey Harold Hardy (1877 1947), A Mathematician s Apology (1940) c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 6

What This Course Is All About Computability: What can be computed? What is computation anyway? There are well-defined problems that cannot be computed. In fact, most problems cannot be computed. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 7

What This Course Is All About (continued) Complexity: What is a computable problem s inherent complexity? Some computable problems require at least exponential time and/or space; they are intractable. Can t you let Moore s law take care of it? a Moore s law says the computing power doubles every 1.5 years. b a Contributed by Ms. Amy Liu (J94922016) on May 15, 2006. b Moore (1965). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 8

What This Course Is All About (concluded) Some practical problems require superpolynomial resources unless certain conjectures are disproved. Other resource limits besides time and space? Program size, circuit size (growth), number of random bits, etc. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 9

Tractability and intractability Polynomial in terms of the input size n defines tractability. n, n log n, n 2, n 90. Time, space, circuit size, number of random bits, etc. It results in a fruitful and practical theory of complexity. Few practical, tractable problems require a large degree. Exponential-time or superpolynomial-time algorithms are usually impractical. n log n, 2 n, a 2 n, n! 2πn (n/e) n. a Size of depth-3 circuits to compute the majority function (Wolfovitz (2006)). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 10

Growth of Factorials n n! n n! 1 1 9 362,880 2 2 10 3,628,800 3 6 11 39,916,800 4 24 12 479,001,600 5 120 13 6,227,020,800 6 720 14 87,178,291,200 7 5040 15 1,307,674,368,000 8 40320 16 20,922,789,888,000 c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 11

Turing Machines c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 12

Alan Turing (1912 1954) c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 13

What Is Computation? That can be coded in an algorithm. a An algorithm is a detailed step-by-step method for solving a problem. The Euclidean algorithm for the greatest common divisor is an algorithm. Let s be the least upper bound of compact set A is not an algorithm. Let s be a smallest element of a finite-sized array can be solved by an algorithm. a Muhammad ibn Mūsā Al-Khwārizmī (780 850). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 14

Turing Machines a A Turing machine (TM) is a quadruple M = (K, Σ, δ, s). K is a finite set of states. s K is the initial state. Σ is a finite set of symbols (disjoint from K). Σ includes (blank) and (first symbol). δ : K Σ (K {h, yes, no }) Σ {,, } is a transition function. (left), (right), and (stay) signify cursor movements. a Turing (1936). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 15

A TM Schema δ #1000110000111001110001110 c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 16

Physical Interpretations The tape: computer memory and registers. δ: program. K: instruction numbers. s: main() in C. Σ: alphabet much like the ASCII code. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 17

More about δ The program has the halting state (h), the accepting state ( yes ), and the rejecting state ( no ). Given current state q K and current symbol σ Σ, δ(q, σ) = (p, ρ, D). It specifies the next state p, the symbol ρ to be written over σ, and the direction D the cursor will move afterwards. We require δ(q, ) = (p,, ) so that the cursor never falls off the left end of the string. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 18

Initially the state is s. The Operations of TMs The string on the tape is initialized to a, followed by a finite-length string x (Σ { }). x is the input of the TM. The input must not contain s (why?)! The cursor is pointing to the first symbol, always a. The TM takes each step according to δ. The cursor may overwrite to make the string longer during the computation. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 19

Program Count A program has a finite size. Recall that δ : K Σ (K {h, yes, no }) Σ {,, }. So K Σ lines suffice to specify a program, one line per pair from K Σ ( x denotes the length of x). Given K and Σ, there are possible δ s (see next page). (( K + 3) Σ 3) K Σ This is a constant albeit large. Different δ s may define the same behavior. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 20

K Σ ( K + 3) Χ Σ Χ 3 possibilities c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 21

The Halting of a TM A TM M may halt in three cases. yes : M accepts its input x, and M(x) = yes. no : M rejects its input x, and M(x) = no. h: M(x) = y, where the string (tape) consists of a, followed by a finite string y, whose last symbol is not, followed by a string of s. y is the output of the computation. y may be empty denoted by ɛ. If M never halts on x, then write M(x) =. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 22

Why TMs? Because of the simplicity of the TM, the model has the advantage when it comes to complexity issues. One can develop a complexity theory based on C++ or Java, say. But the added complexity does not yield additional fundamental insights. We will describe TMs in pseudocode. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 23

Remarks A problem is computable if there is a TM that halts with the correct answer. If a TM (i.e., program) does not always halt, it does not solve the problem, assuming the problem is computable. a OS does not halt as it does not solve a well-defined problem (but parts of it do). b a Contributed by Ms. Amy Liu (J94922016) on May 15, 2006. Control- C is not a legitimate way to halt a program. b Contributed by Mr. Shuai-Peng Huang (J94922019) on May 15, 2006. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 24

Remarks (concluded) Any computation model must be physically realizable. A model that requires nearly infinite precision to build is not physically realizable. For example, if the TM required a voltage of exactly 100 to work, it would not be considered a successful model for computation. Although a TM requires a tape of infinite length, which is not realizable, it is not a major conceptual problem. a A tape of infinite length cannot be used to realize infinite precision within a finite time span. b a Thanks to a lively discussion on September 20, 2006. b Thanks to a lively discussion on September 20, 2006. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 25

The Concept of Configuration A configuration is a complete description of the current state of the computation. The specification of a configuration is sufficient for the computation to continue as if it had not been stopped. What does your PC save before it sleeps? Enough for it to resume work later. Similar to the concept of Markov process in stochastic processes or dynamic systems. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 26

Configurations (concluded) A configuration is a triple (q, w, u): q K. w Σ is the string to the left of the cursor (inclusive). u Σ is the string to the right of the cursor. Note that (w, u) describes both the string and the cursor position. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 27

T #1000110000111001110001110 w = 1000110000. u = 111001110001110. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 28

Yielding Fix a TM M. Configuration (q, w, u) yields configuration (q, w, u ) in one step, (q, w, u) M (q, w, u ), if a step of M from configuration (q, w, u) results in configuration (q, w, u ). (q, w, u) M k (q, w, u ): Configuration (q, w, u) yields configuration (q, w, u ) in k N steps. (q, w, u) M (q, w, u ): Configuration (q, w, u) yields configuration (q, w, u ). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 29

Example: How to Insert a Symbol We want to compute f(x) = ax. The TM moves the last symbol of x to the right by one position. It then moves the next to last symbol to the right, and so on. The TM finally writes a in the first position. The total number of steps is O(n), where n is the length of x. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 30

Palindromes A string is a palindrome if it reads the same forwards and backwards (e.g., 001100). A TM program can be written to recognize palindromes: It matches the first character with the last character. It matches the second character with the next to last character, etc. (see next page). yes for palindromes and no for nonpalindromes. This program takes O(n 2 ) steps. Can we do better? c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 31

100011000000100111 c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 32

A Matching Lower Bound for palindrome Theorem 1 (Hennie (1965)) palindrome on single-string TMs takes Ω(n 2 ) steps in the worst case. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 33

The Proof: Setup x m y r 100011000000100111 P(x, y) Cut Communication: at most log 2 K bits yes/no c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 34

The Proof: Communications Our input is more restricted; hence any lower bound holds for the original problem. Each communication between the two halves across the cut is a state from K, hence of size O(1). C(x, y): the sequence of communications for palindrome problem P(x, y) across the cut. This crossing sequence is a sequence of states from K. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 35

The Proof: Communications (concluded) C(x, x) C(y, y) when x y. Suppose otherwise, C(x, x) = C(y, y). Then C(y, y) = C(x, y) by the cut-and-paste argument (see next page). Hence P(x, y) has the same answer as P(y, y)! So C(x, x) is distinct for each x. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 36

x x r y y r x y r b b b c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 37

The Proof: Amount of Communications Assume x = y = m = n/3. C(x, x) is the number of times the cut is crossed. We first seek a lower bound on the total number of communications: x {0,1} m C(x, x). Define κ (m + 1) log K 2 log K m 1 + log K ( K 1). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 38

The Proof: Amount of Communications (continued) There are K i distinct C(x, x)s with C(x, x) = i. Hence there are at most κ K i = K κ+1 1 K 1 i=0 K κ+1 K 1 = 2m+1 m distinct C(x, x)s with C(x, x) κ. The rest must have C(x, x) > κ. Because C(x, x) is distinct for each x (p. 36), there are at least 2 m 2m+1 m of them with C(x, x) > κ. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 39

The Proof: Amount of Communications (concluded) Thus x {0,1} m C(x, x) x {0,1} m, C(x,x) >κ ) > (2 m 2m+1 κ m = κ2 m m 2 m. C(x, x) As κ = Θ(m), the total number of communications is x {0,1} m C(x, x) = Ω(m2 m ). (1) c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 40

The Proof (continued) We now lower-bound the worst-case number of communication points in the middle section. x i m x r yes/no c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 41

The Proof (continued) C i (x, x) denotes the sequence of communications for P(x, x) given the cut at position i. Then m i=1 C i(x, x) is the number of steps spent in the middle section for P (x, x). Let T (n) = max x {0,1} m m i=1 C i(x, x). T (n) is the worst-case running time spent in the middle section when dealing with any P (x, x) with x = m. Note that T (n) m i=1 C i(x, x) for any x {0, 1} m. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 42

The Proof (continued) Now, = = 2 m T (n) T (n) x {0,1} m m C i (x, x) x {0,1} m i=1 i=1 m C i (x, x). x {0,1} m c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 43

The Proof (concluded) By the pigeonhole principle, a there exists an 1 i m, Eq. (1) on p. 40 says that C i (x, x) 2m T (n) m. x {0,1} m x {0,1} m C i (x, x) = Ω(m2 m ). Hence T (n) = Ω(m 2 ) = Ω(n 2 ). a Dirichlet (1805 1859). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 44

Comments on Lower-Bound Proofs They are usually difficult. Worthy of a Ph.D. degree. A lower bound that matches a known upper bound given by an algorithm shows that the algorithm is optimal. The simple O(n 2 ) algorithm for palindrome is optimal. This happens rarely and is model dependent. Searching, sorting, palindrome, matrix-vector multiplication, etc. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 45

Decidability and Recursive Languages Let L (Σ { }) be a language, i.e., a set of strings of symbols with a finite length. For example, {0, 01, 10, 210, 1010,...}. Let M be a TM such that for any string x: If x L, then M(x) = yes. If x L, then M(x) = no. We say M decides L. If L is decided by some TM, then L is recursive. Palindromes over {0, 1} are recursive. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 46

Acceptability and Recursively Enumerable Languages Let L (Σ { }) be a language. Let M be a TM such that for any string x: If x L, then M(x) = yes. If x L, then M(x) =. We say M accepts L. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 47

Acceptability and Recursively Enumerable Languages (concluded) If L is accepted by some TM, then L is a recursively enumerable language. a A recursively enumerable language can be generated by a TM, thus the name. That is, there is an algorithm such that for every x L, it will be printed out eventually. a Post (1944). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 48

Emil Post (1897 1954) c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 49

Recursive and Recursively Enumerable Languages Proposition 2 If L is recursive, then it is recursively enumerable. We need to design a TM that accepts L. Let TM M decide L. We next modify M s program to obtain M that accepts L. M is identical to M except that when M is about to halt with a no state, M goes into an infinite loop. M accepts L. c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 50

Turing-Computable Functions Let f : (Σ { }) Σ. Optimization problems, root finding problems, etc. Let M be a TM with alphabet Σ. M computes f if for any string x (Σ { }), M(x) = f(x). We call f a recursive function a if such an M exists. a Kurt Gödel (1931). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 51

Kurt Gödel (1906 1978) c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 52

Church s Thesis or the Church-Turing Thesis What is computable is Turing-computable; TMs are algorithms (Kleene 1953). Many other computation models have been proposed. Recursive function (Gödel), λ calculus (Church), formal language (Post), assembly language-like RAM (Shepherdson & Sturgis), boolean circuits (Shannon), extensions of the Turing machine (more strings, two-dimensional strings, and so on), etc. All have been proved to be equivalent. No intuitively computable problems have been shown not to be Turing-computable (yet). c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 53

Alonso Church (1903 1995) c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 54

Stephen Kleene (1909 1994) c 2008 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 55