1 / 21

NFAs and DFAs

NFAs and DFAs. Sipser 1.2 (pages 47-63). Last time…. NFA. A nondeterministic finite automaton (NFA) is a 5-tuple (Q, Σ , δ , q 0 , F) , where Q is a finite set called the states Σ is a finite set called the alphabet δ : Q × Σε → P(Q) is the transition function

yuval
Download Presentation

NFAs and DFAs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 wbe a string over the alphabet Σ • Then Nacceptsw 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) fori = 0,…,m-1 • sn∈F

  5. One last operation

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

  7. 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 http://visualbasic.about.com/od/usevb6/a/RegExVB6.htm

  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. 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 × Σ → Qis 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

More Related