# Problem Set 2

Due: Monday, Sept 15th by 11:59 PM

For each of the following finite automata problems, use JFLAP to construct the automaton, saving it in a JFLAP file (which will have a .jff file extension). Please use the filenames prob1.jff, prob2.jff, etc.

If the problem asks for a deterministic finite automaton, make sure that your automaton does not have any nondeterministic states. (In JFLAP, use the Test->Highlight Nondeterminism menu option.)

# Problem 1

Construct a deterministic finite automaton that recognizes the language over the alphabet {a, b} containing all strings with an odd number of b's. [See problem 3 in problem set 1 for example strings that should be accepted or rejected.]

# Problem 2

Construct a deterministic finite automaton that recognizes the language over the alphabet {a, b} containing all strings with an even number of a's and an odd number of b's.

For example, the following strings should be accepted by the automaton:

b
aab
aba
baa
bbabaaa

The following strings should be rejected by the automaton:

ε
ab
aabb
abab

# Problem 3

Construct a finite automaton (deterministic or nondeterministic) that recognizes the language over the alphabet {a, b} generated by the regular expression:

(a|ab|abb|abbb)*

For example, the following strings should be accepted by the automaton:

ε
a
aa
aab
abba
abbabbab

The following strings should be rejected by the automaton:

ba
abbbb

# Problem 4

Construct a finite automaton (deterministic or nondeterministic) that recognizes the language over the alphabet {a, b, c} of all strings not containing the substring ba. [See problem 4 from Problem Set 1 for strings that should be accepted and rejected.]

# Problem 5

Construct a deterministic finite automaton that recognizes the language over the alphabet {a, b} of all strings where the number of a's in the string is a multiple of 3.

For example, the following strings should be accepted by the automaton:

ε
bb
ababa
aaba
aaababaa

The following strings should be rejected by the automaton:

a
aba
baaabaa

# Submitting

Submit a zip file containing the JFLAP (.jff) files with your solutions to problems 1-5 as hw2.

The server URL is

https://camel.ycp.edu:8443/