Presentation is loading. Please wait.

Presentation is loading. Please wait.

Computing Machinery Chapter 4: Finite State Machines.

Similar presentations


Presentation on theme: "Computing Machinery Chapter 4: Finite State Machines."— Presentation transcript:

1 Computing Machinery Chapter 4: Finite State Machines

2 U - Up D - Down L - Left R - Right Introduction to Finite State Machines

3 Formally, a finite Automaton (FA) is defined as a 5-tuple (Q, , , q 0, F) where, (1) Q is a finite set of states. (2)  is a finite set of symbols or the alphabet. (3)  : Q x  -> Q is the transition function (4) q 0 is an element of Q called the start state, and (5) F is a subset of Q called the set of accept states. Definition of a Finite State Machine

4 Example: Maze FSM

5 Moore Machine

6 Example: Moore Machine input: X Y Z X X Z Y X Z Y Y Z output: B A A B A A A A A A A A

7 Mealy Machine

8 Integer String Recognizer Build a finite state machine that can be used to recognize character string representations of integer values. Valid Integers Not Integers 123 123.456 123456 12+345 -543 Hello There 9 9 3 5

9 Integer String Recognizer Design

10 01010000 reject 01001110 accept 0111 accept 110000 reject FSM that accepts strings containing at least three 1's FSM that accepts strings containing at least three consecutive 1's 0000110011001100 reject 0001110000000000 accept 1010101010000000 reject 11111111 accept Substring Detectors

11 Building a Bit String Recognizer detect bit string "1101"

12 Moore Machine: Bit String Recognizer ("1101") Sometimes we need to decide whether overlapping substrings are accepted

13 Mealy Machine: Bit String Recognizer ("1101") 1101101101101101101

14 FSM to Recognize if a Binary Encoded Value is Divisible by Four

15 Parity Tester counting 0's and counting 1's

16 Recognizing Binary Strings with the Same Number of 1's and 0's.

17 A Partial FSM to Recognize Palindromes binary strings

18 Detecting Binary Encoded Values Divisible by Three 00000 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 Consider the substrings that leave you in the same state regardless of which state you are in when the substring is encountered Such substrings can be removed from the candidate string without affecting the final state. The substrings '11', '00' and '1001' are three such "reducible" substrings. Reduce the following string by removing these substrings. 11011010000000001111000100010010011010 0010001010 101010 yes

19

20

21


Download ppt "Computing Machinery Chapter 4: Finite State Machines."

Similar presentations


Ads by Google