NFA Homework

For each of the following languages, come up with a nondeterministic finite automaton that recognizes the language. Create state diagrams for your automata using JFLAP, and upload the JFLAP files to the assignment on Moodle. Give the formal definitions of your automata on paper, and turn them in at the beginning of class on Friday. The formal definition consists of the set of states \(Q\), the alphabet \(\Sigma\), the transition function \(\delta\), the start state which must be an element of \(Q\), and the set of accept states \(F\).

Consult the JFLAP Tutorial for help using JFLAP. Remember that to create a transition for multiple symbols you must create multiple transitions. Be sure to test each of your automata with several strings to ensure that it functions correctly.

For all languages the alphabet is \(\{\texttt{0},\texttt{1}\}\)

  1. \(\{w | w\) contains a \(\texttt{1}\) at the third position from the end or the second position from the end \(\}\)
  2. \(\{w | w\) contains \(\texttt{00}\) or \(\texttt{11}\) as a substring \(\}\)
  3. \(\{w | w\) contains an even number of \(\texttt{0}\)s, or contains exactly two \(\texttt{1}\)s \(\}\)