Midterm Study Guide
CSE 322: Introduction to Formal Models in Computer Science
Winter
2009
Midterm Exam, Monday, February 9, 2009
- Midterm Policies
-
The midterm allows for open book and open notes. Bring the text book and your
own personal notes. Nothing else.
-
The exam begins promptly at 1:30 and ends at 2: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.
Finding lower bounds on the number of states
for certain regular languages.
-
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.
State elimination
algorithm for finding a regular expression equivalent to a NFA.
-
Non-regular languages. Direct proofs of non-regular languages using
the pigeon hole principle. The pumping lemma for regular languages
and its applications.
-
Algorithms for finite state automata. Algorithms for removing e-transitions and finding reachable states.
Polynomial time algorithm for testing membership for NFAs without constructing
the equivalent DFA (running an NFA deterministically).
Algorithms for testing emptiness and finiteness of languages
accepted by finite automata. Minimum state finite state automaton construction.
-
Study suggestions
-
Do the old midterm 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.
Finding reachable states.
Finding a minimum state deterministic finite automaton.
-
Review chapters 0 and 1.
-
Do many concrete problems from the book in an exam-like setting.