Nfas and dfas
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

NFAs and DFAs PowerPoint PPT Presentation


  • 58 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Nfas and dfas

NFAs and DFAs

Sipser 1.2 (pages 47-63)


Last time

Last time…


Nfas and dfas

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:


Nfa computation

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


One last operation

One last operation


Kleene star operation

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*?


Clay knee

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


Kleene star

Kleene star

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


If only

If only…

… somebody would prove that the

class of languages recognized by NFAs

and

the class of languages recognized by DFAs

were equal…


Nfas and dfas

Then…

  • We’d have:

    • The class of regular languages is closed under:

      • Concatenation

      • Kleene star


Nfas and dfas

And…

a cute proof for closure under union!


We can be that somebody

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…


Then there exists a dfa m

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


We need to show there exists an nfa n

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?


Now the other way

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)


Equivalent machines

Equivalent machines

  • Definition: Two machines are equivalent if they recognize the same language

  • Let’s prove:

    Theorem: Every NFA has an equivalent DFA.


Remember

Remember…


A simpler example

A simpler example


Removing choice

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


Okay but what about arrows

Okay, but what about ε arrows?


Modifying our construction

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


  • Login