220 likes | 236 Views
[Section 4.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 }
E N D
[Section 4.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 = { w2{a,b}* | w contains abba as a substring } Transition diagram (of this new type) :
[Section 4.1] Formal definition of an NFA • A nondeterministic finite automaton (NFA) is a 5-tuple (Q,,q0,A,) where • Q is a finite set of states • is a finite alphabet (input symbols) • qo2 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.
[Section 4.1] Formal definition of an NFA Defining the computation of an NFA M=(Q,,q0,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.
[Section 4.1] NFA’s vs. FA’s Is the following statement true ? For every FA M = (Q,,q0,A,) there exists an NFA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).
[Section 4.1] NFA’s vs. FA’s Is the following statement true ? For every NFA M = (Q,,q0,A,) there exists an FA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1). Example : a a b b a,b b
[Section 4.1] NFA’s vs. FA’s Thm : For every NFA M = (Q,,q0,A,) there exists an FA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1). Construction of M1 :
[Section 4.1] NFA’s vs. FA’s Thm : For every NFA M = (Q,,q0,A,) there exists an FA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1). Proof that L(M) = L(M1) :
[Section 4.2] NFA’s with Example : NFA accepting a*b*c*.
[Section 4.2] Formal definition of an NFA- • A nondeterministic finite automaton with -transitions (NFA-) is a 5-tuple (Q,,q0,A,) where • Q is a finite set of states • is a finite alphabet (input symbols) • qo2 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.
[Section 4.2] Formal definition of an NFA- Defining the computation of an NFA- M=(Q,,q0,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) =
[Section 4.2] Formal definition of an NFA- • Defining the computation of an NFA- M=(Q,,q0,A,). • Extended transition function * : Q£* 2Q : • 1) For every q 2 Q, let *(q,) = • For every q 2 Q, y 2*, and 2, let *(q,y) = -closure of a set S µ Q, denoted (S), is the set of all states reachable from S by a sequence of -transitions. Define (S) :
[Section 4.2] Formal definition of an NFA- • Defining the computation of an NFA- M=(Q,,q0,A,). • Extended transition function * : Q£* 2Q : • 1) For every q 2 Q, let *(q,) = ( { q } ) • For every q 2 Q, y 2*, and 2, let *(q,y) = • ( [p2*(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.
[Section 4.2] NFA-’s vs. NFA’s Is the following statement true ? For every NFA M = (Q,,q0,A,) there exists an NFA- M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).
[Section 4.2] NFA-’s vs. NFA’s Is the following statement true ? For every NFA- M = (Q,,q0,A,) there exists an NFA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).
[Section 4.2] NFA-’s vs. NFA’s Is the following statement true ? For every NFA- M = (Q,,q0,A,) there exists an NFA M1 = (Q1,,q1,A1,1) such that L(M) = L(M1).
[Section 4.3] Proof of Kleene’s Thm 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.
[Section 4.3] Proof of Kleene’s Thm 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.
[Section 4.3] Proof of Kleene’s Thm Part 2 : Any language accepted by an FA is regular. Let M=({1,2,3,…,k},,q0,A,) be an FA. We will show that for every p,q,r 2 Q, the following language is regular : L(p,q,r) = { x2* | *(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 ?
[Section 4.3] Proof of Kleene’s Thm Claim : Let M=({1,2,3,…,k},,q0,A,) be an FA. For every p,q,r 2 Q, the following language is regular : L(p,q,r) = { x2* | *(p,x)=q and for every prefix y of x other than and x we have *(p,y) · r }
[Section 4.3] Proof of Kleene’s Thm Claim : Let M=({1,2,3,…,k},,q0,A,) be an FA. For every p,q,r 2 Q, the following language is regular : L(p,q,r) = { x2* | *(p,x)=q and for every prefix y of x other than and x we have *(p,y) · r }
[Section 4.3] Proof of Kleene’s Thm Claim : Let M=({1,2,3,…,k},,q0,A,) be an FA. For every p,q,r 2 Q, the following language is regular : L(p,q,r) = { x2* | *(p,x)=q and for every prefix y of x other than and x we have *(p,y) · r }
[Section 4.3] Proof of Kleene’s Thm Claim : Let M=({1,2,3,…,k},,q0,A,) be an FA. For every p,q,r 2 Q, the following language is regular : L(p,q,r) = { x2* | *(p,x)=q and for every prefix y of x other than and x we have *(p,y) · r }