82
FORMAL DEFINITION CSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of Science and Technology August 7, 2019 Md Jakaria MIST Theory of Computation August 7, 2019 1 / 31

CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

CSE-217: Theory of ComputationNON-DETERMINISM

Md Jakaria

LecturerDepartment of Computer Science and Engineering

Military Institute of Science and Technology

August 7, 2019

Md Jakaria MIST Theory of Computation August 7, 2019 1 / 31

Page 2: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

FORMAL DEFINITION

Md Jakaria MIST Theory of Computation August 7, 2019 2 / 31

Page 3: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

NON-DETERMINISM

Md Jakaria MIST Theory of Computation August 7, 2019 3 / 31

Page 4: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

NON-DETERMINISM

Md Jakaria MIST Theory of Computation August 7, 2019 4 / 31

Page 5: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

NON-DETERMINISM

Md Jakaria MIST Theory of Computation August 7, 2019 5 / 31

Page 6: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

1 Deterministic and nondeterministic finiteautomata recognize the same class oflanguages.

2 Such equivalence is both surprising anduseful.

Md Jakaria MIST Theory of Computation August 7, 2019 6 / 31

Page 7: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

3 It is surprising because NFAs appear to havemore power than DFAs, so we might expectthat NFAs recognize more languages.

4 It is useful because describing an NFA for agiven language sometimes is much easierthan describing a DFA for that language.

5 Say that two machines are equivalent if theyrecognize the same language.

Md Jakaria MIST Theory of Computation August 7, 2019 7 / 31

Page 8: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

Theorem

Every nondeterministic finite automatonhas an equivalent deterministic finite

automaton.

Md Jakaria MIST Theory of Computation August 7, 2019 8 / 31

Page 9: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

PROOF IDEA1 If a language is recognized by an NFA, then

we must show the existence of a DFA thatalso recognizes it.

2 The idea is to convert the NFA into anequivalent DFA that simulates the NFA.

3 Recall the “reader as automaton” strategy fordesigning finite automata.

Md Jakaria MIST Theory of Computation August 7, 2019 9 / 31

Page 10: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

4 How would you simulate the NFA if you werepretending to be a DFA?

5 What do you need to keep track of as theinput string is processed?

6 In the examples of NFA’s, you kept track ofthe various branches of the computation byplacing a finger on each state that could beactive at given points in the input.

Md Jakaria MIST Theory of Computation August 7, 2019 10 / 31

Page 11: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

7 You updated the simulation by moving,adding, and removing fingers according tothe way the NFA operates.

8 All you needed to keep track of was the set ofstates having fingers on them.

9 If k is the number of states of the NFA, it has2k subsets of states.

Md Jakaria MIST Theory of Computation August 7, 2019 11 / 31

Page 12: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

10 Now we need to figure out which will be thestart state and accept states of the DFA.

11 What will be its transition function.

12 We can discuss this more easily after settingup some formal notation.

Md Jakaria MIST Theory of Computation August 7, 2019 12 / 31

Page 13: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

PROOFLet N = (Q, Σ, δ, q0, F) be the NFArecognizing some language A

We construct a DFA M = (Q′, Σ′, δ′, q′0, F ′)recognizing A

Md Jakaria MIST Theory of Computation August 7, 2019 13 / 31

Page 14: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

Before doing the full construction, lets firstconsider the easier case wherein N has no εarrows.

Later we take the ε arrows into account.

Md Jakaria MIST Theory of Computation August 7, 2019 14 / 31

Page 15: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

1 Q′ = P(Q).

Every state of M is a set of states of N.

Recall that P(Q) is the set of subsets of Q.

Md Jakaria MIST Theory of Computation August 7, 2019 15 / 31

Page 16: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

2 For R ∈ Q′ and a ∈ Σ, let

δ′(R,a) = {q ∈ Q|q ∈ δ(r ,a) for some r ∈ R}

If R is a state of M, it is also a set of statesof N.

When M reads a symbol a in state R, itshows where a takes each state in R.

Because each state may go to a set ofstates, we take the union of all these sets

Md Jakaria MIST Theory of Computation August 7, 2019 16 / 31

Page 17: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

3 q′0 = {q0}

M starts in the state corresponding to thecollection containing just the start state ofN.

Md Jakaria MIST Theory of Computation August 7, 2019 17 / 31

Page 18: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

4 F ′ = {R ∈ Q′|R contains an accept state ofN}

The machine M accepts if one of thepossible states that N could be in at thispoint is an accept state.

Md Jakaria MIST Theory of Computation August 7, 2019 18 / 31

Page 19: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

Now we need to consider the ε arrows.

To do so, we set up an extra bit of notation.

For any state R of M, we define E(R) to be thecollection of states that can be reached frommembers of R by going only along ε arrows,including the members of R themselves

Md Jakaria MIST Theory of Computation August 7, 2019 19 / 31

Page 20: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

Formally, for R ⊆ Q letE(R) = {q|q can be reached from R bytraveling along 0 or more ε arrows}

Then we modify the transition function of M toplace additional fingers on all states that canbe reached by going along ε arrows afterevery step.

Replacing δ(r ,a) by E(δ(r ,a)) achieves thiseffect

Md Jakaria MIST Theory of Computation August 7, 2019 20 / 31

Page 21: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

Thus δ′(R,a) = {q ∈ Q|q ∈ E(δ(r ,a)) forsome r ∈ R}

Additionally, we need to modify the start stateof M to move the fingers initially to allpossible states that can be reached from thestart state of N along the ε arrows.

Changing q′0 to be E({q0})) achieves thiseffect

Md Jakaria MIST Theory of Computation August 7, 2019 21 / 31

Page 22: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Equivalence of NFA and DFA

We have now completed the construction ofthe DFA M that simulates the NFA N.

The construction of M obviously workscorrectly.

At every step in the computation of M on aninput, it clearly enters a state thatcorresponds to the subset of states that Ncould be in at that point.

Thus our proof is complete.

Md Jakaria MIST Theory of Computation August 7, 2019 22 / 31

Page 23: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Example

Md Jakaria MIST Theory of Computation August 7, 2019 23 / 31

Page 24: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Example-continued

Md Jakaria MIST Theory of Computation August 7, 2019 24 / 31

Page 25: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Example-continued

Md Jakaria MIST Theory of Computation August 7, 2019 25 / 31

Page 26: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Example-continued

Md Jakaria MIST Theory of Computation August 7, 2019 26 / 31

Page 27: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Example-2

Md Jakaria MIST Theory of Computation August 7, 2019 27 / 31

Page 28: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Example-2 continued

Md Jakaria MIST Theory of Computation August 7, 2019 28 / 31

Page 29: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Example-2 continued

Md Jakaria MIST Theory of Computation August 7, 2019 29 / 31

Page 30: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Exercise-1 Convert the following NFA to equivalent DFA

Md Jakaria MIST Theory of Computation August 7, 2019 30 / 31

Page 31: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

FORMAL DEFINITION

Exercise-2 Convert the following NFA to equivalent DFA

Md Jakaria MIST Theory of Computation August 7, 2019 31 / 31

Page 32: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

ExampleLewis and Papadimitriou, Example 2.2.3, p-70

We find the DFA equivalent to the nondeterministic automaton.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 100 / 183

Page 33: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Q′ is the power set of Q.

Since N has 5 states, D will have 25 = 32 states.However, only a few of these states will be relevant to theoperation of D.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 34: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Q′ is the power set of Q.

Namely, those states that can be reached from state q0′ by

reading some input string.Obviously, any state in D that is not reachable from q0

′ isirrelevant to the operation of D.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 35: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Q′ is the power set of Q.

We shall build this by lazy evaluation on the subsets.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 36: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

q0′ = E(q0).

q0′ = E(q0) = {q0,q1,q2,q3}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 37: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

q0′ = E(q0).

q0′ = E(q0) = {q0,q1,q2,q3}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 38: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

δ(q0,a) ∪ δ(q1,a) ∪ δ(q2,a) ∪ δ(q3,a) =∅ ∪ {q0,q4} ∪ ∅ ∪ {q4} = {q0,q4}

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 39: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

E(q0) = {q0,q1,q2,q3}, and E(q4) = {q3,q4}.δ′(q0

′,a) = {q0,q1,q2,q3} ∪ {q3,q4} = {q0,q1,q2,q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 40: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Similarly, δ′(q0′,b) = {q2,q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 41: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Similarly, δ′(q0′,b) = {q2,q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 42: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

We repeat the calculation for the newly introduced states.δ′({q0,q1,q2,q3,q4},a) = {q0,q1,q2,q3,q4}, andδ′({q0,q1,q2,q3,q4},b) = {q2,q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 43: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

We repeat the calculation for the newly introduced states.δ′({q0,q1,q2,q3,q4},a) = {q0,q1,q2,q3,q4}, andδ′({q0,q1,q2,q3,q4},b) = {q2,q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 44: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

We repeat the calculation for the newly introduced states.δ′({q0,q1,q2,q3,q4},a) = {q0,q1,q2,q3,q4}, andδ′({q0,q1,q2,q3,q4},b) = {q2,q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 45: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Also we get.δ′({q2,q3,q4},a) = {q3,q4}, andδ′({q2,q3,q4},b) = {q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 46: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Also we get.δ′({q2,q3,q4},a) = {q3,q4}, andδ′({q2,q3,q4},b) = {q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 47: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Also we get.δ′({q2,q3,q4},a) = {q3,q4}, andδ′({q2,q3,q4},b) = {q3,q4}.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 48: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Next we get.δ′({q3,q4},a) = {q3,q4}, andδ′({q3,q4},b) = ∅.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 49: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Next we get.δ′({q3,q4},a) = {q3,q4}, andδ′({q3,q4},b) = ∅.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 50: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Next we get.δ′({q3,q4},a) = {q3,q4}, andδ′({q3,q4},b) = ∅.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 51: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Finally, we get.δ′(∅,a) = δ′(∅,b) = ∅.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 52: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Finally, we get.δ′(∅,a) = δ′(∅,b) = ∅.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 53: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

Finally, we get.δ′(∅,a) = δ′(∅,b) = ∅.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 54: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

F ′ is those sets of states that contain at least one accepting state of N.

q4 is the sole member of F .The set of final states, contains each set of states of whichq4 is a member.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 55: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

F ′ is those sets of states that contain at least one accepting state of N.

q4 is the sole member of F .The set of final states, contains each set of states of whichq4 is a member.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 56: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Example — continued

N = (Q,Σ, δ,q0,F ) D = (Q′,Σ, δ′,q0′,F ′)

F ′ is those sets of states that contain at least one accepting state of N.

The three states {q0,q1,q2,q3,q4}, {q2,q3,q4}, and{q3,q4} are final.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 101 / 183

Page 57: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAsSipser, 1.2, p-56

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 102 / 183

Page 58: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Closure under the Regular OperationsSipser, 1.2, p-59

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 103 / 183

Page 59: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Closure under the Regular OperationsSipser, 1.2, p-59

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 104 / 183

Page 60: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

L1 = {contains an odd number of a’s}L2 = {aa}

N1

q01 q11

a

a

N2

q02 q12 q22a a

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 105 / 183

Page 61: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-56

PROOF

Let N1 = (Q1,Σ, δ1,q1,F1) recognize A1.And N2 = (Q2,Σ, δ2,q2,F2) recognize A2.Construct N = (Q,Σ, δ,q0,F ) to recognize A1 ∪ A2.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 106 / 183

Page 62: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-56

1. Q = {q0} ∪Q1 ∪Q2.The states of N are all the states of N1 and N2, with theaddition of a new start state q0.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 107 / 183

Page 63: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-56

2. The state q0 is the start state of N.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 108 / 183

Page 64: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-56

3. The set of accept states F = F1 ∪ F2.The accept states of N are all the accept states of N1 andN2.That way, N accepts if either N1 accepts or N2 accepts.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 109 / 183

Page 65: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-56

4. Define δ so that for any q ∈ Q and any a ∈ Σε,

δ(q,a) =

δ1(q,a) q ∈ Q1

δ2(q,a) q ∈ Q2

{q1,q2} q = q0 and a = ε

∅ q = q0 and a 6= ε

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 110 / 183

Page 66: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Closure under the Regular OperationsSipser, 1.2, p-60

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 111 / 183

Page 67: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Closure under the Regular OperationsSipser, 1.2, p-60

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 112 / 183

Page 68: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

L1 = {contains an odd number of a’s}L2 = {aa}

N1

q01 q11

a

a

N2

q02 q12 q22a a

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 113 / 183

Page 69: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-61

PROOF

Let N1 = (Q1,Σ, δ1,q1,F1) recognize A1.And N2 = (Q2,Σ, δ2,q2,F2) recognize A2.Construct N = (Q,Σ, δ,q0,F ) to recognize A1 ◦ A2.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 114 / 183

Page 70: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-61

1. Q = Q1 ∪Q2.The states of N are all the states of N1 and N2.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 115 / 183

Page 71: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-61

2. The state q1 is the start state of N.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 116 / 183

Page 72: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-61

3. The set of accept states F = F2.The accept states F are the same as the accept states ofN2.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 117 / 183

Page 73: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-61

4. Define δ so that for any q ∈ Q and any a ∈ Σε,

δ(q,a) =

δ1(q,a) q ∈ Q1 and q 6∈ F1

δ1(q,a) q ∈ F1 and a 6= ε

δ1(q,a) ∪ {q2} q ∈ F1 and a = ε

δ2(q,a) q ∈ Q2

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 118 / 183

Page 74: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Closure under the Regular OperationsSipser, 1.2, p-62

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 119 / 183

Page 75: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Closure under the Regular OperationsSipser, 1.2, p-62

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 120 / 183

Page 76: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

∑= {a,b}, L3 = {ends in exactly one a at the end}

M3

q0

q2

q1 q3ε

ε

a,b

b

a

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 121 / 183

Page 77: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

∑= {a,b}, L3 = {ends in exactly one a at the end}

M3

q0

q2

q1 q3ε

ε

a,b

b

a

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 121 / 183

Page 78: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-62

PROOF

Let N1 = (Q1,Σ, δ1,q1,F1) recognize A1.Construct N = (Q,Σ, δ,q0,F ) to recognize A∗1.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 122 / 183

Page 79: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-62

1. Q = {q0} ∪Q1.The states of N are the states of N1 plus a new start state.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 123 / 183

Page 80: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-62

2. The state q0 is the new start state.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 124 / 183

Page 81: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-62

3. F = {q0} ∪ F1.The accept states are the old accept states plus the newstart state.

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 125 / 183

Page 82: CSE-217: Theory of Computation - GitHub PagesCSE-217: Theory of Computation NON-DETERMINISM Md Jakaria Lecturer Department of Computer Science and Engineering Military Institute of

Equivalence of NFAs AND DFAs — continuedSipser, 1.2, p-62

4. Define δ so that for any q ∈ Q and any a ∈ Σε,

δ(q,a) =

δ1(q,a) q ∈ Q1 and q 6∈ F1

δ1(q,a) q ∈ F1 and a 6= ε

δ1(q,a) ∪ {q1} q ∈ F1 and a = ε

{q1} q ∈ q0 and a = ε

∅ q = q0 and a 6= ε

Dr. Muhammad Masroor Ali CSE 211 (Theory of Computation) 126 / 183