turing machines (11.5) longin jan latecki temple university

Post on 09-Feb-2016

43 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Turing Machines (11.5) Longin Jan Latecki Temple University. Based on slides by Costas Busch from the course http://www.cs.rpi.edu/courses/spring05/modcomp/ and …. Models of computing. DFA-regular languages Push down automata -Context-free Bounded Turing M’s-Context sensitive - PowerPoint PPT Presentation

TRANSCRIPT

1

Turing Machines (11.5) Longin Jan LateckiTemple University

Based on slides by Costas Busch from the coursehttp://www.cs.rpi.edu/courses/spring05/modcomp/and …

2

DFA - regular languagesPush down automata - Context-freeBounded Turing M’s - Context sensitiveTuring machines - Phrase-structure

Models of computing

3

Foundations

The theory of computation and the practical application it made possible — the computer — was developed by an Englishman called Alan Turing.

4

Alan Turing1912 (23 June): Birth, Paddington, London1931-34: Undergraduate at King's College, Cambridge University1932-35: Quantum mechanics, probability, logic1936: The Turing machine, computability, universal machine1936-38: Princeton University. Ph.D. Logic, algebra, number theory 1938-39: Return to Cambridge. Introduced to German Enigma cipher machine1939-40: The Bombe, machine for Enigma decryption

1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic1946: Computer and software design leading the world.1948: Manchester University1949: First serious mathematical use of a computer1950: The Turing Test for machine intelligence1952: Arrested as a homosexual, loss of security clearance1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire.

—from Andrew Hodges http://www.turing.org.uk/turing/

5

The Decision Problem

In 1928 the German mathematician, David Hilbert (1862-1943), asked whether there could be a mechanical way (i.e. by means of a fully specifiable set of instructions) of determining whether some statement in a formal system like arithmetic was provable or not.In 1936 Turing published a paper the aim of which was to show that there was no such method. “On computable numbers, with an application to the Entscheidungs problem.” Proceedings of the London Mathematical Society, 2(42):230-265).

6

The Turing MachineIn order to argue for this claim, he needed a clear concept of “mechanical procedure.”His idea — which came to be called the Turing machine — was this:

(1) A tape of infinite length

(2) Finitely many squares of the tape have a single symbol from a finite language.

(3) Someone (or something) that can read the squares and write in them.

(4) At any time, the machine is in one of a finite number of internal states.

(5) The machine has instructions that determine what it does given its internal state and the symbol it encounters on the tape. It can change its internal state; change the symbol on

the square; move forward; move backward; halt (i.e. stop).

7

01

1

1

1

Current state = 1

If current state = 1and current symbol = 0then new state = 10new symbol = 1move right

0

8

11

1

1

1

Current state = 10

If current state = 1and current symbol = 0then new state = 10new symbol = 1move right

9

11

1

1

1

Current state = 10

If current state = 1and current symbol = 0then new state = 10new symbol = 1move right

10

FunctionsIt is essential to the idea of a Turing machine that it is not a physical machine, but an abstract one — a set of procedures.

It makes no difference whether the machine is embodied by a person in a boxcar on a track, or a person with a paper and pencil, or a smart and well-trained flamingo.

11

Turing’s TheoremIn the 1936 paper Turing proved that there are “general-purpose” Turing machines that can compute whatever any other Turing machine.This is done by coding the function of the special-purpose machine as instructions of the other machine — that is by “programming” it. This is called Turing’s theorem.These are universal Turing machines, and the idea of a coding for a particular function fed into a universal Turing machine is basically our conception of a computer and a stored program. The concept of the universal Turing machine is just the concept of the computer as we know it.

12

First computers: custom computing machines

1950 -- Eniac: the control is hardwired manually foreach problem.

Control

Input tape (read only)

Output tape (write only)

Work tape (memory)

1940: VON NEUMANN: DISTINCTION BETWEEN DATA AND INSTRUCTIONS

13

Can Machines Think?In “Computing machinery and intelligence,” written in 1950, Turing asks whether machines can think.He claims that this question is too vague, and proposes, instead, to replace it with a different one.That question is: Can machines pass the “imitation game” (now called the Turing test)? If they can, they are intelligent. Turing is thus the first to have offered a rigorous test for the determination of intelligence quite generally.

14

The Turing TestThe game runs as follows. You sit at a computer terminal and have an electronic conversation. You don’t know who is on the other end; it could be a person or a computer responding as it has been programmed to do.If you can’t distinguish between a human being and a computer from your interactions, then the computer is intelligent.Note that this is meant to be a sufficient condition of intelligence only. There may be other ways to be intelligent.

15

Artificial Intelligence

16

The Church-Turning ThesisTuring, and a logician called Alonzo Church (1903-1995), independently developed the idea (not yet proven by widely accepted) that whatever can be computed by a mechanical procedure can be computed by a Turing machine.This is known as the Church-Turing thesis.

17

AI: The ArgumentWe’ve now got the materials to show that AI is possible:

P1: Any function that can be computed by a mechanical procedure can be computed by a Turing machine. (Church-Turing thesis)

P2: Thinking is nothing more than the computing of functions by mechanical procedures (i.e., thinking is symbol manipulation). (Functionalist-Computationalist thesis)

C1: Therefore, thinking can be performed by a Turing machine.

P3: Turing machines are multiply realizable. In particular, they can be realized by computers, robots, etc.

It is possible to build a computer, robot, etc. that can think. That is, AI is possible.

18

Turing Machines

19

The Language Hierarchy

*aRegular Languages

Context-Free Languagesnnba Rww

nnn cba ww?

**ba

?

20

*aRegular Languages

Context-Free Languagesnnba Rww

nnn cba ww

**ba

Languages accepted byTuring Machines

21

A Turing Machine

............Tape

Read-Write headControl Unit

22

The Tape

............

Read-Write head

No boundaries -- infinite length

The head moves Left or Right

23

............

Read-Write head

The head at each time step:

1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right

24

............

Example:Time 0

............Time 1

1. Reads2. Writes

a a cb

a b k c

ak

3. Moves Left

25

............Time 1

a b k c

............Time 2a k cf

1. Reads2. Writes

bf

3. Moves Right

26

The Input String

............

Blank symbol

head

a b ca

Head starts at the leftmost positionof the input string

Input string

27

............

Blank symbol

head

a b ca

Input string

Remark: the input string is never empty

28

States & Transitions

1q 2qLba ,

Read Write Move Left

1q 2qRba ,

Move Right

29

Example:

1q 2qRba ,

............ a b ca

Time 1

1qcurrent state

30

............ a b caTime 1

1q 2qRba ,

............ a b cbTime 2

1q

2q

31

............ a b caTime 1

1q 2qLba ,

............ a b cbTime 2

1q

2q

Example:

32

............ a b caTime 1

1q 2qRg,

............ ga b cbTime 2

1q

2q

Example:

33

Determinism

1q

2qRba ,

Allowed Not Allowed

3qLdb ,

1q

2qRba ,

3qLda ,

No lambda transitions allowed

Turing Machines are deterministic

34

Partial Transition Function

1q

2qRba ,

3qLdb ,

............ a b ca

1q

Example:

No transitionfor input symbol c

Allowed:

35

Halting

The machine halts if there areno possible transitions to follow

36

Example:

............ a b ca

1q

1q

2qRba ,

3qLdb ,

No possible transition

HALT!!!

37

Final States

1q 2q Allowed

1q 2q Not Allowed

• Final states have no outgoing transitions

• In a final state the machine halts

38

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

39

Turing Machine Example

A Turing machine that accepts the language:*aa

0q

Raa ,

L,1q

40

aaTime 0

0q

a

0q

Raa ,

L,1q

41

aaTime 1

0q

a

0q

Raa ,

L,1q

42

aaTime 2

0q

a

0q

Raa ,

L,1q

43

aaTime 3

0q

a

0q

Raa ,

L,1q

44

aaTime 4

1q

a

0q

Raa ,

L,1q

Halt & Accept

45

Rejection Example

0q

Raa ,

L,1q

baTime 0

0q

a

46

0q

Raa ,

L,1q

baTime 1

0q

a

No possible TransitionHalt & Reject

47

Infinite Loop Example

0q

Raa ,

L,1q

Lbb ,

A Turing machine for language *)(* babaa

48

baTime 0

0q

a

0q

Raa ,

L,1q

Lbb ,

49

baTime 1

0q

a

0q

Raa ,

L,1q

Lbb ,

50

baTime 2

0q

a

0q

Raa ,

L,1q

Lbb ,

51

baTime 2

0q

a

baTime 3

0q

a

baTime 4

0q

a

baTime 50q

a

Infinite loop

52

Because of the infinite loop:

•The final state cannot be reached

•The machine never halts

•The input is not accepted

53

Another Turing Machine Example

Turing machine for the language }{ nnba

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

54

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

ba

0q

a bTime 0

55

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

bx

1q

a b Time 1

56

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

bx

1q

a b Time 2

57

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

2q

a b Time 3

58

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

2q

a b Time 4

59

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

0q

a b Time 5

60

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

1q

x b Time 6

61

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

1q

x b Time 7

62

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx x y

2q

Time 8

63

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx x y

2q

Time 9

64

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

0q

x y Time 10

65

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

3q

x y Time 11

66

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

3q

x y Time 12

67

0q 1q 2q3qRxa ,

Raa ,Ryy ,

Lyb ,

Laa ,Lyy ,

Rxx ,

Ryy ,

Ryy ,4q

L,

yx

4q

x y

Halt & Accept

Time 13

68

If we modify the machine for the language }{ nnba

we can easily construct a machine for the language }{ nnn cba

Observation:

69

Formal Definitionsfor

Turing Machines

70

Transition Function

1q 2qRba ,

),,(),( 21 Rbqaq

71

1q 2qLdc ,

),,(),( 21 Ldqcq

Transition Function

72

Turing Machine:

),,,,,,( 0 FqQM

States

Inputalphabet

Tapealphabet

Transitionfunction

Initialstate

blank

Finalstates

73

Configuration

ba

1q

a

Instantaneous description:

c

baqca 1

74

yx

2q

a bTime 4

yx

0q

a bTime 5

A Move: aybqxxaybq 02

75

yx

2q

a bTime 4

yx

0q

a bTime 5

bqxxyybqxxaybqxxaybq 1102

yx

1q

x bTime 6

yx

1q

x bTime 7

76

bqxxyybqxxaybqxxaybq 1102

bqxxyxaybq 12Equivalent notation:

77

Initial configuration: wq0

ba

0q

a b

wInput string

78

The Accepted Language

For any Turing Machine M

}:{)( 210 xqxwqwML f

Initial state Final state

79

Standard Turing Machine

• Deterministic

• Infinite tape in both directions

•Tape is the input/output file

The machine we described is the standard:

80

Computing Functionswith

Turing Machines

81

A function )(wf

Domain: Result Region:

has:

D

Dw

S

Swf )()(wf

82

A function may have many parameters:

yxyxf ),(

Example: Addition function

83

Integer Domain

Unary:

Binary:

Decimal:

11111

101

5

We prefer unary representation:

easier to manipulate with Turing machines

84

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

85

)(0 wfqwq f

Initial Configuration

FinalConfiguration

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

fM

In other words:

Dw DomainFor all

86

Example

The function yxyxf ),( is computable

Turing Machine:

Input string: yx0 unary

Output string: 0xy unary

yx, are integers

87

0

0q

1 1 1 1

x y

1 Start

initial state

The 0 is the delimiter that separates the two numbers

88

0

0q

1 1 1 1

x y

1

0

fq

1 1

yx

11

Start

Finish

final state

initial state

89

0

fq

1 1

yx

11Finish

final state

The 0 helps when we usethe result for other operations

90

0q

Turing machine for function

1q 2q 3qL, L,01

L,11

R,

R,10

R,11

4q

R,11

yxyxf ),(

91

Execution Example:

11x

11y 0

0q

1 1 1 1

Time 0x y

Final Result

0

4q

1 1 1 1yx

(2)

(2)

92

0

0q

1 1Time 0

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

L,11

R,

R,10

R,11

4q

R,11

1 1

93

0q

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

L,11

R,

R,10

R,11

4q

R,11

01 11 1Time 1

94

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

L,11

R,

R,10

R,11

4q

R,11

0

0q

1 1 1 1Time 2

95

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

L,11

R,

R,10

R,11

4q

R,11

1q

1 11 11Time 3

96

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

L,11

R,

R,10

R,11

4q

R,11

1q

1 1 1 11Time 4

97

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

L,11

R,

R,10

R,11

4q

R,11

1q

1 11 11Time 5

98

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

L,11

R,

R,10

R,11

4q

R,11

2q

1 1 1 11Time 6

99

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

L,11

R,

R,10

R,11

4q

R,11

3q

1 11 01Time 7

100

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

L,11

R,

R,10

R,11

4q

R,11

3q

1 1 1 01Time 8

101

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

L,11

R,

R,10

R,11

4q

R,11

3q

1 11 01Time 9

102

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

L,11

R,

R,10

R,11

4q

R,11

3q

1 1 1 01Time 10

103

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

L,11

R,

R,10

R,11

4q

R,11

3q

1 11 01Time 11

104

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

105

Another Example

The function xxf 2)( is computable

Turing Machine:

Input string: x unary

Output string: xx unary

x is integer

106

0q

1 1

x

1

1

fq

1 1

x2

11

Start

Finish

final state

initial state

107

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

108

0q 1q 2q

3q

R,1$

L,1

L,

R$,1 L,11 R,11

R,

Turing Machine for xxf 2)(

109

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

110

Another Example

The function ),( yxf

is computable 0

1 yx

yx

if

if

111

Turing Machine for

Input: yx0

Output: 1 0or

),( yxf0

1 yx

yx

if

if

112

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)( yx

)( yx

113

Combining Turing Machines

114

Block Diagram

TuringMachineinput output

115

Example:

),( yxf0

yx yx

yx

if

if

Comparer

Adder

Eraser

yx,

yx,

yx

yx

yx

0

top related