Professional Documents
Culture Documents
Stefan D. Bruda
stefan@bruda.ca
An overview of the domain is given in Section 1. The particular problem that you need to
present is outlined in Section 2. The more specific requirements of this challenge are revealed in
Section 3. For further preliminaries such as the big-oh notation and algorithm analysis refer to a
good textbook on algorithms [3] and/or a good textbook on theoretical computer science [5].
1 Preliminaries
A decision problem is a problem for which the possible answers are true and false. We henceforth
drop the “decision” qualifier with the understanding that all the problems are decision problems
unless stated otherwise. Given an input w for a (decision) problem π we say that w is a positive
instance of π whenever the answer on input w according to π is true; otherwise w is a negative
instance of π .
1
problems for which it can be determined in polynomial time whether a solution candidate is in-
deed a solution for that problem (note however that an actual solution cannot necessarily be com-
puted in polynomial time).
2
The first instance comes from the computability theory. In this case X is the class of recursive
problems (those that admit an algorithmic solution) and Y is the class of recursively enumerable
problems (that can be formulated as computational problems but cannot necessarily be solved
algorithmically). The reductions used in this circumstance are recursive, meaning that they are
functions that can be computed algorithmically.
The second example is the famous P vs. NP question, which was also discussed in CS 567.
Unsurprisingly enough X is P (problems that feature algorithm running in polynomial time) and
Y is NP (problems whose solutions can be verified in polynomial time, see above). Obviously the
reductions used in this context are all polynomial (functions that are computable algorithmically
in polynomial time).
3
The quest for showing that P is different from NP is part of the complexity theory. Any good
textbook in theoretical computer science covers complexity as well as the computability theory
(about the relation between recursively enumerable and recursive problems) so refer to such a
textbook [5] for further details.
4
believed that the two are not comparable. The concept of a reduction must therefore rely on a
third class that is a subset of both. The first task of this challenge will establish such a class:
Hint. One of the two inclusions is trivial. For the other one, let π ∈ NL be a decision problem and
let w be some input for π . Consider all the possible contents of the storage plus the current output
(which can be true, false, or “not yet determined”) for an algorithm solving π and working on w.
How many such possible “configurations” do we have? Now arrange these configurations in a
graph so that there exists an edge between configuration ci and configuration c j if any only if c j
can be reached from ci in a single computation step according to the algorithm that solves π . Will
traversing this graph allow us to obtain the answer to our problem? If so, how much time will the
traversal take?
Now that we have an “inner” class we can proceed with defining a suitable reduction:
Task 2 Formally define reductions for the purpose of defining complete problems for the class P.
Explain carefully how are your reductions closed under functional composition.
Hint. Could it be that your reductions feature space restrictions? If so, it is quite possible that
the allowed space is not enough for storing intermediate results. That is, you cannot just compute
τπ1 →π2 (w) and then run τπ2 →π3 on the result simply because there is not enough space to store that
result. If this is the case then you need to be creative and compute τπ1 →π2 (w) piecemeal instead
of all at once. Note that during this process it is likely that you have no restriction on the running
time (just on space).
Finally, we get to define P-complete problems:
Task 3 Define the class of P-complete problems. Explain carefully how showing that a P-complete
problem is in PLOYLOGSPACE results in the whole class P being included in POLY-
LOGSPACE. Explain the practical consequences of finding that P-complete problems are
or are not in POLYLOGSPACE.
Now that all the ingredients are in place it is time to review the P-complete problems:
Task 4 Provide an overview of P-complete problems. Start with a detailed overview of how the
first P-complete problem was shown to exist. Continue with describing how a second prob-
lem is shown to be P-complete using a suitable reduction. Finally, describe a few other
interesting P-complete problems (without going into too many details regarding the proof
of their P-completeness).
3 Your Mission
Imagine that you are a graduate student who just proved that P and POLYLOGSPACE are not
comparable, and that you have approached this effort on the basis of the theory of P-complete
problems. You are ready to write your thesis. True, that’s not going to get you that cool million
dollar prize, but still the fame is yours and that usually comes packed with a good, well paid
academic job. In fact, I am pretty sure that you will be able to pick your own university!
5
Before all that could happen though, you need to write your thesis. Like all the theses, the
first three chapters do not have much of a relation with your findings. They consists instead of an
introduction (what is the problem and why is it worth solving), the preliminaries (summarizing
the concepts and notations that will be used throughout the rest of the paper), and previous work
(what other people have done in the domain already).
Your mission should you choose to accept it is to write a report that contains these three chap-
ters; the rest of the thesis described above is left as an exercise for the interested reader. The first
two are straightforward, while the third should address the tasks from the previous section and
also any additional concepts and results that are related to the topic at hand; it is your responsi-
bility to find those, including but not necessarily limited to examples of P-complete problems and
their practical significance.
All of this has been discovered already so there is nothing for you to discover. All you need
to do is to gather the information in a coherent, correct, and complete report. At the same time,
you need to provide references for each concept included in your report, so that the interested
reader can dig further and be able with minimal effort to come up with the original papers that
introduce the results you are talking about (these are called primary references, as opposed to sec-
ondary references just like your report, that collect and describe multiple results). As an example
of primary vs. secondary references note that the reference list at the end of this handout contains
five primary and three secondary references (I will leave you the pleasure to figure out which is
which).
Finding the references to the results that you are going to include in the report is your respon-
sibility. As a starting point I am going to give you a good primary reference [6] (incidentally this is
a rare occurrence of a book being in fact a primary reference) and also mention the fact that there
exists at least one other very good secondary reference (a book that is available electronically on
the Internet, which you will have to find all by yourself if needed).
Literature review and references (out of 30 marks) The first step in writing a report like this is
to find relevant papers to summarize. This process is called literature review. Potential
candidates include journal and conference papers as well as books (mostly as secondary
references). You need to find papers that are relevant to the subject and you need to pay
special attention to primary references. The literature search is demonstrated by the list of
references that you will be including at the end of your report. An example is this handout.
I am expecting at least two primary references and two secondary ones. Note that all your
6
references should be technical (research papers or textbooks). Lecture notes, Youtube videos,
or Wikipedia articles are not acceptable.
Having a list of references is not enough, you also need to cite them in the text in all the
appropriate places. This handout is a decent though not necessarily outstanding example.
Any new concept should be supported by an appropriate citation unless is a concept that
you are defining in your report for the first time. All your references need to be cited in the
text; I will disregard completely any reference that is not cited.
Presentation (out of 40 marks) You are presenting a report that includes motivation, definitions,
and a list of results, and I expect all three of these to be present. Note however that the report
presents known results and so there is no need to provide proofs; the only exception is the
fact that I have explicitly requested a proof in Task 1 and so you are expected to provide a
complete proof for this result. All the presentation (other than the motivation) should be
formal; you are not writing an introductory textbook, you are writing a technical report.
A note that applies to the presentation but also to some degree to the language and consis-
tency part below is that whatever I do not understand will simply not be marked.
Language and consistency (out of 30 marks) All the text of the report should be yours; copying
and pasting from your references is not acceptable. A collection of definitions and results
will not do. The style should be consistent and the report should read fluently, with a clear
direction of where things are going. The report should also read like a novel and so bullet
points are to be avoided; do not be lazy, use complete sentences and paragraphs.
I am not going to be pedantic, but I nonetheless expect a good language quality. Make sure
you proof read your manuscript carefully before submitting. Too many language issues and
typos will result in loss of marks.
Your overall grade for this challenge will be the sum of all of the above, and so will be out of
100 marks.
References
[1] A. K. C HANDRA AND L. J. S TOCKMEYER, Alternation, in Proceedings of the 17th Annual Sym-
posium on Foundations of Computer Science, 1976, pp. 98–108.
[2] S. C OOK, The complexity of theorem proving procedures, in Proceedings of the Third Annual ACM
Symposium on Theory of Computing, 1971, pp. 151–158.
[4] M. R. G AREY AND D. S. J OHNSON, Computers and Intractability A Guide to the Theory of NP-
Completeness, Macmillan Higher Education, 1979.
[6] I. PARBERRY, Parallel Complexity Theory, John Wiley & Sons, New York, NY, 1987.
7
[7] E. L. P OST, Finite combinatory processes – formulation I, Journal of Symbolic Logic, 1 (1936),
pp. 103–105.