Variants of Turing Machines and the Church-Turing Thesis

86
Variants of Turing Machines Church-Turing Thesis CS 373: Theory of Computation Gul Agha Mahesh Viswanathan University of Illinois, Urbana-Champaign Fall 2010 Agha-Viswanathan CS373

Transcript of Variants of Turing Machines and the Church-Turing Thesis

Page 1: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

CS 373: Theory of Computation

Gul Agha Mahesh Viswanathan

University of Illinois, Urbana-Champaign

Fall 2010

Agha-Viswanathan CS373

Page 2: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing Machine

0 1 1 0 t t

1 0 t 0 0 t

0 0 1 t t

finite-statecontrol

Input on Tape 1

Initially all heads scanning cell 1, and tapes 2 to k blank

In one step: Read symbols under each of the k-heads, anddepending on the current control state, write new symbols onthe tapes, move the each tape head (possibly in differentdirections), and change state.

Agha-Viswanathan CS373

Page 3: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing Machine

0 1 1 0 t t

1 0 t 0 0 t

0 0 1 t t

finite-statecontrol

Input on Tape 1

Initially all heads scanning cell 1, and tapes 2 to k blank

In one step: Read symbols under each of the k-heads, anddepending on the current control state, write new symbols onthe tapes, move the each tape head (possibly in differentdirections), and change state.

Agha-Viswanathan CS373

Page 4: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing Machine

0 1 1 0 t t

1 0 t 0 0 t

0 0 1 t t

finite-statecontrol

Input on Tape 1

Initially all heads scanning cell 1, and tapes 2 to k blank

In one step: Read symbols under each of the k-heads, anddepending on the current control state, write new symbols onthe tapes, move the each tape head (possibly in differentdirections), and change state.

Agha-Viswanathan CS373

Page 5: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing Machine

0 1 1 0 t t

1 0 t 0 0 t

0 0 1 t t

finite-statecontrol

Input on Tape 1

Initially all heads scanning cell 1, and tapes 2 to k blank

In one step: Read symbols under each of the k-heads, anddepending on the current control state, write new symbols onthe tapes, move the each tape head (possibly in differentdirections), and change state.

Agha-Viswanathan CS373

Page 6: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing MachineFormal Definition

A k-tape Turing Machine is M = (Q,Σ, Γ, δ, q0, qacc, qrej) where

Q is a finite set of control states

Σ is a finite set of input symbols

Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbolt ∈ Γ \ Σ

q0 ∈ Q is the initial state

qacc ∈ Q is the accept state

qrej ∈ Q is the reject state, where qrej 6= qacc

δ : (Q \ {qacc, qrej})× Γk → Q × (Γ× {L,R})k is thetransition function.

Agha-Viswanathan CS373

Page 7: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing MachineFormal Definition

A k-tape Turing Machine is M = (Q,Σ, Γ, δ, q0, qacc, qrej) where

Q is a finite set of control states

Σ is a finite set of input symbols

Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbolt ∈ Γ \ Σ

q0 ∈ Q is the initial state

qacc ∈ Q is the accept state

qrej ∈ Q is the reject state, where qrej 6= qacc

δ : (Q \ {qacc, qrej})× Γk → Q × (Γ× {L,R})k is thetransition function.

Agha-Viswanathan CS373

Page 8: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing MachineFormal Definition

A k-tape Turing Machine is M = (Q,Σ, Γ, δ, q0, qacc, qrej) where

Q is a finite set of control states

Σ is a finite set of input symbols

Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbolt ∈ Γ \ Σ

q0 ∈ Q is the initial state

qacc ∈ Q is the accept state

qrej ∈ Q is the reject state, where qrej 6= qacc

δ : (Q \ {qacc, qrej})× Γk → Q × (Γ× {L,R})k is thetransition function.

Agha-Viswanathan CS373

Page 9: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing MachineFormal Definition

A k-tape Turing Machine is M = (Q,Σ, Γ, δ, q0, qacc, qrej) where

Q is a finite set of control states

Σ is a finite set of input symbols

Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbolt ∈ Γ \ Σ

q0 ∈ Q is the initial state

qacc ∈ Q is the accept state

qrej ∈ Q is the reject state, where qrej 6= qacc

δ : (Q \ {qacc, qrej})× Γk → Q × (Γ× {L,R})k is thetransition function.

Agha-Viswanathan CS373

Page 10: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing MachineFormal Definition

A k-tape Turing Machine is M = (Q,Σ, Γ, δ, q0, qacc, qrej) where

Q is a finite set of control states

Σ is a finite set of input symbols

Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbolt ∈ Γ \ Σ

q0 ∈ Q is the initial state

qacc ∈ Q is the accept state

qrej ∈ Q is the reject state, where qrej 6= qacc

δ : (Q \ {qacc, qrej})× Γk → Q × (Γ× {L,R})k is thetransition function.

Agha-Viswanathan CS373

Page 11: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing MachineFormal Definition

A k-tape Turing Machine is M = (Q,Σ, Γ, δ, q0, qacc, qrej) where

Q is a finite set of control states

Σ is a finite set of input symbols

Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbolt ∈ Γ \ Σ

q0 ∈ Q is the initial state

qacc ∈ Q is the accept state

qrej ∈ Q is the reject state, where qrej 6= qacc

δ : (Q \ {qacc, qrej})× Γk → Q × (Γ× {L,R})k is thetransition function.

Agha-Viswanathan CS373

Page 12: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing MachineFormal Definition

A k-tape Turing Machine is M = (Q,Σ, Γ, δ, q0, qacc, qrej) where

Q is a finite set of control states

Σ is a finite set of input symbols

Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbolt ∈ Γ \ Σ

q0 ∈ Q is the initial state

qacc ∈ Q is the accept state

qrej ∈ Q is the reject state, where qrej 6= qacc

δ : (Q \ {qacc, qrej})× Γk → Q × (Γ× {L,R})k is thetransition function.

Agha-Viswanathan CS373

Page 13: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Multi-Tape Turing MachineFormal Definition

A k-tape Turing Machine is M = (Q,Σ, Γ, δ, q0, qacc, qrej) where

Q is a finite set of control states

Σ is a finite set of input symbols

Γ ⊇ Σ is a finite set of tape symbols. Also, a blank symbolt ∈ Γ \ Σ

q0 ∈ Q is the initial state

qacc ∈ Q is the accept state

qrej ∈ Q is the reject state, where qrej 6= qacc

δ : (Q \ {qacc, qrej})× Γk → Q × (Γ× {L,R})k is thetransition function.

Agha-Viswanathan CS373

Page 14: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a multi-tape TM must describe the state,contents of all k-tapes, and positions of all k-heads. Thus,c ∈ Q × (Γ∗{∗}ΓΓ∗)k , where ∗ denotes the head position.

Accepting configuration is one where the state is qacc, andstarting configuration on input w is (q0, ∗w , ∗t, . . . , ∗t)

Formal definition of a single step is skipped.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 15: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a multi-tape TM must describe the state,contents of all k-tapes, and positions of all k-heads. Thus,c ∈ Q × (Γ∗{∗}ΓΓ∗)k , where ∗ denotes the head position.

Accepting configuration is one where the state is qacc, andstarting configuration on input w is (q0, ∗w , ∗t, . . . , ∗t)

Formal definition of a single step is skipped.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 16: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a multi-tape TM must describe the state,contents of all k-tapes, and positions of all k-heads. Thus,c ∈ Q × (Γ∗{∗}ΓΓ∗)k , where ∗ denotes the head position.

Accepting configuration is one where the state is qacc, andstarting configuration on input w is (q0, ∗w , ∗t, . . . , ∗t)

Formal definition of a single step is skipped.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 17: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a multi-tape TM must describe the state,contents of all k-tapes, and positions of all k-heads. Thus,c ∈ Q × (Γ∗{∗}ΓΓ∗)k , where ∗ denotes the head position.

Accepting configuration is one where the state is qacc, andstarting configuration on input w is (q0, ∗w , ∗t, . . . , ∗t)

Formal definition of a single step is skipped.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 18: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a multi-tape TM must describe the state,contents of all k-tapes, and positions of all k-heads. Thus,c ∈ Q × (Γ∗{∗}ΓΓ∗)k , where ∗ denotes the head position.

Accepting configuration is one where the state is qacc, andstarting configuration on input w is (q0, ∗w , ∗t, . . . , ∗t)

Formal definition of a single step is skipped.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 19: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of multi-tape TM

Theorem

For any k-tape Turing Machine M, there is a single tape TMsingle(M) such that L(single(M)) = L(M).

Challenges

How do we store k-tapes in one?

How do we simulate the movement of k independent heads?

Agha-Viswanathan CS373

Page 20: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of multi-tape TM

Theorem

For any k-tape Turing Machine M, there is a single tape TMsingle(M) such that L(single(M)) = L(M).

Challenges

How do we store k-tapes in one?

How do we simulate the movement of k independent heads?

Agha-Viswanathan CS373

Page 21: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of multi-tape TM

Theorem

For any k-tape Turing Machine M, there is a single tape TMsingle(M) such that L(single(M)) = L(M).

Challenges

How do we store k-tapes in one?

How do we simulate the movement of k independent heads?

Agha-Viswanathan CS373

Page 22: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of multi-tape TM

Theorem

For any k-tape Turing Machine M, there is a single tape TMsingle(M) such that L(single(M)) = L(M).

Challenges

How do we store k-tapes in one?

How do we simulate the movement of k independent heads?

Agha-Viswanathan CS373

Page 23: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Storing Multiple Tapes

0 1 1 t

1 0 t tfinite-state

control

Multi-tape TM M

(1, ·, 0, ∗) (0, ∗, 1, ·) (t, ·, 1, ·) t

finite-statecontrol

1-tape equivalent single(M)

Store in cell i contents of cell i of all tapes.

“Mark” head positionof tape with ∗.

Agha-Viswanathan CS373

Page 24: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Storing Multiple Tapes

0 1 1 t

1 0 t tfinite-state

control

Multi-tape TM M

(1, ·, 0, ∗) (0, ∗, 1, ·) (t, ·, 1, ·) t

finite-statecontrol

1-tape equivalent single(M)

Store in cell i contents of cell i of all tapes. “Mark” head positionof tape with ∗.

Agha-Viswanathan CS373

Page 25: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Storing Multiple Tapes

0 1 1 t

1 0 t tfinite-state

control

Multi-tape TM M

(1, ·, 0, ∗) (0, ∗, 1, ·) (t, ·, 1, ·) t

finite-statecontrol

1-tape equivalent single(M)

Store in cell i contents of cell i of all tapes. “Mark” head positionof tape with ∗.

Agha-Viswanathan CS373

Page 26: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Simulating One Step

Challenge 1: Head of 1-Tape TM is pointing to one cell. How dowe find out all the k symbols that are being read by the k heads,which maybe in different cells?

Read the tape from left to right, storing the contents of thecells being scanned in the state, as we encounter them.

Challenge 2: After this scan, 1-tape TM knows the next step ofk-tape TM. How do we change the contents and move the heads?

Once again, scan the tape, change all relevant contents,“move” heads (i.e., move ∗s), and change state.

Agha-Viswanathan CS373

Page 27: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Simulating One Step

Challenge 1: Head of 1-Tape TM is pointing to one cell. How dowe find out all the k symbols that are being read by the k heads,which maybe in different cells?

Read the tape from left to right, storing the contents of thecells being scanned in the state, as we encounter them.

Challenge 2: After this scan, 1-tape TM knows the next step ofk-tape TM. How do we change the contents and move the heads?

Once again, scan the tape, change all relevant contents,“move” heads (i.e., move ∗s), and change state.

Agha-Viswanathan CS373

Page 28: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Simulating One Step

Challenge 1: Head of 1-Tape TM is pointing to one cell. How dowe find out all the k symbols that are being read by the k heads,which maybe in different cells?

Read the tape from left to right, storing the contents of thecells being scanned in the state, as we encounter them.

Challenge 2: After this scan, 1-tape TM knows the next step ofk-tape TM. How do we change the contents and move the heads?

Once again, scan the tape, change all relevant contents,“move” heads (i.e., move ∗s), and change state.

Agha-Viswanathan CS373

Page 29: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Simulating One Step

Challenge 1: Head of 1-Tape TM is pointing to one cell. How dowe find out all the k symbols that are being read by the k heads,which maybe in different cells?

Read the tape from left to right, storing the contents of thecells being scanned in the state, as we encounter them.

Challenge 2: After this scan, 1-tape TM knows the next step ofk-tape TM. How do we change the contents and move the heads?

Once again, scan the tape, change all relevant contents,“move” heads (i.e., move ∗s), and change state.

Agha-Viswanathan CS373

Page 30: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Overall Algorithm

On input w , the 1-tape TM will work as follows.

1 First the machine will rewrite input w to be in “new” format.

2 To simulate one step

Read from left-to-right remembering symbols read on eachtape, and move all the way back to leftmost position.Read from left-to-right, changing symbols, and moving thoseheads that need to be moved right.Scan back from right-to-left moving the heads that need to bemoved left.

Formal construction in notes.

Agha-Viswanathan CS373

Page 31: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Overall Algorithm

On input w , the 1-tape TM will work as follows.

1 First the machine will rewrite input w to be in “new” format.2 To simulate one step

Read from left-to-right remembering symbols read on eachtape, and move all the way back to leftmost position.Read from left-to-right, changing symbols, and moving thoseheads that need to be moved right.Scan back from right-to-left moving the heads that need to bemoved left.

Formal construction in notes.

Agha-Viswanathan CS373

Page 32: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Overall Algorithm

On input w , the 1-tape TM will work as follows.

1 First the machine will rewrite input w to be in “new” format.2 To simulate one step

Read from left-to-right remembering symbols read on eachtape, and move all the way back to leftmost position.

Read from left-to-right, changing symbols, and moving thoseheads that need to be moved right.Scan back from right-to-left moving the heads that need to bemoved left.

Formal construction in notes.

Agha-Viswanathan CS373

Page 33: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Overall Algorithm

On input w , the 1-tape TM will work as follows.

1 First the machine will rewrite input w to be in “new” format.2 To simulate one step

Read from left-to-right remembering symbols read on eachtape, and move all the way back to leftmost position.Read from left-to-right, changing symbols, and moving thoseheads that need to be moved right.

Scan back from right-to-left moving the heads that need to bemoved left.

Formal construction in notes.

Agha-Viswanathan CS373

Page 34: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Overall Algorithm

On input w , the 1-tape TM will work as follows.

1 First the machine will rewrite input w to be in “new” format.2 To simulate one step

Read from left-to-right remembering symbols read on eachtape, and move all the way back to leftmost position.Read from left-to-right, changing symbols, and moving thoseheads that need to be moved right.Scan back from right-to-left moving the heads that need to bemoved left.

Formal construction in notes.

Agha-Viswanathan CS373

Page 35: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Overall Algorithm

On input w , the 1-tape TM will work as follows.

1 First the machine will rewrite input w to be in “new” format.2 To simulate one step

Read from left-to-right remembering symbols read on eachtape, and move all the way back to leftmost position.Read from left-to-right, changing symbols, and moving thoseheads that need to be moved right.Scan back from right-to-left moving the heads that need to bemoved left.

Formal construction in notes.

Agha-Viswanathan CS373

Page 36: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Overall Algorithm

On input w , the 1-tape TM will work as follows.

1 First the machine will rewrite input w to be in “new” format.2 To simulate one step

Read from left-to-right remembering symbols read on eachtape, and move all the way back to leftmost position.Read from left-to-right, changing symbols, and moving thoseheads that need to be moved right.Scan back from right-to-left moving the heads that need to bemoved left.

Formal construction in notes.

Agha-Viswanathan CS373

Page 37: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Nondeterministic Turing Machine

Deterministic TM: At each step, there is one possible next state,symbols to be written and direction to move the head, or the TMmay halt.

Nondeterministic TM: At each step, there are finitely manypossibilities. So formally, M = (Q,Σ, Γ, δ, q0, qacc, qrej), where

Q,Σ, Γ, q0, qacc, qrej are as before for 1-tape machine

δ : (Q \ {qacc, qrej})× Γ→ P(Q × Γ× {L,R})

Agha-Viswanathan CS373

Page 38: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Nondeterministic Turing Machine

Deterministic TM: At each step, there is one possible next state,symbols to be written and direction to move the head, or the TMmay halt.Nondeterministic TM: At each step, there are finitely manypossibilities. So formally, M = (Q,Σ, Γ, δ, q0, qacc, qrej), where

Q,Σ, Γ, q0, qacc, qrej are as before for 1-tape machine

δ : (Q \ {qacc, qrej})× Γ→ P(Q × Γ× {L,R})

Agha-Viswanathan CS373

Page 39: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Nondeterministic Turing Machine

Deterministic TM: At each step, there is one possible next state,symbols to be written and direction to move the head, or the TMmay halt.Nondeterministic TM: At each step, there are finitely manypossibilities. So formally, M = (Q,Σ, Γ, δ, q0, qacc, qrej), where

Q,Σ, Γ, q0, qacc, qrej are as before for 1-tape machine

δ : (Q \ {qacc, qrej})× Γ→ P(Q × Γ× {L,R})

Agha-Viswanathan CS373

Page 40: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Nondeterministic Turing Machine

Deterministic TM: At each step, there is one possible next state,symbols to be written and direction to move the head, or the TMmay halt.Nondeterministic TM: At each step, there are finitely manypossibilities. So formally, M = (Q,Σ, Γ, δ, q0, qacc, qrej), where

Q,Σ, Γ, q0, qacc, qrej are as before for 1-tape machine

δ : (Q \ {qacc, qrej})× Γ→ P(Q × Γ× {L,R})

Agha-Viswanathan CS373

Page 41: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a nondeterministic TM is exactly the sameas that of a 1-tape TM.

So are notions of startingconfiguration and accepting configuration.

A single step ` is defined similarly.X1X2 · · ·Xi−1qXi · · ·Xn ` X1X2 · · · pXi−1Y · · ·Xn, if(p,Y , L) ∈ δ(q,Xi )

; case for right moves is analogous.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration, for somesequence of choices at each step.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 42: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a nondeterministic TM is exactly the sameas that of a 1-tape TM. So are notions of startingconfiguration and accepting configuration.

A single step ` is defined similarly.X1X2 · · ·Xi−1qXi · · ·Xn ` X1X2 · · · pXi−1Y · · ·Xn, if(p,Y , L) ∈ δ(q,Xi )

; case for right moves is analogous.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration, for somesequence of choices at each step.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 43: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a nondeterministic TM is exactly the sameas that of a 1-tape TM. So are notions of startingconfiguration and accepting configuration.

A single step ` is defined similarly.X1X2 · · ·Xi−1qXi · · ·Xn ` X1X2 · · · pXi−1Y · · ·Xn, if(p,Y , L) ∈ δ(q,Xi )

; case for right moves is analogous.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration, for somesequence of choices at each step.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 44: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a nondeterministic TM is exactly the sameas that of a 1-tape TM. So are notions of startingconfiguration and accepting configuration.

A single step ` is defined similarly.X1X2 · · ·Xi−1qXi · · ·Xn ` X1X2 · · · pXi−1Y · · ·Xn, if(p,Y , L) ∈ δ(q,Xi ); case for right moves is analogous.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration, for somesequence of choices at each step.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 45: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a nondeterministic TM is exactly the sameas that of a 1-tape TM. So are notions of startingconfiguration and accepting configuration.

A single step ` is defined similarly.X1X2 · · ·Xi−1qXi · · ·Xn ` X1X2 · · · pXi−1Y · · ·Xn, if(p,Y , L) ∈ δ(q,Xi ); case for right moves is analogous.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration, for somesequence of choices at each step.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 46: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Computation, Acceptance and Language

A configuration of a nondeterministic TM is exactly the sameas that of a 1-tape TM. So are notions of startingconfiguration and accepting configuration.

A single step ` is defined similarly.X1X2 · · ·Xi−1qXi · · ·Xn ` X1X2 · · · pXi−1Y · · ·Xn, if(p,Y , L) ∈ δ(q,Xi ); case for right moves is analogous.

w is accepted by M, if from the starting configuration with was input, M reaches an accepting configuration, for somesequence of choices at each step.

L(M) = {w | w accepted by M}

Agha-Viswanathan CS373

Page 47: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of Nondeterministic TM

Theorem

For any nondeterministic Turing Machine M, there is a(deterministic) TM det(M) such that L(det(M)) = L(M).

Proof Idea

det(M) will simulate M on the input.

Idea 1: det(M) tries to keep track of all possible“configurations” that M could possibly be after each step.Works for DFA simulation of NFA but not convenient here.

Idea 2: det(M) will simulate M on each possible sequence ofcomputation steps that M may try in each step.

Agha-Viswanathan CS373

Page 48: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of Nondeterministic TM

Theorem

For any nondeterministic Turing Machine M, there is a(deterministic) TM det(M) such that L(det(M)) = L(M).

Proof Idea

det(M) will simulate M on the input.

Idea 1: det(M) tries to keep track of all possible“configurations” that M could possibly be after each step.Works for DFA simulation of NFA but not convenient here.

Idea 2: det(M) will simulate M on each possible sequence ofcomputation steps that M may try in each step.

Agha-Viswanathan CS373

Page 49: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of Nondeterministic TM

Theorem

For any nondeterministic Turing Machine M, there is a(deterministic) TM det(M) such that L(det(M)) = L(M).

Proof Idea

det(M) will simulate M on the input.

Idea 1: det(M) tries to keep track of all possible“configurations” that M could possibly be after each step.Works for DFA simulation of NFA but not convenient here.

Idea 2: det(M) will simulate M on each possible sequence ofcomputation steps that M may try in each step.

Agha-Viswanathan CS373

Page 50: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of Nondeterministic TM

Theorem

For any nondeterministic Turing Machine M, there is a(deterministic) TM det(M) such that L(det(M)) = L(M).

Proof Idea

det(M) will simulate M on the input.

Idea 1: det(M) tries to keep track of all possible“configurations” that M could possibly be after each step.

Works for DFA simulation of NFA but not convenient here.

Idea 2: det(M) will simulate M on each possible sequence ofcomputation steps that M may try in each step.

Agha-Viswanathan CS373

Page 51: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of Nondeterministic TM

Theorem

For any nondeterministic Turing Machine M, there is a(deterministic) TM det(M) such that L(det(M)) = L(M).

Proof Idea

det(M) will simulate M on the input.

Idea 1: det(M) tries to keep track of all possible“configurations” that M could possibly be after each step.Works for DFA simulation of NFA

but not convenient here.

Idea 2: det(M) will simulate M on each possible sequence ofcomputation steps that M may try in each step.

Agha-Viswanathan CS373

Page 52: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of Nondeterministic TM

Theorem

For any nondeterministic Turing Machine M, there is a(deterministic) TM det(M) such that L(det(M)) = L(M).

Proof Idea

det(M) will simulate M on the input.

Idea 1: det(M) tries to keep track of all possible“configurations” that M could possibly be after each step.Works for DFA simulation of NFA but not convenient here.

Idea 2: det(M) will simulate M on each possible sequence ofcomputation steps that M may try in each step.

Agha-Viswanathan CS373

Page 53: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of Nondeterministic TM

Theorem

For any nondeterministic Turing Machine M, there is a(deterministic) TM det(M) such that L(det(M)) = L(M).

Proof Idea

det(M) will simulate M on the input.

Idea 1: det(M) tries to keep track of all possible“configurations” that M could possibly be after each step.Works for DFA simulation of NFA but not convenient here.

Idea 2: det(M) will simulate M on each possible sequence ofcomputation steps that M may try in each step.

Agha-Viswanathan CS373

Page 54: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Nondeterministic Computation

cε = q0w

c1 · · · ci · · · · · · cr

· · · · · · cij · · · cr1 · · · crr

· · · · · ·

If r = maxq,X |δ(q,X )| then the runs of M can be organizedas an r -branching tree.

ci1i2···in is the configuration of M after n-steps, where choice i1is taken in step 1, i2 in step 2, and so on.

Input w is accepted iff ∃ accepting configuration in tree.

Agha-Viswanathan CS373

Page 55: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Nondeterministic Computation

cε = q0w

c1 · · · ci · · · · · · cr

· · · · · · cij · · · cr1 · · · crr

· · · · · ·

If r = maxq,X |δ(q,X )| then the runs of M can be organizedas an r -branching tree.

ci1i2···in is the configuration of M after n-steps, where choice i1is taken in step 1, i2 in step 2, and so on.

Input w is accepted iff ∃ accepting configuration in tree.

Agha-Viswanathan CS373

Page 56: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Nondeterministic Computation

cε = q0w

c1 · · · ci · · · · · · cr

· · · · · · cij · · · cr1 · · · crr

· · · · · ·

If r = maxq,X |δ(q,X )| then the runs of M can be organizedas an r -branching tree.

ci1i2···in is the configuration of M after n-steps, where choice i1is taken in step 1, i2 in step 2, and so on.

Input w is accepted iff ∃ accepting configuration in tree.

Agha-Viswanathan CS373

Page 57: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Idea

The machine det(M) will search for an accepting configuration incomputation tree

The configuration at any vertex can be obtained by simulatingM on the appropriate sequence of nondeterministic choices

det(M) will perform a BFS on the tree. Why not a DFS?

Observe that det(M) may not terminate if w is not accepted.

Agha-Viswanathan CS373

Page 58: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Idea

The machine det(M) will search for an accepting configuration incomputation tree

The configuration at any vertex can be obtained by simulatingM on the appropriate sequence of nondeterministic choices

det(M) will perform a BFS on the tree. Why not a DFS?

Observe that det(M) may not terminate if w is not accepted.

Agha-Viswanathan CS373

Page 59: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Idea

The machine det(M) will search for an accepting configuration incomputation tree

The configuration at any vertex can be obtained by simulatingM on the appropriate sequence of nondeterministic choices

det(M) will perform a BFS on the tree.

Why not a DFS?

Observe that det(M) may not terminate if w is not accepted.

Agha-Viswanathan CS373

Page 60: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Idea

The machine det(M) will search for an accepting configuration incomputation tree

The configuration at any vertex can be obtained by simulatingM on the appropriate sequence of nondeterministic choices

det(M) will perform a BFS on the tree. Why not a DFS?

Observe that det(M) may not terminate if w is not accepted.

Agha-Viswanathan CS373

Page 61: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Idea

The machine det(M) will search for an accepting configuration incomputation tree

The configuration at any vertex can be obtained by simulatingM on the appropriate sequence of nondeterministic choices

det(M) will perform a BFS on the tree. Why not a DFS?

Observe that det(M) may not terminate if w is not accepted.

Agha-Viswanathan CS373

Page 62: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Details

det(M) will use 3 tapes to simulate M

(note, multitape TMs areequivalent to 1-tape TMs)

Tape 1, called input tape, will always hold input w

Tape 2, called simulation tape, will be used as M’s tape whensimulating M on a sequence of nondeterministic choices

Tape 3, called choice tape, will store the current sequence ofnondeterministic choices

Agha-Viswanathan CS373

Page 63: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Details

det(M) will use 3 tapes to simulate M

(note, multitape TMs areequivalent to 1-tape TMs)

Tape 1, called input tape, will always hold input w

Tape 2, called simulation tape, will be used as M’s tape whensimulating M on a sequence of nondeterministic choices

Tape 3, called choice tape, will store the current sequence ofnondeterministic choices

Agha-Viswanathan CS373

Page 64: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Details

det(M) will use 3 tapes to simulate M (note, multitape TMs areequivalent to 1-tape TMs)

Tape 1, called input tape, will always hold input w

Tape 2, called simulation tape, will be used as M’s tape whensimulating M on a sequence of nondeterministic choices

Tape 3, called choice tape, will store the current sequence ofnondeterministic choices

Agha-Viswanathan CS373

Page 65: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Details

det(M) will use 3 tapes to simulate M (note, multitape TMs areequivalent to 1-tape TMs)

Tape 1, called input tape, will always hold input w

Tape 2, called simulation tape, will be used as M’s tape whensimulating M on a sequence of nondeterministic choices

Tape 3, called choice tape, will store the current sequence ofnondeterministic choices

Agha-Viswanathan CS373

Page 66: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Proof Details

det(M) will use 3 tapes to simulate M (note, multitape TMs areequivalent to 1-tape TMs)

Tape 1, called input tape, will always hold input w

Tape 2, called simulation tape, will be used as M’s tape whensimulating M on a sequence of nondeterministic choices

Tape 3, called choice tape, will store the current sequence ofnondeterministic choices

Agha-Viswanathan CS373

Page 67: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Execution of det(M)

1 Initially: Input tape contains w , simulation tape and choicetape are blank

2 Copy contents of input tape onto simulation tape3 Simulate M using simulation tape as its (only) tape

1 At the next step of M, if state is q, simulation tape head readsX , and choice tape head reads i , then simulate the ithpossibility in δ(q,X ); if i is not a valid choice, then goto step 4

2 After changing state, simulation tape contents, and headposition on simulation tape, move choice tape’s head to theright. If Tape 3 is now scanning t, then goto step 4

3 If M accepts then accept and halt, else goto step 3(1) tosimulate the next step of M.

4 Write the lexicographically next choice sequence on choicetape, erase everything on simulation tape and goto step 2.

Agha-Viswanathan CS373

Page 68: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Deterministic SimulationIn a nutshell

det(M) simulates M over and over again, for differentsequences, and for different number of steps.

If M accepts w then there is a sequence of choices that willlead to acceptance. det(M) will eventually have this sequenceon choice tape, and then its simulation M will accept.

If M does not accept w then no sequence of choices leads toacceptance. det(M) will therefore never halt!

Agha-Viswanathan CS373

Page 69: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Deterministic SimulationIn a nutshell

det(M) simulates M over and over again, for differentsequences, and for different number of steps.

If M accepts w then there is a sequence of choices that willlead to acceptance. det(M) will eventually have this sequenceon choice tape, and then its simulation M will accept.

If M does not accept w then no sequence of choices leads toacceptance. det(M) will therefore never halt!

Agha-Viswanathan CS373

Page 70: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Deterministic SimulationIn a nutshell

det(M) simulates M over and over again, for differentsequences, and for different number of steps.

If M accepts w then there is a sequence of choices that willlead to acceptance. det(M) will eventually have this sequenceon choice tape, and then its simulation M will accept.

If M does not accept w then no sequence of choices leads toacceptance. det(M) will therefore never halt!

Agha-Viswanathan CS373

Page 71: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Random Access Machines

This is an idealized model of modern computers.

Have a finitenumber of “registers”, an infinite number of available memorylocations, and store a sequence of instructions or “program” inmemory.

Initially, the program instructions are stored in a contiguousblock of memory locations starting at location 1. All registersand memory locations, other than those storing the program,are set to 0.

Agha-Viswanathan CS373

Page 72: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Random Access Machines

This is an idealized model of modern computers. Have a finitenumber of “registers”, an infinite number of available memorylocations, and store a sequence of instructions or “program” inmemory.

Initially, the program instructions are stored in a contiguousblock of memory locations starting at location 1. All registersand memory locations, other than those storing the program,are set to 0.

Agha-Viswanathan CS373

Page 73: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Random Access Machines

This is an idealized model of modern computers. Have a finitenumber of “registers”, an infinite number of available memorylocations, and store a sequence of instructions or “program” inmemory.

Initially, the program instructions are stored in a contiguousblock of memory locations starting at location 1. All registersand memory locations, other than those storing the program,are set to 0.

Agha-Viswanathan CS373

Page 74: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Instruction Set

add X, Y: Add the contents of registers X and Y and storethe result in X .

loadc X, I: Place the constant I in register X .

load X, M: Load the contents of memory location M intoregister X .

loadI X, M: Load the contents of the location “pointed to”by the contents of M into register X .

store X, M: store the contents of register X in memorylocation M.

jmp M: The next instruction to be executed is in location M.

jmz X, M: If register X is 0, then jump to instruction M.

halt: Halt execution.

Agha-Viswanathan CS373

Page 75: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of RAMs

Theorem

Anything computed on a RAM can be computed on a Turingmachine.

Proof.

Proof sketch in the notes. �

Agha-Viswanathan CS373

Page 76: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of RAMs

Theorem

Anything computed on a RAM can be computed on a Turingmachine.

Proof.

Proof sketch in the notes. �

Agha-Viswanathan CS373

Page 77: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Multi-Tape TMNondeterministic TMRandom Access Machine

Expressive Power of RAMs

Theorem

Anything computed on a RAM can be computed on a Turingmachine.

Proof.

Proof sketch in the notes. �

Agha-Viswanathan CS373

Page 78: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Robustness of the Class of TM Languages

Various efforts to capture mechanical computation have the sameexpressive power.

Non-Turing Machine models: random access machines,λ-calculus, type 0 grammars, first-order reasoning, π-calculus,. . .

Enhanced Turing Machine models: TM with 2-way infinitetape, multi-tape TM, nondeterministic TM, probabilisticTuring Machines, quantum Turing Machines . . .

Restricted Turing Machine models: queue machines, 2-stackmachines, 2-counter machines, . . .

Agha-Viswanathan CS373

Page 79: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Robustness of the Class of TM Languages

Various efforts to capture mechanical computation have the sameexpressive power.

Non-Turing Machine models: random access machines,λ-calculus, type 0 grammars, first-order reasoning, π-calculus,. . .

Enhanced Turing Machine models: TM with 2-way infinitetape, multi-tape TM, nondeterministic TM, probabilisticTuring Machines, quantum Turing Machines . . .

Restricted Turing Machine models: queue machines, 2-stackmachines, 2-counter machines, . . .

Agha-Viswanathan CS373

Page 80: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Robustness of the Class of TM Languages

Various efforts to capture mechanical computation have the sameexpressive power.

Non-Turing Machine models: random access machines,λ-calculus, type 0 grammars, first-order reasoning, π-calculus,. . .

Enhanced Turing Machine models: TM with 2-way infinitetape, multi-tape TM, nondeterministic TM, probabilisticTuring Machines, quantum Turing Machines . . .

Restricted Turing Machine models: queue machines, 2-stackmachines, 2-counter machines, . . .

Agha-Viswanathan CS373

Page 81: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Robustness of the Class of TM Languages

Various efforts to capture mechanical computation have the sameexpressive power.

Non-Turing Machine models: random access machines,λ-calculus, type 0 grammars, first-order reasoning, π-calculus,. . .

Enhanced Turing Machine models: TM with 2-way infinitetape, multi-tape TM, nondeterministic TM, probabilisticTuring Machines, quantum Turing Machines . . .

Restricted Turing Machine models: queue machines, 2-stackmachines, 2-counter machines, . . .

Agha-Viswanathan CS373

Page 82: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Church-Turing Thesis

“Anything solvable via a mechanical procedure can be solved on aTuring Machine.”

Not a mathematical statement that can be proved ordisproved!

Strong evidence based on the fact that many attempts todefine computation yield the same expressive power

Agha-Viswanathan CS373

Page 83: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Church-Turing Thesis

“Anything solvable via a mechanical procedure can be solved on aTuring Machine.”

Not a mathematical statement that can be proved ordisproved!

Strong evidence based on the fact that many attempts todefine computation yield the same expressive power

Agha-Viswanathan CS373

Page 84: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Church-Turing Thesis

“Anything solvable via a mechanical procedure can be solved on aTuring Machine.”

Not a mathematical statement that can be proved ordisproved!

Strong evidence based on the fact that many attempts todefine computation yield the same expressive power

Agha-Viswanathan CS373

Page 85: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Consequences

In the course, we will use an informal pseudo-code to arguethat a problem/language can be solved on Turing machines

To show that something can be solved on Turing machines,you can use any programming language of choice, unless theproblem specifically asks you to design a Turing Machine

Agha-Viswanathan CS373

Page 86: Variants of Turing Machines and the Church-Turing Thesis

Variants of Turing MachinesChurch-Turing Thesis

Universality of the ModelChurch-Turing Thesis

Consequences

In the course, we will use an informal pseudo-code to arguethat a problem/language can be solved on Turing machines

To show that something can be solved on Turing machines,you can use any programming language of choice, unless theproblem specifically asks you to design a Turing Machine

Agha-Viswanathan CS373