computational complexity; slides 2, ht 2019 turing ... · deterministic turing machines de nition:...
TRANSCRIPT
![Page 1: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/1.jpg)
Computational Complexity; slides 2, HT 2019Turing machines, undecidability
Prof. Paul W. Goldberg (Dept. of Computer Science,University of Oxford)
HT 2019
Paul Goldberg Turing machines, undecidability 1 / 22
![Page 2: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/2.jpg)
Computation
Alan Turing considered qn. of “What is computation?” in 1936.
He argued, that any computation can be done using the followingsteps (writing on a sheet of paper):
Concentrate on one part of theproblem (one symbol on the paper)
Depending on what you read there
Change into a new state(memorise a finite
amount of information)Modify this part of theproblemMove to another part of theinput
Repeat until finished
Paul Goldberg Turing machines, undecidability 2 / 22
![Page 3: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/3.jpg)
Deterministic Turing Machines
Definition: (one of many variants, all “equivalent”)A (deterministic) k-tape Turing machine is a 6-tuple(Q,Σ, Γ, δ, q0,F ) where
Q is a finite set of states
Σ is input alphabet – a finite alphabet of symbols
Γ ⊇ Σ ∪ {�} is working tape alphabet (finite)
δ is the transition function
q0 ∈ Q is the initial state
F ⊆ Q is a set of final states
Tapes:Infinite tapes, bounded to the left.
Each cell contains one symbol from Γ (� : special “blank”symbol)
Paul Goldberg Turing machines, undecidability 3 / 22
![Page 4: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/4.jpg)
Deterministic Turing Machines
Definition: (one of many variants, all “equivalent”)A (deterministic) k-tape Turing machine is a 6-tuple(Q,Σ, Γ, δ, q0,F ) where
Q is a finite set of states
Σ is input alphabet – a finite alphabet of symbols
Γ ⊇ Σ ∪ {�} is working tape alphabet (finite)
δ is the transition function
q0 ∈ Q is the initial state
F ⊆ Q is a set of final states
Tapes:Infinite tapes, bounded to the left.
Each cell contains one symbol from Γ (� : special “blank”symbol)
Paul Goldberg Turing machines, undecidability 3 / 22
![Page 5: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/5.jpg)
Deterministic Turing Machines
Definition: (one of many variants, all “equivalent”)A (deterministic) k-tape Turing machine is a 6-tuple(Q,Σ, Γ, δ, q0,F ) where
Q is a finite set of states
Σ is input alphabet – a finite alphabet of symbols
Γ ⊇ Σ ∪ {�} is working tape alphabet (finite)
δ is the transition function
q0 ∈ Q is the initial state
F ⊆ Q is a set of final states
Tapes:Infinite tapes, bounded to the left.
Each cell contains one symbol from Γ (� : special “blank”symbol)
Paul Goldberg Turing machines, undecidability 3 / 22
![Page 6: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/6.jpg)
Deterministic Turing Machines
Transition function: δ :(Q \ F
)× Γk → Q × Γk × {−1, 0, 1}k
(−1: “left” 0: “stay put” 1: “right”)
Paul Goldberg Turing machines, undecidability 4 / 22
![Page 7: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/7.jpg)
Deterministic Turing Machines
Transition function: δ :(Q \ F
)× Γk → Q × Γk × {−1, 0, 1}k
(−1: “left” 0: “stay put” 1: “right”)
Paul Goldberg Turing machines, undecidability 4 / 22
![Page 8: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/8.jpg)
Deterministic Turing Machines
Transition function: δ :(Q \ F
)× Γk → Q × Γk × {−1, 0, 1}k
(−1: “left” 0: “stay put” 1: “right”)
Paul Goldberg Turing machines, undecidability 4 / 22
![Page 9: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/9.jpg)
Deterministic Turing Machines
Transition function: δ :(Q \ F
)× Γk → Q × Γk × {−1, 0, 1}k
(−1: “left” 0: “stay put” 1: “right”)
Paul Goldberg Turing machines, undecidability 4 / 22
![Page 10: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/10.jpg)
Deterministic Turing Machines
Transition function: δ :(Q \ F
)× Γk → Q × Γk × {−1, 0, 1}k
(−1: “left” 0: “stay put” 1: “right”)
Paul Goldberg Turing machines, undecidability 4 / 22
![Page 11: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/11.jpg)
Turing Machine operations
1 At each step of operation the machine is in one state q ∈ Q2 Initially:
Machine is in state q0 ∈ Qthe input is contained on tape 1all other tape symbols are �
3 The machine is reading one symbol on each tape: s1 . . . sk4 To execute one step, the machine looks up
δ(q, s1, . . . , sk) :=(q′, (s ′1, . . . , s
′k), (m1, . . . ,mk)
)5 The machine:
changes to state q′
replaces each si by s ′imoves the heads on the individual tapes according to mi
(1 = move right, −1 = move left, 0 = stay)Execution stops when a final state is reached.In this case, the content of the last tape k contains the output.
Paul Goldberg Turing machines, undecidability 5 / 22
![Page 12: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/12.jpg)
Example
What does the following 2-tape Turing machine do?
M :=({q0, q1, qf }, {a, b}, {a, b,�}, δ, q0, {qf }
)where
δ :=
(q0,( a−),( a−),(10
), q0)(
q0,(b−),(b−),(10
), q0)(
q0,(�−),(�−),(−1
0
), q1)(
q1,( a−),(�a
),(−1
1
), q1)(
q1,(b−),(�b
),(−1
1
), q1)(
q1,(�−),(�−),(00
), qf)
Abbreviation
( a−): − stands for any symbol in Γ.
Paul Goldberg Turing machines, undecidability 6 / 22
![Page 13: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/13.jpg)
Configurations
Configuration: A (k-tape) Turing machine M := (Q,Σ, Γ, δ, q0,F )in operation is completely described by
the current state
the contents of all its tapes (finite prefix that has been visited)
the position of all its heads(q, (w1, . . . ,wk), (p1, . . . , pk)
)where q ∈ Q, wi ∈ Γ∗, pi ∈ N
Notation. Γ∗: set of words over the alphabet Γ
Γ∗ := {w := a1 . . . an : ai ∈ Γ for all 1 ≤ i ≤ n}We write ε for the empty word.
Paul Goldberg Turing machines, undecidability 7 / 22
![Page 14: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/14.jpg)
Configurations
Configuration: A (k-tape) Turing machine M := (Q,Σ, Γ, δ, q0,F )in operation is completely described by
the current state
the contents of all its tapes (finite prefix that has been visited)
the position of all its heads(q, (w1, . . . ,wk), (p1, . . . , pk)
)where q ∈ Q, wi ∈ Γ∗, pi ∈ N
Notation. Γ∗: set of words over the alphabet Γ
Γ∗ := {w := a1 . . . an : ai ∈ Γ for all 1 ≤ i ≤ n}We write ε for the empty word.
Paul Goldberg Turing machines, undecidability 7 / 22
![Page 15: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/15.jpg)
Configurations
Configuration: A (k-tape) Turing machine M := (Q,Σ, Γ, δ, q0,F )in operation is completely described by
the current state
the contents of all its tapes (finite prefix that has been visited)
the position of all its heads(q, (w1, . . . ,wk), (p1, . . . , pk)
)where q ∈ Q, wi ∈ Γ∗, pi ∈ N
Start configuration on input w : Triple(q0, (w , ε, . . . , ε), (0, . . . , 0)
)q0 initial state, tape 1 contains the input, all other tapes are empty,
all heads on position 0 (ε : empty word)
Stop configuration:Configuration
(q, (w1, . . . ,wk), (p1, . . . , pk)
)such that q ∈ F .
Paul Goldberg Turing machines, undecidability 8 / 22
![Page 16: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/16.jpg)
Computation
Notation:
C `M C ′ if M can change from configuration Cto C ′ in one step.
C `∗M C ′ if M can change from configuration Cto C ′ in arbitrarily many steps.
The computation of a TM M on input w ∈ Σ∗ is either
an infinite sequence C0 `M C1 `M C2 . . . of configurations or
a finite sequence C0 `M C1 `M C2 · · · `M Cn ofconfigurations.
In the latter case we say that M halts on input w .
Notation: TM(w) := n number of steps upon input w .
Cn: stop configuration C0: start config of M on input w .
A TM halts on input w (and generates output o) if thecomputation of M on w terminates in configuration
(q, (w1, . . . ,wk−1, o), (p1, . . . , pk))
with q ∈ F .
Paul Goldberg Turing machines, undecidability 9 / 22
![Page 17: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/17.jpg)
Computation
Notation:
C `M C ′ if M can change from configuration Cto C ′ in one step.
C `∗M C ′ if M can change from configuration Cto C ′ in arbitrarily many steps.
The computation of a TM M on input w ∈ Σ∗ is either
an infinite sequence C0 `M C1 `M C2 . . . of configurations or
a finite sequence C0 `M C1 `M C2 · · · `M Cn ofconfigurations.
In the latter case we say that M halts on input w .
Notation: TM(w) := n number of steps upon input w .
Cn: stop configuration C0: start config of M on input w .
A TM halts on input w (and generates output o) if thecomputation of M on w terminates in configuration
(q, (w1, . . . ,wk−1, o), (p1, . . . , pk))
with q ∈ F .
Paul Goldberg Turing machines, undecidability 9 / 22
![Page 18: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/18.jpg)
Computation
Notation:
C `M C ′ if M can change from configuration Cto C ′ in one step.
C `∗M C ′ if M can change from configuration Cto C ′ in arbitrarily many steps.
The computation of a TM M on input w ∈ Σ∗ is either
an infinite sequence C0 `M C1 `M C2 . . . of configurations or
a finite sequence C0 `M C1 `M C2 · · · `M Cn ofconfigurations.
In the latter case we say that M halts on input w .
Notation: TM(w) := n number of steps upon input w .
Cn: stop configuration C0: start config of M on input w .
A TM halts on input w (and generates output o) if thecomputation of M on w terminates in configuration
(q, (w1, . . . ,wk−1, o), (p1, . . . , pk))
with q ∈ F .
Paul Goldberg Turing machines, undecidability 9 / 22
![Page 19: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/19.jpg)
Computing a Function and Running Time
Definition:Let Σ be a finite alphabet.
f : Σ∗ → Σ∗
g : N→ NM be a Turing machine
M computes f in time g(n) if for every w ∈ Σ∗ M halts on inputw after at most g(|w |) steps with f (w) on its output (last) tape.
(i.e. TM(w) ≤ g(|w |) )
Paul Goldberg Turing machines, undecidability 10 / 22
![Page 20: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/20.jpg)
Example
Example: The following 2-tape Turing machine
M :=({q0, q1, qf }, {a, b}, {a, b,�}, δ, q0, {qf }
)where
δ :=
(q0,( a−),( a−),(10
), q0)(
q0,(b−),(b−),(10
), q0)(
q0,(�−),(�−),(−1
0
), q1)(
q1,( a−),(�a
),(−1
1
), q1)(
q1,(b−),(�b
),(−1
1
), q1)(
q1,(�−),(�−),(00
), qf)
computes the reverse-function reverse(a1 . . . an) := an . . . a1
intime g(n) = 2n + 2 = O(n).
Paul Goldberg Turing machines, undecidability 11 / 22
![Page 21: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/21.jpg)
Example
Example: The following 2-tape Turing machine
M :=({q0, q1, qf }, {a, b}, {a, b,�}, δ, q0, {qf }
)where
δ :=
(q0,( a−),( a−),(10
), q0)(
q0,(b−),(b−),(10
), q0)(
q0,(�−),(�−),(−1
0
), q1)(
q1,( a−),(�a
),(−1
1
), q1)(
q1,(b−),(�b
),(−1
1
), q1)(
q1,(�−),(�−),(00
), qf)
computes the reverse-function reverse(a1 . . . an) := an . . . a1 intime g(n) = 2n + 2 = O(n).
Paul Goldberg Turing machines, undecidability 11 / 22
![Page 22: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/22.jpg)
Next: Decision Problems and Turing Acceptors
Travelling Salesman Problem (TSP): Given pairwise distancesbetween cities, you might ask for
the shortest tour
the length of the shortest tour
Decision version: given the pairwise distances and a number k , isthere a tour of length at most k?
General claim: ability to solve the decision version is “goodenough” (why?).
similarly for other problems, e.g. CLIQUE, DOMINATING SET, ...Decision problems −→ yes-instances, no-instances.Next: TMs for decision problems.
Paul Goldberg Turing machines, undecidability 12 / 22
![Page 23: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/23.jpg)
Turing Acceptors
Turing machines M :=(Q,Σ, Γ, δ, q0,F
)with set F ⊆ Q is the
“final” (or “accepting”) states:
q ∈ F : accept
Input w ∈ Σ∗ is accepted by an acceptor M if M halts afterfinitely many steps in a state q ∈ F .
We say: M accepts input w . Otherwise M rejects the input.
variants: just one accepting state qa; set of rejecting states Fr
Recall: Inputs come from Σ∗, words over Σ.
Hence: Acceptors accept languages L ⊆ Σ∗
Paul Goldberg Turing machines, undecidability 13 / 22
![Page 24: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/24.jpg)
Recall: Languages
Definition/notation
The language L(M) ⊆ Σ∗ accepted by a Turing acceptorM :=
(Q,Σ, Γ, δ, q0,F
)is defined as
{w ∈ Σ∗ : M accepts w}.
(Note that we do not require M to halt on rejected inputs.)
A language L ⊆ Σ∗ is recursively enumerable, or acceptable, ifthere is an acceptor M such that L = L(M).
A language L ⊆ Σ∗ is decidable if there is an acceptor M suchthat for all w ∈ Σ∗:
w ∈ L =⇒ M halts on input w in an accepting statew 6∈ L =⇒ M halts on input w in a rejecting state
Paul Goldberg Turing machines, undecidability 14 / 22
![Page 25: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/25.jpg)
Examples
Examples for languages:
Regular languages
Any regular language has Turing acceptors that can decide its“word problem”
The language containing all valid C programs.
A Turing acceptor deciding this language is just a syntaxchecker for C.
The language containing all C programs that never runinto an infinite loop.
A Turing acceptor for this language would be very interestingfor software verification.
Paul Goldberg Turing machines, undecidability 15 / 22
![Page 26: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/26.jpg)
Decidable and Enumerable Languages
Proposition.
1 If a language L is decidable then it is recursively enumerable
2 If L and Σ∗ \L are recursively enumerable then L is decidable.
Note: recursively enumerable a.k.a. semi-decidable, partiallydecidable
Paul Goldberg Turing machines, undecidability 16 / 22
![Page 27: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/27.jpg)
Decidable and Enumerable Languages
Proposition.
1 If a language L is decidable then it is recursively enumerable
2 If L and Σ∗ \L are recursively enumerable then L is decidable.
Note: recursively enumerable a.k.a. semi-decidable, partiallydecidable
Paul Goldberg Turing machines, undecidability 16 / 22
![Page 28: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/28.jpg)
Decidable and Undecidable Languages
Decidable languages.
Regular languages
The language containing all valid C programs
Undecidable languages.
We will see later that the language
The language containing all C programs that never run intoan infinite loop.
is not decidable.
Paul Goldberg Turing machines, undecidability 17 / 22
![Page 29: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/29.jpg)
Problems as languages
Executive summary of next few slides
Decision problems can be thought of as language recognitionproblems, even if, say, the problem involves graphs and we are notexplicit about the language.
Paul Goldberg Turing machines, undecidability 18 / 22
![Page 30: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/30.jpg)
Encoding of Problems
Languages and Problems:In many cases, the problems we are interested in are not aboutwords
Instead we are interested in more general structures:
graphs
mathematical structures, e.g. matrices, groups, ...
digital circuits
...
However: Memory of a computer is a linear sequence of bits,
i.e. a sequence/word over {0, 1}.And so are the input- and work-tapes of Turing machines.
Hence, we need to encode graphs, ... as strings over a finitealphabet.
Paul Goldberg Turing machines, undecidability 19 / 22
![Page 31: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/31.jpg)
Encoding of Problems
Languages and Problems:In many cases, the problems we are interested in are not aboutwords
Instead we are interested in more general structures:
graphs
mathematical structures, e.g. matrices, groups, ...
digital circuits
...
However: Memory of a computer is a linear sequence of bits,
i.e. a sequence/word over {0, 1}.And so are the input- and work-tapes of Turing machines.
Hence, we need to encode graphs, ... as strings over a finitealphabet.
Paul Goldberg Turing machines, undecidability 19 / 22
![Page 32: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/32.jpg)
Encoding of Problems
Encoding schemes:
To input problems to a computer, each instance must beencoded as a string of symbols over some alphabet.
To do this we need an encoding scheme.
Requirement:Encoding of a problem should not change its essential nature
In particular, it should not essentially change the complexity of aproblem
The encoding must be concise:
Represent numerical information efficiently (not in base 1!)
No unnecessary information (e.g. the solution!), or padding
Paul Goldberg Turing machines, undecidability 20 / 22
![Page 33: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/33.jpg)
Languages and Problems
Let 〈...〉 be an encoding scheme on graphs and numbers.Example:
Recall CLIQUE:
Given G , k, does G have a clique of order ≥ k?
Associate CLIQUE with the class
clique :={
(G , k) : G is a graph containing a clique of order ≥ k}.
and hence with the language
L(Clique
):= {〈G , k〉 : (G , k) ∈ clique}.
Solving CLIQUE is equivalent to deciding L(Clique
).
Notation. Let P be a problem.
We write L(P) for the language containing string-encodings ofyes-instances of P.
Paul Goldberg Turing machines, undecidability 21 / 22
![Page 34: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/34.jpg)
Languages and Problems
Let 〈...〉 be an encoding scheme on graphs and numbers.Example:
Recall CLIQUE:
Given G , k, does G have a clique of order ≥ k?
Associate CLIQUE with the class
clique :={
(G , k) : G is a graph containing a clique of order ≥ k}.
and hence with the language
L(Clique
):= {〈G , k〉 : (G , k) ∈ clique}.
Solving CLIQUE is equivalent to deciding L(Clique
).
Notation. Let P be a problem.
We write L(P) for the language containing string-encodings ofyes-instances of P.
Paul Goldberg Turing machines, undecidability 21 / 22
![Page 35: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/35.jpg)
Languages and Problems
Let 〈...〉 be an encoding scheme on graphs and numbers.Example:
Recall CLIQUE:
Given G , k, does G have a clique of order ≥ k?
Associate CLIQUE with the class
clique :={
(G , k) : G is a graph containing a clique of order ≥ k}.
and hence with the language
L(Clique
):= {〈G , k〉 : (G , k) ∈ clique}.
Solving CLIQUE is equivalent to deciding L(Clique
).
Notation. Let P be a problem.
We write L(P) for the language containing string-encodings ofyes-instances of P.
Paul Goldberg Turing machines, undecidability 21 / 22
![Page 36: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/36.jpg)
Languages and Problems
Let 〈...〉 be an encoding scheme on graphs and numbers.Example:
Recall CLIQUE:
Given G , k, does G have a clique of order ≥ k?
Associate CLIQUE with the class
clique :={
(G , k) : G is a graph containing a clique of order ≥ k}.
and hence with the language
L(Clique
):= {〈G , k〉 : (G , k) ∈ clique}.
Solving CLIQUE is equivalent to deciding L(Clique
).
Notation. Let P be a problem.
We write L(P) for the language containing string-encodings ofyes-instances of P.
Paul Goldberg Turing machines, undecidability 21 / 22
![Page 37: Computational Complexity; slides 2, HT 2019 Turing ... · Deterministic Turing Machines De nition: (one of many variants, all \equivalent") A (deterministic) k-tape Turing machine](https://reader033.vdocuments.site/reader033/viewer/2022042420/5f37f070a0287e64c8017c6f/html5/thumbnails/37.jpg)
A Note on Alphabets
Translation between alphabets.Let Σ := {a1, . . . an} be an alphabet; L ⊆ Σ∗ a language over Σ.
We can translate L into L′ ⊆ {0, 1}∗ of the same “complexity”.
I.e., encode ai ∈ Σ as a dlog |Σ|e-bit binary representation of iand define L′ := {σ(w1) . . . σ(wn) : w1 . . .wn ∈ L}
Convention.
assume unless told otherwise that Σ := {0, 1} andΓ := Σ ∪ {�}.However, for convenience, we will use different alphabets inconcrete examples and constructions.
Paul Goldberg Turing machines, undecidability 22 / 22