Final Exam Topics
Topic Text Chapter
-------------------- -------------
Introduction...................... 0 (covered lightly)
Regular Languages................. 1
Finite Automata................. 1.1
Nondeterminism.................. 1.2
Regular Expressions............. 1.3
Nonregular Languages............ 1.4
Context-Free Languages............ 2
Context-Free Grammars........... 2.1
Pushdown Automata............... 2.2
Formal definition of a pushdown automaton
Examples of pushdown automata
Equivalence with CFGs
Non-context-free Languages...... 2.3
The Church-Turing Thesis.......... 3
Turing Machines................. 3.1
Formal definition of a Turing Machine
Examples of Turing Machines
--------------- material above was on midterm ----------
Variants of Turing Machines..... 3.2
The Definition of Algorithm..... 3.3
Hilbert's problems
Terminology for describing Turing Machines
Decidability...................... 4
Decidable Languages............. 4.1
Decidability problems for regular languages
Decidability problems for context free languages
The Halting Problem............. 4.2
The diagonalization method
The halting problem is undecidable
A Turing-unrecognizable language
Reducibility...................... 5
Undecidable problems from Language Theory 5.1
Reductions via computation histories
A Simple Undecidable Problem.... 5.2
Mapping Reducibility............ 5.3
Computable functions
Formal definition of mapping reducibility
Time Complexity................... 7
Measuring complexity............ 7.1
Big-O & little-o notation
Analyzing algorithms
Complexity relationships among models
The Class P..................... 7.2
The Class NP.................... 7.3
Examples of NP problems
P versus NP
NP-completeness................. 7.4
Polynomial time reducibility
Definition of NP-completeness
The Cook-Levin theorem
Additional NP-complete Problems. 7.5
Space Complexity.................. 8
Savitch's Theorem............... 8.1
The Class PSPACE................ 8.2
PSPACE-completeness............. 8.3
The TQBF problem
The following is a list of Exercises and
Problems from the text like the ones that
may appear on exams, possibly in slightly
altered forms. Some have been assigned as
homework. Only very simple questions will
be asked about algorithms that grow rapidly
in complexity (such as converting an NFA to
the equivalent DFA).
Chapter 0
Exercises (pages 25-27):
0.4
0.5
0.6
Chapter 1
Know that regular languages are closed under
union, concatenation, star, intersection,
complement, and reversal. Know how to use
the Pumping Lemma and/or (Prob. 1.52) pairwise
distinguishability to prove non-regularity
Exercises (pages 83-88):
1.4
1.5
1.6
1.7
1.8, 9, 10
1.11
1.12
1.14a
1.16 NFA --> DFA
1.18
1.19 RE --> NFA
1.21 DFA --> RE
1.28 RE --> NFA
1.29
Problems (pages 88-93)
1.31
1.32
1.34
1.35
1.36
1.46
1.51
1.52 (know the results)
1.54a (special version of pumping lemma: pump between 1 and p+1)
1.60
Chapter 2
Know that context-free languages are closed under
union, concatenation, and star (but not intersection
or complement), also the intersection of a regular
language and a context-free language is context-free.
Know how to use the Pumping Lemma for CFL's to prove
a language is not context-free.
Exercises (pages 128-129):
2.1
2.2
2.3
2.4
2.6a
2.8 (simple example of ambiguity)
2.9
2.10
2.14
2.16
2.17
Problems (pages 130-132)
2.18
2.26
2.27
2.30
2.31
2.32
2.35
Chapter 3
Know the formal and informal definitions of Turing
Machines and know what the Church-Turing Thesis says.
Know how to specify a configuration of a Turing Machine.
Exercises (pages 159-160):
3.1
3.2
3.3
3.5
3.7
3.8
-------------- problems above were on midterm ----------
Problems (pages 160-162)
3.15
3.16
3.21
Chapter 4
Know about the decidability of the problems
"A" (Acceptance problem: does M accept w?),
"E" (Empty problem: is L(M) empty?), and
"EQ" (EQuality problem: is L(M1) = L(M2)?)
for FA's, CFG's, TM's, and LBA's (which is
actually in Chapter 5 pages 193-197). Know
the results of Thm 4.22 and Cor. 4.23.
Exercises (pages 182-183):
4.2
4.3
4.6
4.8
Problems (pages 183-184)
4.10
4.12
4.13
4.19
4.24
4.28
Chapter 5
Know the "real" Halting Problem Thm 5.1
and other undecidable problems from
language theory. Know about computation
histories and results on linear bounded
automata. Know _that_ the Post Correspondence
Problem and Hilbert's 10th Problem (in Chapter 4)
are undecidable non-automaton problems.
Know what mapping reducibility is and how it can
be used to prove decidability and undecidability.
Exercises (page 211):
5.1
5.5
5.6
5.7
Problems (pages 211-214)
5.15
5.17
5.28 (Rice's Theorem)
5.30 (applications of Rice's Theorem)
Chapter 7 (skipped Chapter 6)
Know the results of Theorems 7.8 and
7.11. Know the definitions of P, NP,
and NP-complete (also NP-hard). Know
the examples covered in class from each
of these classes. Know the result of
theorem 7.20. Know what polynomial time
reducibility is (Def. 7.29).
Exercises (pages 294-295):
7.1
7.2
7.4
7.5
7.6
7.7
7.9
7.11
Problems (pages 211-214)
7.12
7.14
7.15
7.20a
7.33 (just the def. of NP-hard & D is an example)
Chapter 8 (just Sections 8.1, 8.2, and first part
of 8.3)
Know the definitions of SPACE(f(n)) and
NSPACE(f(n)), and the result of Savitch's
Theorem. Know the definitions of PSPACE
and NPSPACE (and that they are equal by
Savitch's Theorem). Know the relationships
shown in Figure 8.7.
Know the definition of
PSPACE-complete, PSPACE-hard, and the fact
that the TQBF problem is PSPACE-complete
(where TQBF = {| phi is a True fully
Quantified Boolean Formula} )
No Exercises or Problems from this chapter.