1 Turing Machines There are languages that are not context-free. What can we say about the most powerful automata and the limits of computation?. Alan.

Post on 16-Jan-2016

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

1

Turing Machines

• There are languages that are not context-free.

• What can we say about the most powerful automata and the limits of computation?.

• Alan Turing (1912 - 1954).

2

Standard Turing Machine

Control unitq0

Tape

Read-write head

3

Standard Turing Machine

M = (Q, , , , q0, �, F)

Q: finite set of internal states

: finite set of symbols - tape alphabet

� : blank

{�}: finite set of symbols - input alphabet

: Q Q {L, R} transition function

q0 Q: initial state

F Q: set of final states

4

Standard Turing Machine

: Q Q {L, R}

current symbol

head move direction

replacing symbol

5

Example

(q0, a) = (q1, d, R)

current symbol

head move to the right

replacing symbol

6

Halt State

• A state for which is not defined.

• Assume that all final states are halt states.

7

Example

M = (Q, , , , q0, �, F)

Q = {q0, q1} (q0, a) = (q0, b, R)

= {a, b} (q0, b) = (q0, b, R)

= {a, b, �} (q0, �) = (q1, �, L)

F = {q1}

8

Example

M = (Q, , , , q0, �, F)

Q = {q0, q1} (q0, a) = (q1, a, R)

= {a, b} (q0, b) = (q1, b, R)

= {a, b, �} (q0, �) = (q1, �, R)

F = (q1, a) = (q0, a, L)

(q1, b) = (q0, b, L)

(q1, �) = (q0, �, L)

9

Instantaneous Description

a1a2 ... ak-1qakak+1 ... an

current state current symbol

10

Instantaneous Description

move: abq1cd abeq2d

if (q1, c) (q2, e, R)

11

Instantaneous Description

x1qix2 y1qjy2

x1qix2 y1qjy2

12

Turing Machines as Language Accepters

Let M = (Q, , , , q0, �, F) be a TM.

L(M) = {w + | q0w x1qfx2 where qf F and x1, x2

*}

13

Example

L = 0*

M = (Q, , , , q0, �, F) ?

14

Example

L = {anbn | n 1}

M = (Q, , , , q0, �, F) ?

15

Example

L = {anbncn | n 1}

M = (Q, , , , q0, �, F) ?

16

Turing Machines as Language Transducers

q0w qfw^

function: w^ = f(w)

17

Turing Machines as Language Transducers

A function f with domain D is said to be Turing-computable if there exists some Turing machine M = (Q, , , , q0, �, F) such that:

q0w qff(w) qf F

for all w D.

18

Example

f(x, y) = x + y

M = (Q, , , , q0, �, F) ?

19

Example

f(w) = ww w {1}+

M = (Q, , , , q0, �, F) ?

20

Example

f(x, y) = true if x y or f(x, y) = false otherwise

M = (Q, , , , q0, �, F) ?

21

Combining Turing Machines

x + y if x yf(x, y) =

0 if x y

M = (Q, , , , q0, �, F) ?

22

Combining Turing Machines

Comparer C

Adder A

EraserE

x y

x y

x, y f(x, y)

x + y

0

23

Combining Turing Machines

qcw(x)0w(y) qAw(x)0w(y) if x y

qcw(x)0w(y) qEw(x)0w(y) if x y

qAw(x)0w(y) qAfw(x + y)0

qEw(x)0w(y) qEf0

24

Macroinstructions

if a then qj else qk

(qi, a) = (qj0, a, R)

(qi, b) = (qk0, b, R)

(qj0, c) = (qj, c, L)

(qk0, c) = (qk, c, L)

25

Subprograms

Region separator

Workspace for A

# #

Workspace for B

26

Example

f(x, y) = x y

For each 1 in x, create a 1-string of length y.

27

Turing's Thesis

• Turing machine appears to be simple.

• Turing seems to approach a typical digital computer.

28

Turing's Thesis

Any computation that can be carried out by mechanical means can be performed by some Turing machine.

29

Turing's Thesis

• Anything done by existing digital computers can be done by a Turing machine.

• No problem solvable by an algorithm cannot be solved by a Turing machine.

• No alternative mechanical computation model is more powerful than the Turing machine model.

30

Homework

• Exercises: 2, 5, 8, 9, 16, 19 of Section 9.1.

• Exercises: 1, 2, 3, 4, 9 of Section 9.2.

• Presentations:

Section 12.1: Computability and Decidability + Halting Problem

Section 13.1: Recursive Functions

Post Systems + Church's Thesis

Section 13.2: Measures of Complexity + Complexity Classes

top related