0% found this document useful (0 votes)
22 views19 pages

NFAvs DFA

Uploaded by

Tanya Grover
Copyright
© © All Rights Reserved
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)
22 views19 pages

NFAvs DFA

Uploaded by

Tanya Grover
Copyright
© © All Rights Reserved
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
You are on page 1/ 19

NFA vs DFA

DFA: For every state q in S and every character  in , one and


only one transition of the following form occurs:

q q’

NFA: For every state q in S and every character  in   {e}, one


(or both) of the following will happen:

•No transition: q q’ occurs


•One or more transitions: q q’ occurs
 p

NFA vs DFA (2)
All deterministic automata are non deterministic

Given a nondeterministic automaton, it is always possible to


find a an equivalent deterministic automaton “doing the
same”?

That is, given an NFA M = (Q,, ,s,F) does there exists an


equivalent DFA M’ = (Q’,, ’,s’,F’)? YES!

: Q × (  {e}) × (Q) ’: Q’×   Q’

We are going to construct the DFA by using the given NFA


Equivalence of NFA and DFA

Definition. Two automata A and A’ are equivalent if they


recognize the same language.

Theorem. Given any NFA A, then there exists a DFA A’


such that A’ is equivalent to A
Idea of the Transformation: NFA  DFA
We would like:
For every transition in NFA:

qi  qj

There is a transition in the equivalent DFA:


Qi Qj

where Qi (or Qj) is related to qi (or qj)


Idea (2): Remove Non Determinism

NFA DFA

q1 q1
 q2
 q2
q  ...
q ...
 qn
qn

The states in the DFA This is the set: (q, )


will be elements in (Q)
Step 1: Assign Arcs
DFA:
q1 p1
q2 p2
 ...
...

qn pm

If in the original NFA:


qi  pj
Step 1 : Variation

Let S be an state formed by {q1, q2, …, qn}, we denote the set


(S, ) as the set of all states that are reachable from states in
S by reading 

DFA: q1
q2
 (S, )
...

qn
Step 2 : Eliminating e-Transitions
P’ P’’

e e …
e
 (S, )

DFA: (S, )

P’


P’’

Step 3: Handling Undetermined Transitions

Suppose that  = { a, b} and we have only a transition for a:

NFA:
qi a qj

What should we do for b?

DFA: qi a qj
b

b  a
Step 4: Determining Favorable States

We will make states favorable in the DFA only if they


contain at least one state which is favorable in the NFA

DFA:
NFA: q1
qi q2
...

qn
Examples
a

>s q r
b b

b
a

>s q r
e b

b
Proof
Given an NFA M = (Q,,,s,F) suppose that we use the
procedure discussed to obtain a DFA
M’ = (Q’,, ,s’,F’). What needs to be shown to prove that
M and M’ are equivalent?

•For each w accepted by M’, w is also accepted by the NFA


•For each w accepted by M, w is also accepted by the DFA

We will show the first one for a “generic” word:

w = 1 2 … n
Where each i is in 
Proof (2)
•Proof by induction on the length n of the word
w = 1 2 … n
n=1
 n = k  n = k+1

•Suppose that w is accepted by the DFA, what does this means?


D:
1 2 n
s’ s1 … sn

Where s’ and each si and s’ are states in the DFA


(i.e., elements in (Q); where Q are the states in the NFA)
Construction
D: q1
q2
 (S, )
...

qm

states in the NFA


Where S = {q1, q2, …, qm},

Assume no e-transitions for the moment


DFA:
We have: 1 2 n
s s1 … sn
We want: NFA:
1 2 n
s q1 … qn

Select state q1 in s1 such


s1 = (s, 1) that: 1
s q1


Select state qn-1 in sn-1
such that: n
sn-1 = (sn-2, n-1) qn-1 qn

Select state qn in sn
sn = (sn-1, n)
such that
qn is favorable in DFA
Dealing with e-transitions
P’ P’’

e e …
e
 (S, )

D: (S, )

P’


P’’ … States

in
NFA
DFA:
We have: 1 2 n
s’ s1 … sn
We want: NFA:
’1 ’2 ’m mn
s q1 … qm

each ’i is either an j or e

qn-1 n sn
e e
P
... ... … ... …

e e
n-1 P’ qm
qn-2
Main Result

The other direction is very simple (do it!):

For each w accepted by N, w is also accepted by D

Theorem. Given any NFA N, then there exists a DFA D


such that N is equivalent to D
Homework for Friday Sep. 14

• Write formally the NFA of Slide # 5 in NFA.ppt (class about


nondeterministic automata)
– That is, write each of the elements of: (Q,, ,s,F).

• Use the procedure described in this class or the one in the book (they
have some small differences) to obtain the DFA equivalent to the NFA
that is on top of Slide # 12
– Also explain in words why these two automata are equivalent

• Exercise 1.11
• Problem 1.31
• Problem 1.37 (so for example, C3 is the set of all binary numbers that
are multiples of 3 including: 0, 11, 110, 1001, …)

You might also like