Title: Behavioral Computation Theory: Tutorial
1Behavioral Computation Theory Tutorial
- Yuri Gurevich (Microsoft Research)
- WoLLIC 2006
2Agenda
- Sequential algorithms
- Interactive algorithms
3Part 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.
4Example Euclids algorithm
- If a 0, set d b and halt.
- Set a b mod a, set b a,and go to 1.
5Example Euc
- Initially t 0 a(0), b(0) well defined.
-
- If a(t) 0, set d b(t) and halt.
- Set a(t1) b(t) mod a(t),set b(t1) a(t),
increment t, and go to 1.
6A 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
7Which 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.
8Seq Time Postulate
- Every algorithm is associated with
- a nonempty set States
- a nonempty subset Initial States
- a transition function Next States ? States
9Intuition on states
- States are comprehensive.
- What are states of a Turing machine?
- What are states of a C program?
10Behavior Equivalence
- Two algorithms are behaviorally equivalent if
they have the same states, initial states and
transition function. - The equivalence relation is semanticalthe
programs may be different indeed.
11What 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 whats local?
- How to measure work?
12Bounded 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
13Abstract 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).
14Without loss of generality
- A state comes with
- the equality relation
- true, false and the standard propositional
connectives - undef
15Eucs 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
16Eucs associates
- States as described above.
- A state is initial if d undef, t 0.
- Next is given by the program.
17Eucs 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
18Actions
- 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
19Eucs 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)
20Element 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
21Bounded 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).
22A bounded exploration witness for Euc
- true, false, undef
- Terms a(t)0, a(t1), b(t) mod a(t), b(t1), d,
and their subterms
23Definition
- A sequential algorithm is any object that
satisfies the postulates - sequential time,
- abstract state,
- bounded-exploration.
-
- Is this definition too general?
24Seq 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)
25Seq 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
26Every 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
27Seq 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.
28An ASM program for Euc
- if a(t) 0 then d b(t)else do
in-parallel a(t1) b(t) mod a(t) b(t1)
a(t) t t1
29 Euclid
- if a 0 then d belse a b mod a b
a
30Euclid with sessions
- if a(s)0 then
- d(s) b(s)
- s s1
- else
- a(s) b(s) mod a(s) b(s) a(s)
31Reference
- ACM Trans. on Computational Logicvol. 1, no. 1
(July 2000), p. 77-111. - 141 in Annotated Articles athttp//research/micr
osoft/gurevich
32Homework
- Write an ASM program for your favorite
sequential algorithm. If you want to execute it,
go tohttp//research.microsoft.com/foundations/A
smL/
33Part 2 Interactive Algorithms
34Collaborators
- Andreas Blass, Dean Rosenzweig, Benjamin Rossman
- Refs 166, 170, 171, 176
35Time 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.
36More realistic plan
- Motivation, clarification, small examples
37Interstep 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?
38Import
- 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.
39Seq ASMs with import
- if MoveR, H1 undef, then import x x
H1 H x - Reserve
- Background
40Nondeterministic 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
41Nondeterministic ASMs
- q (any x x in ?(q,a))
- Alternative syntaxchoose x in ?(q,a) q x
- Case of ?(q,a) ?
42More examples
- Input, remote procedure calls
- x f(17)2
- In the case of parallel algorithms
- Receiving and sending mail
- Ping
- Print
43A 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.
44What is it all about?
- Distributed computations from the point of view
of a single agent. - Setup one algorithm interacts with the
environment. - From the algorithms point of view, the
interaction is by means of messages only there
are no locations shared by the algorithm and the
environment.
45What 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).
46Various Interaction Mechanisms
- RPC
- Messages
- Single-answer queries
- Multiple-answer queries
- Etc.
- Is there one universal mechanism? Yes.
47Queries
- Getting input, printing output
- Receiving and sending messages
- Non-deterministic choices
- New objects
- Calling an external function (in ASMs)
- Implicit queries
48Whats a message(in the algorithms 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.
49Are queries blocking?
- Not necessarily. It may be blocking if p! then
x1 - A query may be blocking or not depending on
historyif (p ? q) then x1 - An algorithm is patient if all its queries are
blocking.
50Is 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.
51Ordinary 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.
52An impatient, time-sensitive algorithm
- do in parallel
- if a ? ß then x -1
- if a ? ß then x 0
- if a ? ß then x 1
53Characterization Theorem
- For every interactive algorithm A,there exists
an interactive ASM behaviorally equivalent to A. - In particular, the ASM simulates A step for step.
54Questions?