Sie sind auf Seite 1von 98

Turing Machines

Courtesy Costas Busch - RPI

The Language Hierarchy

n n n ? a b c

ww ?

Context-Free Languages n n R

a b

ww

Regular Languages

a*

a *b *
2

Courtesy Costas Busch - RPI

Languages accepted by Turing Machines

a b c

n n n

ww

Context-Free Languages n n R

a b

ww

Regular Languages

a*

a *b *
3

Courtesy Costas Busch - RPI

A Turing Machine
Tape ...... Read-Write head Control Unit ......

Courtesy Costas Busch - RPI

The Tape
No boundaries -- infinite length ...... Read-Write head ......

The head moves Left or Right


Courtesy Costas Busch - RPI 5

...... Read-Write head The head at each time step: 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
Courtesy Costas Busch - RPI

......

Example: Time 0 ......

a b a c

......

Time 1 ...... 1. Reads 2. Writes

a b k c

......

a
k
Courtesy Costas Busch - RPI 7

3. Moves Left

Time 1 ......

a b k c

......

Time 2 ...... 1. Reads 2. Writes

a f k c

......

b f
Courtesy Costas Busch - RPI 8

3. Moves Right

The Input String


Input string ...... Blank symbol

a b a c
head

......

Head starts at the leftmost position of the input string


Courtesy Costas Busch - RPI 9

Input string ......

Blank symbol

a b a c
head

......

Remark: the input string is never empty


Courtesy Costas Busch - RPI 10

States & Transitions


Read Write Move Left

q1

a p b, L

q2
Move Right

q1

a p b, R
Courtesy Costas Busch - RPI

q2
11

Example: Time 1 ...... ......

a b a c
q1

current state

q1

a p b, R

q2
12

Courtesy Costas Busch - RPI

......

Time 1

a b a c q1

......

......

Time 2

a b b c
q2

......

q1

a p b, R

q2
Courtesy Costas Busch - RPI 13

Example: ......

Time 1

a b a c q1

......

......

Time 2

a b b c
q2

......

q1

a p b, L

q2
Courtesy Costas Busch - RPI 14

Example: ......

Time 1

a b a c

q1

......

......

Time 2

a b b c g q2

......

q1

p g, R

q2
Courtesy Costas Busch - RPI 15

Determinism
Turing Machines are deterministic Allowed

Not Allowed q2
q1 q3

a p b, R
q1

a p b, R

q2 q3

b p d, L

a p d, L

No lambda transitions allowed


Courtesy Costas Busch - RPI 16

Partial Transition Function


Example: ...... ......

a b a c q1

a p b, R
q1

q2
q3

Allowed: No transition for input symbol

c
17

b p d, L

Courtesy Costas Busch - RPI

Halting

The machine halts if there are no possible transitions to follow

Courtesy Costas Busch - RPI

18

Example:

......

a b a c q1

......

a p b, R
q1

q2
q3

No possible transition HALT!!!


19

b p d, L

Courtesy Costas Busch - RPI

Final States
q1 q2
Allowed

q1

q2

Not Allowed

Final states have no outgoing transitions In a final state the machine halts
Courtesy Costas Busch - RPI 20

Acceptance
Accept Input If machine halts in a final state

Reject Input

If machine halts in a non-final state or If machine enters an infinite loop


Courtesy Costas Busch - RPI 21

Turing Machine Example


A Turing machine that accepts the language:

aa *
a p a, R
p , L

q0

q1
22

Courtesy Costas Busch - RPI

Time 0

a a a
q0

a p a, R
p , L

q0

q1
23

Courtesy Costas Busch - RPI

Time 1

a a a q0

a p a, R
p , L

q0

q1
24

Courtesy Costas Busch - RPI

Time 2

a a a q0

a p a, R
p , L

q0

q1
25

Courtesy Costas Busch - RPI

Time 3

a a a q0

a p a, R
p , L

q0

q1
26

Courtesy Costas Busch - RPI

Time 4

a a a

q1

a p a, R

Halt & Accept

q0

p , L

q1
27

Courtesy Costas Busch - RPI

Rejection Example Time 0

a b a
q0

a p a, R p , L
Courtesy Costas Busch - RPI

q0

q1
28

Time 1

a b a
q0
No possible Transition Halt & Reject a p a, R

q0

p , L
Courtesy Costas Busch - RPI

q1
29

Infinite Loop Example


A Turing machine for language aa * b( a  b) *

b p b, L a p a, R p , L

q0

q1
30

Courtesy Costas Busch - RPI

Time 0

a b a
q0

b p b, L a p a, R p , L

q0

q1
31

Courtesy Costas Busch - RPI

Time 1

a b a
q0

b p b, L a p a, R p , L

q0

q1
32

Courtesy Costas Busch - RPI

Time 2

a b a
q0

b p b, L a p a, R p , L

q0

q1
33

Courtesy Costas Busch - RPI

Time 2

a b a
q0

Time 3

a b a q0

Infinite loop

Time 4

a b a
q0

Time 5

a b a q0
Courtesy Costas Busch - RPI

34

Because of the infinite loop: The final state cannot be reached The machine never halts The input is not accepted

Courtesy Costas Busch - RPI

35

Another Turing Machine Example


Turing machine for the language

{a b }

n n

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
36

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 0

a a b b
q0

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
37

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 1

x a b b
q1

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
38

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 2

x a b b
q1

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
39

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 3

x a y b
q2

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
40

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 4

x a y b
q2

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
41

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 5

x a y b q0 y p y, R a p a, R
q1

y p y, R

q4

p , L
q0

y p y, L a p a, L q2
42

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 6

x x y b
q1

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
43

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 7

x x y b
q1

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
44

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 8

x x y y
q2

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
45

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 9

x x y y
q2

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
46

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 10

x x y y
q0

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
47

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 11

x x y y
q3

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
48

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 12

x x y y
q3

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
49

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Time 13

x x y y
q4

Halt & Accept

y p y, R

q4

p , L
q0

y p y, R a p a, R
q1

y p y, L a p a, L q2
50

q3

y p y, R

a p x, R

b p y, L

x p x, R
Courtesy Costas Busch - RPI

Observation: If we modify the machine for the language

{a b }

n n

we can easily construct a machine for the language


Courtesy Costas Busch - RPI

{a b c }
51

n n n

Formal Definitions for Turing Machines

Courtesy Costas Busch - RPI

52

Transition Function

q1

a p b, R

q2

H (q1, a ) ! ( q2 , b, R)

Courtesy Costas Busch - RPI

53

Transition Function

q1

c p d, L

q2

H (q1, c) ! (q2 , d , L)

Courtesy Costas Busch - RPI

54

Turing Machine: Input alphabet Tape alphabet

States

M ! (Q, 7, +, H , q0 , , F )
Transition function

Initial blank F Q state Costas Busch - RPI Courtesy

7+ +, 7 q0 Q

Final states
55

Configuration c a b a q1

Instantaneous description:

ca q1 ba

Courtesy Costas Busch - RPI

56

Time 4

Time 5

x a y b
q2

x a y b
q0

A Move:

q2 xayb Hx q0 ayb

Courtesy Costas Busch - RPI

57

Time 4

Time 5

x a y b
q2
Time 6

x a y b
q0
Time 7

x x y b q1

x x y b
q1

q2 xayb H x q0 ayb H xx q1 yb H xxy q1 b


Courtesy Costas Busch - RPI 58

q2 xayb H x q0 ayb H xx q1 yb H xxy q1 b

 Equivalent notation:

q2 xayb H xxy q1 b

Courtesy Costas Busch - RPI

59

Initial configuration:

q0 w

Input string

w
a a b b q0
Courtesy Costas Busch - RPI 60

The Accepted Language


For any Turing Machine

M


L( M ) ! {w :

q0 w H x1 q f x2 }

Initial state

Final state

Courtesy Costas Busch - RPI

61

Standard Turing Machine


The machine we described is the standard: Deterministic Infinite tape in both directions Tape is the input/output file

Courtesy Costas Busch - RPI

62

Computing Functions with Turing Machines

Courtesy Costas Busch - RPI

63

A function Domain:

f (w)

has: Result Region:

D
f (w)

w D

f ( w) S

Courtesy Costas Busch - RPI

64

A function may have many parameters: Example: Addition function

f ( x, y ) ! x  y

Courtesy Costas Busch - RPI

65

Integer Domain Decimal: Binary: Unary: 5 101 11111

We prefer unary representation: easier to manipulate with Turing machines


Courtesy Costas Busch - RPI 66

Definition:

f A function is computable if there is a Turing Machine M such that:


Initial configuration Final configuration

f (w)

q0 initial state
For all

q f final state

w D Domain
Courtesy Costas Busch - RPI 67

In other words:

f A function is computable if there is a Turing Machine M such that:




q0 w H q f f ( w)
Initial Configuration For all Final Configuration

w D Domain
Courtesy Costas Busch - RPI 68

Example
The function

f ( x, y ) ! x  y is computable

x, y
Turing Machine: Input string: Output string:

are integers

x0 y
xy 0

unary unary
69

Courtesy Costas Busch - RPI

x
Start

y
1 0 1 . 1

1 1
q0
initial state

The 0 is the delimiter that separates the two numbers


Courtesy Costas Busch - RPI 70

x
Start

y
1 0 1 . 1

1 1

q0 initial state

x y
Finish

1 1

1 1 0
71

q f final state

Courtesy Costas Busch - RPI

The 0 helps when we use the result for other operations

x y
Finish

1 1

1 1 0
72

q f final state

Courtesy Costas Busch - RPI

Turing machine for function

f ( x, y ) ! x  y

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

73

Execution Example:

Time 0

x ! 11 y ! 11

(2) (2)

x
q0

1 1 0 1 1

Final Result

x y
1 1 1 1 0
Courtesy Costas Busch - RPI

q4

74

Time 0

1 1 0 1 1
q0

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 3 1

p , R
Courtesy Costas Busch - RPI

q4

75

Time 1

1 1 0 1 1 q0

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 3 1

p , R
Courtesy Costas Busch - RPI

q4

76

Time 2

1 1 0 1 1
q0

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 3 1

p , R
Courtesy Costas Busch - RPI

q4

77

Time 3

1 1 1 1 1
q1

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

78

Time 4

1 1 1 1 1
q1

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

79

Time 5

1 1 1 1 1
q1

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

80

Time 6

1 1 1 1 1
q2

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

81

Time 7

1 1 1 1 0
q3

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

82

Time 8

1 1 1 1 0 q3

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

83

Time 9

1 1 1 1 0
q3

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

84

Time 10

1 1 1 1 0
q3

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

85

Time 11

1 1 1 1 0
q3

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
Courtesy Costas Busch - RPI

q4

86

Time 12

1 1 1 1 0
q4

1 p 1, R

1 p 1, R

1 p 1, L

0 p 1, R q p , L q2 1 p 0, L q q0 1 3

p , R
HALT & accept
Courtesy Costas Busch - RPI

q4

87

Another Example
The function

f ( x) ! 2 x

is computable is integer

x
Turing Machine: Input string: Output string:

x xx

unary unary
88

Courtesy Costas Busch - RPI

x
Start

1 1

q0 initial state

2x
Finish

1 1

1 1 1
89

q f final state
Courtesy Costas Busch - RPI

Turing Machine Pseudocode for Replace every 1 with $ Repeat:

f ( x) ! 2 x

Find rightmost $, replace it with 1 Go to right end, insert 1 Until no more $ remain
Courtesy Costas Busch - RPI 90

Turing Machine for

f ( x) ! 2 x

1 p $, R

1 p 1, L

1 p 1, R

p , L q $ p 1, R q0 1 p , R q3 p 1, L
Courtesy Costas Busch - RPI

q2

91

Start

Example

Finish

1 1 q0
1 p $, R 1 p 1, L

1 1 1 1
q3 1 p 1, R

p , L q $ p 1, R q0 1 p , R q3 p 1, L
Courtesy Costas Busch - RPI

q2

92

Another Example

1
The function is computable

if if

x" y xe y

f ( x, y ) !

Courtesy Costas Busch - RPI

93

Turing Machine for

1
f ( x, y ) !

if if

x" y xe y

0
Input: Output:

x0 y 1
or

0
94

Courtesy Costas Busch - RPI

Turing Machine Pseudocode: Repeat Match a 1 from Until all of

x with a 1 from y

x or y is matched

If a 1 from x is not matched erase tape, write 1 else erase tape, write 0
Courtesy Costas Busch - RPI

( x " y) ( x e y)
95

Combining Turing Machines

Courtesy Costas Busch - RPI

96

Block Diagram

input

Turing Machine

output

Courtesy Costas Busch - RPI

97

Example:

x  y if x " y f ( x, y ) ! 0
if x e y

x, y
Adder

x y

x, y

Comparer

x" y

xe y

Eraser

0
98

Courtesy Costas Busch - RPI

Das könnte Ihnen auch gefallen