turing machines (11.5) longin jan latecki temple university
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 PresentationTRANSCRIPT
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