180 likes | 381 Views
2110711 THEORY OF COMPUTATION. 07 NON-DETERMINISTIC FINITE AUTOMATA. IMPORTANT. We introduce a conceptual machine that occurs in practice more frequently than the transition graph. TRANSITION GRAPH. Definition A transition graph (abbreviated TG) is a 5-tuple (Q, , q 0 , , A) where
E N D
2110711THEORY OF COMPUTATION 07 NON-DETERMINISTIC FINITE AUTOMATA
IMPORTANT • We introduce a conceptual machine that occurs in practice more frequently than the transition graph.
TRANSITION GRAPH • Definition • A transition graph (abbreviated TG) 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), called transition function.
TRANSITION GRAPH 1 1 q1 01 q0 0 1 001 010 q3 q2 1
EXAMPLE • (0+1)*00(0+1)* 0,1 0,1 0 0 q0 q1 q2
EXAMPLE • (010+101)*0(0+1)* q3 0 q2 1 0,1 1 0 q0 q1 0 0 q4 q5 1
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.
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 0,1 0,1 0,1 0 A C D B *(A,00) *(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 0,1 0,1 0,1 0 A C D B *(A,010) = (r,0) : r *(A,01) *(A,01) = (s,1) : 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 } *(A,010)
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 : pi(pi-1,ai) for each i with 1 i n. • String x in * is accepted by a NFA if *(q0,x) A . *(p,) = {p} *(p,yan) = all r*(p,y)(r,an)
NON-DETERMINISTIC MACHINE • 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.
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 corresponding to x by which M moves from p to q.
-CLOSURE • 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 • 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.
NON-DETERMINISTIC MACHINE • Theorem • For every nondeterministic finite state machine, there is a finite state machine accepts exactly the same language. PROOF
NON-DETERMINISTIC MACHINE • Theorem • For every nondeterministic finite state machinewith -transition, there is a finite state machine accepts exactly the same language. PROOF
EXERCISE • จงยกตัวอย่าง ภาษาที่บรรยายด้วยการบรรยายแบบสม่ำเสมอ ที่มี non-deterministic automaton with -transition ที่ accept ทุกสมาชิกในภาษาได้ แต่ไม่สามารถถูกยอมรับได้ด้วย non-deterministic finite automaton ที่มี accepted state เพียงสถานะเดียว