What to study for Quiz #3

--------------------------------------------------
CHAPTER 9: EXPLORING GRAPHS
--------------------------------------------------

Be able to discuss:

section 9.1     Intro to Graphs & Games pp. 285-291
section 9.6     Backtracking pp. 305-306
section 9.6.1   The Knapsack Problem (3) pp. 306-308
section 9.7     Branch and Bound p. 312
section 9.7.1   The Assignment Problem pp. 312-315
section 9.7.3   General Considerations pp. 316-317


Be able to disuss the version of the knapsack problem described
in section 9.6.1, and the basic characteristics of the
algorithm given there for finding a solution.

Be familiar with the meaning of the branch-and-bound technique
and with how it is applied to the assignment problem.

--------------------------------------------------
CHAPTER 10: Probabalistic Algorithms
--------------------------------------------------

Be able to discuss:

section 10.1    Introduction (to Probabilistic Algorithms) pp. 328-329
section 10.2    Probabilistic Does Not Imply Uncertain pp. 329-330
section 10.5    Numerical Probabilistic Algorithms p. 333
section 10.5.2  Numerical Integration pp. 336-338
section 10.6    Monte Carlo Algorithms p. 341

Know the differences among the concepts of Numerical Algorithm,
Monte Carlo Algorithm, and Monte Carlo Algorithm.

Be familiar with the basic idea of "Buffon's Needle"
(l'Aiguille de Buffon), numerical integration, and
probabalistic counting.  Understand that the foregoing are
examples of Numerical Algorithms.

Be familiar with the basic idea of how one uses Fermat's little
theorem to "prove that a number is probably prime."  

--------------------------------------------------
CHAPTER 12: Computational Complexity
--------------------------------------------------

"Read the chapter.  Know the material.  Use the notes in the
class web space as a guide for figuring out what I consider
important."

Also, use the notes to help figure out and understand the
concepts.

What is the study of computational complexity?  What kinds of
questions are addressed by this study?
 
-----------------------------------------------------------------
 
What is a decision tree?  What is a verdict in a decision
tree?  What is a trip through a decision tree?  How does a
decision tree correspond to an algorithm?  What is the
relationship between the height of a decision tree and the
number of questions asked by the corresponding algorithm?  What
is the connection between the height of a decision tree and the
number of possible verdicts in the tree?
 
-----------------------------------------------------------------
 
What is an adversary argument?  Explain the role of the
"malevolent daemon" (the adversary) in the example of 20
questions, finding the maximum of an array, or testing graph
connectivity.
 
-----------------------------------------------------------------
 
What are the formal definitions of linear reducibility and
linear equivalence?  What is meant by the transitivity of
linear reducibility and linear equivalence?
 
-----------------------------------------------------------------
 
Be prepared to verify whether or not an alleged "proof" of
linear reducibility is correct.
 
-----------------------------------------------------------------
 
What is a polynomial time algorithm?
 
What is a decision problem?
 
What is the class P?
 
What is the class NP?
 
Be able to prove that P is contained in NP.
 
-----------------------------------------------------------------
 
What are the formal definitions of polynomially Turing
reducible and polynomially Turing equivalent?  What is meant by
the transitivity of polynomial Turing reducibility and
polynomial Turing equivalence?
 
Be prepared to verify whether or not an alleged "proof" of
polynomial Turing reducibility is correct.
 
-----------------------------------------------------------------
 
Be able to state and prove theorem 12.5.6:  "Consider two
problems A and B.  If A is polynomially Turing reducible to B
and if B can be solved in polynomial time, then A can also be
solved in polynomial time."
 
-----------------------------------------------------------------
 
What does it mean to say that a problem is decision-reducible?
 
What is the importance of decision-reducibility?
 
-----------------------------------------------------------------
 
Be familiar with the specific problems discussed in chapter
12.  For example, be familiar with the travelling salesperson
problem, the problem of determining if an undirected graph has
a Hamiltonian circuit, the problem of multiplying symmetric
matrices, the problem of coloring a graph, and so forth.
 
-----------------------------------------------------------------
 
What is an NP-complete decision problem?
 
Be familiar with Theorem 12.5.11, and how it can be used to
find "new" examples of NP-complete problems.
 
What is the satisfiability problem SAT?  What are the problems SAT-CNF
and SAT-k-CNF?
 
What does Cook's theorem say?  What is the importance of Cook's
theorem?  Be prepared to discuss the aspects of the proof of
Cook's theorem that we covered.
 
Be prepared to give some examples of NP-complete problems.
 
Be sure you can recall which problems discussed in chapter 12
were proved to be NP-complete, and which ones the authors told
you were NP-complete.
 
-----------------------------------------------------------------
 
What is an NP-hard problem?

Is every NP-hard problem NP-complete?  Explain.

Is every NP-complete problem NP-hard?
 
-----------------------------------------------------------------
 
What does NP actually stand for?
 
What is a non-deterministic decision algorithm?  Specifically
how is a non-deterministic algorithm allowed to differ from a
deterministic one?
 
What is the definition of NP that uses the concept of
non-deterministic polynomial time algorithms?
 
-----------------------------------------------------------------