18 February 2014

Turing machines and their encodings.

Universal Turing machine U, undecidability of the halting problem.

Non-computable function: the shortest program generating n.

25 February

Turing-Post Theorem: if a set and its complement are partially computable then they are totally computable.

Application: the set Total of encodings of the always-halting Turing machines and its complement are not even partially computable.

Basic complexity measures: time and space.

4 March

Sipser's Theorem: a Turing machine M working in space S(n) can transformed to a machine M' working in the same space,
which moreover always halts. Idea: backtraking.

Basic (deterministic) complexity classes: L, P, PSPACE, EXPTIME. Relation between time and space.

11 March

Space Hierarchy Theorem. If a function S2 (n) grows faster than a function S1 (n) then there is a language in DSPACE ( S2 (n)) and not in DSPACE (S1 (n)).
Here we also assume that S2 (n) is space constructible and at leat log (n).

Corollary: P =/= DSPACE (n), although no inclusion is apriori excluded.

18 March

Boolean circuits -- a model of parallel computation. The depth of the circuits corresponds to the computation time.

Correspondence between Turing machines and circuits. Simulation in both directions.

Non-uniform complexity class P/poly. Its uniform version corresponds precisely to P.

25 March

Problems defined in terms of witnesses. Examples, including short certificates of primality. The existence of witness vs. finding of witness.

The class NP. Two definitions: projection of a polynomial relation, and a polynomial-time non-deterministic Turing machine.

Generalization of non-determinism: alternation (brief information).

1 April

Non-deterministic space-bounded computations.

Let S(n) be fully space-constructible, and at least log (n). Then

Savitch's Theorem: NSPACE (S(n)) included in DSPACE (S(n)^2), consequently NPSPACE = PSPACE.

Immerman-Szelepcsenyi Theorem: NSPACE (S(n)) = co-NSPACE (S(n))
(proof next week).

8 April

Reduction between problems. Case study: breaking the last bit in RSA would break the whole system.

Basic concepts: Turing-Cook reduction, Karp reduction, Levin reduction.

15 April

NP-completeness w.r.t. Karp/Levin reductions. Circuit-SAT, SAT, 3-CNF SAT, 3-Coloring.

Having an algorithm, which solves a problem existentially, can we always find a witness? It works for NP-complete problems, but presumably not in general.

29 April

Optimization problems: shortest path, maximal clique, minimal number of colors.

Pseudo-polynomial algorithm for knapsack problem.

Polynomial-time approximation algorithms. Positive example: minimal vertex cover. Negative example: travelling salesman problem (fails unless P=NP).

Polynomial time approximation scheme for knapsack problem.

6 May

Problems complete under logarithmic reduction: Circuit Value in P, directed reachability in NL.

Alternating Turing machines, AP = PSPACE. Characterization of PSPACE by game quantifier. Problem complete in PSPACE: quantified circuit satisfiability.

13 May

Randomized algorithms. Examples: perfect matching, equality of polynomials.

Definition of probabilistic complexity classes: BPP and RP in term of witnesses.

Improving certainty by majority voting, amplification of constants.

Derandomization: BPP included in P/poly.

Probabilistic Turing machines.

20 May

Interactive proofs. Examples: graph non-isomorphism, fast evaluation of arithmetic expressions.

IP extends both NP, co-NP, and BPP.