1 / 56

INFO 2950

INFO 2950. Prof. Carla Gomes gomes@cs.cornell.edu Module Modeling Computation: Finite State Machines without Output Rosen, Chapter 12.2 and 12.3. Finite-State Machines with No Output. Definition: Concatenation of A and B.

jalia
Download Presentation

INFO 2950

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INFO 2950 Prof. Carla Gomes gomes@cs.cornell.edu 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 vocabularyThe concatenation of A and B isAB={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 AutomataRepresentations • As with finite-state machines, finite-state automata have the following common representations • A state tableis 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 diagramis 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 fto 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 fbeing applied to input strings, not just single inputs.

  10. Finite Automaton Input String Output “Accept” or “Reject” Finite Automaton

  11. Transition Graph initial state accepting state transition state

  12. Initial Configuration Input String

  13. Reading the Input

  14. Input finished accept

  15. Rejection

  16. Input finished reject

  17. Another Rejection

  18. reject

  19. Another Example

  20. Input finished accept

  21. Rejection Example

  22. Input finished reject

  23. Finite-State Automata • Definition: A finite-state automatonis 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 functionfrom each state-input pair to a state • S0is the initial state • FÍSis a set of final states • Note: automaton is the singular of automata.

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

  25. 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 equivalentif they recognize the same language.

  26. Example accept

  27. Example accept accept accept

  28. Example trap state accept

  29. 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,…}

  30. 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}

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

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

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

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

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

  36. Examples • 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

  37. FSM Examples 0 1 1 0 0 Accepts strings with an equal number of substrings "01" and "10" 1 0 1 0 1

  38. 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

More Related