0% found this document useful (0 votes)
441 views56 pages

DFA and Regular Languages Overview

The document discusses deterministic finite automata (DFA) and regular languages. It defines a DFA as a 5-tuple (Q, Σ, δ, q0, F) where Q is a set of states, Σ is an input alphabet, δ is the transition function, q0 is the initial state, and F is the set of accepting states. The DFA reads an input string and based on its transitions, will either accept or reject the string. The language accepted by a DFA is the set of all strings that are accepted by the automaton.

Uploaded by

tariqravian
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
441 views56 pages

DFA and Regular Languages Overview

The document discusses deterministic finite automata (DFA) and regular languages. It defines a DFA as a 5-tuple (Q, Σ, δ, q0, F) where Q is a set of states, Σ is an input alphabet, δ is the transition function, q0 is the initial state, and F is the set of accepting states. The DFA reads an input string and based on its transitions, will either accept or reject the string. The language accepted by a DFA is the set of all strings that are accepted by the automaton.

Uploaded by

tariqravian
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

Deterministic

Finite Automata

And Regular Languages

Fall 2005 Costas Busch - RPI 1


Deterministic Finite Automaton (DFA)

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

Fall 2005 Costas Busch - RPI 2


Transition Graph
a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

initial accepting
state state
transition
state
Fall 2005 Costas Busch - RPI 3
Initial Configuration
Input String
a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 4


Reading the Input

a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 5


a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 6


a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 7


a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 8


Input finished

a b b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

accept
Fall 2005 Costas Busch - RPI 9
Rejection

a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 10


a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 11


a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 12


a b a

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 13


Input finished

a b a

a, b

reject
q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 14


Another Rejection

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 15


a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

reject
Fall 2005 Costas Busch - RPI 16
Another Example

a a b

a a,b

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 17


a a b

a a,b

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 18


a a b

a a,b

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 19


a a b

a a,b

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 20


Input finished

a a b

a a,b
accept

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 21


Rejection Example

b a b

a a,b

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 22


b a b

a a,b

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 23


b a b

a a,b

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 24


b a b

a a,b

q0 b q1 a, b q2

Fall 2005 Costas Busch - RPI 25


Input finished

b a b

a a,b

q0 b q1 a, b q2

reject

Fall 2005 Costas Busch - RPI 26


Language Accepted by DFA
DFA M

Definition:
The language L M  contains
all input strings accepted by M

L M  = { strings that bring M


to an accepting state}

Fall 2005 Costas Busch - RPI 27


Example
L M    abba M

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
accept

Fall 2005 Costas Busch - RPI 28


Example
L M     , ab, abba M

a, b

q5
b a a a, b
b
q0 a q1 b q2 b q3 a q4
accept accept accept

Fall 2005 Costas Busch - RPI 29


Example

L M   {a b : n  0}
n

a a,b

q0 b q1 a, b q2

accept trap state

Fall 2005 Costas Busch - RPI 30


Formal Definition
Deterministic Finite Automaton (DFA)

M   Q, ,  , q0 , F 
Q : set of states
 : input alphabet
 : transition function
q0 : initial state
F : set of accepting states
Fall 2005 Costas Busch - RPI 31
Input Alphabet 

   a, b

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 32


Set of States Q
Q   q0 , q1, q2 , q3 , q4 , q5 

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 33


Initial State q0

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 34


Set of Accepting States F

F   q4 

a, b

q5
a a, b
b a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 35


Transition Function 

 :Q  Q

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 36


  q0 , a   q1

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 37


  q0 , b   q5

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 38


  q2 , b   q3

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 39


Transition Function 
 a b
q0 q1 q5 For every state and
q1 q5 q2 Symbol, there is a transition
q2 q5 q3
q3 q4 q5 a, b
q4 q5 q5
q5 q5 q5 q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 40


Extended Transition Function  *

 * : Q  *  Q

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 41


 *  q0 , ab   q2

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 42


 *  q0 , abba   q4

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 43


 *  q0 , abbbaa   q5

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 44


Observation: if there is a walk from q to q
with label w then

 *  q , w   q

q w q

w   1 2  k
1 2 k
q q

Fall 2005 Costas Busch - RPI 45


Example: There is a walk from q0 to q5
with label abbbaa

 *  q0 , abbbaa   q5
a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4

Fall 2005 Costas Busch - RPI 46


Recursive Definition
 *  q,    q
 *  q, w    ( * (q, w), )

q w q1  q

 *  q , w    q
 *  q, w    (q1, )
 (q1, )  q
 *  q, w    ( * (q, w), )
 *  q, w  q1

Fall 2005 Costas Busch - RPI 47


 *  q0 , ab  
   * (q0 , a ), b  
     *  q0 ,  , a , b  
    q0 , a , b  
  q1 , b  
q2 a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
Fall 2005 Costas Busch - RPI 48
Language Accepted by DFA
For a DFA M   Q, ,  , q0 , F 

Language accepted by M :
L M    w  * :  *  q0 , w  F 

q0 w q q  F

Fall 2005 Costas Busch - RPI 49


Observation
Language rejected by M :

L M    w  * :  *  q0 , w  F 

q0 w q q  F

Fall 2005 Costas Busch - RPI 50


Example
L M  = { all strings with prefix ab }
a, b

q0 a q1 b q2

b a accept

q3 a, b

Fall 2005 Costas Busch - RPI 51


Example
L  M  = { all strings without
substring 001 }

1 0 0,1
1

 0 1
0 00 001

0
Fall 2005 Costas Busch - RPI 52
Example

L( M )   awa : w   a, b *
a
b
b
q0 a q2 q3

b a
q4

a, b
Fall 2005 Costas Busch - RPI 53
Regular Languages
Definition:
A language L is regular if there is
DFA M such that L  L M 

Observation:
All languages accepted by all DFAs
form the family of regular languages

Fall 2005 Costas Busch - RPI 54


Examples of regular languages:

 abba   , ab, abba


 awa : w   a, b * {a nb : n  0}
{ all strings with prefix ab }
{ all strings without substring 001 }

There exist automata that accept these


languages (see previous slides).
Fall 2005 Costas Busch - RPI 55
There exist languages that are not Regular:

n n
Example: L {a b : n  0}

There is no DFA that accepts such a language

(we will prove this later in the class)

Fall 2005 Costas Busch - RPI 56

You might also like