CSC 361NFA vs. DFA1. CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts.

Presentation on theme: "CSC 361NFA vs. DFA1. CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts."— Presentation transcript:

CSC 361NFA vs. DFA1

CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts L 2 Then an NFA can be constructed that accepts: L 1 U L 2 (union) L 1 L 2 (concatenation) L 1 * (Kleene star)

CSC 361NFA vs. DFA3 Closure Properties of NFA- s M1 M M2 LL L(M1) U L(M2) LL L(M1) L(M2) L L(M)*

CSC 361NFA vs. DFA4 NFA to DFA Conversion

CSC 361NFA vs. DFA5 DFA vs NFA Deterministic vs nondeterministic For every nondeterministic automata, there is an equivalent deterministic automata Finite acceptors are equivalent iff they both accept the same language L(M 1 ) = L(M 2 )

CSC 361NFA vs. DFA6 DFA vs NFA Deterministic vs nondeterministic In DFA, label resultant state as a set of states {q1, q2, q3,…} For a set of |Q| states, there are exactly 2 Q subsets Finite number of states

CSC 361NFA vs. DFA7 Removing Nondeterminism By simulating all moves of an NFA-λ in parallel using a DFA. λ-closure of a state is the set of states reachable using only the λ-transitions.

CSC 361NFA vs. DFA8 NFA-λ q1 p1 q2 p3 p2 a λ λ λ p4 a p5 λ

CSC 361NFA vs. DFA9 λ – Closure Selected λ closures q 1 : {q 1,q 2 } p 1 : {p 1,p 2,p 3 } q 2 : {q 2 }

CSC 361NFA vs. DFA10 Equivalence Construction Given an NFA-λ M 1, construct a DFA M 2 such that L (M) = L (DM). Observe that A node of the DFA = Set of nodes of NFA-λ Transition of the DFA = Transition among set of nodes of NFA- λ

CSC 361NFA vs. DFA11 Start state of DFA = Final/Accepting state of DFA = All subsets of states of NFA-λ that contain an accepting state of the NFA-λ Dead state of DFA = Special States to Identify

CSC 361NFA vs. DFA12 Example q0 q1 q2 a a a b λ c

CSC 361NFA vs. DFA13 Example Identify λ-closures q 0 : {q 0 } q 1 : {q 1 } q 2 : {q 1, q 2 }

CSC 361NFA vs. DFA14 Example Identify transitions Start with λ-closure of start state {q 0 }: Where can you go on each input? a: {q 0,q 1,q 2 } So, {q 0,q 1,q 2 } is a state in the DFA b, c: Nowhere, so {Φ} is in the DFA Next slide… Next, do the same for {q 0,q 1,q 2 } and {Φ} Find destinations from any node in the set for each of the three alphabet symbols Subsequent slide…

CSC 361NFA vs. DFA15 {q0} {q0,q1,q2} a b c  All steps from {q 0 }

CSC 361NFA vs. DFA16 {q0} {q0,q1,q2} a b c  {q1} {q1,q2} a b c a,b,c All steps from {q 0,q 1,q 2 }

CSC 361NFA vs. DFA17 {q1}  a,c b {q1,q2}  a c {q1} b All steps from {q 1 } and {q 1,q 2 }

CSC 361NFA vs. DFA18 Equivalent DFA {q0}  {q0,q1,q2} {q1} {q1,q2} a a a,c a a,b,c b b bb,c c c

CSC 361NFA vs. DFA19 NFA vs. DFA Theorem: Given any NFA N, then there exists a DFA D such that N is equivalent to D Proven by constructing a general NFA and showing that the closure exists among the possible DFA states P(Q) Every possible transition goes to an element of P(Q)

CSC 361NFA vs. DFA20 Limitations of Finite Automata Obvious: Can only accept languages that can be represented in finite memory! Can this language be represented with a FA? L(M)=(a i b i | i  n) How about this one? L(M)=(a i b i | i > 0)

CSC 361NFA vs. DFA21 Exercise: Convert this NFA q1 p1 q2 p3 p2 a λ λ λ p4 a p5 λ

Download ppt "CSC 361NFA vs. DFA1. CSC 361NFA vs. DFA2 NFAs vs. DFAs NFAs can be constructed from DFAs using transitions: Called NFA- Suppose M 1 accepts L 1, M 2 accepts."

Similar presentations