Presentation is loading. Please wait.

Presentation is loading. Please wait.

Nondeterministic Finite State Automata (Dr. Torng)

Similar presentations


Presentation on theme: "Nondeterministic Finite State Automata (Dr. Torng)"— Presentation transcript:

1 Nondeterministic Finite State Automata (Dr. Torng)
NFA’s

2 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)

3 Example NFA a b a,b Why is this only an NFA and not an FSA? Identify as many reasons as you can.

4 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

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

6 Definition of ├ unchanged *
b a,b Definition of ├ unchanged * Input string aaaaba (1, aaaaba) (1, aaaba) (2, aaaba) (1, aaba) (2, aaba) (3, aaba) (1, aba) (2, aba) (3, aba) crash (1, ba) (2, ba) (3, ba) (1, a) (4, a) (1, l) (2, l) (5, l) (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)

7 Acceptance and Rejection
b a,b 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 (1, aaaaba) (1, aaaba) (2, aaaba) (1, aaba) (2, aaba) (3, aaba) (1, aba) (2, aba) (3, aba) crash (1, ba) (2, ba) (3, ba) (1, a) (4, a) (1, l) (2, l) (5, l)

8 Comparison b a a,b a a b a b b FSA a b a,b NFA

9 Defining L(M) and LNFA 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) N(M) LNFA Language L is in language class LNFA iff

10 Comparing language classes
LFSA subset of LNFA

11 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

12 Visualization L L LFSA LNFA M M’ FSA’s NFA’s
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 M LFSA LNFA FSA’s NFA’s M’

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


Download ppt "Nondeterministic Finite State Automata (Dr. Torng)"

Similar presentations


Ads by Google