- What theoretical foundations did Turing's 1936 paper lay for computation, years before the machines it described could be built?
Computational Complexity Theory
Classifying computational problems by resource requirements.
- What assumption about nondeterministic machines did Rabin and Scott disprove in their 1959 paper?
- How can a nondeterministic finite automaton be converted into a deterministic one without losing expressive power?
- What does it cost, in terms of number of states, to convert a nondeterministic automaton into a deterministic one?
- How did Rabin and Scott's result seed later work on regular expressions and the P versus NP problem?
- What is the Boolean satisfiability problem, and why is it considered NP-complete?
- How did Cook's proof show that many seemingly unrelated hard computational problems were secretly versions of the same problem?
- What is the P versus NP question, and why does it remain unsolved?
- What real-world fields, like cryptography, would be affected if someone proved P equals NP?
- What does it mean for a problem to be NP-complete, and how did Karp prove twenty-one problems belonged to that class?
- Why does proving one NP-complete problem has a fast algorithm imply fast algorithms exist for all of them?
- How does Karp's result relate to the still-unsolved P versus NP problem?
- How did the classification of a problem as NP-complete change how computer scientists approach solving it?
- What graph problems did theoretical computer science struggle to solve efficiently before Hopcroft and Tarjan's work?
- What is planarity testing and why did Hopcroft's efficient algorithm for it matter?
- What did Hartmanis and Stearns's 1965 paper introduce that founded computational complexity theory?
- How does complexity theory explain why cryptographers trust certain codes to be practically unbreakable?
- Why is P versus NP considered the most consequential unsolved problem in theoretical computer science?
- How long did it take the field to award Hartmanis and Stearns the Turing Award after their paper?
- What does computational complexity theory actually measure about a problem?
- How did Manuel Blum help define what it means for an encryption scheme to be secure?
- What is a pseudorandom number generator, and why does modern cryptography depend on it?
- What does Yao's minimax theorem prove about randomised algorithms?
- What is communication complexity theory and what question does it ask?
- How do Yao's circuit complexity results limit restricted models of computation?
- What problem in machine learning did Leslie Valiant's PAC learning framework solve?
- How does PAC learning define when a system can be said to have learned something?
- Why is Valiant's 1984 framework still relevant to modern neural networks?
- What does it mean that randomness and computational hardness are equivalent in Avi Wigderson's work?
- How does derandomization let algorithms replace true randomness with pseudorandom bits?
- Why did pre-1984 cryptography rely on computational hardness rather than physical laws for its security guarantees?