Download presentation

Presentation is loading. Please wait.

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

CS 310 – Fall 2006 Pacific University CS310 Converting NFA to DFA Sections:1.2 Page 54 September 15, 2006.

CS 310 – Fall 2006 Pacific University CS310 Converting NFA to DFA Sections:1.2 Page 54 September 15, 2006.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on tissues in plants and animals for class 9 Option call put ppt on loop Ppt on dry fish processing Ppt on any topic of science Presentation ppt on motivation 3d holographic display ppt on tv Ppt on judiciary system in india Ppt on ufo and aliens found Ppt on layer 3 switching Ppt on depth first search vs breadth