Behavioral Computation Theory Tutorial Yuri Gurevich Microsoft Research
Behavioral Computation Theory: Tutorial Yuri Gurevich (Microsoft Research) Wo. LLIC 2006
Agenda 1. Sequential algorithms 2. Interactive algorithms 2
Part 1: Sequential algorithms Intuition Axiomatic definition n Behavioral equivalence Sequential abstract state machines Sequential Characterization Theorem n Algorithms are ASMs, and vice versa, as far as behavior is concerned. 3
Example: Euclid’s algorithm 1. If a = 0, set d = b and halt. 2. Set a = b mod a, set b = a, and go to 1. 4
Example: Euc Initially t = 0; a(0), b(0) well defined. 1. If a(t) = 0, set d = b(t) and halt. 2. Set a(t+1)= b(t) mod a(t), set b(t+1) = a(t), increment t, and go to 1. 5
A run of Euc t = 0, a(0) = 6, b(0) = 9 t = 1, a(1) = 3, b(1) = 6 t = 2, a(2) = 0, b(2) = 3 t, a, b unchanged, d = 3 6
Which algos are sequential? Negative characterization: neither parallel nor distributed Positive characterization is our goal. But we cannot rely on the formal notion of algorithm, so the notion that we have to define is that of sequential algorithms. 7
Seq Time Postulate Every algorithm is associated with a nonempty set States a nonempty subset Initial States a transition function Next : States 8
Intuition on states States are comprehensive. n n What are states of a Turing machine? What are states of a C program? 9
Behavior Equivalence Two algorithms are behaviorally equivalent if they have the same states, initial states and transition function. n The equivalence relation is semantical: the programs may be different indeed. 10
What else can be said of seq algos in full generality? Constructive (tangible) inputs n Not necessarily Finite Programs n Sure, but syntax is messy. Small (local, bounded-work) step n n But what’s local? How to measure work? 11
Bounded work vs. bounded change Bounded work bounded change, but bounded change ↛ bounded work, e. g. if x y({x, y} E) then output : = false else output : = true 12
Abstract State Postulate The states are structures of the same vocabulary. Base(Next(X)) = Base(X). If is an isomorphism from a state X to a structure Y, then Y is a state and is an isomorphism from Next(X) to Next(Y). 13
Without loss of generality A state comes with n n n the equality relation = true, false and the standard propositional connectives undef 14
Euc’s states (non-logic part) A Euclidean domain E (with mod) including the set N of natural numbers with 0 and successor +1 Unary dynamic functions a, b : N E Nullary dynamic functions d, t 15
Euc’s associates States: as described above. A state is initial if d = undef, t = 0. Next is given by the program. 16
Euc’s vocabulary (non-logic part) Static part n n In principle, the vocabulary of Euclidean domains (with mod) In fact, Euc uses only 0, +1, mod Dynamic part n Unary function symbols a, b n Nullary function symbols d, t 17
Actions Locations and their contents = (f, a 1, . . , aj) Content( ) = f(a 1, . . , aj) Updates ( , v) The update set at state X is (X) = { ( , v) : v = Content( ) in Next(X) Content( ) in X } 18
Euc’s locations and actions Dynamic locations: (a, . ), (b, . ), t, d. If a(0) = 6, b(0) = 9 at X then (X) = { (t, 1), ((a, 1), 3) , ((b, 1), 6) } (Next(X)) = {(t, 2), ((a, 2), 0) , ((b, 2)3)} (Next(X))) = { (d, 3) } 19
Element Accessibility The only way to refer to an element a is via a term that evaluates to a. A finite program can refer to only boundedly many elements 20
Bounded Exploration Postulate There is a finite set T of terms such that for all states X, Y if Val. X(t) = Val. Y(t) for t ∈ T then (X) = (Y). 21
A bounded exploration witness for Euc true, false, undef Terms a(t)=0, a(t+1), b(t) mod a(t), b(t+1), d, and their subterms 22
Definition A sequential algorithm is any object that satisfies the postulates: sequential time, abstract state, bounded-exploration. Is this definition too general? 23
Seq ASM Rules Syntax f(t 1, . . , tj): = t 0 Semantics =? {( , a 0)} where =(f, (a 1, . . , aj)) and each ai = Val(ti) do in parallel R 1 … Rk (R 1) … (Rk) if t then R 1 else R 2 if Val(t) = true then (R 1) else (R 2) 24
Seq Abstract State Machines A program is just a rule (to be iterated) An ASM of vocabulary V is given by n n n a program of vocabulary V a non-empty set of V-structures (the states) closed under isomorphism and the transition function defined by the program a non-empty subset of initial states closed under isomorphism 25
Every seq ASM is a seq algo Sequential time: obvious Abstract state: obvious Bounded exploration: take n n n all the terms in the program all their subterms all logical constants 26
Seq Characterization Theorem For every sequential algorithm A, there exists a sequential ASM behaviorally equivalent to A. n In particular, the ASM simulates A step for step. 27
An ASM program for Euc if a(t) = 0 then d : = b(t) else [do in-parallel] a(t+1) : = b(t) mod a(t) b(t+1) : = a(t) t : = t+1 28
Euclid if a = 0 then d : = b else a : = b mod a b : = a 29
Euclid with sessions if a(s)=0 d(s) : = s : = else a(s) : = b(s) : = then b(s) s+1 b(s) mod a(s) 30
Reference ACM Trans. on Computational Logic vol. 1, no. 1 (July 2000), p. 77 -111. #141 in Annotated Articles at http: //research/microsoft/~gurevich 31
Homework Write an ASM program for your favorite sequential algorithm. If you want to execute it, go to http: //research. microsoft. com/ foundations/Asm. L/ 32
Part 2: Interactive Algorithms 33
Collaborators Andreas Blass, Dean Rosenzweig, Benjamin Rossman Refs: #166, #170, #171, #176 34
Time permitting, plan would be Intuition Axiomatic definition n Behavioral equivalence Interactive ASMs Interactive Characterization Theorem n Algorithms are ASMs, and vice versa, as far as behavior is concerned. 35
More realistic plan Motivation, clarification, small examples 36
Interstep vs. intrastep Sequential algorithms and ASMs are interstep interactive. The sequential characterization theorem generalizes to interstep interaction. From now on, by default, interaction is intrastep. But is there intrastep interaction? 37
Import A Turing machine with tape that is only potentially infinite n How does it create new cells? Object creation in object oriented programming n Who creates the objects? Import is a manifestation of interaction. 38
Seq ASMs with import if Move=R, H+1 = undef, … then import x x : = H+1 H : = x … Reserve Background 39
Nondeterministic algorithms A contradiction in terms Yogi Berra: “When you come to a fork in the road, take it. ” Explanation: nondeterminism is a manifestation of interaction Nondeterministic FSM Nondeterministic algorithms n E. g. bipartite matching 40
Nondeterministic ASMs q : = (any x: x in (q, a)) Alternative syntax: choose x in (q, a) q : = x … Case of (q, a) = 41
More examples Input, remote procedure calls n x : = f(17)+2 In the case of parallel algorithms n n n Receiving and sending mail Ping Print 42
A more involved example To paint a picture, an application calls an outside paint method. A paint agent is created and repeatedly calls back: which color for this detail? Consider making two such paint calls in parallel. This is viewed best as a single step. 43
What is it all about? Distributed computations from the point of view of a single agent. Setup: one algorithm interacts with the environment. From the algorithm’s point of view, the interaction is by means of messages only; there are no locations shared by the algorithm and the environment. 44
What is environment? It is everything that can affect the computation of the algorithm but is neither in the algorithm's state nor in its program. This may include other (silicon or carbon) agents, some central authority (think internet poker), OS, communication interfaces (think TCP/IP). 45
Various Interaction Mechanisms RPC Messages Single-answer queries Multiple-answer queries Etc. Is there one universal mechanism? Yes. 46
Queries Getting input, printing output Receiving and sending messages Non-deterministic choices New objects Calling an external function (in ASMs) Implicit queries 47
What’s a message (in the algorithm’s view)? A query or reply to a query. What if interaction is initiated from outside? n n The algorithm needs to pay attention in order to notice an incoming message. Paying attention is a (possibly implicit) query. 48
Are queries blocking? Not necessarily. It may be blocking: if p! then x: =1 A query may be blocking or not depending on history: if (p ⋎ q) then x: =1 An algorithm is patient if all its queries are blocking. 49
Is the environment info limited to query replies? Almost. We argue that the only extra info is the order the replies are received. The broker example. The order of replies is quasi linear. An algorithm is time-insensitive if the order is immaterial. 50
Ordinary algorithms An algorithm is ordinary if it is patient and time-insensitive. n n Patient: all queries are blocking. Time-insensitive: the order of replies is immaterial. 51
An impatient, time-sensitive algorithm do in parallel if α ≺ β then x : = -1 if α β then x : = 0 if α ≻ β then x : = 1 52
Characterization Theorem For every interactive algorithm A, there exists an interactive ASM behaviorally equivalent to A. n In particular, the ASM simulates A step for step. 53
Questions? 54
- Slides: 54