Let us consider the first-year graduate complexity theory course.
Here at the University of Rochester we use Papadimitriou’s
book [Pap94] and Bovet and Crescenzi’s
book [BC93] as the texts, but many
other fine options exist, e.g.,
[Sav98, Sip97, BDG95, BDG90],
and the author hopes that even more options will soon become
available [HO] .
By “the first-year graduate complexity theory course,”
let us mean a one-semester
course designed for first-year graduate students (not just theory
people, but people from all areas), and probably cross-listed so
advanced undergraduates can take it.
. By “the first-year graduate complexity theory course,” let us mean a one-semester course designed for first-year graduate students (not just theory people, but people from all areas), and probably cross-listed so advanced undergraduates can take it.
One lofty goal that such courses often have is to give students a feel for what it is like to be a complexity theorist. That is, such courses, in addition to conveying a certain body of information, often have the far more difficult goal of giving students a taste of the way theorists think and work, ideally by having students think and work in the same way (within the context of the course—but in the best of cases, even the non-theory students may let their future research be influenced and informed by a theoretician’s love of crisp formalization, skeptical thought, and lovely theorems/proofs).
Homework, teaching style, exams, and in-class workshops each can all contribute to this goal. For example, one can and probably should make the class sessions very interactive—happily chasing down (and trying, live-on-the-spot, to explore and prove things about) whatever directions students ask about (“teacher, teacher, what if you remove the injectivity requirement from that theorem’s statement?”… “that’s a wonderful, natural question… let’s jump in and see if we can re-establish a complete characterization… do you think the previous characterization’s proof will still be ok under the alteration you have proposed?”…)
However, we’ve found that the very best way of giving students a taste of the life of a complexity theorist is by including a one- or two-week project in the course. We’ve tried two quite different types of projects: research projects and critical-thinking projects. This column describes a sample or two of each, and reports on the results of using the various projects.
2 Research Projects
Any researcher can think of countless research projects on which to send students. Of course, most are probably overly difficult—at least relative to the background students have after a semester of graduate complexity theory. So the trick here is to make the project feasible while allowing room for creativity and tying in with a subject that the course covered in some detail.
In our first-year graduate complexity course here at Rochester, we cover certain core things each year (namely, the nice, standard stuff from Papadimitriou and Bovet-Crescenzi), and usually also have time for a dealer’s choice unit. For example, in one recent year, this unit was on Schöning’s theory of robust algorithms, which led to more recent work (explicitly or implicitly) on probabilistic and unambiguous variants of the theory, including connections to interactive proof systems and a variety of other topics. (The paper that started this area was [Sch85] and since there have been too many papers to completely list here, including, for example, the following papers on the topic and its many cousins [Ko87, Bal88, Sch88b, Sch88a, Bal89, HH90, Vys90, Yam90, CHV93, FRS94, Ogi95, AKS95].)
Building on that unit, the take-home (week-long) project in that year was to define and study exponential-time analogs of the standard (polynomial-time) theory, and to write one’s results up in a paper having the form of a journal submission (actual journal submission not required!). This project—about which we were (and remain) least enthusiastic among those discussed in this column—was the most successful. Students handed in nice papers, had (in some cases) side-stepped some problems one can have on this if one is not careful, had (in some cases) thought carefully about definitions and models, and had (in some cases) proved some very nice theorems and outlined some remaining interesting open issues.
3 Critical-Thinking Projects
Research projects, such as the one described in the previous section, let students simulate the research part of being an theoretical computer scientist. Another important component of being a researcher is the ability to read—skeptically and carefully—technical papers. Refereeing is an obvious way one does this, but in fact every time one reads a paper this comes into play.
As critical-thinking (take-home) projects, we like to assign students some (slightly or enormously) flawed paper on an interesting topic. Each student is asked to view the paper as a journal submission that he or she has been asked to referee within a week (hey, it is just a simulation!, not reality), and to (within a week) write a detailed referee report.
The trick here, in choosing topics, is to find ones that encourage careful, focused thinking on each student’s part—not topics where he or she can find the answer by hunting up an erratum/corrigendum. Two examples that we’ve used at my school follow.
This year, we gave our first-year complexity course’s students a beautiful paper by Hartmanis and Yesha, “Computation Times of NP Sets of Different Densities” [HY84], and asked them to referee it. This paper is a wonder. It tightly ties fundamental questions in complexity theory (?, ?) to (in a certain formal sense) issues of whether mathematical creativity is within the reach of computing machines [HY84, Section 3]. Assigning this paper gives the students a chance to read one of the most delightful and underappreciated papers in our field—and, to boot, one that strongly motivates the study of computational complexity. As to the referee report project on this paper, there is something easy for the students to find. One theorem, which is of the form FOO iff BAR, has a proof that goes like this:
FOO implies BAR because Ni, Ping, and Nee-womm…… Conversely, if BAR does not hold then FOO does not hold because Ekky-ekky-ekky-ekky-z’Bang, zoom-Boing, z’nourrrwringnmmm…… QED
The worry here is that the proof proves the “only if” direction twice (via proving it and then its contrapositive, rather than its converse), and the “if” direction not at all. This flaw in the logical argumentation is certainly one that the course’s students should find and, beyond that, the missing direction in fact does hold and is sufficiently straightforward that the course’s students should be able to provide a correct proof as part of their reports (in reality, these “should”s proved a bit too optimistic). In summary, the goals of this project were to let students learn the beautiful work of the Hartmanis/Yesha paper, and to give students a chance to exercise and develop the critical theory-reading skills used daily by theoretical computer scientists.
Our second example of an interesting critical-thinking take-home project is quite different. This one, which we used a year or two ago, simply asked the students to referee a draft from the early 1980s entitled “On the Complexity of Uniqueness Problems,” by Edwards and Welsh ([EW], see the discussion in the paper [FHT97], which is in part motiviated by the draft of Edwards and Welsh). The draft has circulated widely and has influenced many people—but as far as we know never was even made into a technical report (probably due to the problem discussed below). This bold paper pretty much claims to disprove the Berman-Hartmanis Isomorphism Conjecture.111Informally put, the Berman-Hartmanis Isomorphism Conjecture states that there is essentially just one NP-complete set—that dresses itself up in a variety of ways via trivial renaming. More formally, the Berman-Hartmanis Isomorphism Conjecture says that every two NP-complete sets are polynomial-time isomorphic. To achieve their disproof, the authors argue that Berman-Hartmanis [BH77] were actually conjecturing more than Berman-Hartmanis said, namely, that Berman-Hartmanis actually intended to make an extraordinarily strong claim about parsimonious interreducibility of NP-complete sets.
Unfortunately, the strong claim is so strong that it can easily be falsified, which is exactly what Edwards and Welsh then do. Though certainly Berman-Hartmanis neither made nor intended to make such a strong claim, the direction of—and general intution behind—the strong claim is very nice and interesting. In fact, it is at least plausible to conjecture that NP-complete sets may have even more in common than mere isomorphism (and, indeed, many natural sets do have more in common), and many papers have wondered just what that “more” may be. One could say that this general type of intuition has led people to such notions as structure-preserving reductions [LL78, ADP80], witness-isomorphic reductions [FHT97], universal relations [AB92, Bis95, BKT98], and much more.
The students’ results on this one were mixed. Almost all picked up that something was very strange, but their referee reports varied as to the clarity with which they pinpointed the problem. In some sense, this is a more demanding assignment than the Hartmanis-Yesha one, as the problem is not one of a pure error in logical flow, but rather is that here one must argue against the authors’ opinion about what was in the minds of Berman and Hartmanis—and what is actually the most natural expansive version of Berman and Hartmanis’s insightful conjecture (which, to this very day, remains open, though dozens of papers have been written on the topic; a nice survey by Kurtz, Mahaney, and Royer covers the progress up to about nine years ago [KMR90], and the study of isomorphism results has also been quite active in the years since that survey, see, for example, [FFKL93, Rog97, AAR98]).
I am very grateful to Eric Allender, Someth Biswas, and Lance Fortnow for pointers to the literature and other help. None of them has read the article, so none of them are to blame for any errors here and, though we consult each other carefully about various aspects of our course designs, my UR theory colleagues (the plural pronoun prose style notwithstanding) are in no way to blame for the opinions/projects described here.
- [AAR98] M. Agrawal, E. Allender, and S. Rudich. Reductions in circuit complexity: An isomorphism theorem and a gap theorem. Journal of Computer and System Sciences, 57(2):127–143, 1998.
- [AB92] M. Agrawal and S. Biswas. Universal relations. In Proceedings of the 7th Structure in Complexity Theory Conference, pages 207–220. IEEE Computer Society Press, June 1992.
- [ADP80] G. Ausiello, A. D’Atri, and M. Protasi. Structure preserving reductions among convex optimization problems. Journal of Computer and System Sciences, 21:136–153, 1980.
- [AKS95] V. Arvind, J. Köbler, and R. Schuler. On helping and interactive proof systems. International Journal of Foundations of Computer Science, 6(2):137–153, 1995.
- [Bal88] J. Balcázar. Only smart oracles help. Technical Report LSI-88-9, Facultat d’Informatica, Universitat Politècnica de Catalunya, Barcelona, Spain, 1988.
- [Bal89] J. Balcázar. Self-reducibility structures and solutions of NP problems. Revista Matematica de la Universidad Complutense de Madrid, 2:175–184, 1989.
- [BC93] D. Bovet and P. Crescenzi. Introduction to the Theory of Complexity. Prentice Hall, 1993.
- [BDG90] J. Balcázar, J. Díaz, and J. Gabarró. Structural Complexity II. EATCS Monographs in Theoretical Computer Science. Springer-Verlag, 1990.
- [BDG95] J. Balcázar, J. Díaz, and J. Gabarró. Structural Complexity I. EATCS Texts in Theoretical Computer Science. Springer-Verlag, 2nd edition, 1995.
- [BH77] L. Berman and J. Hartmanis. On isomorphisms and density of NP and other complete sets. SIAM Journal on Computing, 6(2):305–322, 1977.
- [Bis95] S. Biswas. co-NP universality. Manuscript (presented in the 5th National Seminar on Theoretical Computer Science, Bombay), August 1995.
- [BKT98] H. Buhrman, J. Kadin, and T. Thierauf. Functions computable with nonadaptive queries to NP. Theory of Computing Systems, 31(1):77–92, 1998.
- [CHV93] J. Cai, L. Hemachandra, and J. Vyskoč. Promises and fault-tolerant database access. In K. Ambos-Spies, S. Homer, and U. Schöning, editors, Complexity Theory, pages 101–146. Cambridge University Press, 1993.
- [EW] K. Edwards and D. Welsh. On the complexity of uniqueness problems. Manuscript.
- [FFKL93] S. Fenner, L. Fortnow, S. Kurtz, and L. Li. An oracle builder’s toolkit. In Proceedings of the 8th Structure in Complexity Theory Conference, pages 120–131. IEEE Computer Society Press, May 1993.
- [FHT97] S. Fischer, L. Hemaspaandra, and L. Torenvliet. Witness-isomorphic reductions and local search. In A. Sorbi, editor, Complexity, Logic, and Recursion Theory, pages 207–223. Marcel Dekker, Inc., 1997.
- [FRS94] L. Fortnow, J. Rompel, and M. Sipser. On the power of multi-prover interactive protocols. Theoretical Computer Science, 134:545–557, 1994.
- [HH90] J. Hartmanis and L. Hemachandra. Robust machines accept easy sets. Theoretical Computer Science, 74(2):217–226, 1990.
- [HO] L. Hemaspaandra and M. Ogihara. The Complexity Theory Companion. In preparation.
- [HY84] J. Hartmanis and Y. Yesha. Computation times of NP sets of different densities. Theoretical Computer Science, 34:17–32, 1984.
- [KMR90] S. Kurtz, S. Mahaney, and J. Royer. The structure of complete degrees. In A. Selman, editor, Complexity Theory Retrospective, pages 108–146. Springer-Verlag, 1990.
- [Ko87] K. Ko. On helping by robust oracle machines. Theoretical Computer Science, 52:15–36, 1987.
- [LL78] N. Lynch and R. Lipton. On structure preserving reductions. SIAM Journal on Computing, 7(2):119–125, 1978.
- [Ogi95] M. Ogihara. On helping by parity-like languages. Information Processing Letters, 54:41–43, 1995.
- [Pap94] C. Papadimitriou. Computational Complexity. Addison-Wesley, 1994.
- [Rog97] J. Rogers. The Isomorphism Conjecture holds and one-way functions exist relative to an oracle. Journal of Computer and System Sciences, 54(3):412–423, 1997.
- [Sav98] J. Savage. Models of Computation: Exploring the Power of Computing. Addison-Wesley, 1998.
- [Sch85] U. Schöning. Robust algorithms: A different approach to oracles. Theoretical Computer Science, 40:57–66, 1985.
Complexity theory and interaction.
In R. Herken, editor,
The Universal Turing Machine: A Half-Century Survey, pages 561–580. Oxford University Press, 1988.
- [Sch88b] U. Schöning. Robust oracle machines. In Proceedings of the 13th Symposium on Mathematical Foundations of Computer Science, pages 93–106. Springer-Verlag Lecture Notes in Computer Science #324, August/September 1988.
- [Sip97] M. Sipser. Introduction to the Theory of Computation. PWS Publishing Company, 1997.
- [Vys90] J. Vyskoč. Reduction classes, 1-helping and who 1-helps whom. Manuscript, December 1990.
- [Yam90] T. Yamakami. Polynomial helpers of robust machines. Manuscript, December 1990.