CD5560
Content
FABER Introduction Universal Turing Machine Chomsky Hierarchy Decidability Reducibility Uncomputable Functions Rice’s Theorem Interactive Computing & Persistent TM’s (Dina Goldin)
Formal Languages, Automata and Models of Computation Lecture 13 Mälardalen University 2007
1
2
Alan Turing
http://www.turing.org.uk/turing/
1912 (23 June): Birth, London
Who was Alan Turing? Founder of computer science, mathematician, philosopher, codebreaker, visionary man before his time.
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
http://www.cs.usfca.edu/www.AlanTuring.net/turing_archive/index.html- Jack
1936-38: Princeton University. Ph.D. Logic, algebra, number theory 1938-39: Return to Cambridge. Introduced to German Enigma cipher machine
Copeland and Diane Proudfoot
1939-40: The Bombe, machine for Enigma decryption
http://www.turing.org.uk/turing/ The Alan Turing Home Page Andrew Hodges
1939-42: Breaking of U-boat Enigma, saving battle of the Atlantic 3
4
Hilbert’s Program, 1900
Alan Turing
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.
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
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?
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
6
Turing’s "Machines". These machines are humans who calculate. (Wittgenstein)
TURING MACHINES A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine. (Turing)
7
8
Standard Turing Machine Tape ......
The Tape No boundaries -- infinite length
...... ......
......
Read-Write head Read-Write head
Control Unit
The head moves Left or Right
9
10
Example ......
......
......
Time 0
a b a c
......
Read-Write head Time 1 ......
The head at each time step: 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
a b k c
......
1. Reads a 2. Writes k 3. Moves Left 11
12
States & Transitions
The Input String Input string ......
Blank symbol
# # a b a c # # #
Write
Read
......
Move Left
a → b, L
q1
q2
head Move Right
Head starts at the leftmost position of the input string
q1
a → b, R
q2
13
14
Determinism
Time 1 ......
# # a b a c # # #
...... Turing Machines are deterministic
q1
a → b, R
Time 2 ......
# # a b b c # # #
......
a → b, R
q2
q2
a → b, R
q2
a → d, L
q3
q1
q1 q3
b → d, L
q2 q1
Not Allowed
Allowed
No lambda transitions allowed in standard TM! 15
16
Transition Function
Formal Definitions for Turing Machines
q1
a → b, R
q2
δ (q1, a ) = (q2 , b, R)
17
18
Turing Machine Input alphabet
Tape alphabet
States
Universal Turing Machine
M = (Q, Σ, Γ, δ , q0 , # , F ) Final states
Transition function Initial state
blank 19
A limitation of Turing Machines:
20
Solution: Universal Turing Machine
Turing Machines are “hardwired” Characteristics: they execute only one program
• Reprogrammable machine
Better are reprogrammable machines.
• Simulates any other Turing Machine
21
22
Tape 1
Three tapes Universal Turing Machine simulates any other Turing Machine
M Universal Turing Machine
Input of Universal Turing Machine • Description of transitions of M • Initial tape contents of
Description of M Tape 2
Tape Contents of M Tape 3
M
State of 23
M 24
Tape 1
Description of
M
Alphabet Encoding
We describe Turing machine M as a string of symbols: We encode
M
Symbols:
a
b
c
d
Encoding:
1
11
111
1111
as a string of symbols
25
K
26
State Encoding States:
q1
q2
q3
q4
Encoding:
1
11
111
1111
Head Move Encoding Move:
L
R
Encoding:
1
11
Transition Encoding
K Transition:
δ (q1, a ) = (q2 , b, L)
Encoding:
1 0 1 0 11 0 11 0 1 separator
27
28
Machine Encoding Transitions:
δ (q1, a ) = (q2 , b, L)
δ (q2 , b) = (q3 , c, R )
Encoding:
Tape 1 contents of Universal Turing Machine: encoding of the simulated machine M as a binary string of 0’s and 1’s
1 0 1 0 11 0 11 0 1 00 11 0 1 10 111 0 111 0 11 separator
29
30
Language of Turing Machines A Turing Machine is described with a binary string of 0’s and 1’s.
(Turing Machine 1)
L = { 010100101, Therefore:
00100100101111,
The set of Turing machines forms a language:
(Turing Machine 2)
111010011110010101,
Each string of the language is the binary encoding of a Turing Machine.
……
…… } 31
32
The Chomsky Language Hierarchy Recursively-enumerable Recursive
The Chomsky Hierarchy Context-sensitive Context-free Regular
Non-recursively enumerable 33
34
Unrestricted Grammars Example of unrestricted grammar Productions
u→v String of variables and terminals
String of variables and terminals
35
S → aBc aB → cA Ac → d
36
Context-Sensitive Grammars Productions
Theorem
u→v
A language L is recursively enumerable if and only if it is generated by an unrestricted grammar.
String of variables and terminals
and
String of variables and terminals
|u| ≤ |v|
37
The language
38
{a nb n c n } Theorem
is context-sensitive:
S → abc | aAbc
A language L is context sensitive
Ab → bA
if and only if it is accepted by a Linear-Bounded automaton.
Ac → Bbcc bB → Bb aB → aa | aaA 39
40
Linear Bounded Automaton (LBA) Linear Bounded Automata (LBAs)
Input string
are the same as Turing Machines with one difference:
[ a b c d e ]
The input string tape space is the only tape space allowed to use.
Left-end marker
Working space in tape
Right-end marker
All computation is done between end markers. 41
42
Observation
Decidability There is a language which is recursive but not context-sensitive.
43
44
A problem is decidable if some Turing machine solves (decides) the problem.
Consider problems with answer YES or NO.
Examples
Decidable problems:
• Does Machine M have three states ?
• Does Machine M have three states ?
• Is string w a binary number?
• Is string w a binary number?
• Does DFA M accept any input?
• Does DFA M accept any input?
45
The Turing machine that solves a problem answers YES or NO for each instance.
46
The machine that decides a problem: • If the answer is YES then halts in a yes state
Input problem instance
YES • If the answer is NO then halts in a no state
Turing Machine NO
These states may not be the final states.
47
48
Turing Machine that decides a problem
YES
Difference between Recursive Languages accept (“Acceptera”) and Decidable problems decide (“Avgöra”) For decidable problems:
NO
The YES states may not be final states.
YES and NO states are halting states 49
50
Some problems are undecidable: A famous undecidable problem: There is no Turing Machine that solves all instances of the problem.
The halting problem
51
52
Theorem
The Halting Problem
The halting problem is undecidable. Input: • Turing Machine M • String w
Proof Assume to the contrary that the halting problem is decidable.
Question: Does M halt on w?
53
54
There exists Turing Machine H
Construction of
that solves the halting problem
M
Input: initial tape contents
M halts on w
YES
q y YES
wM w
H w
M doesn’t halt on w
NO
H
q0 qn NO
encoding of
M
w
string
H
55
56
H′ Construct machine
H´
H
If H returns YES then loop forever.
wM w
If H returns NO then halt.
Loop forever
qy
YES
qn
NO
qa
qb
q0
57
Construct machine Input:
If
M
wM
58
Hˆ (machine
halts on input
M
)
Hˆ
wM
wM
copy
wM
wM wM
H′
Then loop forever Else halt 59
60
Run machine Input:
wHˆ
Hˆ
If
Hˆ
with input itself (machine
halts on input
Hˆ
Hˆ
)
wHˆ
wHˆ :
on input If
Hˆ
halts then loops forever.
If
Hˆ
doesn’t halt then it halts.
Then loop forever CONTRADICTION ! Else halt 61
This means that
62
Another proof of the same theorem
The halting problem is undecidable. If the halting problem was decidable then every recursively enumerable language would be recursive.
END OF PROOF 63
64
There exists Turing Machine
H
that solves the halting problem.
Theorem The halting problem is undecidable.
M
Proof
YES
M halts on w
NO
M doesn’t halt on w
H w
Assume to the contrary that the halting problem is decidable.
65
66
Turing Machine that accepts L and halts on any input Let Let
L be a recursively enumerable language.
H
M
NO
M be the Turing Machine that accepts L.
w We will prove that
M halts on w ? YES
L is also recursive:
accept w
We will describe a Turing machine that accepts L and halts on any input.
Run M
Halts on final state
with input w
reject w Halts on non-final 68 state
67
Therefore
Since
reject w
L is recursive.
L is chosen arbitrarily, we have
proven that every recursively enumerable language is also recursive.
Therefore, the halting problem is undecidable.
But there are recursively enumerable languages which are not recursive.
Contradiction! END OF PROOF
69
70
The Membership Problem
Input:
A simple undecidable problem:
• Turing Machine
M
• String w
The Membership Problem
Question: Does
71
M accept w?
72
There exists Turing Machine H that solves the membership problem
Theorem The membership problem is undecidable.
M
YES
M accepts w
NO
M rejects w
H w
Proof Assume to the contrary that the membership problem is decidable.
73
74
Turing Machine that accepts
L
and halts on any input Let
L be a recursively enumerable language.
Let
M be the Turing Machine that accepts L.
M We will prove that
L is also recursive:
w
H
YES
accept w
M accepts w? NO
reject w
We will describe a Turing machine that accepts
L and halts on any input. 75
Therefore Since
76
L is recursive.
L is chosen arbitrarily, we have
Therefore, the membership problem is undecidable.
proven that every recursively enumerable language is also recursive. But there are recursively enumerable languages which are not recursive.
Contradiction! 77
END OF PROOF
78
Problem
A is reduced to problem B.
B then we can solve problem A.
If we can solve problem
Reducibility
B
A 79
Problem
80
A is reduced to problem B. Example the halting problem
If B is decidable then
A is decidable.
reduced to the state-entry problem.
If
A is undecidable then B is undecidable.
81
82
The state-entry problem Input: •Turing Machine
Theorem
M
The state-entry problem is undecidable.
q •String w •State
Proof
Question:
Reduce the halting problem to
M enter state q on input w? Does
the state-entry problem.
83
84
Assume we have the state-entry algorithm: Suppose we have an algorithm (Turing Machine) that solves the state-entry problem.
YES
M w
We will construct an algorithm that solves the halting problem.
q
Algorithm for state-entry problem
M enters q
NO
M doesn’t enter q
85
86
Modify input machine M We want to design the halting algorithm:
• Add new state q • From any halting state add transitions to q
YES
M
M halts on q
M′
Algorithm for Halting problem
NO
w
M doesn’t halt on q
q
M halting states
single halt state
87
88
Algorithm for halting problem
M
halts Input: machine
if and only if
M and string w
1. Construct machine
M ′ halts on state q
M’ with state q
2. Run algorithm for state-entry problem with inputs:
89
M’, q, w
90
We reduced the halting problem to the state-entry problem.
Halting problem algorithm
M
Generate
M′
M′ q w
State-entry algorithm
YES
YES
NO
NO
Since the halting problem is undecidable, it must be that the state-entry problem is also undecidable.
w END OF PROOF 91
92
Another example
Theorem
The halting problem reduced to the blank-tape halting problem.
Input: Turing Machine
The blank-tape halting problem is undecidable.
Proof
M
Reduce the halting problem to the blank-tape halting problem.
Question: Does M halt when started with a blank tape?
93
94
Assume we have the blank-tape halting algorithm Suppose we have an algorithm for the blank-tape halting problem.
YES M halts on
M
We will construct an algorithm for the halting problem.
Algorithm for blank-tape halting problem
blank tape
NO
M doesn’t halt on blank tape
95
96
Construct a new machine
We want to design the halting algorithm:
YES
M Algorithm for halting problem
NO
w
Mw
• On blank tape writes w • Then continues execution like
M halts on w
M
Mw
M doesn’t halt on w
step 1
step2
M with input w
if blank tape
execute
then write w 97
M
halts on input string
98
Algorithm for halting problem
w
Inputs: machine if and only if
M
and string
w
1. Construct M w 2. Run algorithm for blank-tape halting problem with input M w
M w halts when started with blank tape.
99
100
Halting problem algorithm We reduced the halting problem to the blank-tape halting problem.
M w
YES Generate
Mw
Mw
Blank-tape halting algorithm
NO
YES NO
Since the halting problem is undecidable, the blank-tape halting problem is also undecidable.
END OF PROOF 101
102
Summary of Undecidable Problems Blank-tape halting problem Halting Problem Does machine
Does machine
M halt on input w?
Membership problem Does machine
M halt when starting
on blank tape?
State-entry Problem:
M accept string w?
Does machine
In other words: Is a string w a member of a
on input
M enter state q
w?
recursively enumerable language L?) 103
104
Uncomputable Functions
f Uncomputable Functions
Domain
Range
A function is uncomputable if it cannot be computed for all of its domain.
105
106
Example Theorem
f (n)
An uncomputable function:
Function is uncomputable.
Proof
maximum number of moves until
f (n) =
Assume to the contrary that
any Turing machine with n states halts when started with the blank tape.
f (n) is computable. Then the blank-tape halting problem is decidable. 107
108
Algorithm for blank-tape halting problem Input: machine 1. Count states of 2. Compute
Therefore, the blank-tape halting problem must be decidable.
M
M: m
f (m)
However, we know that the blank-tape halting problem is undecidable.
3. Simulate M for f (m) steps starting with empty tape
Contradiction! If
M
halts then return YES otherwise return NO 109
Therefore, function
110
Rice’s Theorem
f (n)
is uncomputable.
END OF PROOF
111
112
Some non-trivial properties of recursively enumerable languages:
Definition Non-trivial properties of recursively enumerable languages:
• L is empty • L is finite • L contains two different strings
any property possessed by some (not all) recursively enumerable languages.
of the same length
113
114
Rice’s Theorem We will prove some non-trivial properties without using Rice’s theorem.
Any non-trivial property of a recursively enumerable language is undecidable.
115
116
Theorem For any recursively enumerable language
L
it is undecidable whether it is empty.
Membership problem:
Proof
Does machine
We will reduce the membership problem
M accept string w?
to the problem of deciding whether L is empty.
117
118
Let M be the machine that accepts L
L( M ) = L
We will design the membership algorithm:
Assume we have the empty language algorithm:
M M
Algorithm for empty language problem
YES L(M) empty
w NO
YES Algorithm for membership problem
NO
M accepts w
M rejects w
L(M) non-empty 119
120
First construct machine
When
w∈ L
Mw
if and only if
M enters a final state,
compare original input string with
w.
L( M w )
Accept if original input is the same as
w.
is not empty
L( M w ) = {w}
121
122
Algorithm for membership problem Inputs: machine 1. Construct
M
and string
Membership algorithm
w
Mw
2. Determine if
M construct
L( M w ) is empty
w
YES: then w∉ L(M ) NO: then
Mw
Mw
YES
NO
NO
YES
Check if
L( M w ) is empty
w∈ L(M ) 123
We reduced the empty language problem to the membership problem.
124
Decidability …continued…
Since the membership problem is undecidable, the empty language problem is also undecidable.
END OF PROOF 125
126
Theorem
Let
For a recursively enumerable language it is undecidable whether
M be the machine that accepts L
L( M ) = L
L
L is finite. Assume we have the finite language algorithm:
YES Proof
Algorithm for finite language problem
M
We will reduce the halting problem to the finite language problem.
L(M) finite
NO L(M) not finite
127
128
First construct machine
Mw.
We will design the halting problem algorithm: Initially simulates M on input
M w
YES Algorithm for halting problem
NO
When
M halts on w
w.
M enters a halt state,
accept any input (infinite language). Otherwise accept nothing (finite language).
M doesn’t halt on w 129
130
Algorithm for halting problem:
M
halts on
Inputs: machine
w
if and only if
1. Construct
Mw
2. Determine if
L( M w ) is not finite.
YES: then NO: then 131
M and string w
L( M w ) is finite
M doesn’t halt on w M halts on w 132
Machine for halting problem We reduced the finite language problem to the halting problem. YES
M
construct
Mw
w
NO
Check if
L( M w ) NO
is finite
YES
Since the halting problem is undecidable, the finite language problem is also undecidable.
END OF PROOF 133
134
Let
M be the machine that accepts L:
Theorem
L( M ) = L
For a recursively enumerable language L
Assume we have the equal-strings algorithm:
it is undecidable whether L contains two different strings of same length.
M
Proof We will reduce the halting problem to the two strings of equal length- problem.
YES L(M) contains
Algorithm for two-strings problem
NO
L(M) does not contain two equal length strings
135
We will design the halting problem algorithm:
M w
YES Algorithm for halting problem
136
First construct machine
Initially simulates
Mw
M on input w.
M halts on w M enters a halt state, accept symbols a and b.
When
NO
M doesn’t halt on w
(two equal length strings)
137
138
Algorithm for halting problem
M
Inputs: machine
halts on w
1. Construct
if and only if
M
and string
w
Mw
2. Determine if M w accepts two strings of equal length
M w accepts a and b
M halts on w then M doesn’t halt on w
YES: then
(two equal length strings)
NO: 139
140
Machine for halting problem We reduced the two strings of equal length problem to the halting problem.
M w
YES construct
Mw
YES
Check if
L( M w ) has two equal length strings
NO
NO
Since the halting problem is undecidable, the two strings of equal length problem is also undecidable.
END OF PROOF 141
Rice's theorem: (Henry Gordon Rice ) If S is a non-trivial property of Turing-acceptable languages, then the problem
142
Example
‘Does L(M) have the property S? is undecidable.
Given a Turing machine M, is it possible to decide if all strings accepted by M start and end with the same symbol?
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
144
Formally Undecidable Problem is about non-trivial property of a language. There exist TM’s with given property, and TM’s without.
Ω = { L | TM acceptable languages With strings that start and end with the same symbol. }
145
146
Fundamental Questions Underlying Theory of Computation
Interaction: Conjectures, Results, and Myths
What is computation? Dina Goldin Univ. of Connecticut, Brown University
How is computation modeled?
http://www.cse.uconn.edu/~dqg 147
Shared Wisdom
148
The Mathematical Worldview
(from our undergraduate Theory of Computation courses)
“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."
computation: finite transformation of input to output
Martin Davis, Computability & Unsolvability, 1958
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.
“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.”
Church-Turing thesis: Turing
Michael Sipser, Introduction to the Theory of Computation, 1997
Machines capture this (algorithmic) notion of computation
149
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]
Rethinking Shared Wisdom:
*
(what do computers do?) input to output
computation: ongoing process which performs a task or delivers a service
input: finite-size (string or number)
dynamically generated stream of input tokens (requests, percepts, messages)
closed system: all input available at start, all output generated at end
open system: later inputs depend on earlier outputs and vice versa (I/O entanglement, history dependence)
computation: finite transformation of
If a computation does not terminate, it’s “useless” – but aren’t OS’s useful??
behavior: functions, algorithmic transformation of input data to output data
behavior: processes, components, control devices, reactive systems, intelligent agents
Church-Turing thesis: Turing Machines capture this (algorithmic) notion of computation
Wegner’s conjecture: Interaction is more powerful than algorithms
151
152
* Enigma
Example: Driving home from work
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.
Algorithmic input: a description of the world (a static “map”)
We can’t possibly be expected to predict that in advance! Nevertheless the problem is solvable!
Output: a sequence of pairs of #s (time-series data) - for turning the wheel - for pressing gas/break
Google “autonomous vehicle research”
Similar to classic AI search/planning problems. 153
154
Sequential Interaction
Driving home from work (cont.) The problem is solvable interactively.
• Sequential interactive computation: system continuously interacts with its environment by alternately accepting an input string and computing a corresponding output string.
Interactive input: stream of video camera images, gathered as we are driving
• 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
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
- control systems - online computation - transducers - dynamic algorithms - embedded systems
156
Church-Turing Thesis Revisited
Sequential Interaction Thesis Whenever there is an effective method for performing sequential interactive computation, this computation can be performed by a Persistent Turing Machine
•
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
• Universal PTM: simulates any other PTM
•
– Need additional input describing the PTM (only once)
Common Reinterpretation (Strong Church-Turing Thesis) A TM can do (compute) anything that any computer can do!
• 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
158
Origins of the Church-Turing Thesis Myth A TM can do anything that a computer can do.
•
The equivalence of the two is a myth – the function-based behavior of algorithms does not capture all forms of computation
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.
– 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
Each claim is correct in isolation
– choice machines extend Turing Machines to interaction by allowing a human operator to make choices during the computation.
provided we understand the underlying assumptions
Together, they induce an incorrect conclusion TMs = solvable problems = algorithms = computation 159
Deconstructing the Turing Thesis Myth (1)
160
Deconstructing the Turing Thesis Myth (2)
solvable problems = algorithms
TMs = solvable problems Assumes:
• Assumes:
- Algorithmic computation is also function based; i.e., the computational role of an algorithm is to transform input data to output data.
All computable problems are function-based.
• Reasons:
• 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.
– Original (mathematical) meaning of “algorithms” E.g. Euclid’s greatest common divisor algorithm
– Original (Knuthian) meaning of “algorithms”
– The batch-based modus operandi of original computers did not lend itself to other conceptualizations of computation. 161
“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)
The Shift to Interaction in CS algorithms = computation
Algorithmic
• Reasons: – The ACM Curriculum (1968): Adopted algorithms as the central concept of CS without explicit agreement on the meaning of this term.
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
– 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 [Rice&Rice’69] a problem of some sort.” “An algorithm is a collection of simple instructions for carrying out some task. Commonplace in everyday life, algorithms sometimes [Sipser’97] are called procedures or recipes...”
Interactive
163
164
Modeling Interactive Computation: PTMs in Perspective
The Interactive Turing Test • From answering questions to holding discussions. • Learning from -- and adapting to -- the questioner. • “Book intelligence” vs. “street smarts”.
• 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 “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]
– 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.
165
166
References
Future Work: 3 conjectures
http://www.cse.uconn.edu/~dqg/papers/
• Theory of Sequential Interaction
[Wegner’97] Peter Wegner Why Interaction is more Powerful than Algorithms Communications of the ACM, May 1997
conjecture: notions analogous to computational complexity, logic, and recursive functions can be developed for sequential interaction computation
[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
• Multi-stream interaction – From hidden variables to hidden interfaces conjecture: multi-stream interaction is more powerful than sequential interaction [Wegner’97]
[I&C’04] Dina Goldin, Scott Smolka, Paul Attie, Elaine Sonderegger Turing Machines, Transition Systems, and Interaction Information & Computation Journal, 2004
• Formalizing indirect interaction – Interaction via persistent, observable changes to the common environment – In contrast to direct interaction (via message passing)
[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
conjecture: direct interaction does not capture all forms of multi-agent behaviors 167
168