Download auber f16

Document related concepts

Unification (computer science) wikipedia , lookup

Genetic algorithm wikipedia , lookup

AI winter wikipedia , lookup

Hard problem of consciousness wikipedia , lookup

Person of Interest (TV series) wikipedia , lookup

Alan Turing wikipedia , lookup

Pattern recognition wikipedia , lookup

Turing test wikipedia , lookup

Multi-armed bandit wikipedia , lookup

History of artificial intelligence wikipedia , lookup

Philosophy of artificial intelligence wikipedia , lookup

Transcript
CD5560
FABER
Formal Languages, Automata
and Models of Computation
Lecture 13
Mälardalen University
2007
1
Content
Introduction
Universal Turing Machine
Chomsky Hierarchy
Decidability
Reducibility
Uncomputable Functions
Rice’s Theorem
Interactive Computing & Persistent TM’s (Dina Goldin)
2
http://www.turing.org.uk/turing/
Who was Alan Turing?
Founder of computer science,
mathematician,
philosopher,
codebreaker,
visionary man before his time.
http://www.cs.usfca.edu/www.AlanTuring.net/turing_archive/index.html- Jack
Copeland and Diane Proudfoot
http://www.turing.org.uk/turing/ The Alan Turing Home Page
Andrew Hodges
3
Alan Turing
1912 (23 June): Birth, London
1926-31: Sherborne School
1930: Death of friend Christopher Morcom
1931-34: Undergraduate at King's College, Cambridge University
1932-35: Quantum mechanics, probability, logic
1935: Elected fellow of King's College, Cambridge
1936: The Turing machine, computability, universal machine
1936-38: Princeton University. Ph.D. Logic, algebra, number theory
1938-39: Return to Cambridge. Introduced to German Enigma cipher machine
1939-40: The Bombe, machine for Enigma decryption
1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic
4
Alan Turing
1943-45: Chief Anglo-American crypto consultant. Electronic work.
1945: National Physical Laboratory, London
1946: Computer and software design leading the world.
1947-48: Programming, neural nets, and artificial intelligence
1948: Manchester University
1949: First serious mathematical use of a computer
1950: The Turing Test for machine intelligence
1951: Elected FRS. Non-linear theory of biological growth
1952: Arrested as a homosexual, loss of security clearance
1953-54: Unfinished work in biology and physics
1954 (7 June): Death (suicide) by cyanide poisoning, Wilmslow, Cheshire.
5
Hilbert’s Program, 1900
Hilbert’s hope was that mathematics would be reducible to
finding proofs (manipulating the strings of symbols) from
a fixed system of axioms, axioms that everyone could
agree were true.
Can all of mathematics be made algorithmic, or will there
always be new problems that outstrip any given
algorithm, and so require creative acts of mind to solve?
6
TURING MACHINES
7
Turing’s "Machines". These machines are
humans who calculate. (Wittgenstein)
A man provided with paper, pencil, and rubber,
and subject to strict discipline, is in effect a
universal machine. (Turing)
8
Standard Turing Machine
Tape
......
......
Read-Write head
Control Unit
9
The Tape
No boundaries -- infinite length
......
......
Read-Write head
The head moves Left or Right
10
......
......
Read-Write head
The head at each time step:
1. Reads a symbol
2. Writes a symbol
3. Moves Left or Right
11
Example
......
Time 0
a b a c
......
Time 1
......
a b k c
......
1. Reads a
2. Writes k
3. Moves Left
12
The Input String
Input string
......
Blank symbol
# # a b a c # # #
......
head
Head starts at the leftmost position
of the input string
13
States & Transitions
Read
q1
Write
a  b, L
Move Left
q2
Move Right
q1
a  b, R
q2
14
Time 1
......
# # a b a c # # #
......
q1
Time 2
......
# # a b b c # # #
......
q2
q1
a  b, R
q2
15
Determinism
Turing Machines are deterministic
Not Allowed
Allowed
a  b, R
q2
a  b, R
q2
a  d, L
q3
q1
q1
b  d, L
q3
No lambda transitions allowed in standard TM!
16
Formal Definitions
for
Turing Machines
17
Transition Function
q1
a  b, R
q2
 (q1, a)  (q2 , b, R)
18
Turing Machine
Input
alphabet
Tape
alphabet
States
M  (Q, , ,  , q0 , # , F )
Final
states
Transition
function
Initial
state
blank
19
Universal Turing Machine
20
A limitation of Turing Machines:
Turing Machines are “hardwired”
they execute
only one program
Better are reprogrammable machines.
21
Solution: Universal Turing Machine
Characteristics:
• Reprogrammable machine
• Simulates any other Turing Machine
22
Universal Turing Machine
simulates any other Turing Machine
M
Input of Universal Turing Machine
• Description of transitions of M
• Initial tape contents of
M
23
Tape 1
Three tapes
Universal
Turing
Machine
Description of M
Tape 2
Tape Contents of
M
Tape 3
State of
M
24
Tape 1
Description of
M
We describe Turing machine
as a string of symbols:
We encode
M
M as a string of symbols
25
Alphabet Encoding
Symbols:
a
b
c
d
Encoding:
1
11
111
1111

26
State Encoding
States:
q1
q2
q3
q4
Encoding:
1
11
111
1111

Head Move Encoding
Move:
L
R
Encoding:
1
11
27
Transition Encoding
Transition:
 (q1, a)  (q2 , b, L)
Encoding:
1 0 1 0 11 0 11 0 1
separator
28
Machine Encoding
Transitions:
 (q1, a)  (q2 , b, L)
 (q2 , b)  (q3 , c, R)
Encoding:
1 0 1 0 11 0 11 0 1 00 11 0 110 111 0 111 0 11
separator
29
Tape 1 contents of Universal Turing Machine:
encoding of the simulated machine M
as a binary string of 0’s and 1’s
30
A Turing Machine is described
with a binary string of 0’s and 1’s.
Therefore:
The set of Turing machines forms a language:
Each string of the language is
the binary encoding of a Turing Machine.
31
Language of Turing Machines
L = { 010100101,
00100100101111,
111010011110010101,
(Turing Machine 1)
(Turing Machine 2)
……
…… }
32
The Chomsky Hierarchy
33
The Chomsky Language Hierarchy
Recursively-enumerable
Recursive
Context-sensitive
Context-free
Regular
Non-recursively enumerable
34
Unrestricted Grammars
Productions
uv
String of variables
and terminals
String of variables
and terminals
35
Example of unrestricted grammar
S  aBc
aB  cA
Ac  d
36
Theorem
A language L is recursively enumerable
if and only if it is generated by an
unrestricted grammar.
37
Context-Sensitive Grammars
Productions
uv
String of variables
and terminals
and
String of variables
and terminals
|u|  |v|
38
The language
n n n
{a b c }
is context-sensitive:
S  abc | aAbc
Ab  bA
Ac  Bbcc
bB  Bb
aB  aa | aaA
39
Theorem
A language L is context sensitive
if and only if it is accepted by a Linear-Bounded
automaton.
40
Linear Bounded Automata (LBAs)
are the same as Turing Machines
with one difference:
The input string tape space
is the only tape space allowed to use.
41
Linear Bounded Automaton (LBA)
Input string
[ a b c d e ]
Left-end
marker
Working space
in tape
Right-end
marker
All computation is done between end markers.
42
Observation
There is a language which is recursive
but not context-sensitive.
43
Decidability
44
Consider problems with answer YES or NO.
Examples
• Does Machine M have three states ?
• Is string w a binary number?
• Does DFA M accept any input?
45
A problem is decidable if some Turing machine
solves (decides) the problem.
Decidable problems:
• Does Machine M have three states ?
• Is string w a binary number?
• Does DFA M accept any input?
46
The Turing machine that solves a problem
answers YES or NO for each instance.
Input
problem
instance
YES
Turing Machine
NO
47
The machine that decides a problem:
• If the answer is YES
then halts in a yes state
• If the answer is NO
then halts in a no state
These states may not be the final states.
48
Turing Machine that decides a problem
YES
NO
YES and NO states are halting states
49
Difference between
Recursive Languages accept (“Acceptera”) and
Decidable problems decide (“Avgöra”)
For decidable problems:
The YES states may not be final states.
50
Some problems are undecidable:
There is no Turing Machine that
solves all instances of the problem.
51
A famous undecidable problem:
The halting problem
52
The Halting Problem
Input:
• Turing Machine M
• String w
Question: Does M halt on w?
53
Theorem
The halting problem is undecidable.
Proof
Assume to the contrary that
the halting problem is decidable.
54
There exists Turing Machine H
that solves the halting problem
M
YES
M halts on w
NO
M doesn’t
halt on w
H
w
55
Construction of
H
Input:
initial tape contents
q y YES
wM w
q0
qn NO
encoding of
M
string
w
H
56
Construct machine
H´
If H returns YES then loop forever.
If H returns NO then halt.
57
H
H
wM w
Loop forever
qy
YES
qn
NO
qa
qb
q0
58
Construct machine
Input:
If
Ĥ
wM (machine M )
M halts on input wM
Then loop forever
Else halt
59
Ĥ
wM
copy
wM
wM wM
H
60
Run machine
Input:
If
Ĥ with input itself
wHˆ
(machine
Ĥ )
Ĥ halts on input wHˆ
Then loop forever
Else halt
61
Ĥ on input wHˆ :
If
Ĥ halts then loops forever.
If
Ĥ doesn’t halt then it halts.
CONTRADICTION !
62
This means that
The halting problem is undecidable.
END OF PROOF
63
Another proof of the same theorem
If the halting problem was decidable then
every recursively enumerable language
would be recursive.
64
Theorem
The halting problem is undecidable.
Proof
Assume to the contrary that
the halting problem is decidable.
65
There exists Turing Machine
H
that solves the halting problem.
M
YES
M halts on w
NO
M doesn’t
halt on w
H
w
66
Let
L be a recursively enumerable language.
Let
M be the Turing Machine that accepts L.
We will prove that
L is also recursive:
We will describe a Turing machine that
accepts L and halts on any input.
67
Turing Machine that accepts L
and halts on any input
M
w
H
NO
reject w
M halts on w ?
YES
accept w
Run M
with input w
Halts on final state
reject w
Halts on non-final
68
state
Therefore
Since
L is recursive.
L is chosen arbitrarily, we have
proven that every recursively enumerable
language is also recursive.
But there are recursively enumerable
languages which are not recursive.
Contradiction!
69
Therefore, the halting problem is undecidable.
END OF PROOF
70
A simple undecidable problem:
The Membership Problem
71
The Membership Problem
Input:
• Turing Machine
M
• String w
Question: Does
M accept w?
72
Theorem
The membership problem is undecidable.
Proof
Assume to the contrary that
the membership problem is decidable.
73
There exists Turing Machine H
that solves the membership problem
M
YES
M accepts w
NO
M rejects w
H
w
74
Let
L be a recursively enumerable language.
Let
M be the Turing Machine that accepts L.
We will prove that
L is also recursive:
We will describe a Turing machine that
accepts
L and halts on any input.
75
Turing Machine that accepts
L
and halts on any input
M
w
H
YES
accept w
M accepts w?
NO
reject w
76
Therefore
Since
L is recursive.
L is chosen arbitrarily, we have
proven that every recursively enumerable
language is also recursive.
But there are recursively enumerable
languages which are not recursive.
Contradiction!
77
Therefore, the membership problem
is undecidable.
END OF PROOF
78
Reducibility
79
Problem
A is reduced to problem B.
B then
we can solve problem A.
If we can solve problem
B
A
80
Problem
A is reduced to problem B.
If B is decidable then
If
A is decidable.
A is undecidable then B is undecidable.
81
Example
the halting problem
reduced to
the state-entry problem.
82
The state-entry problem
Input:
•Turing Machine
M
q
•String w
•State
Question:
M enter state q
on input w?
Does
83
Theorem
The state-entry problem is undecidable.
Proof
Reduce the halting problem to
the state-entry problem.
84
Suppose we have an algorithm
(Turing Machine)
that solves the state-entry problem.
We will construct an algorithm
that solves the halting problem.
85
Assume we have the state-entry algorithm:
YES
M
w
q
Algorithm for
state-entry
problem
NO
M enters q
M doesn’t
enter q
86
We want to design the halting algorithm:
YES
M
M halts on q
Algorithm for
Halting problem
w
NO
M doesn’t
halt on q
87
Modify input machine M
• Add new state q
• From any halting state add transitions to q
M
M
halting states
q
single
halt state
88
M halts
if and
only if
M  halts on state q
89
Algorithm for halting problem
Input: machine
M and string w
1. Construct machine
M’ with state q
2. Run algorithm for state-entry problem
with inputs:
M’, q, w
90
Halting problem algorithm
M
Generate
M
M
q
w
State-entry
algorithm
YES
YES
NO
NO
w
91
We reduced the halting problem
to the state-entry problem.
Since the halting problem is undecidable,
it must be that the state-entry problem
is also undecidable.
END OF PROOF
92
Another example
The halting problem reduced to
the blank-tape halting problem.
Input: Turing Machine
M
Question: Does M halt
when started with a blank tape?
93
Theorem
The blank-tape halting problem is undecidable.
Proof
Reduce the halting problem to the
blank-tape halting problem.
94
Suppose we have an algorithm
for the blank-tape halting problem.
We will construct an algorithm
for the halting problem.
95
Assume we have the
blank-tape halting algorithm
YES M halts on
M
Algorithm for
blank-tape
halting problem
blank tape
NO
M doesn’t halt
on blank tape
96
We want to design the halting algorithm:
YES
M
Algorithm for
halting problem
w
NO
M halts
on w
M doesn’t
halt on w
97
Construct a new machine
Mw
• On blank tape writes w
• Then continues execution like
M
Mw
step 1
if blank tape
then write w
step2
M
with input w
execute
98
M halts on input string w
if and
only if
M w halts when started with blank tape.
99
Algorithm for halting problem
Inputs: machine
M and string w
1. Construct M w
2. Run algorithm for
blank-tape halting problem
with input M w
100
Halting problem algorithm
M
w
Generate
Mw
Mw
Blank-tape
halting
algorithm
YES
YES
NO
NO
101
We reduced the halting problem
to the blank-tape halting problem.
Since the halting problem is undecidable,
the blank-tape halting problem is
also undecidable.
END OF PROOF
102
Summary of Undecidable Problems
Halting Problem
Does machine
M halt on input w?
Membership problem
Does machine
M accept string w?
In other words: Is a string w a member of a
recursively enumerable language L?)
103
Blank-tape halting problem
Does machine M halt when starting
on blank tape?
State-entry Problem:
Does machine
on input
M enter state q
w?
104
Uncomputable Functions
105
Uncomputable Functions
f
Domain
Range
A function is uncomputable if it cannot
be computed for all of its domain.
106
Example
An uncomputable function:
maximum number of moves until
f (n) 
any Turing machine with n states
halts when started with the blank tape.
107
Theorem
f (n)
Function
is uncomputable.
Proof
Assume to the contrary that
f (n) is computable.
Then the blank-tape halting problem
is decidable.
108
Algorithm for blank-tape halting problem
Input: machine
1. Count states of
2. Compute
M
M: m
f (m)
3. Simulate M for f (m) steps
starting with empty tape
If
M halts then return YES
otherwise return NO
109
Therefore, the blank-tape halting
problem must be decidable.
However, we know that the blank-tape
halting problem is undecidable.
Contradiction!
110
Therefore, function
f (n)
is uncomputable.
END OF PROOF
111
Rice’s Theorem
112
Definition
Non-trivial properties of
recursively enumerable languages:
any property possessed by some (not all)
recursively enumerable languages.
113
Some non-trivial properties of
recursively enumerable languages:
• L is empty
• L is finite
• L contains two different strings
of the same length
114
Rice’s Theorem
Any non-trivial property of
a recursively enumerable language
is undecidable.
115
We will prove some non-trivial properties
without using Rice’s theorem.
116
Theorem
For any recursively enumerable language
L
it is undecidable whether it is empty.
Proof
We will reduce the membership problem
to the problem of deciding whether L
is empty.
117
Membership problem:
Does machine
M accept string w?
118
Let M be the machine that accepts L
L( M )  L
Assume we have the empty language algorithm:
M
Algorithm for
empty language
problem
YES L(M) empty
NO
L(M) non-empty
119
We will design the membership algorithm:
M
w
Algorithm for
membership
problem
YES M accepts w
NO
M rejects w
120
First construct machine
When
Mw
M enters a final state,
compare original input string with
w.
Accept if original input is
the same as
w.
121
w L
if and
only if
L( M w )
is not empty
L( M w )  {w}
122
Algorithm for membership problem
Inputs: machine
1. Construct
M and string w
Mw
2. Determine if
L( M w ) is empty
YES: then
w L(M )
NO: then
w L(M )
123
Membership algorithm
M
construct
w
Mw
Mw
YES
NO
NO
YES
Check if
L( M w )
is empty
124
We reduced the empty language problem
to the membership problem.
Since the membership problem is undecidable,
the empty language problem is
also undecidable.
END OF PROOF
125
Decidability
…continued…
126
Theorem
For a recursively enumerable language
it is undecidable whether
L
L is finite.
Proof
We will reduce the halting problem
to the finite language problem.
127
Let
M be the machine that accepts L
L( M )  L
Assume we have the finite language algorithm:
YES
M
Algorithm for
finite language
problem
L(M) finite
NO L(M) not finite
128
We will design the halting problem algorithm:
M
w
YES
Algorithm for
halting problem
NO
M halts
on w
M doesn’t
halt on w
129
First construct machine
Mw.
Initially simulates M on input
When
w.
M enters a halt state,
accept any input (infinite language).
Otherwise accept nothing (finite language).
130
M halts on w
if and
only if
L( M w ) is not finite.
131
Algorithm for halting problem:
Inputs: machine
1. Construct
M and string w
Mw
2. Determine if
L( M w ) is finite
YES: then
M doesn’t halt on w
NO: then M halts on w
132
Machine for halting problem
M
w
YES
construct
Mw
NO
Check if
L( M w )
is finite
NO
YES
133
We reduced the finite language problem
to the halting problem.
Since the halting problem is undecidable,
the finite language problem is
also undecidable.
END OF PROOF
134
Theorem
For a recursively enumerable language L
it is undecidable whether L contains
two different strings of same length.
Proof
We will reduce the halting problem
to the two strings of equal length- problem.
135
Let
M be the machine that accepts L:
L( M )  L
Assume we have the equal-strings algorithm:
M
Algorithm for
two-strings
problem
YES L(M) contains
NO
L(M) does not contain
two equal length strings
136
We will design the halting problem algorithm:
M
w
YES
Algorithm for
halting problem
NO
M halts
on w
M doesn’t
halt on w
137
First construct machine
Initially simulates
Mw
M on input w.
M enters a halt state,
accept symbols a and b.
When
(two equal length strings)
138
M halts on w
if and
only if
M w accepts a and b
(two equal length strings)
139
Algorithm for halting problem
Inputs: machine
1. Construct
M and string w
Mw
2. Determine if M w accepts
two strings of equal length
M halts on w
NO: then M doesn’t halt on w
YES: then
140
Machine for halting problem
M
w
construct
Mw
YES
YES
NO
NO
Check if
L( M w )
has two
equal length
strings
141
We reduced the two strings of equal length problem to the halting problem.
Since the halting problem is undecidable,
the two strings of equal length problem is
also undecidable.
END OF PROOF
142
Rice's theorem: (Henry Gordon Rice ) If S is a non-trivial
property of Turing-acceptable languages, then the problem
‘Does L(M) have the property S? is undecidable.
Any nontrivial property of the language recognized by a
Turing machine is undecidable.
(Only trivial properties of programs are algorithmically
decidable. Undecidability is not the exception when it
comes to recursively enumerable sets, it is the rule. )
If  is a set of Turing-acceptable languages, containing
some but not all such languages, no TM can decide for an
arbitrary Turing-acceptable language L if
not.
L belongs to  or
143
Example
Given a Turing machine M, is it possible
to decide if all strings accepted by M
start and end with the same symbol?
144
Undecidable
Problem is about non-trivial property of a
language. There exist TM’s with given
property, and TM’s without.
145
Formally
 = { L | TM acceptable languages
With strings that start and end
with the same symbol. }
146
Interaction:
Conjectures, Results, and Myths
Dina Goldin
Univ. of Connecticut, Brown University
http://www.cse.uconn.edu/~dqg
147
Fundamental Questions
Underlying Theory of Computation
What is computation?
How is computation modeled?
148
Shared Wisdom
(from our undergraduate Theory of Computation courses)
computation: finite transformation
of input to output
input: finite size (e.g. string or
number)
closed system: all input available
at start, all output generated at end
behavior: functions, transformation
of input data to output data
Mathematical
worldview:
All computable problems
are function-based.
Church-Turing thesis: Turing
Machines capture this (algorithmic)
notion of computation
149
The Mathematical Worldview
“The theory of computability and non-computability [is] usually
referred to as the theory of recursive functions... the notion of TM
has been made central in the development."
Martin Davis, Computability & Unsolvability, 1958
“Of all undergraduate CS subjects, theoretical computer science
has changed the least over the decades.”
SIGACT News, March 2004
“A TM can do anything that a computer can do.”
Michael Sipser, Introduction to the Theory of Computation, 1997
150
The Operating System Conundrum
Real programs, such as
operating systems and word
processors, often receive an
unbounded amount of input
over time, and never "finish"
their task. Turing machines
do not model such ongoing
computation well…
[TM entry, Wikipedia]
*
If a computation
does not
terminate,
it’s “useless” –
but aren’t OS’s
useful??
151
* Enigma
Rethinking Shared Wisdom:
(what do computers do?)
computation: finite transformation of
computation: ongoing process which
input to output
performs a task or delivers a service
input: finite-size (string or number)
closed system: all input available at
start, all output generated at end
behavior: functions, algorithmic
dynamically generated stream of input
tokens (requests, percepts, messages)
open system: later inputs depend on
earlier outputs and vice versa (I/O
entanglement, history dependence)
behavior: processes, components, control
transformation of input data to output
data
devices, reactive systems, intelligent agents
Church-Turing thesis: Turing
Wegner’s conjecture: Interaction is
Machines capture this (algorithmic)
notion of computation
more powerful than algorithms
152
Example:
Driving home from work
Algorithmic input: a description of the world (a static
“map”)
Output: a sequence of pairs of #s (time-series data)
- for turning the wheel
- for pressing gas/break
Similar to classic AI search/planning problems.
153
Driving home from work (cont.)
?
But… in a real-world environment, the output
depends on every grain of sand in the road (chaotic
behavior).
Can we possibly have a map that’s detailed
Worse
yet… the domain is dynamic. The output
enough?
depends on weather conditions, and on other
drivers and pedestrians.
We can’t possibly be expected to predict that in
advance!
Nevertheless the problem is solvable!
Google “autonomous vehicle research”
154
Driving home from work (cont.)
The problem is solvable interactively.
Interactive input: stream of video camera images,
gathered as we are driving
Output: the desired time-series data, generated
as we are driving
similar to control systems, or online computation
A paradigm shift in the conceptualization of computational problem
solving.
155
Sequential Interaction
• Sequential interactive computation:
system continuously interacts with its environment
by alternately accepting an input string
and computing a corresponding output string.
• Examples:
- method invocations of an object instance
in an OO language
- a C function with static variables
- queries/updates to single-user databases
- recurrent neural networks
- control systems
- online computation
- transducers
- dynamic algorithms
- embedded systems
156
Sequential Interaction Thesis
Whenever there is an effective method for performing
sequential interactive computation, this computation
can be performed by a Persistent Turing Machine
• Universal PTM: simulates any other PTM
– Need additional input describing the PTM (only once)
• Example: simulating Answering Machine
(simulate AM, will-do),
(record hello, ok), (erase, done), (record John, ok),
(record Hopkins, ok), (playback, John Hopkins), …
Simulation of other sequential interactive systems is analogous.
157
Church-Turing Thesis Revisited
•
Church-Turing Thesis:
Whenever there is an effective method
for obtaining the values of a mathematical function,
the function can be computed by a Turing Machine
• Common Reinterpretation (Strong Church-Turing Thesis)
A TM can do (compute) anything that any computer can do!
158
Church-Turing Thesis Revisited
• The equivalence of the two is a myth
– the function-based behavior of algorithms does not
capture all forms of computation
– this myth has been dogmatically accepted by the CS
community
•
Turing himself would have denied it
– in the same paper where he introduced what we now
call Turing Machines, he also introduced choice
machines, as a distinct model of computation
– choice machines extend Turing Machines to interaction
by allowing a human operator to make choices during the
computation.
159
Origins of the Church-Turing Thesis Myth
A TM can do anything that a computer can do.
Based on several claims:
1. A problem is solvable if there exists a Turing Machine
for computing it.
2. A problem is solvable if it can be specified by an algorithm.
3. Algorithms are what computers do.
Each claim is correct in isolation
provided we understand the underlying assumptions
Together, they induce an incorrect conclusion
TMs = solvable problems = algorithms = computation
160
Deconstructing the Turing Thesis Myth (1)
TMs = solvable problems
• Assumes:
All computable problems are function-based.
• Reasons:
– Theory of Computation started as a field of mathematics;
mathematical principles were adopted for the fundamental
notions of computation, identifying computability with the
computation of functions, as well as with Turing Machines.
– The batch-based modus operandi of original computers did
not lend itself to other conceptualizations of computation.
161
Deconstructing the Turing Thesis Myth (2)
solvable problems = algorithms
Assumes:
- Algorithmic computation is also function based;
i.e., the computational role of an algorithm
is to transform input data to output data.
• Reasons:
– Original (mathematical) meaning of “algorithms”
E.g. Euclid’s greatest common divisor algorithm
– Original (Knuthian) meaning of “algorithms”
“An algorithm has zero or more inputs, i.e., quantities which are
given to it initially before the algorithm begins.“
[Knuth’68]
162
Deconstructing the Turing Thesis Myth (3)
algorithms = computation
• Reasons:
– The ACM Curriculum (1968): Adopted algorithms as the central
concept of CS without explicit agreement on the meaning of this term.
– Textbooks: When defining algorithms, the assumption of their closed
function-based nature was often left implicit, if not forgotten
“An algorithm is a recipe, a set of instructions or the specifications
of a process for doing something. That something is usually solving
a problem of some sort.”
[Rice&Rice’69]
“An algorithm is a collection of simple instructions for carrying out
some task. Commonplace in everyday life, algorithms sometimes
are called procedures or recipes...”
[Sipser’97]
163
The Shift to Interaction in CS
Algorithmic
Interactive
Computation = transforming
input to output
Computation = carrying out a
task over time
Logic and search in AI
Intelligent agents, partially
observable environments,
learning
Procedure-oriented
programming
Object-oriented programming
Closed systems
Open systems
Compositional behavior
Emergent behavior
Rule-based reasoning
Simulation, control, semiMarkov processes
164
The Interactive Turing Test
• From answering questions to holding
discussions.
• Learning from -- and adapting to -- the
questioner.
• “Book intelligence” vs. “street smarts”.
“It is hard to draw the line at what is intelligence and what
is environmental interaction. In a sense, it does not really
matter which is which, as all intelligent systems must be
situated in some world or other if they are to be useful
entities.” [Brooks]
165
Modeling Interactive Computation:
PTMs in Perspective
• Many other interactive models
– Reactive [MP] and embedded systems
– Dataflow, I/O automata [Lynch], synchronous languages,
finite/pushdown automata over infinite words
– Interaction games [Abramsky], online algorithms [Albers]
– TM extensions: on-line Turing machines [Fischer], interactive Turing
machines [Goldreich]...
• Concurrency Theory
– Focuses on communication (between concurrent agents/processes)
rather than computation [Milner]
– Orthogonal to the theory of computation and TMs.
• What makes PTMs unique?
– Provably more expressive than TMs.
– Bridging the gap between concurrency theory (labeled transition
systems) and traditional TOC.
166
Future Work: 3 conjectures
• Theory of Sequential Interaction
conjecture: notions analogous to computational
complexity, logic, and recursive functions can be
developed for sequential interaction computation
• Multi-stream interaction
– From hidden variables to hidden interfaces
conjecture: multi-stream interaction is more powerful
than sequential interaction [Wegner’97]
• Formalizing indirect interaction
– Interaction via persistent, observable changes to
the common environment
– In contrast to direct interaction (via message
passing)
conjecture: direct interaction does not capture all
forms of multi-agent behaviors
167
References
http://www.cse.uconn.edu/~dqg/papers/
[Wegner’97] Peter Wegner
Why Interaction is more Powerful than Algorithms
Communications of the ACM, May 1997
[EGW’04] Eugene Eberbach, Dina Goldin, Peter Wegner
Turing's Ideas and Models of Computation
book chapter, in Alan Turing: Life and Legacy of a Great Thinker,
Springer 2004
[I&C’04] Dina Goldin, Scott Smolka, Paul Attie, Elaine Sonderegger
Turing Machines, Transition Systems, and Interaction
Information & Computation Journal, 2004
[GW’04] Dina Goldin, Peter Wegner
The Church-Turing Thesis: Breaking the Myth
presented at CiE 2005, Amsterdam, June 2005
to be published in LNCS
168