computational models - lecture 10 fall 04/05 › ~bchor › cm05 › compute10.pdf · computational...

33
Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Upload: others

Post on 27-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 2: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 3: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

The Smn and Recursion Theorems.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 4: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

The Smn and Recursion Theorems.

Example and Applications: Quines and Viruses

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 5: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

The Smn and Recursion Theorems.

Example and Applications: Quines and Viruses

Unrestricted Grammars and TMs

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 6: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

The Smn and Recursion Theorems.

Example and Applications: Quines and Viruses

Unrestricted Grammars and TMs

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 7: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

The Smn and Recursion Theorems.

Example and Applications: Quines and Viruses

Unrestricted Grammars and TMs

HoHo HiHi (?)

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 8: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

The Smn and Recursion Theorems.

Example and Applications: Quines and Viruses

Unrestricted Grammars and TMs

HoHo HiHi (?)

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 9: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

The Smn and Recursion Theorems.

Example and Applications: Quines and Viruses

Unrestricted Grammars and TMs

HoHo HiHi (?)

Sipser, Sections 5.2, 6.1 (partial cover)

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 10: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Computational Models - Lecture 10Fall 04/05

Undecidability of Tiling (Domino) Problems

Self Reproducibility

The Smn and Recursion Theorems.

Example and Applications: Quines and Viruses

Unrestricted Grammars and TMs

HoHo HiHi (?)

Sipser, Sections 5.2, 6.1 (partial cover)

Hopcroft and Ullman, Section 8.8

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.1

Page 11: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Undecidability of Tiling Problems

An old times board-and-chalk presentation.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.2

Page 12: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self-Reproducibility

Can a system reproduce itself?

A mechanism that produces some products isusually more complex than those products.

On the other hand, some biological systems (e.g.living cells) seem capable of self-reproduction.

What about the code of Turing machines, orprogramming languages in general? Can itreproduce itself?

Will prove there are self reproducing codes, thengive examples.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.3

Page 13: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

PreliminariesEasy to tell when a string T equals the encoding〈M〉 of some TM.

Given i, can find the lexicographically i-th stringamong all the encodings of TMs.

Will denote by fi the function computed by theTM with the i-th encoding.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.4

Page 14: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Sm,n Theorem

Theorem: Let s : Σ × {�} × Σ −→ Γ be acomputable function of two variables (possiblypartial). Then there is a total computable function ofone variable, ϕ(·), such that for all m and n,

s(m,n) = fϕ(m)(n) .

Recall that fϕ(m)(·) is the one variable functioncomputed by the TM with the ϕ(m)-th encoding.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.5

Page 15: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Sm,n Theorem

Proof: Let S be a TM that computes s(·, ·). Considerthe following TM, A:Given input x, A constructs a TM, Nx.On input y, Nx shifts y to the right by |x| + 1 squares,writes x� at the beginning of the tape, and then runs Son x�y to obtain s(x, y).

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6

Page 16: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Sm,n Theorem

Proof: Let S be a TM that computes s(·, ·). Considerthe following TM, A:Given input x, A constructs a TM, Nx.On input y, Nx shifts y to the right by |x| + 1 squares,writes x� at the beginning of the tape, and then runs Son x�y to obtain s(x, y).

The output of A is the index of the encoding, 〈Nx〉.Given S, this index is a function of x alone. Denotethis index by ϕ(x). Then clearly ϕ(·) is a total,computable function, and for all m and n,

s(m,n) = fϕ(m)(n) .

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.6

Page 17: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Recursion TheoremTheorem: Let ϕ : N −→ N be a total recursivefunction, thought of as a function from TM indices toTM indices. There exist an index x0 such that for all y,

fx0(y) = fϕ(x0)(y) .

Such x0 is called a fixed point of ϕ. The function ϕcan be viewed as modifying TMs descriptions.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.7

Page 18: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Recursion TheoremTheorem: Let ϕ : N −→ N be a total recursivefunction, thought of as a function from TM indices toTM indices. There exist an index x0 such that for all y,

fx0(y) = fϕ(x0)(y) .

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8

Page 19: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Recursion TheoremTheorem: Let ϕ : N −→ N be a total recursivefunction, thought of as a function from TM indices toTM indices. There exist an index x0 such that for all y,

fx0(y) = fϕ(x0)(y) .

Suppose the modification is that if i-th machineoutputs k on input y, then ϕ(i)-th machine outputsk + 1 on input y.

Q.: How then can fx0(y) = fϕ(x0)(y)?

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8

Page 20: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Recursion TheoremTheorem: Let ϕ : N −→ N be a total recursivefunction, thought of as a function from TM indices toTM indices. There exist an index x0 such that for all y,

fx0(y) = fϕ(x0)(y) .

Suppose the modification is that if i-th machineoutputs k on input y, then ϕ(i)-th machine outputsk + 1 on input y.

Q.: How then can fx0(y) = fϕ(x0)(y)?

A.: If fx0(y) = ⊥ everywhere, then so does fϕ(x0)(y)!

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.8

Page 21: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Recursion Theorem: ProofTheorem: Let ϕ : N −→ N be a total recursive function,thought of as a function from TM indices to TM indices. There isan index x0 such that for all y, fx0(y) = fϕ(x0)(y) .

For each integer i construct a TM, M , that oninput y computes fi(i).

Then M runs the fi(i)-th TM on y.

Let g(i) be the index of M ’s encoding.

For all i and y, fg(i)(y) = ffi(i)(y).

Notice that g : N −→ N is a total computablefunction, even if fi(i) is not defined (in such casefi(i) on y is not defined).

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.9

Page 22: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

The Recursion Theorem: ProofTheorem: Let ϕ : N −→ N be a total recursive function,thought of as a function from TM indices to TM indices. There isan index x0 such that for all y, fx0(y) = fϕ(x0)(y) .

Let j be the index of the encoding of the TM thatcomputes ϕ◦g.

The index j refers to a TM that on input i,computes g(i), then ϕ(g(i), namely fj = ϕ◦g.

Take x0 = g(j), then fx0(y) = f g(j)(y) =

ffj(j)(y) = fϕ(g(j))(y) = fϕ(x0)(y).

So x0 is a fixed point of the mapping ϕ, namelythe TMs with indices x0 and ϕ(x0) compute thesame function. ♣.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.10

Page 23: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reproducing CodeTheorem: There is an index self such that the TM whose

index equals self outputs self on all inputs (including the

empty input).

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 24: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reproducing CodeTheorem: There is an index self such that the TM whose

index equals self outputs self on all inputs (including the

empty input).

Stated in terms of our "daily programminglanguages", this corresponds to a program thatgenerates a copy of its own source text as its completeoutput, without inputting its source.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 25: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reproducing CodeTheorem: There is an index self such that the TM whose

index equals self outputs self on all inputs (including the

empty input).

Stated in terms of our "daily programminglanguages", this corresponds to a program thatgenerates a copy of its own source text as its completeoutput, without inputting its source.

Such program is known as a quine, after the logicianWillard V. Quine (a term suggested by DouglasHofstadter). Devising the shortest possible quine insome programming language is a common hackishamusement.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.11

Page 26: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reproducing CodeTheorem: There is an index self such that the TM whose indexequals self outputs self on all (including the empty) inputs.

Proof: Let ϕ be the following total computablefunction from indices to indices of TMs: Given indexx, machine with index ϕ(x) ignores input, prints x".

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12

Page 27: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reproducing CodeTheorem: There is an index self such that the TM whose indexequals self outputs self on all (including the empty) inputs.

Proof: Let ϕ be the following total computablefunction from indices to indices of TMs: Given indexx, machine with index ϕ(x) ignores input, prints x".By the recursion theorem, there is an index x0 suchthat fx0

= fϕ(x0). The function fϕ(x0) is computed by aTM, M , that ignores its input and prints x0. Thefunction fx0

is computed by a TM whose index is x0.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12

Page 28: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reproducing CodeTheorem: There is an index self such that the TM whose indexequals self outputs self on all (including the empty) inputs.

Proof: Let ϕ be the following total computablefunction from indices to indices of TMs: Given indexx, machine with index ϕ(x) ignores input, prints x".By the recursion theorem, there is an index x0 suchthat fx0

= fϕ(x0). The function fϕ(x0) is computed by aTM, M , that ignores its input and prints x0. Thefunction fx0

is computed by a TM whose index is x0.fx0

= fϕ(x0) =⇒ M (whose index is x0) prints x0 onany input. Taking self = x0, we get a program thatprints its own index ("self reproducing code").

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.12

Page 29: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reference in English

Print out two copies of the following, the second onein quotes:

“Print out two copies of the following, thesecond one in quotes:”

Part B is clause Print out two copies of thefollowing, the second one in quotes:

Part A is same with quotes.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.13

Page 30: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reference in GeneralMake two copies of the following, then translate thefirst into the language spoken on the other side of theEnglish Channel.

Faîtes deux copies du suivant, and traduisezle premier en la langue parlé sur l’autre côtéde la Manche.

Well, whatever (quoi que ce soit).

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.14

Page 31: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reference in Prog. Languages

Scheme:

((lambda (x) (list x (list ’quote x)))’(lambda (x) (list x (list ’quote x))))

(try it on your Dr. Scheme.)

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.15

Page 32: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Self Reference in Prog. Languages

Scheme:

((lambda (x) (list x (list ’quote x)))’(lambda (x) (list x (list ’quote x))))

(try it on your Dr. Scheme.)

It’s relatively easy to write quines in other languagessuch as Postscript which readily handle programs asdata; much harder (and thus more challenging!) inlanguages like C which do not.

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.15

Page 33: Computational Models - Lecture 10 Fall 04/05 › ~bchor › CM05 › Compute10.pdf · Computational Models - Lecture 10 Fall 04/05 Undecidability of Tiling (Domino) Problems Self

Unrestricted GrammarsS −→ ACaB

Ca −→ aaC

CB −→ DB

CB −→ E

aD −→ Da

AD −→ AC

aE −→ Ea

AE −→ ε

What language is generated by this grammar?

Let us switch to David Galles slides (USF)

Slides modified by Benny Chor, based on original slides by Maurice Herlihy, Brown University. – p.16