1
2110711
THEORY OF COMPUTATION
Athasit Surarerks 07
NON-DETERMINISTIC FINITE AUTOMATA
IMPORTANT
2
We introduce a conceptual machine that
occurs in practice more frequently than the
transition graph.
TRANSITION GRAPH
3
Definition
A transition graph (abbreviated TG) is a 5tuple (Q, , q0, , A) where
• Q means a finite set of states.
• is a finite input alphabet.
• q0 Q named Initial state.
• A Q , A is the set of all accepted states.
• is a function from Q* to P(Q), called
transition function.
TRANSITION GRAPH
4
1
1
q0
01
0
1
q3
q1
010
1
q2
001
EXAMPLE
5
(0+1)*00(0+1)*
q0
0,1
0
q1
0
q2
0,1
EXAMPLE
6
(010+101)*0(0+1)*
q3
0
q2
1
1
q4
0
q0
0
0
1
q5
0,1
q1
7
NON-DETERMINISTIC
MACHINE
A nondeterministic finite state machine
(NFA) is a transition graph with a unique start
state and each of its edge labels is a single
alphabet.
8
NON-DETERMINISTIC
MACHINE
Definition
A nondeterministic finite automaton
(abbreviated NFA) is a 5-tuple (Q,,q0,A,). where
• Q means a finite set of states.
• is a finite input alphabet.
• q0 is in Q named Initial state.
• A is a subset of Q, A is the set of all accepted
states.
• is a function from Q to P(Q)
where P(Q) is the power set of Q.
NON-DETERMINISTIC
MACHINE
9
0,1
0
A
*(A,00)
0,1
B
C
0,1
D
*(A,00)
= (r,0): r *(A,0)
:r{A,B}
={A,B}{C}={A,B,C}
How to define the transition function?
NON-DETERMINISTIC
MACHINE
10
0,1
A
*(A,010)
0
B
*(A,010)
*(A,01)
0,1
= (r,0)
*(A,01) = (s,1)
C
0,1
:r
: s *(A,0)
:s{A,B}
= (A,1) (B,1)
={A}{C} :r{A,C}
*(A,010)
= (A,0) (C,0)
={A,B}{D}
={A,B,D}
D
11
NON-DETERMINISTIC
MACHINE
For a NFA, M = (Q, , q0, , A) and any pQ, *(p,) =
{p}.
For any pQ and x = a1a2a3…an * (with n 1)
*(p, x) is the set of all states q for which
there is a sequence of states p=p0, p1p2…pn-1, pn = q
satisfying :
*(p,)
= {p}
pi(pi-1,ai) for each i with 1 i n.
*(p,yan) = all r*(p,y) (r,an)
String x in * is accepted by a NFA if *(q0,x) A .
NON-DETERMINISTIC
MACHINE
12
Definition
A nondeterministic finite automaton with transition (NFA-) is a 5-tuple (Q, , q0, , A) where
•
•
•
•
•
Q means a finite set of states.
is a finite input alphabet.
q0 Q named Initial state.
A Q , A is the set of all accepted states.
is a function from Q({}) to P(Q)
where P(Q) is the power set of Q.
13
NON-DETERMINISTIC
MACHINE
For an NFA-, M=(Q, , q0, , A) states p and q
Q and a string
x = a1a2a3…an *, we will say M moves from p
to q by a sequence of transitions corresponding to x if
there exist an integer m n, a sequence
b1b2b3…bm {}
satisfying x = b1b2b3…bm and a sequence of
states
p = p0, p1, p2, …, pm = q
so that for each i, 1 i m, pi (pi-1,bi).
For x * and p Q, *(p,x) is the set of all states q
Q such that there is a sequence of transitions
-CLOSURE
14
Definition
Let M=(Q, , q0, , A) be a NFA-.
Let S be any subset of Q.
The -closure of S is the set (S) defined as
follows:
•
•
•
Every element of S is an element of (S).
For any q (S), every element of (q,) is in (S).
No other elements of Q are in (S).
-CLOSURE
15
For a NFA- M = (Q, , q0, , A).
The extended transition function *: Q *
P(Q) is defined as follows:
For any q Q, *(q,) = ({q})
For any q Q, y * and a ,
*(q,ya)
= ( r*(q,y) (r,a) )
A string x is accepted by M if *(q0,x) A .
The language recognized by M is the set L(M)
of all strings accepted by M.
16
NON-DETERMINISTIC
MACHINE
Theorem
For every nondeterministic finite state
machine, there is a finite state machine
accepts exactly the same language.
PROOF
17
NON-DETERMINISTIC
MACHINE
Theorem
For every nondeterministic finite state
machine with -transition, there is a finite
state machine accepts exactly the same
language.
PROOF
EXERCISE
18
่
จงยกตัวอย่าง ภาษาทีบรรยายด
้วย การบรรยาย
่ non-deterministic
แบบสม่าเสมอ ทีมี
automaton with -transition ที่ accept ทุก
สมาชิกในภาษาได ้ แต่ไม่สามารถถูกยอมร ับได ้ด ้วย
่
non-deterministic finite automaton ทีมี
accepted state เพียงสถานะเดียว
© Copyright 2025 Paperzz