Computational Complexity Class Notes
Computational Complexity, by Christos H. Papadimitriou,
Addison-Wesley Publishing (1995)
Papdimitriou's Computational Complexity book

Copies of the classnotes are on the internet in PDF format as given below. The "Proofs of Theorems" files were prepared in Beamer. The "Printout of Proofs" are printable PDF files of the Beamer slides without the pauses. These notes and supplements have not been classroom tested (and so may have some typographical errors).

Computational Complxity is not a formal class at ETSU. These notes are meant for self-study and reference. Classes which cover similar topics are offered by the Department of Computer Science (these class descriptions are from the ETSU 2022-23 Graduate Catalog):

The first of these CSCI classes is most similar to the material presented here. However, Formal Languages and Computational Complexity (CSCI 5610) only has prerequisites of Discrete Structures (MATH 2710) or Data Structures (CSCI 2210). Discrete Structures (MATH 2710) was discontinued in the ealy 2000s, though I have online notes for Discrete Structures from the last time I taught it (spring 2001). For the notes presented here, prerequisite material would include Mathematical Reasoning (MATH 3000) and Introduction to Set Theory (not a formal ETSU class; some of this material is covered in Mathematical Reasoning, but not deeply). Some exposure to graph theory is desirable, since several of the initial problems encountered here involve graph theory problems. A sufficient background is given by Introduction to Graph Theory (MATH 4347/5347).

Copies of the classnotes are on the internet in PDF format as given below. The "Proofs of Theorems" files were prepared in Beamer. The "Printout of Proofs" are printable PDF files of the Beamer slides without the pauses. These notes and supplements have not been classroom tested (and so may have some typographical errors).

Preface.

PART I: ALGORITHMS

Chapter 1. Problems and Algorithms.

Chapter 2. Turing Machines.

Chapter 3. Computability.

PART II: LOGIC

Chapter 4. Boolean Logic.

Chapter 5. First-Order Logic.

Chapter 6. Undecidability in Logic.

PART III: P AND NP

Chapter 7. Relations Between Complexity Classes.

Chapter 8. Reductions and Completeness.

Chapter 9. NP-Complete Problems.

Chapter 10. coNP and Function Problems.

Chapter 11. Randomized Computation.

Chapter 12. Cryptography.

Chapter 13. Approximability.

Chapter 14. On P vs. NP.

PART IV: INSIDE P

Chapter 15. Parallel Computation.

Chapter 16. Logarithmic Space.

PART V: BEYOND NP

Chapter 17. The Polynomial Hierarchy.

Chapter 18. Comutation that Counts.

Chapter 19. Polynomial Space.

Chapter 20. A Glimpse Beyond.


Return to Bob Gardner's home page