the church-turing thesis chapter 3 giorgi japaridze theory of computability

32
The Church-Turing The Church-Turing Thesis Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Upload: kellie-mcbride

Post on 17-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

The Church-Turing ThesisThe Church-Turing Thesis

Chapter 3

Giorgi Japaridze

Theory of Computability

Page 2: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

What is this course about?Giorgi Japaridze Theory of Computability

Main questions that will be asked and answered:

•What does computation mean?

•What can be computed and what can not?

•How quickly?

•With how much memory?

3.0.a

Page 3: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

PreliminariesGiorgi Japaridze Theory of Computability3.0.b

Alphabet --- a finite set of objects called the symbols of the alphabet. E.g.: = {a,b,…,z} = {0,1} = {0,1,$}

String over --- a finite sequence of symbols from .E.g.: x = 01110 is a string over . |x|=5 --- “the length of x is 5”.

The empty string is denoted . ||=0.

Concatenation xy of the strings x and y --- the result of appending y at the end of x.

xk --- xx…xk

Language --- a set of strings

Page 4: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Components of a Turing machine (TM) 3.1.a Giorgi Japaridze Theory of Computability

(Q,,,,start,accept,reject)

• Q is the set of states is the input alphabet not containing the blank symbol - is the tape alphabet, where - and is the transition function of the type Q Q{L,R}• start,accept,reject Q, where rejectaccept; the states accept and reject are called halting states.There are no transitions from the halting states, and they immediately take effect!

xy,Rq1 q2

If the current tape symbol is x, replace it with y, move the head right and go to q2. The label xx,R is simply written as xR. If we here have L instead of R, then the head is moved left, unless it was on the first cell, in which case it remains where it was.

a a b a b b - - - - - -

Page 5: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

How a Turing machine works 3.1.b Giorgi Japaridze Theory of Computability

0x,Rq2 q3start

accept q4

q5

reject

0 -,R

- Rx R

- R0R 0 x,R

- R - L

0 Lx L

xR

xR

xR

- R

- x 0 x - - - - - - -

Configuration:1. Current state;2. Tape contents;3. Head position

-xq50x

Page 6: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Definitions 3.1.c1 Giorgi Japaridze Theory of Computability

A TM accepts an input string iff, on this input, sooner or later it entersthe accept state. Otherwise the string is considered rejected.

Thus, the input is rejected in two cases:1) The machine enters the reject state at some point, or 2) The machine never halts (never enters a halting state).

A Turing machine is said to be a decider iff it halts on every input.

The language recognized by a TM --- the set the strings that TM accepts;If this machine is a decider, then we say that it not only recognizes,but also decides that language.

A language is said to be Turing-recognizable iff some TM recognizes it.A language is said to be Turing-decidable iff some TM decides it.

Page 7: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Recognizing vs. deciding 3.1.c2 Giorgi Japaridze Theory of Computability

accept

reject

0 R - R

- R0 R - R

0 R

What language does the above machine recognize?Does it decide that language?

accept

reject

0 R - R

- R0 R

What language does the above machine recognize?Does it decide that language?

Page 8: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Diagrams without the reject state 3.1.d Giorgi Japaridze Theory of Computability

0x,Rq2 q3start

acceptq4

q5

0 -,R- R

0R 0 x,R

- R - L

0 Lx L

xR

xR

xR

The reject state can be safely removed.It will be understood that all the missing transitions lead to the reject state.

Page 9: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Designing TM: Example 1 3.1.e1 Giorgi Japaridze Theory of Computability

Design a TM that recognizes (better – decides) {#n =m | n=m}

1. Sweep left to right across the tape, testing if the input has the form#*=*; if not, reject; if yes, go back to the beginning of the tapeAnd go to step 2 (state q3).

start q1

R

# R = R q2

- L q9

RL = L x L - L

q3

# L

Page 10: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Designing TM: Example 1 3.1.e2 Giorgi Japaridze Theory of Computability

2. Keep going to the right, replace the first you see before = with x and go to step 3 (state q5); if you reach = without seeing a , go to step 4 (state q6).

q3 q4

xR

# R

x,R q5

q6

= R

Page 11: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Designing TM: Example 1 3.1.e3 Giorgi Japaridze Theory of Computability

3. Keep going to the right, pass = and then replace the first you see with x and go to the beginning of the tape, step 2 (this can be done by going to state q9);if you reach a blank without seeing a , reject.

q5 q7

R

= R

x,R

q9

xR

Page 12: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Designing TM: Example 1 3.1.e4 Giorgi Japaridze Theory of Computability

4. Keep going to the right as long as you see x. If you see a beforereaching a blank, reject; otherwise accept.

q6 accept

xR

- R

Page 13: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Designing TM: Example 2 3.1.f Giorgi Japaridze Theory of Computability

start q1

R

# R < R q2

- L q9

RL < L x L

q3

# L

q4

xR

# R

x,R q5

< R

q7< R

x,R

q6 accept

xR

R

Design a TM that decides {#n <m | n<m}

R

xR

L < L x L - L

Page 14: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Designing TM: Example 3 3.1.g Giorgi Japaridze Theory of Computability

start q1

R

+ R = R q2

- L q9

R

+ LL = L x L - L

q3

# L

q4

xR+R

# R

x,R q5

= R

q7= R

x,R

q6 accept

xR

- R

R +R

xR

Design a TM that decides {#n +m = k | n+m=k}

q0# R

R

Page 15: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Designing TM: Example 4 3.1.h Giorgi Japaridze Theory of Computability

Design a TM that decides {#n m = k | nm=k}

Step 1: Check if the string has the form #* * = * . If not, reject;If yes, go back to the beginning of the tape, step 2.

=# -

Step 2: Find the first between # and , delete it and go to step 3;If no such was found, go to step 5.

Step 3: Find the first between and =, delete it and go to step 4;If no such was found, go to the beginning of the tape, restoring onthe way back all the deleted between and =, and go to step 2.

Step 4: Find the first after =, delete it, go back to , and go to step 3;If no such was found before seeing a blank, reject.

Step 5: Go right past = ; if no is found there before reaching a blank,Accept; otherwise reject.

Page 16: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Testing whether the head is at the beginning of the tape 3.1.i Giorgi Japaridze Theory of Computability

Tape alphabet: {x1,…,xn} Add a new tape symbol: $

1. Read the current symbol, remember it, type $, and move left;2. Read the current symbol. If it is $, restore the remembered symbol and go to “Yes”. If it is not $, move right, restore the remembered symbol and go to “No”.

Beg?

x1 $,L

$ x1,L

a1

x1,…,xn R

Yes

x1,R

L No

b1

Temp

Design a fragment of a TM that, from a state “Beg?”, goes to a state “Yes” or “No”, depending on whether you are at the beginning of the tape or not, without corrupting the contents of the tape.

an x1,…,xn R bn

$ xn,L

xn $,L

xn,R

x3 x7

Beg?

Page 17: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Implementing the “go to the beginning of the tape” operation

3.1.j Giorgi Japaridze Theory of Computability

Go to the beginning Beg?L

No

Yes

Done

Design a fragment of a TM that, from a state “Go to the beginning”, goes to the beginning of the tape and state “Done”.

RL

R

L

Move left and test if you are at the beginning of the tape. If yes, go to “Done”. If not, repeat the step.

Page 18: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Shifting tape contents3.1.k Giorgi Japaridze Theory of Computability

Done

Design a fragment of a TM that, beginning from the current cell, shifts the contents of the tape right, typing in the current cell a 0. Assume the tape alphabet is {0,1,-}.

1. If the current symbol is blank, type 0 and you are done.2. Read the current symbol, remember it, type 0 and move right.3. While the current symbol is not -, remember it, type the previously remembered symbol and move right.4. Once you see a blank, type the remembered symbol and you are done.

Remembered 0

Remembered 1

11,R

00,R

01,R 10,R

00,R

10,R

- 0,RShift Done

- 1,R

- 0,R

Page 19: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

A TM for the element distinctness problem3.1.l Giorgi Japaridze Theory of Computability

See page 147 for a description of such a TM

Design a TM that decides the languageE={#x1#x2#…#xn | each xi{0,1}* and xixj for each ij}

# x1 # x2 # x3 # x4 # x5

Page 20: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Turing machines with the “stay put” option3.2.a Giorgi Japaridze Theory of Computability

A transition of this type of machine may have either L (move left),Or R (move right), or S (stay put).

ab,S

“Replace a with b and go to state q2 without moving the head”

This does not increase the power of the machine, because the abovetransition can be simulated with the ordinary TM as follows:

ab,R L

q1 q2

q2q1

Page 21: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Multitape Turing machines3.2.b Giorgi Japaridze Theory of Computability

A multitape TM has k tapes, each with its own read/write head.Initially, the input is written on the first tape, and all the other tapesare blank, with each head at the beginning of the corresponding tape.

For a 3-tape TM, a transition will look like

0,1,11,0,1,R,R,Lq1 q2

“If you are in state q1 and see 0 on Tape1, 1 on Tape2 and 1 on Tape3,• type 1 on Tape1, 0 on Tape2 and 1 on Tape3;• move Head1 right, Head2 right and Head3 left;• go to state q2.”

Page 22: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Multitape Turing machines: Example3.2.c Giorgi Japaridze Theory of Computability

Design a fragment of a 2-tape TM that swaps the contents of the tapes,from the position where the heads are at the beginning and there are no blanks followed by non-blank symbols. Tape alphabet: {0,1,-}

0,00,0,R,R0,11,0,R,R0,- -,0,R,R1,00,1,R,R1,11,1,R,R1,- -,1,R,R-,00,-,R,R-,11,-,R,R

Swap Done-,- - ,-,L,L

Tape1

Tape2

1 1 0 -

0 0 - -

Page 23: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Simulating multitape TM with ordinary TM3.2.d Giorgi Japaridze Theory of Computability

Theorem 3.13: Every multitape TM M has an equivalent single-tape TM S.

Tape1

M: Tape2

Tape3

S:

0 0 1 -

- - - -

Proof idea: The tape contents and the head positions of M can be represented on the single tape of S and correspondingly updated as shown on the following example for a 3-tape M; S follows the steps of M and accepts iff M accepts.

- - - -

0 0 1 - - - - --

q0

- - - - - -

Page 24: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Nondeterministic Turing machines3.2.e Giorgi Japaridze Theory of Computability

A nondeterministic TM is allowed to have more than one transitionfor a given tape symbol:

A string is accepted iff one of the possible branches of computation takes us to the accept state.

ab,R

ac,L

q2

q1

q3

Theorem 3.16: Every nondeterministic TM has an equivalentdeterministic TM.

Proof omitted. Idea: Simulate every possible branch of computationin a breadth-first manner.

Page 25: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Turing machines with an output(not in the textbook!)

3.2.f Giorgi Japaridze Theory of Computability

Example: Design a machine that, for every input w{0,1}*, returns w0.

The only difference with ordinary TM is that a TM with an output (TMO) has a state halt instead of accept and reject; if and when such a machine reaches the halt state, the contents of the tape (up to the first blank cell) will be considered its output.

Page 26: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Computable functions3.2.g Giorgi Japaridze Theory of Computability

A function g: * * is said to be computable, iff there is a TMO M such that for every input w* M returns the output u with u=g(w). In this case we say that M computes g.

The graph of a function g: * * is the language {(w,u) | w*, u=g(w)}

E.g., the graph of the above function f is {(,0), (0,00), (1,10), (00,000), (01,010), …}, i.e. {(w,u) | w{0,1}*, u=w0}

Example: Let f: {0,1}* {0,1}* be the function defined by f(w)=w0,so that f()=0, f(0)=00, f(1)=10, f(00)=000, f(01)=010, etc. Then obviously f is computable.

Page 27: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Computability vs. decidability3.2.h Giorgi Japaridze Theory of Computability

Theorem: A function is computable iff its graph is decidable.

Proof sketch. Let g: * * be a function.

(): Suppose C is a TMO that computes g. Construct a TM D that works as follows:

D = “On input t:

1. If t does not have the form (w,u), where w,u*, then reject. Otherwise, 2. Simulate C for input w. If it returns u, accept; otherwise reject.”

(): Suppose a TM D decides the graph of g. Let s1,s2,s3,… be the lexicographic list of all strings over the alphabet . Construct a TMO C that works as follows:

C =“On input t: Simulate D for each of the inputs (t,s1), (t,s2),(t,s3),… until you find si suct that (t,si) is accepted, and return this si”

Page 28: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Algorithms3.3.a Giorgi Japaridze Theory of Computability

The intuitive notion of algorithms: An algorithm (procedure, recipe)is a collection of simple instructions for carrying out some task.

We need a strict mathematical definition of an algorithm. The above“definition” obviously does not qualify.

Examples: • The elementary school algorithms for adding, subtracting, multiplying, dividing, etc.;• Calculating students’ average grades;• Sorting algorithms;• Any other procedures that Professor Zhu DaMing has taught you.

To carry out an algorithm, you only need to mechanically (blindly) follow its instructions. No understanding of the objects you are manipulating, no understanding of what you are doing is needed!

Page 29: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Algorithms should deal with strings3.3.b Giorgi Japaridze Theory of Computability

The structure of an algorithm:

Input(s) Outputor Input(s) Yes (accept) or No (reject)

The attempt to formalize the notion of algorithm should start from strictly specifying what kind of objects can be inputs/outputs.

These are going to be only.strings

No loss of generality: non-string objects can be easily represented with strings. A tuple of such objects can also be represented with a (one single) string.

After all, computers exclusively deal with strings --- strings over the alphabet {0,1} !

Page 30: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Encoding3.3.c Giorgi Japaridze Theory of Computability

Encoding numbers: 0,1,2,3,…,34,…, or 0,1,10,11,…,100010,…

Encoding pairs of numbers: (4,2), (1,3), …, or 4#2, 1#3,…, or aaaabb, abbb, …

Encoding --- representing objects as strings in some standard way.

There are usually many ways to encode; as one encoding can be easily (algorithmically) converted into another, it does not matter which encoding we choose.

Encoding people: “David Stewart”, “Dongfei Wei”, …, or“Stewart, David”, “Wei, Dungfei”, or 315-21-5541, 326-11-1521…

Encoding assembly language instructions: Their machine language equivalents.

If O is an object, <O> will stand for a (the) encoding of O.

Page 31: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

Encoding graphs3.3.d Giorgi Japaridze Theory of Computability

1

4 5

2 3

G =<G> = (1,2,3,4,5)((1,4),(1,5),(2,3),(4,5))

Algorithm M for checking if a graph is connected:

M = “On input <G>, the encoding of a graph G: 1. Select the first node of G and mark it. 2. Repeat the following stage until no new nodes are marked: 3. For each node in G, mark it if it is attached by an edge to a node that is already marked. 4. Scan all the nodes of G to determine whether they all are marked. If they are, accept; otherwise reject.”

Page 32: The Church-Turing Thesis Chapter 3 Giorgi Japaridze Theory of Computability

The Church-Turing thesis3.3.e Giorgi Japaridze Theory of Computability

(the intuitive notion of) Algorithm = Turing machine

The Church-Turing thesis:

It can never be mathematically proven!

Importance: Without the Church-Turing thesis, you can never provethat a certain problem has no algorithmic solution.

Illustrative example Hilbert’s 10th problem (see page 154 of textbook).