Finite Automata - Washington State University
Finite Automata
Reading: Chapter 2
1
Finite Automata
Informally, a state machine that comprehensively captures all possible states and transitions that a machine can take while responding to a stream (or sequence) of input symbols
Recognizer for "Regular Languages"
Deterministic Finite Automata (DFA)
The machine can exist in only one state at any given time
Non-deterministic Finite Automata (NFA)
The machine can exist in multiple states at the same time
2
Deterministic Finite Automata - Definition
A Deterministic Finite Automaton (DFA) consists of:
Q ==> a finite set of states ==> a finite set of input symbols (alphabet) q0 ==> a start state F ==> set of final states ==> a transition function, which is a mapping
between Q x ==> Q
A DFA is defined by the 5-tuple:
{Q, , q0,F, }
3
How to use a DFA?
Input: a word w in * Question: Is w acceptable by the DFA? Steps:
Start at the "start state" q0 For every input symbol in the sequence w do
Compute the next state from the current state, given the current input symbol in w and the transition function
If after all symbols in w are consumed, the current state is one of the final states (F) then accept w;
Otherwise, reject w.
4
Regular Languages
Let L(A) be a language recognized by a DFA A.
Then L(A) is called a "Regular Language".
Locate regular languages in the Chomsky Hierarchy
5
Example #1
Build a DFA for the following language:
L = {w | w is a binary string that contains 01 as a substring}
Steps for building a DFA to recognize L:
= {0,1} Decide on the states: Q Designate start state and final state(s) : Decide on the transitions:
Final states == same as "accepting states" Other states == same as "non-accepting states"
6
Regular expression: (0+1)*01(0+1)*
DFA for strings containing 01
? What makes the DFA deterministic?
1
0
0,1
start q0 0 q1 1 q2 Final state
? What if the language allows empty strings?
states
? Q = {q0,q1,q2}
? = {0,1}
? start state = q0
? F = {q2}
? Transition table symbols
0
1
q0
q1
q0
q1
q1
q2
*q2
q2
q2
7
Example #2
Clamping Logic:
A clamping circuit waits for a "1" input, and turns on forever. However, to avoid clamping on spurious noise, we'll design a DFA that waits for two consecutive 1s in a row before clamping on.
Build a DFA for the following language: L = { w | w is a bit string which contains the substring 11}
State Design:
q0 : start state (initially off), also means the most recent input was not a 1
q1: has never seen 11 but the most recent input was a 1 q2: has seen 11 at least once
8
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- python programming exercises 4 was bi
- python count number of occurrences of a substring in string
- suffix trees carnegie mellon university
- problem statement
- ben langmead department of computer science
- gaurav kr suman mat7
- tries and string matching stanford university
- computer science i sample program substring search please check
- python with ip class 12 assignment prerequisite part 2 read jps noida
- suffix trees department of computer science
Related searches
- washington state school report cards
- washington state department of lic
- ospi washington state report card
- workers compensation washington state rates
- washington state dept of lic
- washington state department of licensing
- washington state university bachelor degr
- washington state report card
- washington state university employee benefits
- washington state university baseball
- washington state university baseball roster
- washington state university baseball schedule