Title: Nondeterminism
1Section 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 w2a,b w
contains abba as a substring Transition
diagram (of this new type)
2Section 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)
- 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.
3Section 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.
4Section 4.1
NFAs vs. FAs
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).
5Section 4.1
NFAs vs. FAs
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
6Section 4.1
NFAs vs. FAs
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)
7Section 4.2
NFAs with ?
Example NFA accepting abc.
8Section 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)
- 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.
9Section 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?)
10Section 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?)
?-closure of a set S µ Q, denoted ?(S), is the
set of all states reachable from S by a sequence
of ?-transitions. Define ?(S)
11Section 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 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.
12Section 4.2
NFA-?s vs. NFAs
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).
13Section 4.2
NFA-?s vs. NFAs
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).
14Section 4.3
Proof of Kleenes Thm
Kleenes 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.
15Section 4.3
Proof of Kleenes 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 ?
16Section 4.3
Proof of Kleenes 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