Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modeling Computation: Finite State Machines without Output

Similar presentations


Presentation on theme: "Modeling Computation: Finite State Machines without Output"— Presentation transcript:

1 Modeling Computation: Finite State Machines without Output
INFO 2950 Prof. Carla Gomes Module Modeling Computation: Finite State Machines without Output Rosen, Chapter 12.2 and 12.3

2 Finite-State Machines with No Output

3 Definition: Concatenation of A and B
A and B are subsets of V*, where V is a vocabulary The concatenation of A and B is AB={xy: x string in A and y string in B} Example: A={0, 11} and B={1, 10, 110} AB={01,010,0110,111,1110,11110} What is BA? A0={λ} An+1=AnA for n=0,1,2,…

4 Definition: Concatenation of A and B
Example: A={1,00} An ? n=1, 2, 3,… A0 A0={λ} A1=A0A1={λ} A ? A1=A0A1={λ} A={1,00} A2=A1A ={1,00} {1,00} A2=A1A ={1,00} {1,00} = {11,100,001,0000} A3=A2A ={11,100,001,0000}{1,00} A3=A2A ={11,100,001,0000}{1,00} = {111,1100,1001,10000,001111,00100,00001,000000}

5 Kleene Closure Let A be any subset of V*.
Kleene closure of A, denoted by A*, is The set consisting of concatenations of arbitrarily many strings from A If B={0,1}, B*=V*.

6 Kleene Closure What are the Kleen closures of the set A={0}; B={0,1}, and C={11}? A*={,0,00,000,…} ={0n |n=0,1,2,…} If B={0,1}, B*=V*. (The set of all strings over the alphabet V) C*={,11,1111,111111,…} ={(11)n |n=0,1,2,…} ={12n |n=0,1,2,…}

7 Finite State Automata Representations
As with finite-state machines, finite-state automata have the following common representations A state table is used to represent a finite-state automaton by giving the values of the function f. Just like for finite-state machines, except the second half of the columns are omitted, since there is no output. A state diagram is a directed graph representation of a finite-state automaton. Final states are usually denoted by double-circles. Values separated by commas denote several possible inputs, not inputs and outputs as with finite state machines.

8 Finite State Automata A finite state automation over an alphabet is illustrated by a state diagram: a directed graph edges are labeled with elements of alphabet, some nodes (or states), marked as final of “accepting”. one node marked as start state

9 Dealing with Input Strings
Let x=x1x2…xnÎI * (That is, x is a string over I) Then we can extend the transition function f to all state-input string pairs (rather than simply state-input pairs) in the obvious way Assume the machine is in state S0, Compute f(S0, x1) = Si2 Next compute f(Si2, x2) = Si3 Continue until you get f(Sin, xn) = Sin+1 We define f(S0, x) = Sin+1 From now on, we will speak of the transition function f being applied to input strings, not just single inputs.

10 Finite (State) Automata
A FA is similar to a compiler in that: A compiler recognizes legal programs in some (source) language. A finite-state machine recognizes legal strings in some language. Example: Pascal Identifiers sequences of one or more letters or digits, starting with a letter: letter | digit letter S A

11 Finite Automaton Input String Output “Accept” or Finite “Reject”

12 Transition Graph initial state accepting state transition state

13 Initial Configuration
Input String

14 Reading the Input

15

16

17

18 Input finished accept

19 Rejection

20

21

22

23 Input finished reject

24 Another Rejection

25 reject

26 Another Example

27

28

29

30 Input finished accept

31 Rejection Example

32

33

34

35 Input finished reject

36 Finite-State Automata
Definition: A finite-state automaton is a 5-tuple M=(S, I, f, S0, F) where S is a finite set of states I is a finite input alphabet f:S´I®S is a transition function from each state-input pair to a state S0 is the initial state FÍS is a set of final states Note: automaton is the singular of automata.

37 ’ Finite Automata If end of input
If in accepting state => accept Otherwise => reject If no transition possible (got stuck) => reject

38 Language Recognition Definition: A finite-state automaton accepts (or recognizes) a string x if f(S0, x)ÎF. That is, the finite state automaton ends up in a final state. Definition: The language accepted (or recognized) by a finite-state automaton M, denoted by L(M), is the set of all strings recognized by M. Definition: Two finite-state automata are equivalent if they recognize the same language.

39 Example accept

40 Example accept accept accept

41 Example trap state accept

42 What is the Language? Example: What language is recognized by the following finite-state automaton? Input 0 or 1 Solution: Since the only final state is the start state, and only an input of 1 will leave the machine in the start state, it is easy to see that L(M)={1n: n=0,1,2,…}

43 L(M)={binary strings beginning with 0 and ending with 1}
What is the Language? Example: What language is recognized by the following finite-state automaton? Solution: Notice that Any input that does not start with 0 cannot go to a final state The final state can only be arrived at if the last input is a 1 Any string can occur in between the first 0 and last 1. Thus, we can see that L(M)={binary strings beginning with 0 and ending with 1}

44 FSM Examples Example: What language is recognized by the following finite-state automaton? 1 1 S0 S1 Accepts strings over alphabet {0,1} that end in 1

45 FSM Examples Example: What language is recognized by the following finite-state automaton? 5 S2 4 S1 S0 a b Accepts strings over alphabet {a,b} that begin and end with same symbol

46 FSM Examples Example: What language is recognized by the following finite-state automaton? Accepts strings over {0,1,2} such that sum of digits is a multiple of 3 S1 Start 2 1 S0 S2 1 2 2 1

47 FSM Examples Even Odd 1 Accepts strings over {0,1}
1 Accepts strings over {0,1} that have an odd number of ones

48 FSM Examples '001' 1 '0' '00' 0,1 Accepts strings over {0,1} that contain the substring 001

49 Examples Not possible Perhaps surprisingly, this is possible
Design a FSM to recognize strings with an equal number of ones and zeros. Not possible Design a FSM to recognize strings with an equal number of substrings "01" and "10". Perhaps surprisingly, this is possible

50 FSM Examples 1 1 1 1 1 Accepts strings with an equal number
1 1 Accepts strings with an equal number of substrings "01" and "10" 1 1 1

51 Non-deterministic Finite Automaton (NDFA)
a non-deterministic finite state machine or non-deterministic finite automaton (NDFA) is a finite state machine where for each pair of state and input symbol it assigns a set of states i.e., from a pair of state and input symbol there are possibly two or more transitions to a next state. Every NDFA can be converted to a DFA

52 Nondeterministic Finite-State Automata
Definition: A Nondeterministic fnite-state automaton is a 5-tuple M=(S, I, f, S0, F) where S is a finite set of states I is a finite input alphabet f:S´I® P(S) is a transition function from each state-input pair to a set of states S0 is the initial state FÍS is a set of final states

53 S2 S3 S1 S0 S4 Start 1 0,1 State F 1 S0 S0,S2 S1 S3 S4 S2

54 What does it mean for a nondeterministic FSA (NFSA)
Start 1 0,1 What does it mean for a nondeterministic FSA (NFSA) to recognize a string? T he NDFSA recognizes or accepts a string x if there is a final state in the set of all states that can be obtained from S0, using x.

55 What language does it accept?
0n 11 |n≥0 S2 S3 S1 S0 S4 Start 1 0,1 0n |n≥0 0n 01 |n≥0

56 Equivalence of DFSM and NFSM
Theorem: For each non-deterministic finite state machine N, we can construct a deterministic finite state machine D such that N and D accept the same language. [proof omitted] Every deterministic finite state machine can be regarded as a non–deterministic finite state machine that just doesn’t use the extra non–deterministic capabilities.

57 Start 1 0,1 start 1 0,1 0n |n≥0 0n 01 |n≥0 0n 11 |n≥0 State F 1 S0
Start 1 0,1 State F 1 S0 S0,S2 S1 S3 S4 S2 {S0} {S0,S2} {S1,S4} {S3,S4} {S4} {S3} {S1} Ø start 1 0,1 0n |n≥0 0n 01 |n≥0 0n 11 |n≥0


Download ppt "Modeling Computation: Finite State Machines without Output"

Similar presentations


Ads by Google