Turing machines and their encodings.
Universal Turing machine U, undecidability of the halting problem.
Non-computable function: the smallest machine generating n.
9 March 2016
Complexity measures: time and space.
Sipser's Theorem: a space bounded Turing machine can be forced to always halt in the same space.
16 March 2016
Basic deterministic complexity classes: L, P, PSPACE, EXPTIME.
Space hierarchy theorem with proof, Time hierarchy theorem (statement). Applications.
23 March 2016
Non-uniform complexity, Turing machine with advice, class P/poly.
Boolean circuits. Simulation of a machine by a sequence of circuits.
Simulation of a sequence of circuits by a machine with advice.
30 March 2016
Non-deterministic space complexity.
Savitch theorem: NSPACE (S(n)) can be simulated by DSPACE (S(n)^2).
Immerman-Szelepcsenyi theorem: NSPACE (S(n)) = co-NSPACE (S(n)).
In particular, context-sensitive languages are closed under complement (for S(n) = n).
6 April 2016
The class NP -- in terms of witnesses and polynomial relations.
Example: Pratt's certificate of primality. Various witnesses that a number is composite.
The class NP -- in terms of non-deterministic Turing machines.
13 April 2016
Reduction between problems in the sense of Turing, Karp, Levin.
Example: reduction of 3-CNF SAT to 3-coloring.
NP-completeness of the Boolean Circuit SAT.
20 April 2016
NP-completeness of SAT, CNF-SAT, 3-CNF SAT
Berman's theorem: a problem over 1 letter alphabet cannot be NP-hard unless P=NP
27 April 2016
Logarithmic reductions. Complete problem in P w.r.t. logarithmic reductions: Circuit value.
Complete problem in NL: directed reachability.
Alternating Turing machines.
Alternating complexity classes in relation to deterministic ones: AL = P, AP = PSPACE.
4 May 2016
Characterization of PSPACE in terms of polynomial relations and game quantifiers.
Complete problems in PSPACE: Quantified Circuit Value, Quantified Boolean Formulae,
Universality of finite non-deterministic automaton.
L-uniform NC1 is included in L.
18 May 2016
Example of a probabilistic algorithm: bipartite matching reduced to computing determinant.
Probabilistic complexity classes RP, co-RP, and BPP defined in terms of probabilistic Turing machines
and, equivalently, in terms of the probability to find a correct witness in polynomial relations.
Reducing the error probability by repeating an algorithm and taking the more frequent answer (calculation).
25 May 2016
Las Vegas algorithms: randomized polynomial time. Characterization in terms of RP intersected with co-RP.
Adleman Theorem: BPP included in P/poly.
Derandomization of probabilistic algorithms by using cryptographically strong pseudo-random generators (idea).
Interactive proofs: example of a proof of graph non-isomorphism.
1 June 2016
Interactive proofs: definition in terms of a probabilistic Turing machine interacting with a strategy.
The class IP of problems recognizable by polynomial time interactive proofs.
Shamir theorem: IP = PSPACE.
Proof of the easier direction: IP included in PSPACE.
For the converse, it is enough to show an IP for QBF.
We have showed an IP for #SAT (the number of valuations satisfying a propositional formula).
8 June 2016
Approximation algorithms.
Examples: 2-approximability of the vertex cover problem,
non-approximability of the travelling salesman problem,
polynomial approximation scheme for the knapsack problem.
PCP theorem and non-approximability of clique (very sketchy).