Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2:...
Transcript of Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2:...
![Page 1: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/1.jpg)
COMPLEXITY THEORY
Lecture 2: Turing Machines and Languages
Markus Krotzsch
Knowledge-Based Systems
TU Dresden, 21th Oct 2019
![Page 2: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/2.jpg)
A Model for Computation
ClearTo understand computational problems we need to have a formal understanding of whatan algorithm is.
Example 2.1 (Hilbert’s Tenth Problem):“Given a Diophantine equation with any number of unknownquantities and with rational integral numerical coefficients: To devisea process according to which it can be determined in a finite numberof operations whether the equation is solvable in rational integers.”(→ Wikipedia)
QuestionHow can we model the notion of an algorithm?
AnswerWith Turing machines.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 2 of 26
![Page 3: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/3.jpg)
A Model for Computation
ClearTo understand computational problems we need to have a formal understanding of whatan algorithm is.
Example 2.1 (Hilbert’s Tenth Problem):“Given a Diophantine equation with any number of unknownquantities and with rational integral numerical coefficients: To devisea process according to which it can be determined in a finite numberof operations whether the equation is solvable in rational integers.”(→ Wikipedia)
QuestionHow can we model the notion of an algorithm?
AnswerWith Turing machines.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 2 of 26
![Page 4: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/4.jpg)
A Model for Computation
ClearTo understand computational problems we need to have a formal understanding of whatan algorithm is.
Example 2.1 (Hilbert’s Tenth Problem):“Given a Diophantine equation with any number of unknownquantities and with rational integral numerical coefficients: To devisea process according to which it can be determined in a finite numberof operations whether the equation is solvable in rational integers.”(→ Wikipedia)
QuestionHow can we model the notion of an algorithm?
AnswerWith Turing machines.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 2 of 26
![Page 5: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/5.jpg)
A Model for Computation
ClearTo understand computational problems we need to have a formal understanding of whatan algorithm is.
Example 2.1 (Hilbert’s Tenth Problem):“Given a Diophantine equation with any number of unknownquantities and with rational integral numerical coefficients: To devisea process according to which it can be determined in a finite numberof operations whether the equation is solvable in rational integers.”(→ Wikipedia)
QuestionHow can we model the notion of an algorithm?
AnswerWith Turing machines.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 2 of 26
![Page 6: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/6.jpg)
Turing Machines
Let us fix a blank symbol �.
Definition 2.2: A (deterministic) Turing Machine M = 〈Q, Σ, Γ, δ, q0, qaccept, qreject〉
consists of
• a finite set Q of states,
• an input alphabet Σ not containing �,
• a tape alphabet Γ such that Γ ⊇ Σ ∪ { � }.
• a transition function δ : Q × Γ→ Q × Γ × { L, R }
• an initial state q0 ∈ Q,
• an accepting state qaccept ∈ Q, and
• an rejecting state qreject ∈ Q such that qaccept , qreject.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 3 of 26
![Page 7: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/7.jpg)
Turing Machines
Let us fix a blank symbol �.
Definition 2.2: A (deterministic) Turing Machine M = 〈Q, Σ, Γ, δ, q0, qaccept, qreject〉
consists of
• a finite set Q of states,
• an input alphabet Σ not containing �,
• a tape alphabet Γ such that Γ ⊇ Σ ∪ { � }.
• a transition function δ : Q × Γ→ Q × Γ × { L, R }
• an initial state q0 ∈ Q,
• an accepting state qaccept ∈ Q, and
• an rejecting state qreject ∈ Q such that qaccept , qreject.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 3 of 26
![Page 8: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/8.jpg)
Turing Machines
Example 2.3:
aba c �
q1
. . .
δ(q1, a)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 9: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/9.jpg)
Turing Machines
Example 2.3:
aba c �
q1
. . .
δ(q1, a)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 10: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/10.jpg)
Turing Machines
Example 2.3:
aba c �
q1
. . .
δ(q1, a)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 11: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/11.jpg)
Turing Machines
Example 2.3:
aba c �
q1
. . .
δ(q1, a)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 12: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/12.jpg)
Turing Machines
Example 2.3:
aba c �
q1
. . .
δ(q1, a)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 13: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/13.jpg)
Turing Machines
Example 2.3:
aba c �
q1
. . .
δ(q1, a)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 14: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/14.jpg)
Turing Machines
Example 2.3:
aba c �
q1
. . .
δ(q1, a)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 15: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/15.jpg)
Turing Machines
Example 2.3:
aba c �
q1
. . .
δ(q1, a) = (q2, b, L)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 16: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/16.jpg)
Turing Machines
Example 2.3:
bba c �
q2
. . .
δ(q1, a) = (q2, b, L)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 17: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/17.jpg)
Turing Machines
Example 2.3:
bba c �
q2
. . .
δ(q1, a) = (q2, b, L)
• The tape is bounded on the left, but unbounded on the right; the content of the tapeis a finite word over Γ, followed by an infinite sequence of �.
• The head of the machine is at exactly one position of the tape
• The head can read only one symbol at a time
• The head moves and writes according to the transition function δ; the current statealso changes accordingly
• The head will stay put when attempting to cross the left tape end
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 4 of 26
![Page 18: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/18.jpg)
Configurations
Observation: to describe the current step of a computation of a TM it is enough to know
• the content of the tape,
• the current state, and
• the position of the head
Definition 2.4: A configuration of a TM M is a word uqv such that
• q ∈ Q,
• uv ∈ Γ∗
Some special configurations:
• The start configuration for some input word w ∈ Σ∗ is the configuration q0w
• A configuration uqv is accepting if q = qaccept.
• A configuration uqv is rejecting if q = qreject.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 5 of 26
![Page 19: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/19.jpg)
Configurations
Observation: to describe the current step of a computation of a TM it is enough to know
• the content of the tape,
• the current state, and
• the position of the head
Definition 2.4: A configuration of a TM M is a word uqv such that
• q ∈ Q,
• uv ∈ Γ∗
Some special configurations:
• The start configuration for some input word w ∈ Σ∗ is the configuration q0w
• A configuration uqv is accepting if q = qaccept.
• A configuration uqv is rejecting if q = qreject.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 5 of 26
![Page 20: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/20.jpg)
Configurations
Observation: to describe the current step of a computation of a TM it is enough to know
• the content of the tape,
• the current state, and
• the position of the head
Definition 2.4: A configuration of a TM M is a word uqv such that
• q ∈ Q,
• uv ∈ Γ∗
Some special configurations:
• The start configuration for some input word w ∈ Σ∗ is the configuration q0w
• A configuration uqv is accepting if q = qaccept.
• A configuration uqv is rejecting if q = qreject.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 5 of 26
![Page 21: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/21.jpg)
Computation
We write
• C `M C′ only if C′ can be reached from C by one computation step ofM;
• C `∗MC′ only if C′ can be reached from C in a finite number of computation steps of
M.
We say thatM halts on input w if and only if there is a finite sequence of configurations
C0 `M C1 `M · · · `M C`
such that C0 is the start configuration ofM on input w and C` is an accepting orrejecting configuration. OtherwiseM loops on input w.
We say thatM accepts the input w only ifM halts on input w with an acceptingconfiguration.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 6 of 26
![Page 22: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/22.jpg)
Computation
We write
• C `M C′ only if C′ can be reached from C by one computation step ofM;
• C `∗MC′ only if C′ can be reached from C in a finite number of computation steps of
M.
We say thatM halts on input w if and only if there is a finite sequence of configurations
C0 `M C1 `M · · · `M C`
such that C0 is the start configuration ofM on input w and C` is an accepting orrejecting configuration. OtherwiseM loops on input w.
We say thatM accepts the input w only ifM halts on input w with an acceptingconfiguration.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 6 of 26
![Page 23: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/23.jpg)
Computation
We write
• C `M C′ only if C′ can be reached from C by one computation step ofM;
• C `∗MC′ only if C′ can be reached from C in a finite number of computation steps of
M.
We say thatM halts on input w if and only if there is a finite sequence of configurations
C0 `M C1 `M · · · `M C`
such that C0 is the start configuration ofM on input w and C` is an accepting orrejecting configuration. OtherwiseM loops on input w.
We say thatM accepts the input w only ifM halts on input w with an acceptingconfiguration.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 6 of 26
![Page 24: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/24.jpg)
Recognisability and Decidability
Definition 2.5: Let M be a Turing machine with input alphabet Σ. The languageaccepted by M is the set
L(M) B {w ∈ Σ∗ | M accepts w }.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 7 of 26
![Page 25: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/25.jpg)
Recognisability and Decidability
Definition 2.5: Let M be a Turing machine with input alphabet Σ. The languageaccepted by M is the set
L(M) B {w ∈ Σ∗ | M accepts w }.
A language L ⊆ Σ∗ is called Turing-recognisable (recursively enumerable) if andonly if there exists a Turing machine M with input alphabet Σ such that L = L(M).In this case we say that M recognises L.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 7 of 26
![Page 26: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/26.jpg)
Recognisability and Decidability
Definition 2.5: Let M be a Turing machine with input alphabet Σ. The languageaccepted by M is the set
L(M) B {w ∈ Σ∗ | M accepts w }.
A language L ⊆ Σ∗ is called Turing-recognisable (recursively enumerable) if andonly if there exists a Turing machine M with input alphabet Σ such that L = L(M).In this case we say that M recognises L.
A language L ⊆ Σ∗ is called Turing-decidable (decidable, recursive) if and only ifthere exists a Turing machine M such that L = L(M) and M halts on every input.In this case we say that M decides L.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 7 of 26
![Page 27: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/27.jpg)
Example
Claim 2.6: The language L B { a2n| n ≥ 0 } is decidable.
Proof: A Turing machineM that decides L is
M B On input w, where w is a string
• Go from left to right over the tape and cross off every other a
• If in the first step the tape contained a single a, accept
• If in the first step the number of a’s on the tape was odd, reject
• Return the head the beginning of the tape
• Go to the first step
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 8 of 26
![Page 28: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/28.jpg)
Example
Claim 2.6: The language L B { a2n| n ≥ 0 } is decidable.
Proof: A Turing machineM that decides L is
M B On input w, where w is a string
• Go from left to right over the tape and cross off every other a
• If in the first step the tape contained a single a, accept
• If in the first step the number of a’s on the tape was odd, reject
• Return the head the beginning of the tape
• Go to the first step
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 8 of 26
![Page 29: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/29.jpg)
Example (cont’d)Formally,M = (Q, Σ, Γ, δ, q1, qaccept, qreject), where• Q = { q1, q2, q3, q4, q5, qaccept, qreject }
• Σ = { a }, Γ = { a, x, � }
and δ is given by
q1 q2
q5
q3
q4qacceptqreject
� 7→ Rx 7→ R
a 7→ �, R
x 7→ R
� 7→R
a 7→ x, R
a 7→ Lx 7→ L
� 7→ Lx 7→ R
a 7→ R a 7→ x, R
x 7→ R� 7→ R
� 7→ R
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 9 of 26
![Page 30: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/30.jpg)
Problems as Languages
Observation• Languages can be used to model computational problems.
• For this, a suitable encoding is necessary
• TMs must be able to decode the encoding
Example 2.7 (Graph-Connectedness): The question whether a graph is con-nected or not can be seen as the word problem of the following language
GCONN B { 〈G〉 | G is a connected graph },
where 〈G〉 is (for example) the adjacency matrix encoded in binary.
Notation 2.8: The encoding of objects O1, . . . ,On we denote by 〈O1, . . . ,On〉.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 10 of 26
![Page 31: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/31.jpg)
Problems as Languages
Observation• Languages can be used to model computational problems.
• For this, a suitable encoding is necessary
• TMs must be able to decode the encoding
Example 2.7 (Graph-Connectedness): The question whether a graph is con-nected or not can be seen as the word problem of the following language
GCONN B { 〈G〉 | G is a connected graph },
where 〈G〉 is (for example) the adjacency matrix encoded in binary.
Notation 2.8: The encoding of objects O1, . . . ,On we denote by 〈O1, . . . ,On〉.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 10 of 26
![Page 32: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/32.jpg)
Problems as Languages
Observation• Languages can be used to model computational problems.
• For this, a suitable encoding is necessary
• TMs must be able to decode the encoding
Example 2.7 (Graph-Connectedness): The question whether a graph is con-nected or not can be seen as the word problem of the following language
GCONN B { 〈G〉 | G is a connected graph },
where 〈G〉 is (for example) the adjacency matrix encoded in binary.
Notation 2.8: The encoding of objects O1, . . . ,On we denote by 〈O1, . . . ,On〉.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 10 of 26
![Page 33: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/33.jpg)
The Church-Turing Thesis
It turns out that Turing-machines are equivalent to a number of formalisations of theintuitive notion of an algorithm
• λ-calculus
• while-programs
• µ-recursive functions
• Random-Access Machines
• . . .
Because of this it is believed that Turing-machines completely capture the intuitivenotion of an algorithm. { Church-Turing Thesis:
“A function on the natural numbers is intuitively computable if and only if it canbe computed by a Turing machine.”
(→Wikipedia: Church-Turing Thesis)
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 11 of 26
![Page 34: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/34.jpg)
The Church-Turing Thesis
It turns out that Turing-machines are equivalent to a number of formalisations of theintuitive notion of an algorithm
• λ-calculus
• while-programs
• µ-recursive functions
• Random-Access Machines
• . . .
Because of this it is believed that Turing-machines completely capture the intuitivenotion of an algorithm. { Church-Turing Thesis:
“A function on the natural numbers is intuitively computable if and only if it canbe computed by a Turing machine.”
(→Wikipedia: Church-Turing Thesis)
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 11 of 26
![Page 35: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/35.jpg)
Variations of Turing-Machines
It has also been shown that deterministic, single-tape Turing machines are equivalent toa wide range of other forms of Turing machines:
• Multi-tape Turing machines
• Nondeterministic Turing machines
• Turing machines with doubly-infinite tape
• Multi-head Turing machines
• Two-dimensional Turing machines
• Write-once Turing machines
• Two-stack machines
• Two-counter machines
• . . .
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 12 of 26
![Page 36: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/36.jpg)
Variations of Turing-Machines
It has also been shown that deterministic, single-tape Turing machines are equivalent toa wide range of other forms of Turing machines:
• Multi-tape Turing machines
• Nondeterministic Turing machines
• Turing machines with doubly-infinite tape
• Multi-head Turing machines
• Two-dimensional Turing machines
• Write-once Turing machines
• Two-stack machines
• Two-counter machines
• . . .
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 12 of 26
![Page 37: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/37.jpg)
Multi-Tape Turing Machines
k-tape Turing machines are a variant of Turing machines that have k tapes.
q
. . .
. . .
. . .
a a b � �
a c b c �
c b � � �
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 13 of 26
![Page 38: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/38.jpg)
Multi-Tape Turing Machines
k-tape Turing machines are a variant of Turing machines that have k tapes.
q
. . .
. . .
. . .
a a b � �
a c b c �
c b � � �
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 13 of 26
![Page 39: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/39.jpg)
Multi-Tape Turing Machines
Definition 2.9: Let k ∈ N. Then a (deterministic) k-tape Turing machine is atuple M = (Q, Σ, Γ, δ, q0, qaccept, qreject), where
• Q, Σ, Γ, q0, qaccept, qreject are as for TMs
• δ is a transition function for k tapes, i.e.,
δ : Q × Γk → Q × Γk × { L, R, N }k
RunningM on input w ∈ Σ∗ means to startM with the content of the first tape being wand all other tapes blank.
The notions of a configuration and of the language accepted byM are definedanalogously to the single-tape case.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 14 of 26
![Page 40: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/40.jpg)
Multi-Tape Turing Machines
Definition 2.9: Let k ∈ N. Then a (deterministic) k-tape Turing machine is atuple M = (Q, Σ, Γ, δ, q0, qaccept, qreject), where
• Q, Σ, Γ, q0, qaccept, qreject are as for TMs
• δ is a transition function for k tapes, i.e.,
δ : Q × Γk → Q × Γk × { L, R, N }k
RunningM on input w ∈ Σ∗ means to startM with the content of the first tape being wand all other tapes blank.
The notions of a configuration and of the language accepted byM are definedanalogously to the single-tape case.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 14 of 26
![Page 41: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/41.jpg)
Multi-Tape Turing Machines
Definition 2.9: Let k ∈ N. Then a (deterministic) k-tape Turing machine is atuple M = (Q, Σ, Γ, δ, q0, qaccept, qreject), where
• Q, Σ, Γ, q0, qaccept, qreject are as for TMs
• δ is a transition function for k tapes, i.e.,
δ : Q × Γk → Q × Γk × { L, R, N }k
RunningM on input w ∈ Σ∗ means to startM with the content of the first tape being wand all other tapes blank.
The notions of a configuration and of the language accepted byM are definedanalogously to the single-tape case.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 14 of 26
![Page 42: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/42.jpg)
Multi-Tape Turing Machines
Theorem 2.10: Every multi-tape Turing machine has an equivalent single-tapeTuring machine.
Proof: LetM be a k-tape Turing machine. SimulateM with a single-tape TM S by
• keeping the content of all k tapes on a single tape, separated by #
• marking the positions of the individual heads using special symbols
q . . .
. . .
. . .
a a �
a c b
c � �
p
. . .# a a •� # a •c b # •c
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 15 of 26
![Page 43: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/43.jpg)
Multi-Tape Turing Machines
Theorem 2.10: Every multi-tape Turing machine has an equivalent single-tapeTuring machine.
Proof: LetM be a k-tape Turing machine. SimulateM with a single-tape TM S by
• keeping the content of all k tapes on a single tape, separated by #
• marking the positions of the individual heads using special symbols
q . . .
. . .
. . .
a a �
a c b
c � �
p
. . .# a a •� # a •c b # •c
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 15 of 26
![Page 44: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/44.jpg)
Multi-Tape Turing Machines
Theorem 2.10: Every multi-tape Turing machine has an equivalent single-tapeTuring machine.
Proof: LetM be a k-tape Turing machine. SimulateM with a single-tape TM S by
• keeping the content of all k tapes on a single tape, separated by #
• marking the positions of the individual heads using special symbols
q . . .
. . .
. . .
a a �
a c b
c � �
p
. . .# a a •� # a •c b # •c
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 15 of 26
![Page 45: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/45.jpg)
Multi-Tape Turing Machines
Theorem 2.10: Every multi-tape Turing machine has an equivalent single-tapeTuring machine.
Proof: LetM be a k-tape Turing machine. SimulateM with a single-tape TM S by
• keeping the content of all k tapes on a single tape, separated by #
• marking the positions of the individual heads using special symbols
q . . .
. . .
. . .
a a �
a c b
c � �
p
. . .# a a •� # a •c b # •c
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 15 of 26
![Page 46: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/46.jpg)
Multi-Tape Turing Machines
Theorem 2.10: Every multi-tape Turing machine has an equivalent single-tapeTuring machine.
Proof: LetM be a k-tape Turing machine. SimulateM with a single-tape TM S by
• keeping the content of all k tapes on a single tape, separated by #
• marking the positions of the individual heads using special symbols
q . . .
. . .
. . .
a a �
a c b
c � �
p
. . .# a a •� # a •c b # •c
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 15 of 26
![Page 47: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/47.jpg)
Multi-Tape Turing Machines
S B On input w = w1 . . .wn
• Format the tape to contain the word
# •w1w2 . . .wn# •�# •�# . . . #
• Scan the tape from the first # to the (k + 1)-th # to determine the symbolsbelow the markers.
• Update all tapes according toM’s transition function with a second passover the tape; if any head ofM moves to some previously unread portionof its tape, insert a blank symbol at the corresponding position and shiftthe right tape contents by one cell
• Repeat until the accepting or rejecting state is reached.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 16 of 26
![Page 48: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/48.jpg)
Multi-Tape Turing Machines
S B On input w = w1 . . .wn
• Format the tape to contain the word
# •w1w2 . . .wn# •�# •�# . . . #
• Scan the tape from the first # to the (k + 1)-th # to determine the symbolsbelow the markers.
• Update all tapes according toM’s transition function with a second passover the tape; if any head ofM moves to some previously unread portionof its tape, insert a blank symbol at the corresponding position and shiftthe right tape contents by one cell
• Repeat until the accepting or rejecting state is reached.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 16 of 26
![Page 49: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/49.jpg)
Multi-Tape Turing Machines
S B On input w = w1 . . .wn
• Format the tape to contain the word
# •w1w2 . . .wn# •�# •�# . . . #
• Scan the tape from the first # to the (k + 1)-th # to determine the symbolsbelow the markers.
• Update all tapes according toM’s transition function with a second passover the tape; if any head ofM moves to some previously unread portionof its tape, insert a blank symbol at the corresponding position and shiftthe right tape contents by one cell
• Repeat until the accepting or rejecting state is reached.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 16 of 26
![Page 50: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/50.jpg)
Multi-Tape Turing Machines
S B On input w = w1 . . .wn
• Format the tape to contain the word
# •w1w2 . . .wn# •�# •�# . . . #
• Scan the tape from the first # to the (k + 1)-th # to determine the symbolsbelow the markers.
• Update all tapes according toM’s transition function with a second passover the tape; if any head ofM moves to some previously unread portionof its tape, insert a blank symbol at the corresponding position and shiftthe right tape contents by one cell
• Repeat until the accepting or rejecting state is reached.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 16 of 26
![Page 51: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/51.jpg)
Multi-Tape Turing Machines
S B On input w = w1 . . .wn
• Format the tape to contain the word
# •w1w2 . . .wn# •�# •�# . . . #
• Scan the tape from the first # to the (k + 1)-th # to determine the symbolsbelow the markers.
• Update all tapes according toM’s transition function with a second passover the tape; if any head ofM moves to some previously unread portionof its tape, insert a blank symbol at the corresponding position and shiftthe right tape contents by one cell
• Repeat until the accepting or rejecting state is reached.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 16 of 26
![Page 52: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/52.jpg)
Multi-Tape Turing Machines
S B On input w = w1 . . .wn
• Format the tape to contain the word
# •w1w2 . . .wn# •�# •�# . . . #
• Scan the tape from the first # to the (k + 1)-th # to determine the symbolsbelow the markers.
• Update all tapes according toM’s transition function with a second passover the tape; if any head ofM moves to some previously unread portionof its tape, insert a blank symbol at the corresponding position and shiftthe right tape contents by one cell
• Repeat until the accepting or rejecting state is reached.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 16 of 26
![Page 53: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/53.jpg)
Nondeterministic Turing Machines
GoalAllow transitions to be nondeterministic.
ApproachChange transition function from
δ : Q × Γ→ Q × Γ × { L, R }
toδ : Q × Γ→ 2Q×Γ×{ L,R }
.
The notions of accepting and rejecting computations are defined accordingly.Note: there may be more than one or no computation of a nondeterministic TM on agiven input.A nondeterministic TMM accepts an input w if and only if there exists some acceptingcomputation ofM on input w.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 17 of 26
![Page 54: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/54.jpg)
Nondeterministic Turing Machines
GoalAllow transitions to be nondeterministic.
ApproachChange transition function from
δ : Q × Γ→ Q × Γ × { L, R }
toδ : Q × Γ→ 2Q×Γ×{ L,R }
.
The notions of accepting and rejecting computations are defined accordingly.Note: there may be more than one or no computation of a nondeterministic TM on agiven input.A nondeterministic TMM accepts an input w if and only if there exists some acceptingcomputation ofM on input w.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 17 of 26
![Page 55: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/55.jpg)
Nondeterministic Turing Machines
GoalAllow transitions to be nondeterministic.
ApproachChange transition function from
δ : Q × Γ→ Q × Γ × { L, R }
toδ : Q × Γ→ 2Q×Γ×{ L,R }
.
The notions of accepting and rejecting computations are defined accordingly.Note: there may be more than one or no computation of a nondeterministic TM on agiven input.
A nondeterministic TMM accepts an input w if and only if there exists some acceptingcomputation ofM on input w.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 17 of 26
![Page 56: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/56.jpg)
Nondeterministic Turing Machines
GoalAllow transitions to be nondeterministic.
ApproachChange transition function from
δ : Q × Γ→ Q × Γ × { L, R }
toδ : Q × Γ→ 2Q×Γ×{ L,R }
.
The notions of accepting and rejecting computations are defined accordingly.Note: there may be more than one or no computation of a nondeterministic TM on agiven input.A nondeterministic TMM accepts an input w if and only if there exists some acceptingcomputation ofM on input w.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 17 of 26
![Page 57: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/57.jpg)
Nondeterministic Turing Machines
Theorem 2.11: Every nondeterministic TM has an equivalent deterministic TM.
Proof: Let N be a nondeterministic TM. We construct a deterministic TM D that isequivalent to N, i.e., L(N) = L(D).
Idea
• D deterministically traverses in breath-first order the tree of configuration of N,where each branch represents a different possibility for N to continue.
• For this, successively try out all possible choices of transitions allowed by N.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 18 of 26
![Page 58: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/58.jpg)
Nondeterministic Turing Machines
Theorem 2.11: Every nondeterministic TM has an equivalent deterministic TM.
Proof: Let N be a nondeterministic TM. We construct a deterministic TM D that isequivalent to N, i.e., L(N) = L(D).
Idea
• D deterministically traverses in breath-first order the tree of configuration of N,where each branch represents a different possibility for N to continue.
• For this, successively try out all possible choices of transitions allowed by N.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 18 of 26
![Page 59: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/59.jpg)
Nondeterministic Turing Machines
Theorem 2.11: Every nondeterministic TM has an equivalent deterministic TM.
Proof: Let N be a nondeterministic TM. We construct a deterministic TM D that isequivalent to N, i.e., L(N) = L(D).
Idea
• D deterministically traverses in breath-first order the tree of configuration of N,where each branch represents a different possibility for N to continue.
• For this, successively try out all possible choices of transitions allowed by N.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 18 of 26
![Page 60: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/60.jpg)
Nondeterministic Turing Machines
Theorem 2.11: Every nondeterministic TM has an equivalent deterministic TM.
Proof: Let N be a nondeterministic TM. We construct a deterministic TM D that isequivalent to N, i.e., L(N) = L(D).
Idea• D deterministically traverses in breath-first order the tree of configuration of N,
where each branch represents a different possibility for N to continue.
• For this, successively try out all possible choices of transitions allowed by N.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 18 of 26
![Page 61: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/61.jpg)
Nondeterministic Turing Machines
Theorem 2.11: Every nondeterministic TM has an equivalent deterministic TM.
Proof: Let N be a nondeterministic TM. We construct a deterministic TM D that isequivalent to N, i.e., L(N) = L(D).
Idea• D deterministically traverses in breath-first order the tree of configuration of N,
where each branch represents a different possibility for N to continue.
• For this, successively try out all possible choices of transitions allowed by N.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 18 of 26
![Page 62: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/62.jpg)
Nondeterministic Turing Machines
Sketch of D:
q . . .
. . .
. . .
a a b b c
a c b � �
1 3 2 3 2
input tape
simulation tape
address tape
Let b be the maximal number of choices in δ, i.e.,
b B max{|δ(q, x)|
∣∣∣ q ∈ Q, x ∈ Γ}.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 19 of 26
![Page 63: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/63.jpg)
Nondeterministic Turing Machines
Sketch of D:
q . . .
. . .
. . .
a a b b c
a c b � �
1 3 2 3 2
input tape
simulation tape
address tape
Let b be the maximal number of choices in δ, i.e.,
b B max{|δ(q, x)|
∣∣∣ q ∈ Q, x ∈ Γ}.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 19 of 26
![Page 64: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/64.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.
– Interpret the address tape as a list of choices to make during thiscomputation.
– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 65: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/65.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.
– Interpret the address tape as a list of choices to make during thiscomputation.
– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 66: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/66.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.
– Interpret the address tape as a list of choices to make during thiscomputation.
– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 67: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/67.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.
– Interpret the address tape as a list of choices to make during thiscomputation.
– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 68: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/68.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.
– Interpret the address tape as a list of choices to make during thiscomputation.
– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 69: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/69.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.– Interpret the address tape as a list of choices to make during this
computation.
– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 70: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/70.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.– Interpret the address tape as a list of choices to make during this
computation.– If a choice is invalid, abort simulation.
– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 71: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/71.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.– Interpret the address tape as a list of choices to make during this
computation.– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 72: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/72.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.– Interpret the address tape as a list of choices to make during this
computation.– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 73: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/73.jpg)
Nondeterministic Turing Machines
D works as follows:
(1) Start: input tape contains input w, simulation and address tape empty
(2) Initialise the address tape with 0.
(3) Copy w to the simulation tape.
(4) Simulate one finite computation of N on w on the simulation tape.– Interpret the address tape as a list of choices to make during this
computation.– If a choice is invalid, abort simulation.– If an accepting configuration is reached at the end of the simulation, accept.
(5) Increment the content of the address tape, considered as a number in base b, by 1.Go to step 3.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 20 of 26
![Page 74: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/74.jpg)
Enumerators
Definition 2.12: A multi-tape Turing machine M is an enumerator if
• M has a designated write-only output-tape on which a symbol, once written,can never be changed and where the head can never move left;
• M has a marker symbol # separating words on the output tape.
We define the language generated by M to be the set G(M) of all words thateventually appear between two consecutive # on the output tape of M whenstarted on the empty word as input.
q
working tape(s)
# � � output tape
. . . . . .
. . . . . .. . .
read/write
write-only
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 21 of 26
![Page 75: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/75.jpg)
Enumerators
Definition 2.12: A multi-tape Turing machine M is an enumerator if
• M has a designated write-only output-tape on which a symbol, once written,can never be changed and where the head can never move left;
• M has a marker symbol # separating words on the output tape.
We define the language generated by M to be the set G(M) of all words thateventually appear between two consecutive # on the output tape of M whenstarted on the empty word as input.
q
working tape(s)
# � � output tape
. . . . . .
. . . . . .. . .
read/write
write-only
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 21 of 26
![Page 76: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/76.jpg)
Enumerators
Theorem 2.13: A language L is Turing-recognisable if and only if there existssome enumerator E such that G(E) = L.
Proof: Let E be an enumerator for L. Then the following TM accepts L:
M B On input w
• Simulate E on the empty input. Compare every string output by E with w
• If w appears in the output of E, accept
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 22 of 26
![Page 77: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/77.jpg)
Enumerators
Theorem 2.13: A language L is Turing-recognisable if and only if there existssome enumerator E such that G(E) = L.
Proof: Let E be an enumerator for L. Then the following TM accepts L:
M B On input w
• Simulate E on the empty input. Compare every string output by E with w
• If w appears in the output of E, accept
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 22 of 26
![Page 78: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/78.jpg)
Enumerators
Let L = L(M) for some TMM, and let s1, s2, . . . be an enumeration of Σ∗.
Then the following enumerator E enumerates L:
E B Ignore the input.
• Print the first # to initialise the output.• Repeat for i = 1, 2, 3, . . .
– RunM for i steps on each input s1, s2, . . . , si
– If any computation accepts, print the corresponding sj followed by #
�
Theorem 2.14: If L is Turing-recognisable, then there exists an enumerator for Lthat prints each word of L exactly once.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 23 of 26
![Page 79: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/79.jpg)
Enumerators
Let L = L(M) for some TMM, and let s1, s2, . . . be an enumeration of Σ∗.Then the following enumerator E enumerates L:
E B Ignore the input.
• Print the first # to initialise the output.• Repeat for i = 1, 2, 3, . . .
– RunM for i steps on each input s1, s2, . . . , si
– If any computation accepts, print the corresponding sj followed by #
�
Theorem 2.14: If L is Turing-recognisable, then there exists an enumerator for Lthat prints each word of L exactly once.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 23 of 26
![Page 80: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/80.jpg)
Enumerators
Let L = L(M) for some TMM, and let s1, s2, . . . be an enumeration of Σ∗.Then the following enumerator E enumerates L:
E B Ignore the input.
• Print the first # to initialise the output.• Repeat for i = 1, 2, 3, . . .
– RunM for i steps on each input s1, s2, . . . , si
– If any computation accepts, print the corresponding sj followed by #
�
Theorem 2.14: If L is Turing-recognisable, then there exists an enumerator for Lthat prints each word of L exactly once.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 23 of 26
![Page 81: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/81.jpg)
Enumerators
Theorem 2.15: A language L is decidable if and only if there exists an enumer-ator for L that outputs exactly the words of L in some order of non-decreasinglength.
Proof: Suppose L to be decidable, and letM be a TM that decides L.
• Define a TMM′ that generates, on some scratch tape, all words over Σ in someorder of non-decreasing length. (Exercise!)
• An enumerator E works as follows:(1) Print the first # to initialise the output.(2) RunM′ (enumerating words), followed byM (to check if the current word is
accepted). IfM accepts w, then print w followed by #.
Then E enumerates exactly the words of L in some order of non-decreasing length.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 24 of 26
![Page 82: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/82.jpg)
Enumerators
Theorem 2.15: A language L is decidable if and only if there exists an enumer-ator for L that outputs exactly the words of L in some order of non-decreasinglength.
Proof: Suppose L to be decidable, and letM be a TM that decides L.
• Define a TMM′ that generates, on some scratch tape, all words over Σ in someorder of non-decreasing length. (Exercise!)
• An enumerator E works as follows:(1) Print the first # to initialise the output.(2) RunM′ (enumerating words), followed byM (to check if the current word is
accepted). IfM accepts w, then print w followed by #.
Then E enumerates exactly the words of L in some order of non-decreasing length.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 24 of 26
![Page 83: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/83.jpg)
Enumerators
Theorem 2.15: A language L is decidable if and only if there exists an enumer-ator for L that outputs exactly the words of L in some order of non-decreasinglength.
Proof: Suppose L to be decidable, and letM be a TM that decides L.
• Define a TMM′ that generates, on some scratch tape, all words over Σ in someorder of non-decreasing length. (Exercise!)
• An enumerator E works as follows:(1) Print the first # to initialise the output.(2) RunM′ (enumerating words), followed byM (to check if the current word is
accepted). IfM accepts w, then print w followed by #.
Then E enumerates exactly the words of L in some order of non-decreasing length.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 24 of 26
![Page 84: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/84.jpg)
Enumerators
Theorem 2.15: A language L is decidable if and only if there exists an enumer-ator for L that outputs exactly the words of L in some order of non-decreasinglength.
Proof: Suppose L to be decidable, and letM be a TM that decides L.
• Define a TMM′ that generates, on some scratch tape, all words over Σ in someorder of non-decreasing length. (Exercise!)
• An enumerator E works as follows:(1) Print the first # to initialise the output.(2) RunM′ (enumerating words), followed byM (to check if the current word is
accepted). IfM accepts w, then print w followed by #.
Then E enumerates exactly the words of L in some order of non-decreasing length.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 24 of 26
![Page 85: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/85.jpg)
Enumerators
Theorem 2.15: A language L is decidable if and only if there exists an enumer-ator for L that outputs exactly the words of L in some order of non-decreasinglength.
Proof: Suppose L to be decidable, and letM be a TM that decides L.
• Define a TMM′ that generates, on some scratch tape, all words over Σ in someorder of non-decreasing length. (Exercise!)
• An enumerator E works as follows:(1) Print the first # to initialise the output.(2) RunM′ (enumerating words), followed byM (to check if the current word is
accepted). IfM accepts w, then print w followed by #.
Then E enumerates exactly the words of L in some order of non-decreasing length.
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 24 of 26
![Page 86: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/86.jpg)
Enumerators
Now suppose L can be enumerated by some TM E in some order of non-decreasinglength.
• If L is finite, then L is accepted by a finite automaton.
• If L is infinite, then we define a deciderM for it as follows.
M B On input w– Simulate E until it either outputs w or some word longer than w– If E outputs w, then accept, else reject.
Observation: since L is infinite, for each w ∈ Σ∗ the TM E will eventually generatew or some word longer than w. Therefore,M always halts and thus decides L.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 25 of 26
![Page 87: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/87.jpg)
Enumerators
Now suppose L can be enumerated by some TM E in some order of non-decreasinglength.
• If L is finite, then L is accepted by a finite automaton.
• If L is infinite, then we define a deciderM for it as follows.
M B On input w– Simulate E until it either outputs w or some word longer than w– If E outputs w, then accept, else reject.
Observation: since L is infinite, for each w ∈ Σ∗ the TM E will eventually generatew or some word longer than w. Therefore,M always halts and thus decides L.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 25 of 26
![Page 88: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/88.jpg)
Enumerators
Now suppose L can be enumerated by some TM E in some order of non-decreasinglength.
• If L is finite, then L is accepted by a finite automaton.
• If L is infinite, then we define a deciderM for it as follows.
M B On input w– Simulate E until it either outputs w or some word longer than w– If E outputs w, then accept, else reject.
Observation: since L is infinite, for each w ∈ Σ∗ the TM E will eventually generatew or some word longer than w. Therefore,M always halts and thus decides L.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 25 of 26
![Page 89: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/89.jpg)
Enumerators
Now suppose L can be enumerated by some TM E in some order of non-decreasinglength.
• If L is finite, then L is accepted by a finite automaton.
• If L is infinite, then we define a deciderM for it as follows.
M B On input w– Simulate E until it either outputs w or some word longer than w– If E outputs w, then accept, else reject.
Observation: since L is infinite, for each w ∈ Σ∗ the TM E will eventually generatew or some word longer than w. Therefore,M always halts and thus decides L.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 25 of 26
![Page 90: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/90.jpg)
Enumerators
Now suppose L can be enumerated by some TM E in some order of non-decreasinglength.
• If L is finite, then L is accepted by a finite automaton.
• If L is infinite, then we define a deciderM for it as follows.
M B On input w– Simulate E until it either outputs w or some word longer than w– If E outputs w, then accept, else reject.
Observation: since L is infinite, for each w ∈ Σ∗ the TM E will eventually generatew or some word longer than w.
Therefore,M always halts and thus decides L.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 25 of 26
![Page 91: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/91.jpg)
Enumerators
Now suppose L can be enumerated by some TM E in some order of non-decreasinglength.
• If L is finite, then L is accepted by a finite automaton.
• If L is infinite, then we define a deciderM for it as follows.
M B On input w– Simulate E until it either outputs w or some word longer than w– If E outputs w, then accept, else reject.
Observation: since L is infinite, for each w ∈ Σ∗ the TM E will eventually generatew or some word longer than w. Therefore,M always halts and thus decides L.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 25 of 26
![Page 92: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/92.jpg)
Enumerators
Now suppose L can be enumerated by some TM E in some order of non-decreasinglength.
• If L is finite, then L is accepted by a finite automaton.
• If L is infinite, then we define a deciderM for it as follows.
M B On input w– Simulate E until it either outputs w or some word longer than w– If E outputs w, then accept, else reject.
Observation: since L is infinite, for each w ∈ Σ∗ the TM E will eventually generatew or some word longer than w. Therefore,M always halts and thus decides L.
�
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 25 of 26
![Page 93: Complexity Theory - Lecture 2: Turing Machines and Languages€¦ · COMPLEXITY THEORY Lecture 2: ... Knowledge-Based Systems TU Dresden, 21th Oct 2019. A Model for Computation Clear](https://reader034.fdocuments.in/reader034/viewer/2022051510/5feffbb8a74b294ac462f222/html5/thumbnails/93.jpg)
Summary and Outlook
Turing Machines are a simple model of computation
Recognisable (semi-decidable) = recursively enumerable
Decidable = computable = recursive
Many variants of TMs exist – they normally recognise/decide the same languages
What’s next?
• A short look into undecidability
• Recursion and self-referentiality
• Actual complexity classes
Markus Krötzsch, 21th Oct 2019 Complexity Theory slide 26 of 26