Top Banner
1 Computing Functions with Turing Machines
40

1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

1

Computing Functionswith

Turing Machines

Page 2: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

2

A function )(wf

Domain:

Result Region:

has:

D Dw

S Swf )(

Page 3: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

3

A function may have many parameters:

yxyxf ),(

Example: Addition function

Page 4: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

4

Integer Domain

Unary:

Binary:

Decimal:

11111

101

5

We prefer unary representation:

easier to manipulate

Page 5: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

5

Definition:

A function is computable ifthere is a Turing Machine such that:

fM

Initial configuration Final configuration

Dw Domain

0q

w

fq

)(wf

final stateinitial state

For all

Page 6: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

6

)(0 wfqwq f

Initial Configuration

FinalConfiguration

A function is computable ifthere is a Turing Machine such that:

fM

In other words:

Dw DomainFor all

Page 7: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

7

Example

The function yxyxf ),( is computable

Turing Machine:

Input string: yx0 unary

Output string: 0xy unary

yx, are integers

Page 8: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

8

0

0q

1 1 1 1

x y

1

0

fq

1 1

yx

11

Start

Finish

final state

initial state

Page 9: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

9

0q

Turing machine for function

1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

yxyxf ),(

Page 10: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

10

Execution Example:

11x

11y 0

0q

1 1 1 1

Time 0

x y

Final Result

0

4q

1 1 1 1

yx

(2)

(2)

Page 11: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

11

0

0q

1 1Time 0

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

1 1

Page 12: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

12

0q

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

01 11 1Time 1

Page 13: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

13

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

0

0q

1 1 1 1Time 2

Page 14: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

14

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

1q

1 11 11Time 3

Page 15: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

15

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

1q

1 1 1 11Time 4

Page 16: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

16

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

1q

1 11 11Time 5

Page 17: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

17

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

2q

1 1 1 11Time 6

Page 18: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

18

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

3q

1 11 01Time 7

Page 19: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

19

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

3q

1 1 1 01Time 8

Page 20: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

20

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

3q

1 11 01Time 9

Page 21: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

21

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

3q

1 1 1 01Time 10

Page 22: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

22

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

3q

1 11 01Time 11

Page 23: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

23

0q 1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

4q

1 1 1 01

HALT & accept

Time 12

Page 24: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

24

Another Example

The function xxf 2)( is computable

Turing Machine:

Input string: x unary

Output string: xx unary

x is integer

Page 25: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

25

0q

1 1

x

1

1

fq

1 1

x2

11

Start

Finish

final state

initial state

Page 26: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

26

Turing Machine Pseudocode for xxf 2)(

• Replace every 1 with $

• Repeat:

• Find rightmost $, replace it with 1

• Go to right end, insert 1

Until no more $ remain

Page 27: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

27

0q 1q 2q

3q

R,1$

L,1

L,

R$,1 L,11 R,11

R,

Turing Machine for xxf 2)(

Page 28: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

28

0q 1q 2q

3q

R,1$

L,1

L,

R$,1 L,11 R,11

R,

Example

0q

1 1

3q

1 11 1

Start Finish

Page 29: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

29

Another Example

The function ),( yxf

is computable0

1 yx

yx

if

if

Page 30: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

30

Turing Machine for

Input: yx0

Output: 1 0or

),( yxf0

1 yx

yx

if

if

Page 31: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

31

Turing Machine Pseudocode:

Match a 1 from with a 1 from x y

• Repeat

Until all of or is matchedx y

• If a 1 from is not matched erase tape, write 1 else erase tape, write 0

x

Page 32: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

32

Combining Turing Machines

Page 33: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

33

Block Diagram

TuringMachine

input output

Page 34: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

34

Example:

),( yxf0

yx yx

yx

if

if

Comparer

Adder

Eraser

yx,

yx,

yx

yx

yx

0

Page 35: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

35

Turing’s Thesis

Page 36: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

36

Do Turing machines have the same power with a digital computer?

Intuitive answer: Yes

There is no formal answer!!!

Question:

Page 37: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

37

Turing’s thesis:

Any computation carried outby mechanical meanscan be performed by a Turing Machine

(1930)

Page 38: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

38

Computer Science Law:

A computation is mechanical if and only ifit can be performed by a Turing Machine

There is no known model of computationmore powerful than Turing Machines

Page 39: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

39

Definition of Algorithm:

An algorithm for functionis a Turing Machine which computes

)(wf

)(wf

Page 40: 1 Computing Functions with Turing Machines. 2 A function Domain: Result Region: has:

40

When we say:

There exists an algorithm

Algorithms are Turing Machines

We mean:

There exists a Turing Machine