Presentation is loading. Please wait.

Presentation is loading. Please wait.

Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter 2002-2003.

Similar presentations


Presentation on theme: "Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter 2002-2003."— Presentation transcript:

1 Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter 2002-2003

2 Rina Zviel-Girshin @ASC2 Overview Nondeterminism Examples Equivalence of the nondeterministic model to the deterministic model

3 Rina Zviel-Girshin @ASC3 Nondeterminism (briefly) Each state can be accepting or not. The automaton reads one input word symbol at each time unit. An NFA also can change it state without reading an input -  transition If a state in which it stops reading an input (reading it till the end) is an accepting state- the automaton accepts (recognizes) the input.

4 Rina Zviel-Girshin @ASC4 Nondeterminism (briefly) On each symbol: –it moves to a new state (defined by the transition function) as a function of: the current state the symbol read or an  transition or halts if no valid move defined

5 Rina Zviel-Girshin @ASC5 Formal Definition A finite automaton is a 5-tuple (Q, , , q 0, F), where: Q - a finite set of states  - alphabet  - transition function - Q  (  )  2 |Q| or P(Q)(given a state and an input symbol - what can be the next state) q 0 - q 0  Q is the start state F - F  Q the set of accept states

6 Rina Zviel-Girshin @ASC6 DFA: Example Consider the following language: L = (ab  aba)* The deterministic automaton :

7 Rina Zviel-Girshin @ASC7 NFA: Example The nondeterministic automaton : This simplifies the deterministic automaton. The basic idea of the construction: An aba path An ab path

8 Rina Zviel-Girshin @ASC8 How does an NFA compute? A nondeterministic computation is a tree of possibilities. The root of the tree is a start state of the automaton. Each branching point is a computation at which automaton has multiple choices. An NFA accepts an input string if there exists at least one computation that leads to an accept state.

9 Rina Zviel-Girshin @ASC9 NFA vs. DFA The difference between a deterministic finite automaton DFA and a non- deterministic one NFA is the number of paths in a computation tree. In DFA’s we have only one path – one chain. In NFA’s we have a tree.

10 Rina Zviel-Girshin @ASC10

11 Rina Zviel-Girshin @ASC11 The language of an NFA Informally: The words that an NFA A accepts (recognizes), i.e. when reading them it stops in an accepting state. Formally: L(A)={w | w  *,  ’( q 0,w)  F  } means: There exist a path from q 0 to q i  F for the input string w.

12 Rina Zviel-Girshin @ASC12 Example Construct a nondeterministic finite automaton for the following language: L = { w1 | w is over  *={0,1}*} A:

13 Rina Zviel-Girshin @ASC13 What does A do on the input w=110?

14 Rina Zviel-Girshin @ASC14 What does A do on the input w=101?

15 Rina Zviel-Girshin @ASC15 Additional examples Construct a nondeterministic finite automaton recognizing the following language: L={w | w  (  ={0,1,2})*, w starts with 01 and ends with 1}

16 Rina Zviel-Girshin @ASC16 Additional examples Construct a nondeterministic finite automaton recognizing the following language: L={0 i 1 j | i mod 3 = 1, j mod 2 = 1} 0 i i mod 3 = 1

17 Rina Zviel-Girshin @ASC17 Additional examples L={0 i 1 j | i mod 3 = 1, j mod 2 = 1} 0 i 1 j i mod 3 = 1 j mod 2 = 1

18 Rina Zviel-Girshin @ASC18 Equivalence of FA Definition: Two automata are equivalent if they recognize the same language.

19 Rina Zviel-Girshin @ASC19 Example A: B: L(A)=L(B)

20 Rina Zviel-Girshin @ASC20 Equivalency Theorem Every NFA has an equivalent DFA. Proof idea: We will give a constructive proof - by giving an algorithm to build a DFA equivalent to a given NFA.

21 Rina Zviel-Girshin @ASC21 How can we do it? Consider an example in which we can get from some state q on an input letter  to more than one state. The next state -  (q,  ) - is one of {q i, q j, q k }.

22 Rina Zviel-Girshin @ASC22 How can we do it? That means that the next state in an NFA is one state among several states. But in a DFA only one state can be the next state. Conclusion: One state in a DFA = A set of states in an NFA

23 Rina Zviel-Girshin @ASC23 How can we do it? Consider an example. What states can we reach starting from some state q on two letters input  1.

24 Rina Zviel-Girshin @ASC24 How can we do it? Conclusion:  ’(q,  1 )=  ({q i,q j,q k },  1 ) =  (q i,  1 )   (q j,  1 )   (q k,  1 ) Informally: The next state in a DFA = A set of all the states in an NFA to which you can get from the set of all the current states in an NFA.

25 Rina Zviel-Girshin @ASC25 The  - closure Formally: The  - closure of a state is a set of all the states reached from the current state using  -transitions only. E(q)= { p  Q |  (q,  i ) = p, i>=0 } Informally: Use all the  transitions you can. Add the states you reach to  -closure. Try to reach as many states as you can.

26 Rina Zviel-Girshin @ASC26 The  - closure E(q0) = {q0, q1, q2} E(q1) = {q1, q2} E(q2) = {q2} E(q3) = {q3, q4} E(q4) = {q4}

27 Rina Zviel-Girshin @ASC27 A DFA construction algorithm Let A be an NFA where A = (Q A, ,  A, q 0A, F A ). We construct a DFA M equivalent to A, where M = ( Q, , , q 0, F). Q = P(Q A )  =  For each R in Q and  in ,  (R,  ) is q 0 = E(q 0A ) F = { R  Q | there exists r  R such that r  F A }

28 Rina Zviel-Girshin @ASC28 Explanation Create all the subsets of set of states of A. These subsets will become the states of M. The alphabet remains the same. Transition function : for each state m in M and a letter  find what are the states qi..qj in A included in m are: qiqkqlqi,qk,ql m:

29 Rina Zviel-Girshin @ASC29 Explanation for each qi  m find a set R of states which you can reach in NFA A using  -closure, the letter  and the  -closure qi qt qp R i  ji  j k  lk  l

30 Rina Zviel-Girshin @ASC30 Explanation the next state of m on  in M is S. qt qp Ri qi,qk,ql m: qs qf Rk qt qp Rl S ..   ..  unite all the sets R you reach into one set : S

31 Rina Zviel-Girshin @ASC31 Explanation The initial state of M is the set which includes only E(q 0A ) The final states of M are all the sets in which at least one state is a final (accepting) state of A. Eliminate all the unreachable states in M - states to which the is no path from the initial state of M. The automaton you have is a deterministic automaton equivalent to A.

32 Rina Zviel-Girshin @ASC32 Example Convert a given nondeterministic finite automaton into a deterministic finite automaton.

33 Rina Zviel-Girshin @ASC33 Example Construction of the DFA:  ({q0},a)={q2,q3}  ({q0},b)={q2}  ({q1},a)={q2,q3}  ({q1},b)={q2} Therefore:  ({q0,q1},a)={q2,q3}  ({q0,q1},b)={q2} q0,q1

34 Rina Zviel-Girshin @ASC34 Example  ({q2},a)={q1}  ({q2},b)={q2} q0,q1

35 Rina Zviel-Girshin @ASC35 Example  ({q1},a)={q2,q3}  ({q1},b)={q2} q0,q1

36 Rina Zviel-Girshin @ASC36 Example  ({q2,q3},a)={q1,q2}  ({q2,q3},b)={q2} q0,q1

37 Rina Zviel-Girshin @ASC37 Example  ({q1,q2},a)={q1,q2,q3}  ({q1,q2},b)={q2} q0,q1

38 Rina Zviel-Girshin @ASC38  ({q1,q2,q3},a)={q1,q2,q3}  ({q1,q2,q3},b)={q2} q0,q1

39 Rina Zviel-Girshin @ASC39 Any Questions?


Download ppt "Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter 2002-2003."

Similar presentations


Ads by Google