nondeterminism (deterministic) fa required for every state q and every symbol of the alphabet to...
TRANSCRIPT
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[Section 4.1]
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)
- qo 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.
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.
Formal definition of an NFA[Section 4.1]
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).
NFA’s vs. FA’s[Section 4.1]
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 :
NFA’s vs. FA’s[Section 4.1]
a
a,bb
b
b
a
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 : Proof that L(M) = L(M1) :
NFA’s vs. FA’s[Section 4.1]
Example : NFA accepting a*b*c*.
NFA’s with [Section 4.2]
Formal definition of an NFA-[Section 4.2]
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)
- qo 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.
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) =
Formal definition of an NFA-[Section 4.2]
Defining the computation of an NFA- M=(Q,,q0,A,).
Extended transition function * : Q£* 2Q :
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) :
Defining the computation of an NFA- M=(Q,,q0,A,).
Extended transition function * : Q£* 2Q :
1) For every q 2 Q, let *(q,) = { q }
2) 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.
Formal definition of an NFA-[Section 4.2]
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).
NFA-’s vs. NFA’s[Section 4.2]
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).
NFA-’s vs. NFA’s[Section 4.2]
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.
Proof of Kleene’s Thm[Section 4.3]
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 ?
Proof of Kleene’s Thm[Section 4.3]
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 }