Jan 18, 2018
Formal Languages, Automata and Models of Computation
CDT314 FABER Formal Languages, Automataand Models of Computation
Lecture 13 Mlardalen University 2012 1 ContentAlan Turing and
Hilbert ProgramUniversal Turing MachineChomsky
HierarchyDecidability Reducibility Uncomputable Functions Rices
Theorem Church-Turing Thesis Computation beyond Turing Model
Interactive Computing, Persistent TMs (Dina Goldin/Peter Wegner)
TURING MACHINES Based on C Busch, RPI, Models of Computation
Turings "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) Standard Turing Machine
Tape ...... ...... Read-Write head Control Unit The Tape No
boundaries -- infinite length ...... ......
Read-Write head The head moves Left or Right ...... ......
Read-Write head The head at each time step: 1. Reads a symbol 2.
Writes a symbol 3. Moves Left or Right Example Time 0 ...... Time 1
...... 1. Reads 2. Writes 3. Moves Left The Input String Input
string Blank symbol ...... ...... head
Head starts at the leftmost position of the input string States
& Transitions Write Read Move Left Move Right Time 1 ......
...... Time 2 ...... ...... Determinism Not Allowed Turing Machines
are deterministic Allowed
No lambda transitions allowed in standard TM! Formal Definitions
for Turing Machines Transition Function Turing Machine Input
alphabet Tape alphabet States Final Transition
function Initial state blank Universal Turing Machine A limitation
of Turing Machines:
Turing Machines are hardwired they execute only one program Better
are reprogrammable machines. Solution: Universal Turing Machine
Characteristics: Reprogrammable machine Simulates any other Turing
Machine Universal Turing Machine
simulates any other Turing Machine Input ofUniversal Turing Machine
Description of transitions of Initial tape contents of Three tapes
Description of Universal Turing Machine Tape Contents of
States of We encode/describe Turing Machine as a string of
symbols.
Tape 1 Description of We encode/describe Turing Machine as a string
of symbols. Tape Contents Encoding
Alphabet Encoding Symbols: Encoding: State Encoding States:
Encoding: Head Move Encoding Move: Encoding: Transition Encoding
Transition: Encoding: separator Machine Encoding Transitions:
Encoding: separator Tape 1 contents of Universal Turing
Machine:
encoding of the simulated machine as a binary string of 0s and 1s A
Turing Machine is described
with a binary string of 0s and 1s. Therefore: The set of Turing
machines forms a language: Each string of the language is the
binary encoding of a Turing Machine. Language of Turing
Machines
, , } (Turing Machine 2) (Turing Machine 3) The Chomsky Hierarchy
The Chomsky Language Hierarchy
Recursively-enumerable Recursive Context-sensitive Context-free
Regular Non-recursively enumerable Recursively Enumerable
Languages
Unrestricted Grammars Productions String of variables and terminals
Example of unrestricted grammar Theorem A language is recursively
enumerable if and only if it is generated by an unrestricted
grammar. Context-Sensitive Grammars
and Productions String of variables and terminals The language is
context-sensitive: A language is context sensitive if and only
if
Theorem A language is context sensitive if and only if it is
accepted by a Linear-Bounded automaton. 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. Left-end
marker Input string Right-end Working space in tape All computation
is done between end markers. Linear Bounded Automaton (LBA)
Observation There is a language which is context-sensitive but not
recursive. Decidability Consider problems with answer YES or
NO.
Examples Does Machinehave three states ? Is string a binary number?
Does DFA accept any input? A problem is decidable if some Turing
machine
solves (decides) the problem. Decidable problems: Does Machinehave
three states ? Is string a binary number? Does DFA accept any
input? The Turing machine that solves a problem
answers YES or NO for each instance. Input problem instance YES
Turing Machine NO 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.
Turing Machine that decides a problem
YES NO YES and NO states are halting states Difference between
Recursive Languages (Acceptera) andDecidable problems (Avgra) For
decidable problems: The YES states may not be final states. Some
problems are undecidable:
There is no Turing Machine that solves all instances of the
problem. A famous undecidable problem:
The halting problem The Halting Problem Input: Turing Machine
String Question: Does halt on ? Theorem The halting problem is
undecidable. Proof Assume to the contrary that the halting problem
is decidable. There exists Turing Machine
that solves the halting problem YES halts on NO doesnt halt on
Construction of Input: initial tape contents YES NO Encoding of
String Construct machine returns YES then loop forever. If returns
NO then halt. If Loop forever YES NO Construct machine Input:
(machine ) If halts on input Then loop forever Else halt copy Run
machinewith input itself
If halts on input Then loop forever Else halt on input : If halts
then loops forever. If doesnt halt then it halts. CONTRADICTION !
The halting problem is undecidable.
This means that The halting problem is undecidable. END OF PROOF
Another proof of the same theorem:
If the halting problem was decidable then every recursively
enumerable language would be recursive. Recursive vs. Recursively
Enumerable Languages Theorem The halting problem is undecidable.
Proof Assume to the contrary that the halting problem is decidable.
There exists Turing Machine
that solves the halting problem. YES halts on NO doesnt halt on
Letbe a recursively enumerable language.
Let be the Turing Machine that accepts . We will prove that is also
recursive: We will describe a Turing machine that acceptsand halts
on any input. NO reject halts on ? YES accept Run with input
reject
Turing Machine that accepts and halts on any input NO reject halts
on ? YES accept Halts on final state Run with input reject Halts on
non-final state Therefore is recursive. Since 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! Therefore, the
halting problem is undecidable.
END OF PROOF A simple undecidable problem:
The Membership Problem The Membership Problem
Input: Turing Machine String Question: Does accept ? Theorem The
membership problem is undecidable. Proof Assume to the contrary
that the membership problem is decidable. There exists a Turing
Machine
that solves the membership problem accepts YES NO rejects Letbe a
recursively enumerable language.
Let be the Turing Machine that accepts . We will prove thatis also
recursive: We will describe a Turing machine that acceptsand halts
on any input. Turing Machine that accepts
and halts on any input YES accept accepts ? NO reject Therefore, is
recursive. Sinceis chosen arbitrarily, we have proven that every
recursively enumerable language is also recursive. But there are
recursively enumerable languages which are not recursive.
Contradiction! Therefore, the membership problem is
undecidable.
END OF PROOF Reducibility Problemis reduced to problem
If we can solve problemthen we can solve problem . Problemis
reduced to problem
Ifis decidable then is decidable. If is undecidable then is
undecidable. Example the halting problem reduced to the state-entry
problem. The state-entry problem
Inputs: Turing Machine State String Question: Does enter state on
input ? Theorem The state-entry problem is undecidable. Proof
Reduce the halting problem to the state-entry problem. Suppose we
have an algorithm that solves the state-entry problem.
(Turing Machine) that solves the state-entry problem. We will
construct an algorithm that solves the halting problem. Assume we
have the state-entry algorithm:
YES enters Algorithm for state-entry problem NO doesnt enter We
want to design the halting algorithm:
YES halts on Algorithm for Halting problem NO doesnt halt on Modify
input machine Add new state From any halting state add transitions
to Single halt state halting states halts if and only if halts on
state Algorithm for halting problem
Inputs: machine and string 1.Construct machine with state 2. Run
algorithm for state-entry problem with inputs: , Halting problem
algorithm
YES YES Generate State-entry algorithm NO NO 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 Another
example The halting problem reduced to the blank-tape halting
problem. The blank-tape halting problem
Input: Turing Machine Question: Does halt when started with a blank
tape? Theorem The blank-tape halting problem is undecidable. Proof
Reduce the halting problem to the blank-tape halting problem.
Suppose we have an algorithm
for the blank-tape halting problem. We will construct an algorithm
for the halting problem. blank-tape halting algorithm
Assume we have the blank-tape halting algorithm halts on blank tape
YES Algorithm for blank-tape halting problem NO doesnt halt on
blank tape We want to design the halting algorithm:
YES halts on Algorithm for halting problem NO doesnt halt on
Construct a new machine
On blank tape writes Then continues execution like step 1 step2 if
blank tape execute then write with input haltson input string if
and only if halts when started with blank tape. Algorithm for
halting problem
Inputs: machine and string 1.Construct 2.Run algorithm for
blank-tape halting problem with input Halting problem
algorithm
YES Blank-tape halting algorithm YES Generate NO NO 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 Summary of Undecidable
Problems
Halting Problem Does machinehalt on input? Membership problem Does
machineaccept string? Is a stringmember of a recursively enumerable
language?) (In other words: Blank-tape halting problem
Does machine halt when starting on blank tape? State-entry Problem:
Does machineenter state on input? Uncomputable Functions
Uncomputable Functions
Domain Range A function is uncomputable if it cannot be computed
for all of its domain. Example An uncomputable function: maximum
number of moves until any Turing machine withstates halts when
started with the blank tape. Theorem Function is uncomputable.
Proof Assume to the contrary that is computable. Then the
blank-tape halting problem is decidable. Algorithm for blank-tape
halting problem
Input:machine 1.Count states of: 2.Compute 3.Simulate for steps
starting with empty tape If halts then returnYES otherwise returnNO
Therefore, the blank-tape halting
problem must be decidable. However, we know that the blank-tape
halting problem is undecidable. Contradiction! Therefore, function
is uncomputable.
END OF PROOF Rices Theorem Definition Non-trivial property of
recursively enumerable languages: Any property possessed by some
(not all) recursively enumerable languages. Some non-trivial
properties of
recursively enumerable languages: is empty is finite contains two
different strings of the same length Rices Theorem Any non-trivial
property of a recursively enumerable language is undecidable. Rices
Theorem If is a set of Turing-acceptable languages that contain
some but not all such languages, no TM can decide for an arbitrary
Turing-acceptable language L if L belongs to or not. Exempel Givet
en Turingmaskin M, kan man avgra om alla strngar som accepteras av
M brjar och slutar p samma tecken? Oavgrbart Problemet handlar om
en icke-trivial sprkegenskap. Det finns TM:er vars accepterade
strngar har egenskapen i frga, och det finns TM:er vars accepterade
strngar inte har egenskapen. Formellt: = { L | TM accepterbara sprk
vars strngar brjar och slutar p samma tecken. } Now we will prove
some non-trivial properties
without using Rices theorem. Theorem For any recursively enumerable
language it is undecidable whether it is empty. Proof We will
reduce the membership problem to the problem of deciding whether is
empty. Membership problem: Does machineaccept string? Letbe the
machine that accepts
Assume we have the empty language algorithm: YES empty Algorithm
for empty language problem NO not empty We will design the
membership algorithm:
YES accepts Algorithm for membership problem NO rejects First
construct machine :
Whenenters a final state, compare original input string with.
Accept if original input is the same as . if and only if is not
empty Algorithm for membership problem
Inputs:machine and string 1.Construct 2.Determine if is empty YES:
then NO: then Membership algorithm NO YES Check if construct YES is
empty NO 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 Decidability continued
Theorem For a recursively enumerable language it is undecidable to
determine whether is finite. Proof We will reduce the halting
problem to the finite language problem. Letbe the machine that
accepts
Assume we have the finite language algorithm: Algorithm for finite
language problem YES NO finite not finite We will design the
halting problem algorithm:
Algorithm for Halting problem YES NO halts on doesnt halt on First
construct machine .
Initially, simulates on input. When enters a halt state, accept any
input (infinite language). Otherwise accept nothing (finite
language). halts on is not finite. if and only if Algorithm for
halting problem:
Inputs:machine and string 1.Construct 2.Determine if is finite YES:
then doesnt halt on NO: then halts on Machine for halting
problem
construct Check if is finite YES NO 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 Theorem For a recursively
enumerable language it is undecidable whether contains two
different strings of same length. Proof We will reduce the halting
problem to the two strings of equal length- problem. Letbe the
machine that accepts
Assume we have the two-strings algorithm: Algorithm for two-strings
problem YES NO contains doesnt contain two equal length strings We
will design the halting problem algorithm:
Algorithm for Halting problem YES NO halts on doesnt halt on First
construct machine .
Initially, simulates on input . When enters a halt state, accept
symbols or . (two equal length strings) halts on if and only if
acceptsand (two equal length strings) Algorithm for halting
problem
Inputs:machine and string 1.Construct 2.Determine if accepts two
strings of equal length YES: then halts on NO: thendoesnt halt on
Machine for halting problem
YES YES Check if construct NO NO has two equal length strings 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 Church-Turing Thesis*
*Source: Stanford Encyclopaedia of Philosophy A Turing machine is
an abstract representation of a computing device.
It is more like a computer program (software) than a computer
(hardware). were first proposed by Alan Turing, in an attempt to
give
LCMs [Logical Computing Machines: Turings expression for Turing
machines] were first proposed by Alan Turing, in an attempt to give
a mathematically precise definition of "algorithm" or "mechanical
procedure". The Church-Turing thesis
concerns an effective or mechanical method in logic and
mathematics. A method, M, is called effective or mechanical just in
case:
M is set out in terms of a finite number of exact instructions
(each instruction being expressed by means of a finite number of
symbols); M will, if carried out without error, always produce the
desired result in a finite number of steps; M can (in practice or
in principle) be carried out by a human being unaided by any
machinery except for paper and pencil; M demands no insight or
ingenuity on the part of the human being carrying it out. Turings
thesis: LCMs [logical computing machines; TMs] can do anything that
could be described as "rule of thumb" or "purely mechanical".
(Turing 1948) He adds: This is sufficiently well established that
it is now agreed amongst logicians that "calculable by means of an
LCM" is the correct accurate rendering of such phrases. Turing
introduced this thesis in the course of arguing that the
Entscheidungsproblem, or decision problem, for the predicate
calculus - posed by Hilbert (1928) - is unsolvable. Churchs account
of the Entscheidungsproblem
By the Entscheidungsproblem of a system of symbolic logic is here
understood the problem to find an effective method by which, given
any expression Q in the notation of the system, it can be
determined whether or not Q is provable in the system. Churchs
thesis: A function of positive integers is effectively calculable
only if recursive. Misunderstandings of the Turing Thesis
Turing did not show that his machines can solve any problem that
can be solved "by instructions, explicitly stated rules, or
procedures" and nor did he prove that a universal Turing machine
"can compute any function that any computer, with any architecture,
can compute". Turing proved that his universal machine can compute
any function that any Turing machine can compute; and he put
forward, and advanced philosophical arguments in support of, the
thesis here called Turings thesis. A thesis concerning the extent
of effective methods - procedures that a human being unaided by
machinery is capable of carrying out - has no implication
concerning the extent of the procedures that machines are capable
of carrying out, even machines acting in accordance with explicitly
stated rules. Among a machines repertoire of atomic operations
there may be those that no human being unaided by machinery can
perform. Turing introduces his machines as an idealised description
of a certain human activity, the tedious one of numerical
computation, which until the advent of automatic computing machines
was the occupation of many thousands of people in commerce,
government, and research establishments. Turings "Machines". These
machines are humans who calculate
Turings "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) Computation Beyond Turing Model
Traditionally, the dynamics of computing systems, their unfolding
behavior in space and time has been a mere means to the end of
computing the function which specifies the algorithmic problem
which the system is solving. In much of contemporary computing, the
situation is reversed: the purpose of the computing system is to
exhibit certain behaviour. () We need a theory of the dynamics of
informatic processes, of interaction, and information flow, as a
basis for answering such fundamental questions as: What is
computed? What is a process? What are the analogues to Turing
completeness and universality when we are concerned with processes
and their behaviours, rather than the functions which they compute?
(Abramsky, 2008) Abramsky, S. (2008) Information, processes and
games. In Philosophy of Information; van Benthem, J., Adriaans, P.,
Eds.; North Holland: Amsterdam, The Netherlands; pp. 483549.
Computation Beyond Turing Model
According to Abramsky, there is the need for second generation
models of computation, and in particular there is the need for
process models such as Petri nets, Process Algebra, and similar.
The first generation models of computation were originating from
problems of formalization of mathematics and logic, while processes
or agents, interaction, and information flow are genuine product of
the modern development of computing. In the second generation
models of computation, previous isolated systems with limited
interactions with the environment are replaced by processes or
agents for which the interactions with each other and with the
environment are fundamental. Computation Beyond Turing Model
As a result of interactions among agents and with the environment,
complex behavior emerges. The basic building block of this
interactive approach is the agent, and the fundamental operation is
interaction. The ideal features sought for are computational
qualities of computational agents such as biological organisms such
as resilience and self-* capabilities. This approach works at both
macro-scale (such as processes in operating systems, software
agents on the Internet, transactions, etc.) and on micro-scale
(program implementation down to hardware). Interaction:
Conjectures, Results, and Myths
Additional reading Interaction:Conjectures, Results, and Myths Dina
Goldin Univ. of Connecticut, Brown University Fundamental Questions
Underlying Theory of Computation
What is computation? How do we model it? 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 availableat
start, all output generated at end behavior: functions,
transformation of input data to output data Church-Turing thesis:
Turing Machines capture this (algorithmic) notion of computation
Mathematical worldview:All computable problemsare function-based.
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 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,its
useless but arent OSs useful?? Rethinking Shared Wisdom: (what do
computers do?)
computation: finite transformation of input to output input:
finite-size (string or number)closed system: all input available at
start, all output generated at end behavior: functions, algorithmic
transformation of input data to output data Church-Turing thesis:
Turing Machines capture this (algorithmic) notion of computation
computation: ongoing process which performs a task or delivers a
service 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 devices, reactive systems,
intelligent agents Wegners conjecture: Interaction is more powerful
than algorithms 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. 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
thats detailed enough? ? Worse yetthe domain is dynamic. The output
depends on weather conditions, and on other drivers and
pedestrians. We cant possibly be expected to predict that in
advance! Nevertheless the problem is solvable! Google autonomous
vehicle research 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, generatedas we are driving similar to control
systems, or online computation A paradigm shift in the
conceptualization of computational problem solving. Rethinking the
mathematical worldview
OUTLINE Rethinking the mathematical worldview Persistent Turing
Machines (PTMs) PTM expressiveness Sequential Interaction
Sequential Interaction Thesis The Myth of the Church-Turing Thesis
the origins of the myth Conclusions and future work Sequential
Interaction
Sequential interactive computation: System continuously interacts
with its environmentby alternately accepting an input stringand
computing a corresponding output string. Examples: method
invocations of an object instancein 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, etc. Sequential
Interaction Thesis
Whenever there is an effective method for performing sequential
interactive computation, this computationcan 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. CHURCH-TURING THESIS
REVISITED
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 a computer can do. The equivalence
of the two is a myth! This myth has been dogmatically accepted by
the CS community. The function-based behavior of algorithms does
not capture all forms of computation. 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. ORIGINS OF THE CHURCH-TURING THESIS MYTH
A TM can do anything that a computer can do. Based on several
claims: A problem is solvable if there exists a Turing Machinefor
computing it. A problem is solvable if it can be specified by an
algorithm. 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 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
fundamentalnotions of computation, identifying computability with
the computation of functions, as well as with Turing Machines. The
batch-based operation of original computers didsuggest other
conceptualizations of computation. Deconstructing the Turing Thesis
Myth (2)
solvable problems = algorithms Assumes: Algorithmic computation is
also function based;i.e., the computational role of an algorithmis
to transform input data to output data. Reasons: Original
(mathematical) meaning of algorithms E.g. Euclids greatest common
divisor algorithm Original (Knuthian) meaning of algorithms An
algorithm has zero or more inputs, i.e., quantities which aregiven
to it initially before the algorithm begins. [Knuth68]
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. Deconstructing the Turing
Thesis Myth (3)
algorithms = computation Reasons: 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&Rice69] An algorithm is a collection of simple
instructions for carrying out some task. Commonplace in everyday
life, algorithms sometimes are called procedures or
recipes.[Sipser97] Outline Rethinking the mathematical worldview
Persistent Turing Machines (PTMs) PTM expressiveness Sequential
Interaction The Myth of the Church-Turing Thesis Conclusions and
future work 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, semi-Markov processes 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]
Modeling Interactive Computation: PTMs in Perspective
Many other interactive models Reactive 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. 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 [Wegner97] 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 (GDC: except in case when environment is represented as
an agent in an multi-agentmodel) References
http://www.cse.uconn.edu/~dqg/papers/
[Wegner97] Peter Wegner Why Interaction is more Powerful than
Algorithms Communications of the ACM, May 1997 [EGW04] Eugene
Eberbach, Dina Goldin, Peter WegnerTuring's Ideas and Models of
Computation book chapter, in Alan Turing: Life and Legacy of a
Great Thinker, Springer 2004 [I&C04] Dina Goldin, Scott Smolka,
Paul Attie, Elaine Sonderegger Turing Machines, Transition Systems,
and Interaction Information & Computation Journal, 2004 [GW04]
Dina Goldin, Peter Wegner The Church-Turing Thesis: Breaking the
Myth presented at CiE 2005, Amsterdam, June to be published in
LNCS