Download presentation

1
NFAs and DFAs Sipser 1.2 (pages 47-63)

2
Last time…

3
NFA A nondeterministic finite automaton (NFA) is a 5-tuple (Q, Σ, δ, q0, F), where Q is a finite set called the states Σ is a finite set called the alphabet δ: Q × Σε → P(Q) is the transition function q0∈Q is the start state F⊆Q is a set of accept states In-class exercise:

4
**NFA computation Let N=(Q, Σ, δ, q0, F) be a NFA and let**

w be a string over the alphabet Σ Then N accepts w if w can be written as w1w2w3…wm with each wi∈Σε and There exists a sequence of states s0,s1,s2,…,sm exists in Q with the following conditions: s0=q0 si+1∈δ(si,wi+1) for i = 0,…,m-1 sn∈F

5
One last operation

6
**Kleene star operation Let A be a language.**

The Kleene star operation is A* = {x1x2…xk | k ≥ 0 and each xi ∈ A} Exercise A = {w | w is a string of 0s and 1s containing an odd number of 1s} B = {w | w is a string of 0s and 1s containing an even number of 1s} C = {0,1} What are A*, B*, and C*?

7
**- From http://visualbasic.about.com/od/usevb6/a/RegExVB6.htm**

Clay Knee? Kleene pronounced his last name klay'nee. His son, Ken Kleene, wrote: "As far as I am aware this pronunciation is incorrect in all known languages. I believe that this novel pronunciation was invented by my father." Dr. "Clay Knee" must have been a geek of the first water, to be sure! - From

8
Kleene star Theorem: The class of languages recognized by NFAs is closed under the Kleene star operation.

9
If only… … somebody would prove that the class of languages recognized by NFAs and the class of languages recognized by DFAs were equal…

10
**Then… We’d have: The class of regular languages is closed under:**

Concatenation Kleene star

11
**a cute proof for closure under union!**

And… a cute proof for closure under union!

12
We can be that somebody! Theorem: A language is regular if and only if there exists an NFA that recognizes it. Proof: (⇒) Let A be a regular language…

13
**Then there exists a DFA M**

M is a 5-tuple (Q, Σ, δM, q0, F), where Q is a finite set called the states Σ is a finite set called the alphabet δ: Q × Σ → Q is the transition function q0∈Q is the start state F⊆Q is a set of accept states

14
**We need to show there exists an NFA N**

N is a 5-tuple (Q, Σ, δN, q0, F), where Q is a finite set called the states Σ is a finite set called the alphabet δ: Q × Σε → P(Q) is the transition function q0∈Q is the start state F⊆Q is a set of accept states Can we define N from M?

15
Now the other way! Theorem: A language is regular if and only if there exists an NFA that recognizes it. Proof: (⇒) Let A be a language accepted by NFA N = (Q, Σ, δ, q0, F)

16
Equivalent machines Definition: Two machines are equivalent if they recognize the same language Let’s prove: Theorem: Every NFA has an equivalent DFA.

17
Remember…

18
A simpler example

19
**Removing choice Proof: Let A be a language accepted by NFA**

N = (Q, Σ, δ, q0, F) We construct a DFA M=(Q’, Σ, δ’, q0’, F’) recognizing A Q’ = P(Q) For R∈Q' and a∈Σ, define δ'(R,a) = ∪ δ(r,a) q0’ = {q0} F’ = { R∈Q’ | R contains an accept state from F} r∈R

20
**Okay, but what about ε arrows?**

21
**Modifying our construction**

Proof: Let A be a language accepted by NFA N = (Q, Σ, δ, q0, F) We construct a DFA M=(Q’, Σ, δ’, q0’, F’) recognizing A Q’ = P(Q) For R∈Q' and a∈Σ, define δ'(R,a) = ∪ E(δ(r,a)) where E(R) = {q | q can be reached from R along 0 or more ε arrows} q0’ = E({q0}) F’ = { R∈Q’ | R contains an accept state from F} r∈R

Similar presentations

OK

Introduction to the Theory of Computation John Paxton Montana State University Summer 2003.

Introduction to the Theory of Computation John Paxton Montana State University Summer 2003.

© 2018 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google