Top Banner

Click here to load reader

2110711 THEORY OF COMPUTATION

Jan 01, 2016

ReportDownload

Documents

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 - PowerPoint PPT Presentation

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

  • TRANSITION GRAPH*DefinitionA transition graph (abbreviated TG) is a 5-tuple (Q, , q0, , A) whereQ 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*q21q31q0q101010010101

  • EXAMPLE*(0+1)*00(0+1)*q0q10q200,10,1

  • EXAMPLE*(010+101)*0(0+1)*q00q110,1q2q301q4q5001

  • 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*DefinitionA nondeterministic finite automaton (abbreviated NFA) is a 5-tuple (Q,,q0,A,). whereQ 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*AB0C0,10,1D0,1*(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*AB0C0,10,1D0,1*(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 }

  • NON-DETERMINISTIC MACHINE*For a NFA, M = (Q, , q0, , A) and any pQ, *(p,) = {p}.For any pQ and x = a1a2a3an * (with n 1)*(p, x) is the set of all states q for whichthere is a sequence of states p=p0, p1p2pn-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*DefinitionA nondeterministic finite automaton with -transition (NFA-) is a 5-tuple (Q, , q0, , A) whereQ 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 stringx = a1a2a3an *, 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 b1b2b3bm {}satisfying x = b1b2b3bm and a sequence of statesp = p0, p1, p2, , pm = qso 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*DefinitionLet 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*TheoremFor every nondeterministic finite state machine, there is a finite state machine accepts exactly the same language.

    PROOF

  • NON-DETERMINISTIC MACHINE*TheoremFor every nondeterministic finite state machine with -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

    **

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.