Presentation is loading. Please wait.

Presentation is loading. Please wait.

Representation Application and Examples

Similar presentations

Presentation on theme: "Representation Application and Examples"— Presentation transcript:

1 Representation Application and Examples
Finite Automata 1 Representation Application and Examples

2 What are FA? Finite automata are finite collections of states with transition rules that take you from one state to another.

3 Representing FA Simplest representation is a graph. Nodes = states.
Arcs indicate state transitions. Labels on arcs tell what causes the transition.

4 FA model of on-off switch
push on Start

5 Protocol for Sending Data
Ready Sending data in done timeout Start

6 FA Recognizing Strings Ending in “ing”
Get next character in any state except the finish state Where we go depends on which character empty Saw i i Not i Saw ing g Not i or g Saw in n Not i or n Start Double circle denotes “finish” or “accepting” state String recognized may not be the entire input

7 Automata to Code In C/C++, make a piece of code for each state that does the following Reads the next input. Decides on the next state. Jumps to the beginning of the code for that state.

8 Code for state “saw i” 2: /* i seen */ c = getNextInput();
if (c == ’n’) goto 3; else if (c == ’i’) goto 2; else goto 1; 3: /* ”in” seen */ . . .

9 E-commerce example E-commerce requires protocols to prevent fraud
Protocols can be modeled by finite automata Example: protocol to ensure that e-money is transferred from customer to merchant on shipped purchases

10 E-commerce 2 pay cancel cancel 2 1 3 4 start redeem transfer bank customer Pay does not change state of customer. Free to cancel order Bank can go down either cancel path or path that leads to e-money transfer following a redeem request from e-store

11 E-commerce 3 Store preferred path a->b->c->f->g
redeem start b c f e g pay ship transfer store Store preferred path a->b->c->f->g Alternate paths allow ship before transfer complete

12 This representation is not complete
pay cancel a redeem start b c f e g pay ship transfer cancel 2 1 3 4 start redeem transfer All parts must have a defined response to every input even if the response is no change of state.

13 Each loop labeled by actions that do not change states
R start b c f e g P S T C P,C P,C,R,S,T C 2 1 3 4 start R T P,S P,C,R,S P=pay C=cancel R=redeem S=ship T=transfer

14 Customer is in a “free” state
start b c f e g P S T C P,C P,C,S,R,T C 2 1 3 4 start R T P,S P,C,R,S No interactions between store and bank can change customer’s state

15 Analysis of Store-Bank interactions reveals paths to failure of e-protocols
Analysis requires “product” FA with all possible combinations of (store, bank) states and paths that connect them. Will discuss construction of product FAs later in course

16 Store-Bank product FA Paths exist to state (c,2) that has no exit. Customer cancelled and store shipped before transfer of payment from bank.


18 Analysis of protocol using FA
start b c f e g P S T C P,C P,C,S,R,T C 2 1 3 4 start R T P,S P,C,R,S If customer state is C, then interactions between store and bank can lead to failure

19 Store-Bank product automaton 3
start b c f e g P S T C P,C Product automaton reveals problem with the protocol. State (c,2) is accessible from (a,1) but only loops back. C 2 1 3 4 start R T P,S P,C,R,S State (c,2) is case where store has shipped before redeeming payment from bank and customer has canceled

20 Far out example On a distant planet, there are three species, a, b, and c. Any two different species can mate. If they do: The participants die. Two children of the third species are born.

21 Strange Planet – (2) Observation: the number of individuals never changes. The planet fails if at some point all individuals are of the same species. Then, no more breeding can take place. State = sequence of three integers – the numbers of individuals of species a, b, and c.

22 Strange Planet – Questions
In a given state, must the planet eventually fail? In a given state, is it possible for the planet to fail, if the wrong breeding choices are made?

23 Relationship to Computers
These questions mirror real ones about protocols. Planet “failure” is like protocol “termination” We want protocols to terminate “Must the planet fail” is like asking whether a protocol, in its current state, is guaranteed to terminate.

24 Strange Planet – Transitions
An a-event occurs when individuals of species b and c breed and are replaced by two a’s. Analogously: b-events and c-events. Represent these by symbols a, b, and c, respectively.

25 Strange Planet with 2 Individuals
200 002 020 110 101 011 a c b all states are “must-fail” all possible events lead to states where have all same species analogous to “termination” states automata

26 “Meta-states” are populations of different size
200 020 002 a b c 011 101 110 This analysis of a “meta-state” consist of “exhaustive enumeration”. List all possible species distributions. For each distribution, list all possible transitions.

27 Strange Planet with 3 Individuals
“must-fail” state 111 a c b 300 030 003 a a 210 102 021 201 120 012 c b b c “can’t-fail” states are parts of cycles.

28 Strange Planet with 4 Individuals
400 022 130 103 211 a c b 040 202 013 310 121 b a c 004 220 301 031 112 c b a “might-fail” states appear Some breeding choices lead to termination Others lead to a cycle

29 Taking Advantage of Symmetry
In exhaustive enumeration of meta-states, we see repeated patterns. Nodes and edges have different labels but topology is same. 200 002 020 110 101 011 a c b

30 Taking Advantage of Symmetry 2
Outcome (termination) is the same regardless of which species is extinct and which 2 have a single individual. 200 002 020 110 101 011 a c b

31 Taking Advantage of Symmetry 3
Develop a “prototype” that illustrates states and transitions allowed for populations of various size List species-specific populations in decreasing order Replace specific type of transition (a, b, c) with x prototype 200 002 020 110 101 011 a c b 110 200 x

32 Prototypes for 2, 3, 4 x 110 200 x 211 400 111 x x x 300 310 x 210 220 x The “might-fail” state of prototype 4 is a nondeterminism. Different transitions are possible from 211 on the same input.

33 Prototype for meta-state 5
Drop the unnecessary edge label “x” Prototype has standard form of a directed graph Basic graph algorithms can find cycles 410 500 320 311 221 1 must-fail state; 1 can’t fail cycle; 1 might fail state

34 Strange planet example illustrates
3 types of states you could find in finite automata: must terminate, might terminate and can’t terminate Methods of analysis to find those states: exhaustive enumeration and graph theory

Download ppt "Representation Application and Examples"

Similar presentations

Ads by Google