Behavioral Computation Theory: Tutorial - PowerPoint PPT Presentation

About This Presentation
Title:

Behavioral Computation Theory: Tutorial

Description:

Behavioral Computation Theory: Tutorial. Yuri Gurevich (Microsoft Research) ... Every seq ASM is a seq algo. Sequential time: obvious. Abstract state: obvious ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 55
Provided by: yur89
Category:

less

Transcript and Presenter's Notes

Title: Behavioral Computation Theory: Tutorial


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

2
Agenda
  1. Sequential algorithms
  2. 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 Euclids 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.
  • 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.

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 semanticalthe
    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 whats 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
Eucs 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
Eucs associates
  • States as described above.
  • A state is initial if d undef, t 0.
  • Next is given by the program.

17
Eucs 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
Eucs 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(t1), b(t) mod a(t), b(t1), 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 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(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

30
Euclid 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)

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

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

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 MoveR, H1 undef, then import x x
    H1 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 syntaxchoose 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 algorithms 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
Whats 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.

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

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 a ? ß then x -1
  • if a ? ß then x 0
  • if a ? ß 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?
Write a Comment
User Comments (0)
About PowerShow.com