610 likes | 748 Views
Interaction: Conjectures, Results, and Myths. Dina Goldin Univ. of Connecticut, Brown University http://www.cse.uconn.edu/~dqg. Fundamental Questions Underlying Theory of Computation. What is computation? How do we model it?. computation : finite transformation of input to output
E N D
Interaction: Conjectures, Results, and Myths Dina GoldinUniv. of Connecticut, Brown Universityhttp://www.cse.uconn.edu/~dqg CWI
Fundamental Questions Underlying Theory of Computation What is computation? How do we model it? CWI
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 Church-Turing thesis: Turing Machines capture this (algorithmic) notion of computation Shared Wisdom(from undergraduate Theory of Computation courses) Mathematical worldview: All computable problems are function-based. CWI
The Operating System Conundrum If a computation does not terminate, it’s “useless” – but aren’t OS’s useful?? Real programs… 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] CWI
Outline • Rethinking the mathematical worldview • Historical perspective • Algorithmic vs. interactive computation • Wegner’s conjecture • Driving home from work • Persistent Turing Machines (PTMs) • PTM expressiveness • Sequential Interaction Thesis • The Myth of the Church-Turing Thesis • Future work CWI
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 CWI
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 Turing Machines do not capture this (interactive) notion of computation Rethinking Shared Wisdom:(what do computers do?) CWI
Modeling Interactive Computation • Many 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 our approach unique? • Communication (I/O) is part of computation. • a paradigm change • Bridging the gap between concurrency theory (labeled transition systems) and traditional TOC. • models borrow from both fields • Focus on expressiveness • rather than mere convenience of modeling CWI
Our Motivation Wegner’s Conjecture: Interaction is more powerful than algorithms [CACM’97] CWI
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. CWI
Can you get the carinto my driveway without running over my kid? CWI
? 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 enough? Worse yet… the domain is dynamic. The output 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” CWI
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. CWI
Outline • Rethinking the mathematical worldview • Persistent Turing Machines (PTMs) • extending N3TM computations model • Persistent Stream Languages • examples • PTM expressiveness • Sequential Interaction Thesis • The Myth of the Church-Turing Thesis • Future work CWI
Three-tape Turing Machines (N3TM) input s - current state w1- contents of input tape w2- contents of work tape w3- contents of output tape n1 , n2 , n3- tape head posns work S output • N3TM configurations: • Computation = a sequence of transitions between configurations, from initial to halting. CWI
® | < s0, win, w, e, 1, 1, 1 > < sh, win, w’, wout, 1, 1, 1 > N3TM macrosteps win win w w’ So e Sh wout Þ < win, w > < w’, wout > Notation: M CWI
Extending N3TM Computations in1 in1 in2 in2 w1 w1 w2 e ... out1 e out2 e S0 Sh S0 Sh • Dynamic stream semantics • - Inputs are streams of dynamically generated tokens (strings). • - For each input token, there is an N3TM macrostep generating the corresponding output token. • Persistence (memory) • - The contents w of the work tape at the beginning of each macrostep is the same as at the end of the previous one. CWI
Interaction Stream stream of inputs stream of outputs PTM memory Environment Persistent Turing Machine (PTM) PTM: N3TM with persistent stream-based computational semantics • Persistent Stream Language of a PTM: set of streams • Conductive stream semantics: ... CWI
Formal Definition (Coinductive definition, relative to N3TM M and memory w) PSL(M(w)) = { (wi, wo), s’ S | $w’S*: > Ù < w > Þ < w ' , w w , o i s Î ' PSL ( M ( w ' ))} PSL = { PSL(M) | M is a PTM} CWI
PTM Example • Answering Machine (AM) fAM(record Y, X) = (ok, XY) fAM(erase, X) = (done, e) fAM(playback, X) = (X, X) • PSL(AM) contains: (record hello,ok), (erase, done) , (record Farhad, ok),(record Arbab,ok) , (playback,Farhad Arbab), … • Sequential objects as PTMs CWI
More PTM Examples • PowerPoint Editor • Input: mouse movements, keyboard clicks • Output: refreshed view of presentation • Driving Agent CWI
1 (1*,1) (1*,1) # (1*,0) (0*,1) (0*,1) 0 (0*,0) PTM Example: Latch • At each step, output first bit of previous step. • inputs in1; outputs 1 • inputs in2; outputs 1st bit of in1 • inputs in3; outputs 1st bit of in2 • ... • PSL(Latch) contains: • PTM as a Labeled Transition System • Latch has 3 states, meaning “contents of worktape” • The labels are input/output pairs, as in the interaction stream. CWI
Outline • Rethinking the mathematical worldview • Persistent Turing Machines (PTMs) • Interactive Transition Systems • Different notions of equivalence • Correspondence to PTMs • Sequential Interaction Thesis • The Myth of the Church-Turing Thesis • Future work CWI
1 (1*,1) (1*,1) # (1*,0) (0*,1) (0*,1) 0 (0*,0) Interactive Transition Systemsover S • S is set of states • ris initial state (root) • m is transition relation < S, m, r > Required to be recursively enumerable CWI
Interactive Stream Equivalence • Infinite sequences of input/output token-pairs emanating from a particular ITS state • ISL(T), the interactive stream language of an ITS T, is the set of all such sequences emanating from T’s root. T1 =ISLT2 if ISL(T1) = ISL(T2) CWI
1. 2. ITS Isomorphism Let T1, T2 be ITSs CWI
T1 =bisim T2 if $ an interactive bisim. between them ITS Bisimulation Let be ITSs, i=1,2 is a (strong) interactive bisimulation if: 1. 2. 3. Clause 2. with roles of s and t reversed R is defined recursively, has greatest fixpoint semantics CWI
=ISL =bisim =iso Comparing Equivalence Relations =1 is strictly finer than =2 if (x =1 y) implies (x =2 y) but not vice-versa Equivalent machines = same behavior Equivalence classes = set of distinct behaviors CWI
ξ(M) = < reach(M), m, e > where > Þ < > iff < >Îm s , w , s ' , w s ' , w < w , s i o o M i From PTMs to ITSs Reachable memories of a PTM M: Set of words (work-tape contents) w encountered after zero or more macrosteps. ξ is a bijection between PTMs and ITSs[I&C’04] CWI
Theorem: Proof: CWI
=PSL =ms PTMs ITSs =ISL =bisim =iso PTMs vs. ITSs Two representation of the same computational behavior CWI
Outline • Rethinking the mathematical worldview • Persistent Turing Machines (PTMs) • Interactive Transition Systems • PTM expressiveness • Infinite equivalence hierarchy • Equivalence hierarchy gap • Unbounded nondeterminism and divergence • Amnesic PTMs • It pays to be persistent • Sequential Interaction Thesis • Future work CWI
Infinite Equivalence Hierarchy • Lk(M) = stream prefix language of PTM Mset of prefixes of length k for streams in PSL(M) represents finite observations of M (testing equivalence) • L∞(M) = Uk≥1Lk(M) • Corresponding notions of equivalence: M1 =k M2 : Lk(M1) = Lk ( M2 ) M1 =∞ M2 : L∞(M1) = L∞( M2 ) • =1 is like Turing Machine equivalence CWI
=∞ =PSL =1 =2 ... What is your name? Infinite Equivalence Hierarchy (cont) More equivalence classes = more distinct behaviors A deterministic machine CWI
Equivalence Hierarchy Gap • Proof: construct PTMs M1 and M2 where L(M1) = L (M2 )but PSL (M1 )≠PSL (M2 ) • Note: M1 exhibits unbounded nondeterminism • Unbounded nondeterminism implies divergence. [I&C 2004] =PSL =1 =2 = ... CWI
Proof Details • M1 produces output streams of the form 1*0+ • On 1st macrostep, initializes a persistent string n of 1’s: • while true do • write ‘1’ on the work tape, move head to the right; • nondeterministically choose to exit loop or continue • The output at every macrostep is determined as follows: • if n > 0 • then decrement n by 1 and output ‘1’; • else output ‘0’ • M2 is the same, but also produces the stream 1* • M1 , M2 exhibit unbounded non-determinism CWI
sdiv (S*, t) (S*, t) e ... (S*, 1) (S*, 1) (S*, 1) (S*, 1) (S*, 1) (S*, 0) ... n = 0 n = 1 n = 2 n = 3 (S*, 1) (S*, 1) (S*, 1) (S*, 1) Divergent Computation Theorem: If a PTM M has unbounded nondeterminism, then M diverges.[I&C’04] M1 CWI
> Þ < w', wo > Ù < e w , i s Î ' PSL ( M ( w ' ))} Amnesic PTM Computation:stream-based but not persistent ASL = { ASL(M) | M is a PTM} PTM M is amnesic ifPSL(M)ASL CWI
in1 in1 in2 in2 e w1 e w2 ... e e out2 out1 S0 Sh S0 Sh Amnesic PTMs:“half-way” between TMs and PTMs • Amnesic PTMs extend TMs with stream-based semantics. • At least as expressive as TMs • Unlike PTMs, they lack persistence. Example: squaring machine (outi = ini2) [Prasse & Rittgen] CWI
It Pays to be Persistent =1 =PSL = ASL PSL Two arguments that PTMs are more expressivethan Amnesic PTMs: • Collapse of the equivalence hierarchy. • Smaller set of stream languages. CWI
Summary of Results [I&C’04] =TM = =PSL =1 =2 = ... =ms PTMs ITSs =ISL =bisim =iso CWI
Outline • Rethinking the mathematical worldview • Persistent Turing Machines (PTMs) • Interactive Transition Systems • PTM expressiveness • Sequential Interaction • Sequential Interaction Thesis • Universal PTMs • Church-Turing Thesis revisited • Future work CWI
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 CWI
Whenever there is an effective method for performing sequential interactive computation, this computation can be performed by a Persistent Turing Machine Sequential Interaction Thesis • 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 Farhad, ok), (record Arbab,ok), (playback,Farhad Arbab), … Simulation of other sequential interactive systems is analogous. CWI
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 Machine for 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 CWI
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. CWI
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] CWI
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] CWI
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 a computer can do • The equivalence of the two is a widespread myth 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. CWI
Outline • Rethinking the mathematical worldview • Persistent Turing Machines (PTMs) • Interactive Transition Systems • PTM expressiveness • Sequential Interaction • Future work CWI