CMPS 260 Spring 2020
Preview of Final Exam
Generally speaking, you should expect the final exam to include
problems similar to those that appeared in the homework assignments
and the midterm exam.
More specifically, you should be prepared to solve problems of the
following types:
- Given a binary relation on a set S, identify which properties
it possesses among reflexivity, symmetry, and transitivity.
- Given a set S and a list of properties (such as those mentioned
in the previous item), devise a binary relation on S (illustrated
by a directed graph whose vertices correspond to members of S)
that possesses those properties.
- Given a relatively simple assertion regarding numbers, sets,
relations, graphs, context-free grammars, or finite automata,
demonstrate its truth using one or more proof techniques among
mathematical induction, proof by contradiction, and the
pigeonhole principle.
- Given an informal, but precise, description of a context-free
language (CFL), devise a context-free grammar (CFG) that
generates that language.
- Given a CFG G, provide a precise (even if not necessarily formal)
description of the language that it generates (L(G)).
- Given an informal, but precise, description of a regular language,
devise either a finite automaton (possibly restricted to being
deterministic) that accepts the language or a regular expression
that denotes the language.
- Given a (possibly nondeterministic) finite automaton, provide
a precise (even if not necessarily formal) description of the
language that it accepts.
- Given a finite automaton M, devise a regular expression r such that
they represent the same language (i.e., L(M) = L(r)).
Or vice versa. (You will not be expected to carry out the
nfa-to-regular expression algorithm in Section 3.2, however.)
- Given a nondeterministic finite automaton (NFA), convert it to an
equivalent deterministic finite automaton (DFA) using the
"subset construction" algorithm (what Linz refers to as the
nfa-to-dfa procedure in Section 2.3).
- Given the description of some language operator (e.g., as in
Problems 16-18 at end of Section 2.3 or Problems 3-5 in HW #5),
justify the claim that regular languages are closed under that
operator. (Typically this is done by showing that an FA that
accepts L can be (algorithmically) modified to become an FA
that accepts op(L).)
- Given a DFA M, identify the equivalence classes of the
state-indistinguishability relation and, based upon those,
construct an equivalent minimal DFA M'.
- Given a non-regular language, prove it to be so using results
in Linz, the Regular Language Pumping Lemma, and/or closure
properties of regular languages.
- Given a CFG G, identify and remove its useless symbols to arrive
at an equivalent CFG G'.
- Given a CFG, tell whether or not it is ambiguous.
- Given a CFG G, convert it to an equivalent CFG in Chomsky Normal
Form (CNF).
- Given a CNF CFG G and a (short) string x, apply the CYK algorithm
(Section 6.3) to determine whether x ∈ L(G).
- Given an informal, but precise, description of a CFL L, devise a
(possibly nondeterministic) PDA M such that L(M) = L.
- Given the description of a (simple) recursively enumerable (RE)
language, devise a Turing machine (TM) that accepts it, or at
least describe such a machine in sufficient detail that it is
clear that the details could be worked out.
- Given the description of a (simple) computable function,
language, devise a Turing machine (TM) that computes it, or at
least describe such a machine in sufficient detail that it is
clear that the details could be worked out.
- Given the description of a set that is countable, but perhaps
not obviously so, demonstrate that it is, by describing a
mapping onto it from the positive integers or a procedure
by which to enumerate its elements.