turing machines chapter 3.1 1. plan turing machines(tms) – alan turing church-turing thesis –...

Post on 16-Jan-2016

249 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Turing Machines

Chapter 3.1

1

Plan• Turing Machines(TMs)– Alan Turing • Church-Turing Thesis

– Definitions• Computation• Configuration• Recognizable vs. Decidable

– Examples– Simulator

2

Alan Turing

Alan Turing was one of the founding fathers of CS.• His computer model the Turing Machine(1936) was

the inspiration for the electronic computer that came two decades later

• Was instrumental in cracking the Nazi Enigma cryptosystem in WWII

• Invented the “Turing Test” used in AI• The Turing Award. Pre-eminent award in Theoretical

CS (called the “Nobel Prize” of CS)

3

Church-Turing Thesis

• Thesis- Every effectively calculable function is a computable function

• Everything that is computable is computable by a Turing machine

• The thesis remains a hypothesis– Despite the fact that it cannot be formally proven

the Church–Turing thesis now has near-universal acceptance.

4

Turing Machine

• Most powerful machine so far…– Similar to a finite automata

1. Uses infinite tape as memory2. Can both read from and write to the tape3. Read/write head can move left/right4. Accept/reject take affect immediately

• Cannot solve all problems

Comparison with Previous Models

6

Device

Separate Input?

Read/Write Data Structure

Deterministic by default?

FA Yes None Yes

PDA Yes LIFO Stack No

TM No

1-way infinite tape. 1 cell access per

step.

Yes

Formal Definition of a TM

7

Successor Program• Sample Rules:

1. If read 1, write 0, go right, repeat.2. If read 0, write 1, HALT!3. If read “”, write 1, HALT!

• Using these rules on a tape containing the reverse binary representation of 47 we obtain:

8

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read �“”, write 1, HALT!

9

1 1 1 1 0 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!

10

0 1 1 1 0 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”, write 1, HALT!

11

0 0 1 1 0 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!

12

0 0 0 1 0 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read �“”, write 1, HALT!

13

0 0 0 0 0 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”, write 1, HALT!

14

0 0 0 0 1 1

Successor Program

So the successor’s output on 111101 was 000011 which is the reverse binary representation of 48.

Similarly, the successor of 127 should be 128:

15

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”, �write 1, HALT!

16

1 1 1 1 1 1 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!

17

0 1 1 1 1 1 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”, write 1, HALT!

18

0 0 1 1 1 1 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!

19

0 0 0 1 1 1 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!

20

0 0 0 0 1 1 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!

21

0 0 0 0 0 1 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!

22

0 0 0 0 0 0 1

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read �“”, write 1, HALT!

23

0 0 0 0 0 0 0

Successor Program

If read 1, write 0, go right, repeat.If read 0, write 1, HALT!If read “”� , write 1, HALT!

24

0 0 0 0 0 0 0 1

Drawing the machine

• Draw the machine– Description

1. If read 1, write 0, go right, repeat.2. If read 0, write 1, HALT!3. If read “”� , write 1, HALT!

25

TM Dynamic Picture

• A string w is accepted by M if after being put on the tape then letting M run, M eventually enters the accept state. Therefore, w is an element of L(M) - the language accepted by M.

• We can formalize this notion as follows:

26

TM Formal DefinitionDynamic Picture

Suppose TM’s configuration at time t is given by uapxv where p is the current state, ua is what’s to the left of the head, x is what’s being read, and v is what’s to the right of the head.

If p,x= (q,y,R) then write:uapxv uayqv

With resulting configuration uaypv at time t+1. If, p,x= (q,y,L) instead, then write:

uapxv uqayvThere are also two special cases:

– head is forging new ground –pad with the blank symbol �– head is stuck at left end –by def. head stays put

NOTE: “” is read as “yields”

27

TM outcomesThree possibilities occur on a given input w :1. The TM M eventually enters qacc and therefore

halts and accepts. (w L(M) )2. The TM M eventually enters qrej or crashes

somewhere. M rejects w . (w L(M) )3. Neither occurs! I.e., M never halts its

computation and is caught up in an infinite loop, never reaching qacc or qrej. In this case w is neither accepted nor rejected. However, any string not explicitly accepted is considered to be outside the accepted language. (w L(M) )

28

Recognizable vs. Decidable

• Recognizable- The TM recognizes the language but doesn’t necessarily reach an accept or reject state (could loop FOREVER )

• Decidable- is recognizable and guaranteed to reach an accept or reject state (without the possibility for an infinite loop )

29

Bit-shifting example

30

31

3.7 Diagram

32

Fall 2010 Exam 2 Question 1

33

1) (25 pts) Give the full, formal description of a Turing Machine that accepts the following language: L = { w#wR | where w consists of only 0s and 1s and has length at least 1. } The input alphabet will be {0, 1, #}.The tape alphabet will include 0, 1, #, B, and any other symbols you choose to include in it. Give a simple intuitive description of what each state in the machine represents. And draw the diagram for this machine.

34

35

36

Simulator

• Accepts 4 or 5 tuples– (Start,input,NewState,

output,Direction)– (Start,input,NewState,Di

rection OR output)

• One tape• http://ironphoenix.org/

tril/tm/

37

END

38

top related