Download presentation
Presentation is loading. Please wait.
Published byLydia Alexander Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.