1. Basic on Complexity Classes
1.1 Theoretical models of computations and time and space resources
1.2 Time and space complexity classes
1.3 The P = NP problem
1.4 NP and NP-completeness
1.5 Unfeasible problems when resources are bounded
1.6 Computational Classes: L, NL, P, NP, PSPACE, BPP, RP, #P, IP,
1.7 Main Results
2. Diagonalization
3. Hierarchies Theorems for time, space, deterministic and non deterministic computations
4. Barriers Results I: Diagonalization is not sufficient to prove P different from NP
5. Space Complexity
5.1 Shamir Theorem: PSPACE = IP
5.2 Immerman-Szelepcsényi Theorem: NL=coNL,
6. Boolean Circuits
6.1 Basic definitions and efficient circuits
6.2 Bounded depth circuits: NC and AC hierarchies.
6.3 Hastad-Razborov-Smolensky Theorem: Parity requires exponential size bounded depth
circuits.
6.4 Monotone Circuits
7. Polynomial Hierarchy and its basic theorems
8. Barriers Results - II [optional]
8.1 Rudich-Razborov Theorem: "Natural proofs" are not sufficient to separate P from NP
(unless crypto fails)
9. Other boolean models of computations and their computational limits:
9.1 Decision trees
9.2 Branching programs.
10. Introduction to Proof Complexity
10.1. Logical proof systems: Resolution
10.2 Geometric proof systems: Chvatal's cuts
10.3 Algebraic proof system: Polynomial Calculus
10.4 Semialgebraic proof systems: Sherali-Adams and Sum-of-Squares
10.5 Exponential lower bounds for Resolution and Cutting planes: Ben-Sasson-Wigdeson width
method and Interpolation
- Docente: NICOLA Galesi