8

I recently attented to some computational complexity talks (or complexity theory, I am not sure which is the correct name) and I fell in love with it. I would like to find some books, online courses... in general resources of any kind to self-study this (securely) wonderfull subject.

My backgrund is pure mathematics with emphasys in discrete mathematics (graph theorey, crypto, coding thoery, combinatorics...), with no background in computer science. I am not sure if the last one is mandatory.

Bean Guy
  • 193
  • 7

3 Answers3

13

Michael Sipser's text book Introduction to the Theory of Computation is a classic introduction to computation theory, and gives an introduction to complexity theory in the end.

I don't know how to answer the question better than just providing the table of contents of the book.

PART 1: AUTOMATA AND LANGUAGES.
1. Regular Languages.
2. Context-Free Languages.

PART 2: COMPUTABILITY THEORY. 3. The Church-Turing Thesis. 4. Decidability. 5. Reducibility. 6. Advanced Topics in Computability Theory.

PART 3: COMPLEXITY THEORY. 7. Time Complexity. 8. Space Complexity. 9. Intractability. 10. Advanced Topics in Complexity Theory.

Ainsley H.
  • 17,823
  • 3
  • 43
  • 68
10

You might want to consider Computational Complexity: A Modern Approach by Arora and Barak. Roughly speaking, its early chapters overlap with later chapters in Sipser, and it has more material on computational complexity per se.

Arora and Barak's book (A&B) seems self-contained. For example, you don't need to know the parts of Sipser or similar books that A&B don't cover, in order to understand A&B. On the other hand, my sense is that A&B moves a little bit more quickly and requires a little bit more insight than Sipser. I could be wrong. I am reading A&B and have only glanced at parts of Sipser and have read a few comments online comparing the two.

In terms of content, my guess is that A&B is one good option for your interests, and if the level of A&B is inappropriate for you, it will be because it is too easy (it's not, for me), and because some other book goes into ideas more deeply more quickly.

Mars
  • 766
  • 3
  • 14
4

I can recommend the book Computational Complexity Theory, edited by Steven Rudich and Avi Wigderson, which is based on a graduate summer school by the IAS/Park city mathematics institute, with lectures by various experts in the field.

The purpose of this book is to provide the basics, some history and a glimpse into the research in some areas of computational complexity theory, aimed at mathematics students.

As such, this book is not a replacement for an introductory book such as Sisper's, but can be read independently to get a feeling what some sub-fields of complexity theory look like, and can help to guide a future focus.

For completeness, I'll list a summary of the table of contents as well (see this Google books preview for the full table):

Week One:
COMPLEXITY THEORY: FROM GÖDEL TO FEYNMAN

Steven Rudich, Complexity Theory: from Gödel to Feynmann
Avi Wigderson, Average case Complexity Sanjeev Arora, Exploring Complexity through Reductions Ran Raz, Quantum Computation

Week Two: LOWER BOUNDS

Ran Raz, Circuit and Communication Complexity Paul Beame, Proof Complexity

Week Three: RANDOMNESS IN COMPUTATION

Oded Goldreich, Pseudorandomness - Part I Luca Trevisan, Pseudorandomness - Part II Sadil Vadhan, Probabilistic Proof Systems - Part I Madhu Sudan, Probablistically Checkable Proofs

Discrete lizard
  • 8,392
  • 3
  • 25
  • 53