Presentation is loading. Please wait.

Presentation is loading. Please wait.

Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens.

Similar presentations


Presentation on theme: "Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens."— Presentation transcript:

1 Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens when we drop this requirement ? L = { w 2 {a,b} * | w contains abba as a substring } Transition diagram (of this new type) : [Section 4.1]

2 Formal definition of an NFA [Section 4.1] A nondeterministic finite automaton (NFA) is a 5-tuple (Q, ,q 0,A,  ) where - Q is a finite set of states -  is a finite alphabet (input symbols) - q o 2 Q is the initial state - A µ Q is a set of accepting states -  : Q £   ___ is the transition function Give a formal definition of the NFA from the previous slide.

3 Defining the computation of an NFA M=(Q, ,q 0,A,  ). Extended transition function  * : Q £  *  ____ : 1) For every q 2 Q, let  * (q,  ) = 2) For every q 2 Q, y 2  *, and  2 , let  * (q,y  ) = We say that a string x 2  * is accepted by M if ________. A string which is not accepted by M is rejected by M. The language accepted by M, denoted by L(M) is the set of all strings accepted by M. Formal definition of an NFA [Section 4.1]

4 Is the following statement true ? For every FA M = (Q, ,q 0,A,  ) there exists an NFA M 1 = (Q 1, ,q 1,A 1,  1 ) such that L(M) = L(M 1 ). NFA’s vs. FA’s [Section 4.1]

5 Is the following statement true ? For every NFA M = (Q, ,q 0,A,  ) there exists an FA M 1 = (Q 1, ,q 1,A 1,  1 ) such that L(M) = L(M 1 ). Example : NFA’s vs. FA’s [Section 4.1] a a,b b b b a

6 Thm : For every NFA M = (Q, ,q 0,A,  ) there exists an FA M 1 = (Q 1, ,q 1,A 1,  1 ) such that L(M) = L(M 1 ). Construction of M 1 : Proof that L(M) = L(M 1 ) : NFA’s vs. FA’s [Section 4.1]

7 Example : NFA accepting a * b * c *. NFA’s with  [Section 4.2]

8 Formal definition of an NFA-  [Section 4.2] A nondeterministic finite automaton with  -transitions (NFA-  ) is a 5-tuple (Q, ,q 0,A,  ) where - Q is a finite set of states -  is a finite alphabet (input symbols) - q o 2 Q is the initial state - A µ Q is a set of accepting states -  :  is the transition function Give a formal definition of the NFA-  from the previous slide.

9 Defining the computation of an NFA-  M=(Q, ,q 0,A,  ). Extended transition function  * : ____  ____ : 1) For every q 2 Q, let  * (q,  ) = 2) For every q 2 Q, y 2  *, and  2 , let  * (q,y  ) = Formal definition of an NFA-  [Section 4.2]

10 Defining the computation of an NFA-  M=(Q, ,q 0,A,  ). Extended transition function  * : Q £  *  2 Q : 1) For every q 2 Q, let  * (q,  ) = { q } 2) For every q 2 Q, y 2  *, and  2 , let  * (q,y  ) = Formal definition of an NFA-  [Section 4.2]  -closure of a set S µ Q, denoted  (S), is the set of all states reachable from S by a sequence of  -transitions. Define  (S) :

11 Defining the computation of an NFA-  M=(Q, ,q 0,A,  ). Extended transition function  * : Q £  *  2 Q : 1) For every q 2 Q, let  * (q,  ) = { q } 2) For every q 2 Q, y 2  *, and  2 , let  * (q,y  ) = [ p 2  *(q,y)  (  (p,  )) We say that a string x 2  * is accepted by M if ________. A string which is not accepted by M is rejected by M. The language accepted by M, denoted by L(M) is the set of all strings accepted by M. Formal definition of an NFA-  [Section 4.2]

12 Is the following statement true ? For every NFA M = (Q, ,q 0,A,  ) there exists an NFA-  M 1 = (Q 1, ,q 1,A 1,  1 ) such that L(M) = L(M 1 ). NFA-  ’s vs. NFA’s [Section 4.2]

13 Is the following statement true ? For every NFA-  M = (Q, ,q 0,A,  ) there exists an NFA M 1 = (Q 1, ,q 1,A 1,  1 ) such that L(M) = L(M 1 ). NFA-  ’s vs. NFA’s [Section 4.2]

14 Proof of Kleene’s Thm [Section 4.3] Kleene’s Thm: A language L over  is regular iff there exists a finite automaton that accepts L. Part 1 : For every regular language there exists an NFA-  accepting it.

15 Proof of Kleene’s Thm [Section 4.3] Part 2 : Any language accepted by an FA is regular. Let M=({1,2,3,…,k}, ,q 0,A,  ) be an FA. We will show that for every p,q,r 2 Q, the following language is regular : L(p,q,r) = { x 2  * |  * (p,x)=q and for every prefix y of x other than  and x we have  * (p,y) · r } Can we then conclude that L(M) is regular ?

16 Proof of Kleene’s Thm [Section 4.3] Claim : Let M=({1,2,3,…,k}, ,q 0,A,  ) be an FA. For every p,q,r 2 Q, the following language is regular : L(p,q,r) = { x 2  * |  * (p,x)=q and for every prefix y of x other than  and x we have  * (p,y) · r }


Download ppt "Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens."

Similar presentations


Ads by Google