How to Convert NFA to DFA: Dealing with Epsilon Transitions

Sdílet
Vložit
  • čas přidán 14. 03. 2021
  • All DFAs are NFAs, but not all NFAs are DFAs. How can we convert an arbitrary NFA to an equivalent DFA? This video shows how to deal with epsilon transitions during this conversion.

Komentáře • 32

  • @ODAKAB
    @ODAKAB Před 8 měsíci +2

    cleanest and the clearest explanation even covers starting with an epsilon transition

  • @abenezertasissa49
    @abenezertasissa49 Před 2 lety +8

    WOW! perfect! the clear and consice explanation added with the amazing visuals, audio pacing being constant + composition and your way of covering a bunch of concepts within one example is perfect! loved it! Thank you!

  • @exxzxxe
    @exxzxxe Před rokem +1

    Excellent presentation.

  • @Iqbal00123
    @Iqbal00123 Před 5 měsíci +1

    Great video brother , please keep it up

  • @zaidooos
    @zaidooos Před 8 měsíci +1

    this man is good af thanks life savor

  • @junderfitting8717
    @junderfitting8717 Před rokem +1

    You are amazing!

  • @BakuValorant
    @BakuValorant Před 11 měsíci

    on nfa can you say that we can include s in new input states from {a,s,f} on 1 input with epsilon, followed by 1, then same epsilon transition again?

  • @abellacherabah6284
    @abellacherabah6284 Před 2 lety

    Thank you teacher

  • @samUmi
    @samUmi Před 9 měsíci

    Thank you!

  • @movocode
    @movocode Před 5 měsíci

    best explaination

  • @gauravmaur9080
    @gauravmaur9080 Před rokem

    thank you so much

  • @emilysahyoun8376
    @emilysahyoun8376 Před 2 lety

    why isnt s part of the set for {a,s,f} on 0?

  • @EzzzZZZ___
    @EzzzZZZ___ Před 2 lety +1

    Amazing video, jazakAllah Khair for clarifying epsilon transition

  • @sanoucedric6471
    @sanoucedric6471 Před 2 lety

    very nice! thx

  • @ngocchaunguyen8685
    @ngocchaunguyen8685 Před 4 měsíci

    Appreciate your clear explanation. Please continue making Computer Theory videos, such as converting regular expression to NFA and vice versa. Also, didn't mean to point this out, but because we are building DFA at the end, shouldn't our DFA have trap states? Anyway, thank you for your video, sir.

  • @kyrrodi9498
    @kyrrodi9498 Před 2 lety +2

    State (g,f) can be omitted, and the 0,1 transition can be from (a,s,f) to itself. I'm not sure how you got the state (g,f) in the first place, given there are no forward epsilon-transitions (indeed, no forward transitions at all) from state (g) or state (f) in the NFA.
    Essentially, if a newly created DFA state is a subset of any of the others, it doesn't need to be included.

    • @irfan_
      @irfan_  Před rokem

      RE: "not sure how you got the state (g,f) in the first place." First, make sure you understand how we got the state {a,s,f} in the first row of the table. Now, consider 0 transition out of {a, s, f} (third row of the table). Observe that we can go from a to f on a 0 transition in the NFA. We can go from s to g on a 0 transition. Hence, we obtain {g, f} from {a, s, f} on a 0 transition. Makes sense? The video has a detailed explanation, including 0 transitions.
      Furthermore, your comment on subset is not true in general (and needs to be further refined). In particular, there are worst case examples (see the "Dragon book" of compiler design) showing that n number of NFA states may lead to 2^n DFA states, where you MUST retain all the subsets.

  • @stephenjamesconnelly7564
    @stephenjamesconnelly7564 Před 4 měsíci

    great !

  • @misspps_
    @misspps_ Před 5 měsíci

    thankss

  • @victorliu9629
    @victorliu9629 Před rokem +2

    shouldn't DFA cover all of the transitions(0 and 1)? g and g,f doesn't have any transitions

    • @irfan_
      @irfan_  Před rokem

      This is because in the NFA, there is no transition out of g or out of f. In general, we cannot have a transition in the DFA that does not exist in the NFA.

  • @kodtld
    @kodtld Před rokem

    Thanks for the very helpful explanation!

  • @sun-eq8yw
    @sun-eq8yw Před rokem

    Awesome!
    please, what is the app you use?

  • @sun-eq8yw
    @sun-eq8yw Před rokem

    Please more video on computation theory, and all amaizing stuff . All the best !

  • @sarvsarv6349
    @sarvsarv6349 Před 2 lety +1

    thank you a lot.. also i think we must create a dead state to have complete dfa.

  • @lockness_gaming7634
    @lockness_gaming7634 Před měsícem

    What happens when f epsilon to another state

  • @farazahmad8118
    @farazahmad8118 Před rokem

    can you refer a book?

    • @irfan_
      @irfan_  Před rokem

      This is based on Michael Scott's Programming Languages book.

  • @MuhammedCheema-sl3lp
    @MuhammedCheema-sl3lp Před 2 měsíci

    should {g,f} not be {g,f,s} because u can go from a to s through epsilon.