Download - Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Transcript
Page 1: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Section 5.1

The Turing machine

2IT70 Automata and Process Theory

Technische Universiteit Eindhoven

June 12, 2013

Page 2: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

The Turing machine

AutomatonInput Yes/No

Tape

figure 5.1, page 137

2 IT70 (2013) Section 5.1 2 / 20

Page 3: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

An example Turing machine

s tτ [�/�]L

a[�/1]R b[1/�]L

example 5.1, page 138

2 IT70 (2013) Section 5.1 3 / 20

Page 4: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

An example Turing machine

s tτ [�/�]L

a[�/1]R b[1/�]L

initial state s, initial tape instance �

(s, �) aÐ→ (s,1�) aÐ→ (s,11�) a

Ð→ (s,111�) τ

Ð→

(t,111) bÐ→ (t,11) b

Ð→ (t, 1)↓

example 5.1, page 138

2 IT70 (2013) Section 5.1 3 / 20

Page 5: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Formal definition

Turing machine M = (S, A, D, �, →, ↑, ↓)S states

A alphabet

D data elements

empty cell symbol or blank � ∉ D

→ ⊆ S ×A τ ×D� ×D� × {L,R} × S transitions

notation sa[d/e]LÐÐÐÐ→ t or s

a[d/e]RÐÐÐÐ→ t

initial state ↑

↓ ⊆ S final states

definition 5.2, page 138

2 IT70 (2013) Section 5.1 4 / 20

Page 6: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Transition system of a Turing machine

tape instance xcy

x , y ∈ D∗�and c ∈ { d ∣ d ∈ D } ∪ {�}

if x ≠ ε then x = dx ′ with d ∈ D

if y ≠ ε then y = y ′e with e ∈ D

definition 5.3, page 139

2 IT70 (2013) Section 5.1 5 / 20

Page 7: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Transition system of a Turing machine

tape instance xcy

x , y ∈ D∗�and c ∈ { d ∣ d ∈ D } ∪ {�}

if x ≠ ε then x = dx ′ with d ∈ D

if y ≠ ε then y = y ′e with e ∈ D

transition system of Turing machine M = (S, A, D, �, →, ↑, ↓)states { (s, z) ∣ s ∈ S, z tape instance}, alphabet Aτ

(s, xdy) aÐ→ (t, xe⟩y) if s a[d/e]R

ÐÐÐÐ→ t

(s, xdy) aÐ→ (t, x⟨ey) if s a[d/e]L

ÐÐÐÐ→ t

initial state (↑, �), final states {(s, z) ∣ s↓ }left-check wc⟨ = wc, ε⟨ = � and right-check ⟩cw = cw , ⟩ε = �

definition 5.3, page 139

2 IT70 (2013) Section 5.1 5 / 20

Page 8: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Example transition system

τ[�/�]L τ[�/�]Ra[�/1]R b[1/�]L

� 1� 11� 111�

� � 1 11

a a a

τ τ τ

bbτ

a

τ

b

example 5.4, page 140

2 IT70 (2013) Section 5.1 6 / 20

Page 9: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Language accepted by TM

definition Turing machine M = (S, A, D, �, →, ↑, ↓)L(M) = {w ∈ A∗ ∣ (↑, �) w

ÐÐ↠ (s, z) ∧ s↓ }

definition 5.5, page 140

2 IT70 (2013) Section 5.1 7 / 20

Page 10: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Language accepted by TM

definition Turing machine M = (S, A, D, �, →, ↑, ↓)L(M) = {w ∈ A∗ ∣ (↑, �) w

ÐÐ↠ (s, z) ∧ s↓ }a[�/�]R

L(M) = { an ∣ n ⩾ 0}�

a

definition 5.5, page 140

2 IT70 (2013) Section 5.1 7 / 20

Page 11: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Language accepted by TM

definition Turing machine M = (S, A, D, �, →, ↑, ↓)L(M) = {w ∈ A∗ ∣ (↑, �) w

ÐÐ↠ (s, z) ∧ s↓ }a[�/�]R

L(M) = { an ∣ n ⩾ 0}�

a

τ[�/�]La[�/1]R b[1/1]L

τ[�/�]Rc[1/�]R

τ[�/�]LL(M) = { anbncn ∣ n ⩾ 0}

definition 5.5, page 140

2 IT70 (2013) Section 5.1 7 / 20

Page 12: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Language accepted by TM (cont.)

s1 s2 s3 s4τ[�/�]L

a[�/1]R b[1/1]Lτ[�/�]R

c[1/�]Rτ[�/�]L

L(M) = { anbncn ∣ n ⩾ 0}

� 1� 11�

1111�11

11 1 � �

a a

τ

bb

τ

c c τ

example 5.7, page 141

2 IT70 (2013) Section 5.1 8 / 20

Page 13: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Another computatble language

s1 s2 s3 s4τ[�/�]Lτ[�/�]L

a[�/a]R τ[a/a]Lτ[�/�]R

a[a/�]R

b[�/b]R τ[b/b]L b[b/�]RL(M) = {ww ∣ w ∈ {a,b}∗ }

example 5.8, page 141

2 IT70 (2013) Section 5.1 9 / 20

Page 14: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Another computatble language (cont.)

τ[�/�]Lτ[�/�]La[�/a]R τ[a/a]L

τ[�/�]Ra[a/�]R

b[�/b]R τ[b/b]L b[b/�]R

L(M) = {ww ∣ w ∈ {a,b}∗ }

� a� aa� aab�

�abb abb aab aab

aab ab b � �

a a b

τ

τττ

τ

a a b τ

example 5.8, page 141

2 IT70 (2013) Section 5.1 10 / 20

Page 15: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

The reactive Turing machine

AutomatonInput yes/no

Tape

figure 5.2, page 136

2 IT70 (2013) Section 5.1 11 / 20

Page 16: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

The reactive Turing machine

AutomatonInputi

Outputo

Tape

input port i and output port o

figure 5.2, page 136

2 IT70 (2013) Section 5.1 11 / 20

Page 17: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

The reactive Turing machine (cont.)

reactive Turing machine M computes if

only i?d , o!d and τ -steps and inputs precede outputs

if w ∈ L(M) then w = i?d1⋯i?dn ⋅ o!e1⋯o!emfor suitable di , ej ∈ D, n,m ⩾ 0

every input sequence has exactly one output sequence

if i?d1⋯i?dn ⋅ o!e1⋯o!em ∈ L(M)i?d1⋯i?dn ⋅ o!e

′1⋯o!e

′m′ ∈ L(M)

and

then m = m′ and o!ej = o!e′j for j = 1 . . .m

defnition 5.11, page 143

2 IT70 (2013) Section 5.1 12 / 20

Page 18: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

A Turing machine computing addition

s1 s2 s3 s4

s5

s6 s7i?+[�/�]L

i?n[�/n]R τ[n/n]L

τ[�/�]R τ[�/�]L τ[�/�]R

i?m[n/n+m]Rτ[0/0]Lτ[1/1]L o!n[n/n]R

τ[�/�]L

τ[2/0]Lτ[0/1 ]Lτ[�/1]L

τ[1/0]Lτ[2/1]L

input alphabet {0,1,+}, data alphabet {0,1,2}fM ∶ {w+v ∈ {0,1,+}∗ ∣ ∣w ∣ = ∣v ∣ } with fM(w+v) = w + v

2 IT70 (2013) Section 5.1 13 / 20

Page 19: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

A Turing machine computing addition

i?+[�/�]L

i?n[�/n]R τ[n/n]L

τ[�/�]R τ[�/�]L τ[�/�]R

i?m[n/n+m]Rτ[0/0]Lτ[1/1]L o!n[n/n]R

τ[�/�]L

τ[2/0]Lτ[0/1 ]Lτ[�/1]L

τ[1/0]Lτ[2/1]L

� 1� 11� 110�

�110 110 110 110

110 110 120 121�

�1001

�001 101

121 121

1001 001 01 1 � �

i?1 i?1 i?0

i?+

τττ

τ

i?0 i?1 i?1

τ

ττ

ττ

τ

o!1 o!0 o!0 o!1 τ

2 IT70 (2013) Section 5.1 14 / 20

Page 20: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

A copier Turing machine

s1 s2 s3 s4 s5 s6

i?a[�/a]Ri?b[�/b]R

τ[�/�]L

τ[a/a]Lτ[b/b]L

τ[�/�]R

o!a[a/a]Ro!b[b/b]R

τ[�/�]L

τ[a/a]Lτ[b/b]L

τ[�/�]R

o!a[a/a]Ro!b[b/b]R

τ[�/�]L

fM ∶ {a,b}∗ → {a,b}∗ with fM(w) = ww

example 5.13, page 143

2 IT70 (2013) Section 5.1 15 / 20

Page 21: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

A copier Turing machine (cont.)i?a[�/a]Ri?b[�/b]R

τ[�/�]L

τ[a/a]Lτ[b/b]L

τ[�/�]R

o!a[a/a]Ro!b[b/b]R

τ[�/�]L

τ[a/a]Lτ[b/b]L

τ[�/�]R

o!a[a/a]Ro!b[b/b]R

τ[�/�]L

� a� ab� abb�

�abb abb abb abb

abb abb abb abb�

�abb abb abb abb

abb abb abb abb� abb�

i?a i?b i?b

τ

τ τ τ

τ

o!a o!b o!b

τ

τ τ τ

τ

o!a o!b o!b τ

2 IT70 (2013) Section 5.1 16 / 20

Page 22: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

A comparing Turing machine

s1 s2 s3 s4

s6s5

i?n[�/n]R

i?>[�/�]L

τ[n/n]L

τ[�/�]R

i?n[n/�]Ri?0[1/�]R

o!no[�/�]Li?1[0/�]R

i?m[n/�]R

o!yes[�/�]L

i?m[n/�]Ro!no[�/�]L

fM(w>v) = yes if w > v as numbers, no otherwise

assumes input number of equal length

example 5.14, page 143

2 IT70 (2013) Section 5.1 17 / 20

Page 23: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

A comparing Turing machine

i?n[�/n]R

i?>[�/�]L

τ[n/n]L

τ[�/�]R

i?n[n/�]Ri?0[1/�]R

o!no[�/�]Li?1[0/�]R

i?m[n/�]R

o!yes[�/�]L

i?m[n/�]Ro!no[�/�]L

1 > 0 1 > 1 0 > 1

� 1�

�1 1

1 �

i?1

i?>

τ

τ

i?0

o!yes

� 1�

�1 1

1 �

i?1

i?>

τ

τ

i?1

o!no

� 0�

�0 0

0

� �

i?0

i?>

τ

τ

i?1

o!no

2 IT70 (2013) Section 5.1 18 / 20

Page 24: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Decision problems

definition L ⊆ A∗ and predicate P on L

P is decidable if fP ∶ L→ {yes ,no} is computable

halting problem given TM M and input x

does a TM exist deciding whether M terminates on input x?

TM M encoded as string wM

L = {wM ⋅ x ∣ TM M, x input for M }P(wM ⋅ x) = true iff M terminates on x

definition 5.25 and theorem 5.26. page 150

2 IT70 (2013) Section 5.1 19 / 20

Page 25: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Proof of the Halting Problem

suppose the halting problem is decidable

TM H such that H(wM ⋅ x) = { yes if M(x) = yes/nono if M(x) =∞

2 IT70 (2013) Section 5.1 20 / 20

Page 26: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Proof of the Halting Problem

suppose the halting problem is decidable

TM H such that H(wM ⋅ x) = { yes if M(x) = yes/nono if M(x) =∞

TM H ′ such that H ′(wM ⋅ x) = { ∞ if H(wM ⋅ x) = yesno if H(wM ⋅ x) = no

2 IT70 (2013) Section 5.1 20 / 20

Page 27: Section 5.1 The Turing machine 2IT70 Automata and Process ...wsinswan/automata.processes/slides/section.5.1_5… · The Turing machine Input Automaton Yes/No Tape figure 5.1, page

Proof of the Halting Problem

suppose the halting problem is decidable

TM H such that H(wM ⋅ x) = { yes if M(x) = yes/nono if M(x) =∞

TM H ′ such that H ′(wM ⋅ x) = { ∞ if H(wM ⋅ x) = yesno if H(wM ⋅ x) = no

TM H such that H(wM) = H ′(wM ⋅wM)

does H halt on input wH?

2 IT70 (2013) Section 5.1 20 / 20