Presentation is loading. Please wait.

Presentation is loading. Please wait.

Athasit Surarerks 2110711 THEORY OF COMPUTATION 07 NON-DETERMINISTIC FINITE AUTOMATA 1.

Similar presentations


Presentation on theme: "Athasit Surarerks 2110711 THEORY OF COMPUTATION 07 NON-DETERMINISTIC FINITE AUTOMATA 1."— Presentation transcript:

1 Athasit Surarerks 2110711 THEORY OF COMPUTATION 07 NON-DETERMINISTIC FINITE AUTOMATA 1

2 IMPORTANT 2 We introduce a conceptual machine that occurs in practice more frequently than the transition graph.

3 TRANSITION GRAPH 3 Definition A transition graph (abbreviated TG) is a 5-tuple (Q, , q 0, , A) where Q means a finite set of states.  is a finite input alphabet. q 0  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.

4 TRANSITION GRAPH 4 q2q2 1 q3q3 1 q0q0 q1q1 01 0 1001 010 1

5 EXAMPLE 5 (0+1)*00(0+1)* q0q0 q1q1 0 q2q2 0 0,1

6 EXAMPLE 6 (010+101)*0(0+1)* q0q0 0 q1q1 1 0,1 q2q2 q3q3 0 1 q4q4 q5q5 0 0 1

7 NON-DETERMINISTIC MACHINE 7 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 8 Definition A nondeterministic finite automaton (abbreviated NFA) is a 5-tuple (Q, ,q 0,A,  ). where Q means a finite set of states.  is a finite input alphabet. q 0 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.

9 NON-DETERMINISTIC MACHINE 9 A B 0 C 0,1 D *(A,00)  *(A,00)=  (r,0): r   *(A,0) : r  { A, B } = { A, B }  { C } = { A, B, C } How to define the transition function?

10 NON-DETERMINISTIC MACHINE 10 A B 0 C 0,1 D *(A,010)  *(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 }

11 NON-DETERMINISTIC MACHINE 11 For a NFA, M = (Q, , q 0, , A) and any p  Q,  *(p,  ) = {p}. For any p  Q and x = a 1 a 2 a 3 …a n   * (with n  1)  *(p, x) is the set of all states q for which there is a sequence of states p=p 0, p 1 p 2 …p n-1, p n = q satisfying :  p i  (p i-1,a i ) for each i with 1  i  n. String x in  * is accepted by a NFA if  *(q 0,x)  A  .  *(p,  ) = {p}  *(p,ya n ) =  all r  *(p,y)  (r,a n )

12 NON-DETERMINISTIC MACHINE 12 Definition A nondeterministic finite automaton with  - transition (NFA-  ) is a 5-tuple (Q, , q 0, , A) where Q means a finite set of states.  is a finite input alphabet. q 0  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 13 For an NFA- , M=(Q, , q 0, , A) states p and q  Q and a string x = a 1 a 2 a 3 …a n   *, 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 b 1 b 2 b 3 …b m  {  } satisfying x = b 1 b 2 b 3 …b m and a sequence of states p = p 0, p 1, p 2, …, p m = q so that for each i, 1  i  m, p i   (p i-1,b i ). 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.

14  -CLOSURE 14 Definition Let M=(Q, , q 0, , 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).

15  -CLOSURE 15 For a NFA-  M = (Q, , q 0, , 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  *(q 0,x)  A  . The language recognized by M is the set L(M) of all strings accepted by M.

16 NON-DETERMINISTIC MACHINE 16 Theorem For every nondeterministic finite state machine, there is a finite state machine accepts exactly the same language. PROOF

17 NON-DETERMINISTIC MACHINE 17 Theorem For every nondeterministic finite state machine with  -transition, there is a finite state machine accepts exactly the same language. PROOF

18 EXERCISE 18 จงยกตัวอย่าง ภาษาที่บรรยายด้วย การ บรรยายแบบสม่ำเสมอ ที่มี non-deterministic automaton with  -transition ที่ accept ทุก สมาชิกในภาษาได้ แต่ไม่สามารถถูกยอมรับได้ ด้วย non-deterministic finite automaton ที่มี accepted state เพียงสถานะเดียว


Download ppt "Athasit Surarerks 2110711 THEORY OF COMPUTATION 07 NON-DETERMINISTIC FINITE AUTOMATA 1."

Similar presentations


Ads by Google