behavioral computation theory: tutorial
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Behavioral Computation Theory: Tutorial
Yuri Gurevich (Microsoft Research)
WoLLIC 2006
2
Agenda
1. Sequential algorithms 2. Interactive algorithms
3
Part 1: Sequential algorithms
IntuitionAxiomatic definition Behavioral equivalence
Sequential abstract state machinesSequential Characterization Theorem Algorithms are ASMs, and vice versa,
as far as behavior is concerned.
4
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.
5
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.
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 distributedPositive 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 witha nonempty set Statesa nonempty subset Initial Statesa 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, but
bounded change ↛ bounded work, e.g.
if xy({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 a is 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
Terms a(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
Syntax Semantics = ?
f(t1,..,tj):= t0 {(,a0)} where =(f,(a1,..,aj)) and each ai = Val(ti)
do in parallel R1 … Rk
(R1) … (Rk)
if t then R1 else R2
if Val(t) = true then (R1) else (R2)
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: obviousAbstract state: obviousBounded 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 RossmanRefs: #166, #170, #171, #176
35
Time permitting, plan would be
IntuitionAxiomatic definition Behavioral equivalence
Interactive ASMsInteractive 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 …
ReserveBackground
40
Nondeterministic algorithms
A contradiction in termsYogi Berra: “When you come to a fork in the road, take it.”Explanation: nondeterminism is a manifestation of interactionNondeterministic FSMNondeterministic 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
RPCMessagesSingle-answer queriesMultiple-answer queriesEtc.
Is there one universal mechanism? Yes.
47
Queries
Getting input, printing outputReceiving and sending messagesNon-deterministic choicesNew objectsCalling 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:=1An 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.
51
Ordinary algorithms
An algorithm is ordinary if it is patient and time-insensitive. Patient: all queries are blocking. Time-insensitive: the order of replies
is immaterial.
52
An impatient, time-sensitive algorithm
do in parallel
if α ≺ β then x := -1
if α β then x := 0 if α ≻ β then x := 1
53
Characterization Theorem
For every interactive algorithm A,there exists an interactive ASM behaviorally equivalent to A. In particular, the ASM simulates A
step for step.
54
Questions?