CSC 341: February 2, 2007
From CSWiki
Contents |
[edit]
Instructor's notes for the class session
[edit]
Leftovers
Review of the formal definition of nondeterministic finite automata.
The proof of Theorem 1.39; the formal construction of the equivalent deterministic finite automaton.
The
-extension of a state in a nondeterministic finite automaton.
Representing nondeterministic finite automata in Scheme (nfas.ss).
A Scheme program that implements the construction used in Sipser's proof of Theorem 1.39.
[edit]
From Sipser, section 1.2
Proving closure properties with nondeterministic finite automata: union, concatenation, star.
[edit]
Other activities
Exercise 1.7, Problems 1.38 and 1.41.
[edit]
Study questions
- In some textbooks on automata theory, the authors present a model of computation similar to Sipser's NFAs, but without
-transitions. It turns out that this model is equivalent to Sipser's NFAs, in the sense that exactly the same languages can be recognized in either model. How might one prove this?
- Why is it necessary, in the proof of Theorem 1.47, to change the accept states of N1 into non-accept states? No such change is made in the apparently similar proofs of Theorem 1.45 and Theorem 1.49.
- In the construction that Sipser develops in his proof of Theorem 1.49, what happens if the original NFA N1 has no accept states? What language does the star-NFA recognize in such a case?
[edit]
Proposed Solutions
- One way to prove this would be to prove that the given model of computation is equivalent to DFAs. Since NFAs and DFAs are already shown to be equivalent, by the transitive property NFAs would be equivalent to this alternate model.
- In Theorem 1.47 it's essential to change the accept states of N1 into non-accept states because if those states were left as accept states then N would also accept the strings in the language of N1, which is not what N is supposed to do. N is supposed to recognize the concatenation of the languages of N1 and N2, which may not include all members of N1 unless N2 accepts the empty string.
- In Theorem 1.49, if N1 has no accept states then the language of N is
.

