1 / 54

Behavioral Computation Theory: Tutorial

Behavioral Computation Theory: Tutorial. Yuri Gurevich (Microsoft Research) WoLLIC 2006. Agenda. Sequential algorithms Interactive algorithms. Part 1: Sequential algorithms. Intuition Axiomatic definition Behavioral equivalence Sequential abstract state machines

marion
Télécharger la présentation

Behavioral Computation Theory: Tutorial

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Behavioral Computation Theory: Tutorial Yuri Gurevich (Microsoft Research) WoLLIC 2006

  2. Agenda • Sequential algorithms • Interactive algorithms

  3. Part 1: Sequential algorithms • Intuition • Axiomatic definition • Behavioral equivalence • Sequential abstract state machines • Sequential Characterization Theorem • Algorithms are ASMs, and vice versa, as far as behavior is concerned.

  4. Example: Euclid’s algorithm • If a = 0, set d = b and halt. • Set a = b mod a, set b = a,and go to 1.

  5. Example: Euc Initiallyt = 0; a(0), b(0) well defined. • If a(t) = 0, set d = b(t) and halt. • Set a(t+1)= b(t) mod a(t),set b(t+1) = a(t), increment t, and go to 1.

  6. 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

  7. 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.

  8. Seq Time Postulate Every algorithm is associated with • a nonempty set States • a nonempty subset Initial States • a transition function Next : States  States

  9. Intuition on states • States are comprehensive. • What are states of a Turing machine? • What are states of a C program?

  10. Behavior Equivalence Two algorithms are behaviorally equivalent if they have the same states, initial states and transition function. • The equivalence relation is semantical:the programs may be different indeed.

  11. What else can be said of seq algos in full generality? • Constructive (tangible) inputs • Not necessarily • Finite Programs • Sure, but syntax is messy. • Small (local, bounded-work) step • But what’s local? • How to measure work?

  12. Bounded work vs. bounded change Bounded work  bounded change, butbounded change ↛ bounded work, e.g. if xy({x,y}  E) then output := false else output := true

  13. 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).

  14. Without loss of generality • A state comes with • the equality relation = • true, false and the standard propositional connectives • undef

  15. 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

  16. Euc’s associates • States: as described above. • A state is initial if d = undef, t = 0. • Next is given by the program.

  17. Euc’s vocabulary (non-logic part) • Static part • In principle, the vocabulary of Euclidean domains (with mod) • In fact, Euc uses only 0,+1,mod • Dynamic part • Unary function symbols a,b • Nullary function symbols d,t

  18. Actions • Locations and their contents  = (f,a1,..,aj) Content() = f(a1,..,aj) • Updates (,v) • The update set at state X is (X) = { (,v) : v = Content() in Next(X)  Content() in X }

  19. 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(Next(X))) = { (d,3) }

  20. Element Accessibility • The only way to refer to an element ais via a term that evaluates to a. • A finite program can refer to only boundedly many elements

  21. Bounded Exploration Postulate There is a finite set T of termssuch that for all states X,Y if ValX(t) = ValY(t) for t ∈ T then (X) = (Y).

  22. A bounded exploration witness for Euc • true, false, undef • Termsa(t)=0, a(t+1), b(t) mod a(t), b(t+1), d, and their subterms

  23. Definition A sequential algorithm is any object that satisfies the postulates: • sequential time, • abstract state, • bounded-exploration. Is this definition too general?

  24. Seq ASM Rules

  25. Seq Abstract State Machines • A program is just a rule (to be iterated) • An ASM of vocabulary V is given by • 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 statesclosed under isomorphism

  26. Every seq ASM is a seq algo • Sequential time: obvious • Abstract state: obvious • Bounded exploration: take • all the terms in the program • all their subterms • all logical constants

  27. Seq Characterization Theorem • For every sequential algorithm A,there exists a sequential ASM behaviorally equivalent to A. • In particular, the ASM simulates A step for step.

  28. 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

  29. Euclid if a = 0 then d := belse a := b mod a b := a

  30. Euclid with sessions if a(s)=0 then d(s) := b(s) s := s+1 else a(s) := b(s) mod a(s) b(s) := a(s)

  31. Reference • ACM Trans. on Computational Logicvol. 1, no. 1 (July 2000), p. 77-111. • #141 in Annotated Articles athttp://research/microsoft/~gurevich

  32. Homework Write an ASM program for your favorite sequential algorithm. If you want to execute it, go tohttp://research.microsoft.com/foundations/AsmL/

  33. Part 2: Interactive Algorithms

  34. Collaborators • Andreas Blass, Dean Rosenzweig, Benjamin Rossman • Refs: #166, #170, #171, #176

  35. Time permitting, plan would be • Intuition • Axiomatic definition • Behavioral equivalence • Interactive ASMs • Interactive Characterization Theorem • Algorithms are ASMs, and vice versa, as far as behavior is concerned.

  36. More realistic plan Motivation, clarification, small examples

  37. 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?

  38. Import • A Turing machine with tape that is only potentially infinite • How does it create new cells? • Object creation in object oriented programming • Who creates the objects? • Import is a manifestation of interaction.

  39. Seq ASMs with import • if Move=R, H+1 = undef, … then import x x := H+1 H := x … • Reserve • Background

  40. 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 • E.g. bipartite matching

  41. Nondeterministic ASMs • q := (any x: x in (q,a)) • Alternative syntax:choose x in (q,a) q := x … • Case of(q,a) = 

  42. More examples • Input, remote procedure calls • x := f(17)+2 • In the case of parallel algorithms • Receiving and sending mail • Ping • Print

  43. 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.

  44. 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.

  45. 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).

  46. Various Interaction Mechanisms • RPC • Messages • Single-answer queries • Multiple-answer queries • Etc. Is there one universal mechanism? Yes.

  47. Queries • Getting input, printing output • Receiving and sending messages • Non-deterministic choices • New objects • Calling an external function (in ASMs) • Implicit queries

  48. What’s a message(in the algorithm’s view)? • A query or reply to a query. • What if interaction is initiated from outside? • The algorithm needs to pay attention in order to notice an incoming message. • Paying attention is a (possibly implicit) query.

  49. 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.

  50. 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.

More Related