1 / 14

Module 18

Module 18. NFA’s nondeterministic transition functions computations are trees, not paths L(M) and LNFA LFSA subset of LNFA Comparing computational models. Nondeterministic Finite State Automata. NFA’s. Change: d is a relation.

sibyl
Download Presentation

Module 18

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. Module 18 • NFA’s • nondeterministic transition functions • computations are trees, not paths • L(M) and LNFA • LFSA subset of LNFA • Comparing computational models

  2. Nondeterministic Finite State Automata NFA’s

  3. Change: d is a relation • For an FSA M, d(q,a) results in one and only one state for all states q and characters a. • That is, d is a function • For an NFA M, d(q,a) can result in a set of states • That is, d is now a relation • Next step is not determined (nondeterministic)

  4. a,b a,b a a b a Example NFA * • Why is this only an NFA and not an FSA?

  5. Computing with NFA’s • Configurations: same as they are for FSA’s • Computations are different • Initial configuration is identical • However, there may be several next configurations or there may be none. • Computation is no longer a “path” but is now a “graph” (often a tree) rooted at the initial configuration • Definition of halting, accepting, and rejecting configurations is identical • Definition of acceptance must be modified

  6. (1, aaaba) (2, aaaba) (1, aaba) (2, aaba) (3, aaba) (1, aba) (2, aba) (3, aba) crash a,b a,b (1, ba) (2, ba) (3, ba) a a b a (1, a) (4, a) (1, l) (2, l) (5, l) Computation Graph (Tree) Input string aaaaba (1, aaaaba)

  7. (1, aaaaba) (1, aaaba) (2, aaaba) (1, aaba) (2, aaba) (3, aaba) (1, aba) (2, aba) (3, aba) crash a,b a,b (1, ba) (2, ba) (3, ba) a a b a (1, a) (4, a) (1, l) (2, l) (5, l) Definition of |- unchanged * Input string aaaaba (1, aaaaba) |- (1, aaaba) (1, aaaaba) |- (2, aaaba) (1, aaaaba) |-3 (1, aba) (1, aaaaba) |-3 (3, aba) (1, aaaaba) |-* (2, aba) (1, aaaaba) |-* (3, aba) (1, aaaaba) |-* (1, l) (1, aaaaba) |-* (5, l)

  8. (1, aaaaba) (1, aaaba) (2, aaaba) (1, aaba) (2, aaba) (3, aaba) (1, aba) (2, aba) (3, aba) crash a,b a,b (1, ba) (2, ba) (3, ba) a a b a (1, a) (4, a) (1, l) (2, l) (5, l) Acceptance and Rejection * Input string aaaaba M accepts string x if one of the configurations reached is an accepting configuration (q0, x) |-* (f, l),f in A M rejects string x if all configurations reached are either not halting configurations or are rejecting configurations

  9. a,b a,b a a b a NFA Comparison b a a,b a a b a b b FSA

  10. M accepts string x if one of the configurations reached is an accepting configuration (q0, x) |-* (f, l),f in A M rejects string x if all configurations reached are either not halting configurations or are rejecting configurations L(M) (or Y(M)) The set of strings accepted by M N(M) The set of strings rejected by M LNFA Language L is in language class LNFA iff there exists an NFA M such that L(M) = L Defining L(M) and LNFA

  11. Comparing language classes LFSA subset of LNFA

  12. LFSA subset LNFA • Let L be an arbitrary language in LFSA • Let M be the FSA such that L(M) = L • M exists by definition of L in LFSA • Construct an NFA M’ such that L(M’) = L • Argue L(M’) = L • There exists an NFA M’ such that L(M’) = L • L is in LNFA • By definition of L in LNFA

  13. L L M M’ FSA’s NFA’s Visualization • Let L be an arbitrary language in LFSA • Let M be an FSA such that L(M) = L • M exists by definition of L in LFSA • Construct NFA M’ from FSA M • Argue L(M’) = L • There exists an NFA M’ such that L(M’) = L • L is in LNFA LFSA LNFA

  14. Construction * • We need to make M into an NFA M’ such that L(M’) = L(M) • How do we accomplish this?

More Related