Вы находитесь на странице: 1из 58

DFA & Transition

Graph

Fall 2006 Costas Busch - RPI 1


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 2006 Costas Busch - RPI 2
Set of States Q
Example

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 2006 Costas Busch - RPI 3


Input Alphabet 

  :the input alphabet never contains 

Example
  a, b a, b

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

Fall 2006 Costas Busch - RPI 4


Initial State q0

Example
a, b

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

Fall 2006 Costas Busch - RPI 5


Set of Accepting States F  Q

Example
F  q4  a, b

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

Fall 2006 Costas Busch - RPI 6


Transition Function  :Q  Q

 (q , x )  q 
x
q q

Describes the result of a transition


from state q with symbol x

Fall 2006 Costas Busch - RPI 7


Example:
 q0 , a   q1

a, b

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

Fall 2006 Costas Busch - RPI 8


 q0 , b   q5

a, b

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

Fall 2006 Costas Busch - RPI 9


 q2 , b   q3

a, b

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

Fall 2006 Costas Busch - RPI 10


Transition Table for 
symbols
 a b
q0 q1 q5
q1 q5 q2
states

q2 q5 q3
a, b
q3 q4 q5
q4 q5 q5
q5
q5 q5 q5 a, b
b a a b
q0 a q1 b q2 b q3 a q4
Fall 2006 Costas Busch - RPI 11
Extended Transition Function

 :Q   Q
* *

 (q ,w )  q 
*

Describes the resulting state


after scanning string w from state q

Fall 2006 Costas Busch - RPI 12


Example:  q0 , ab   q2
*

a, b

q5
b a a, b
a b
q0 a q1 b q2 b q3 a q4
Fall 2006 Costas Busch - RPI 13
 q0 , abbbaa   q5
*

a, b

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

Fall 2006 Costas Busch - RPI 14


 q1 , bba   q4
*

a, b

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

Fall 2006 Costas Busch - RPI 15


Special case:

for any state q

 q ,    q
*

Fall 2006 Costas Busch - RPI 16


Transition Graph

Fall 2006 Costas Busch - RPI 17


Deterministic Finite Automaton (DFA)

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

Fall 2006 Costas Busch - RPI 18


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 2006 Costas Busch - RPI 19
Alphabet   {a , b }
a, b

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

For every state, there is a transition


for every symbol in the alphabet

Fall 2006 Costas Busch - RPI 20


head Initial Configuration
Input Tape
a b b a
Input String
a, b

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

Initial state
Fall 2006 Costas Busch - RPI 21
Scanning 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 2006 Costas Busch - RPI 22


a b b a

a, b

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

Fall 2006 Costas Busch - RPI 23


a b b a

a, b

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

Fall 2006 Costas Busch - RPI 24


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 2006 Costas Busch - RPI 25
A Rejection Case

a b a
Input String
a, b

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

Fall 2006 Costas Busch - RPI 26


a b a

a, b

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

Fall 2006 Costas Busch - RPI 27


a b a

a, b

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

Fall 2006 Costas Busch - RPI 28


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 2006 Costas Busch - RPI 29


Another Rejection Case

Tape is empty
( )

Input Finished
a, b

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

reject
Fall 2006 Costas Busch - RPI 30
Language Accepted: L  abba 

a, b

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

Fall 2006 Costas Busch - RPI 31


To accept a string:
all the input string is scanned
and the last state is accepting

To reject a string:
all the input string is scanned
and the last state is non-accepting

Fall 2006 Costas Busch - RPI 32


Another Example

L  , ab, abba


a, b

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

Accept Accept Accept


state state state
Fall 2006 Costas Busch - RPI 33
Empty Tape
( )

Input Finished a, b

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

accept
Fall 2006 Costas Busch - RPI 34
Another Example

a a, b

q0 b q1 a, b q2

Accept trap state


state
Fall 2006 Costas Busch - RPI 35
a a b
Input String
a a, b

q0 b q1 a, b q2

Fall 2006 Costas Busch - RPI 36


a a b

a a, b

q0 b q1 a, b q2

Fall 2006 Costas Busch - RPI 37


a a b

a a, b

q0 b q1 a, b q2

Fall 2006 Costas Busch - RPI 38


Input finished

a a b

a a, b
accept

q0 b q1 a, b q2

Fall 2006 Costas Busch - RPI 39


A rejection case

b a b
Input String
a a, b

q0 b q1 a, b q2

Fall 2006 Costas Busch - RPI 40


b a b

a a, b

q0 b q1 a, b q2

Fall 2006 Costas Busch - RPI 41


b a b

a a, b

q0 b q1 a, b q2

Fall 2006 Costas Busch - RPI 42


Input finished

b a b

a a, b

q0 b q1 a, b q2

reject

Fall 2006 Costas Busch - RPI 43


Language Accepted: L  {a b : n  0}
n

a a, b

q0 b q1 a, b q2

Fall 2006 Costas Busch - RPI 44


Another Example
Alphabet:   {1}
1

q0 q1
1
Language Accepted:

EVEN  {x : x   and x is even}


*

 {, 11, 1111, 111111, }


Fall 2006 Costas Busch - RPI 45
Fall 2006 Costas Busch - RPI 46
Fall 2006 Costas Busch - RPI 47
Fall 2006 Costas Busch - RPI 48
Fall 2006 Costas Busch - RPI 49
Language Accepted by DFA

Language of DFA M:
it is denoted as L M  and contains
all the strings accepted by M

Fall 2006 Costas Busch - RPI 50


  {a , b }

a, b

q0 a, b q0

L(M )  { }
Language of the empty string
Fall 2006 Costas Busch - RPI 51
What is the language accepted by this finite
automaton?   {a , b }

Answer:

Fall 2006 Costas Busch - RPI 52


Fall 2006 Costas Busch - RPI 53
What is the language accepted by this
finite automaton?
0,1
1 0
1

 0 0 00 1 001
0

LM  = { all binary strings containing


substring 001 }

Fall 2006 Costas Busch - RPI 54


Fall 2006 Costas Busch - RPI 55
Fall 2006 Costas Busch - RPI 56
Fall 2006 Costas Busch - RPI 57
Fall 2006 Costas Busch - RPI 58

Вам также может понравиться