Midterm Study Guide
CSE 322: Introduction to Formal Models in Computer Science
Winter
2001
Midterm Exam, February 5, 2003
- Midterm Policies
-
The midterm is open book and open notes. Open notes includes homeworks and
their solutions. No other materials are allowed.
-
The exam begins promptly at 8:30 and ends at 9:20.
- Topics covered
-
Alphabets, strings, and languages. Operations of concatenation and
reversal on strings. Operations of union, complement, intersection,
concatenation, powering, Kleene star, and reversal on languages.
-
Finite automata. The equivalence of
deterministic and nondeterministic finite automata.
The subset construction. The cross
product construction. Behavioral lemmas and their use.
Finding lower bounds on the number of states
for certain regular languages. Running NFAs deterministically by
maintaining a set of states.
-
Regular expressions. Regular languages and ways to prove properties
about regular languages using induction on regular expression length.
-
Finite automata and regular expressions. Equivalence of finite automata
and regular expressions. Finite automata constructions for union,
concatenation, Kleene star, complement, and intersection and other operations.
-
Nonregular languages. Direct proofs of nonregular languages using
the pigeon hole principle. The pumping lemma for regular languages
and its applications.
-
Algorithms for finite state automata. Algorithm for removing e-moves.
State elimination algorithm for going from an NFA to a regular expression.
Polynomial time algorithm for testing membership for NFAs without constructing
the equivalent DFA.
Algorithms for testing emptiness and finiteness of languages
accepted by finite automata.
-
Study suggestions
-
Do the old midterms in an exam setting.
-
Work in study groups to help each other out in preparation. Give each other
problems to do in an exam setting. After doing the problems alone, critique
each others answers.
- Practice each algorithm to improve understanding and accuracy.
Creating an equivalent DFA from a NFA.
Creating an equivalent regular expression from a NFA.
Creating an equivalent NFA from a regular expression.
Removing epsilon-transitions.
-
Review chapters 1, 2, 3.1, 3.2, 4.1, 4.2, 4.3.
-
Do concrete problems from the book.