Lecture 20 - Student presentations (II)
We continue with the student presentations.
This is the journal of the computational complexity course. You can find the content of each lecture and any additional resource.
We continue with the student presentations.
Student presentations
We describe the Pigeonhole principle and the Ordering Principle formula. The former is hard for resolution (and we show this), and the latter is hard for tree-like resolution but has a resolution refutation of polynomial size.
Homework
Then we introduce the topic of Proof Complexity, and the problem of showing unsatisfiability of CNF formulas.
We discuss proofs of unsatisfiability via Decision Trees and Resoluton. We prove that tree-like Resolution efficiently p-simulates Decision trees.
Homework
We continue the discussion of communication complexity, giving lower bound methods.
We see some applications of communication complexity to lower bounds, for example exercises 13.16, 13.17 and 13.19. We discuss nonndeterministic communication complexity (can be lower bounded by fooling sets and not tiling) size of covers.
We will use some material from the book of Rao and Yehudayoff. (solution to Exercise 13.5)
Homework
We introduce the model of communication complexity, in particular the deterministic one. We discuss the connection with monochromatic rectangles and tiling.
We will use some material from the book of Rao and Yehudayoff.
Homework
Homework
We continue the discussion about interactive proofs. We will discuss:
Homework
We study the power of interaction: instead of asking to an all-powerful prover for a single answer (e.g. a witness), we consider an interactive dialog between the prover and the verifier.
Homework
We discuss a PSPACE complete problem TQBF and its relation with two-players competitive games. See exercise 4.10.
We also define logspace reductions and we discuss the NL-completeness of Reachability (see Claim 4.4). Observe that 3-SAT is NP-complete with respect of logspace reductions. See exercise 4.6.
We introduce the Interactive Provers and discuss variants instead of asking to an all-powerful prover for a single answer (e.g. a witness), we consider an interactive dialog between the prover and the verifier.
Homework
Additional resource: wikipedia page on Game Complexity
We concluded the proof of Theorem 3.7
We review the notion of space complexity. This is the study of how much memory is needed to decide a language. A core concept is the configuration graph of a (non)-deterministic computation. A machine accept if and only if the accepting configuration is reachable in that graph. Review Claim 4.4 and space hierarchy theorem.
Recall:
Going deeper:
Homework
We prove some real lower bounds on general Turing machines, using the Time Hierarchy Theorems. This implies P is different from EXP.
We state Ladner's Theorem. Then we discuss the topic of machines with Oracle and the limits of diagonalization. We proved Theorem 3.1, sketched the proof of Theorem 3.2, stated Theorem 3.3 and prove Theorem 3.7: there exist oracles such that P equal to NP and P different to NP hold respectively relative to those oracle.
Homework
Please fill the OPIS form for this course
C4TB1ISAWe go on defining the polynomial hierarchy. In particulal we see that the quantifiers definition and the oracle definitions are equivalent. We discuss the definition (a finite number of alternations) and the absence of a complete problem. We look at
Please fill the OPIS form for this course
C4TB1ISAHomework
We finish the description of the randomized algorithms for polynomial identity testing and bipartite matching. We define the class BPP, which allows two-sided error. We discuss the reduction of the error via repetition, using Chernoff bound. We show that problems in BPP have small boolean circuits.
We briefly discuss derandomization, and claim that very strong pseudo random generators imply P=BPP,
We defined the polynomial hierarchy.
Requirements:
Homework
We define the classes RP, coRP, ZPP and we discuss the amplification of confidence of the algorithm by repetition. We give another randomized algorithms: polynomial identity testing and bipartite matching.
Requirements:
Homework
Few more discussions about uniformity. We discuss some unconditional lower bounds for circuits. We show that there are hard functions, even though we do not know how they look like. Then we show a hierarchy theorem for circuits. After that we show the minimum number of OR and AND gates in a circuit for Parity on \(n\) bits is exactly \(3n-3\).
In the second part of the class we will introduce the use of randomization in computation. We present some examples of randomized processes and computations that seem to be more efficient (either in theory or in practice) than deterministic ones. We define the classes RP, coRP.
We discuss the amplification of confidence of the algorithm by repetition.
Requirements:
Homework
We see easily that there are many others NP-complete, reducing to Independent Set, Clique, Vertex cover. We discussed approximation of the maximum number of satisfiable clauses in a 3-CNF.
We discuss the difference between Decision, Search and Optimization (and we give examples of TFNP problem (Hash collision and PPAD).
We have shown Theorem 2.22.
We show that P/poly contains non-computable languages, and we discuss the notion of uniformity and of a Turing machine with advice.
Please read section 2.7 of the book.
Homework
We introduce boolean circuits, and we discuss Circuit-SAT. We prove that Circuit-SAT reduces to 3-SAT. We start the proof of Cook-Levin Theorem, using a variant of Theorem 6.6 instead of Lemma 2.11.
We defined the class coNP, EXP, NEXP and P/poly
Homework
We see a different definition of NP via non-deterministic Turing Machines, and we prove the equivalence with previous definitions.
We introduce the class NP, the class of decision problems that have short certificates/witness of the yes instances. This class models what we usually think as puzzles. There is one or more solutions that are easy to verify but maybe hard to find. Indeed for many decision problems in NP we do not know how to decide them efficiently. This is the question "P vs NP".
We see nevertheless that NP is inside EXP.
Using the notion of polynomial reduction (or Karp reduction) we discuss NP-hardness and NP-completeness: we identify problems that are as hard (or more) than any other problem in NP. We show that SAT reduces to 3-SAT.
We prove Theorem 2.9 to give a canonical (even if not interesting) NP-complete problem. Then we introduce (without proof for now) the Cook-Levin theorem which claims that SAT (or even 3-SAT) is NP-complete.
Homework
We recap the definition of Turing machines and discuss basic properties. We see an example on how to check a palindrome binary string in linear time. Then we discuss basic results on uncomputability.
Robustness of definitions
Universality
Uncomputability
We define DTIME. We introduce the class P of polynomially decidable languages and we discuss pro and cons on using P as notion of efficiency.
Homework
Introduction of the course, and of the topic of computationa complexity. We discussed generically what it means to prove a lower bound, i.e., to show that it is impossible to compute some function within a certain amount of resources.
An impossibility result is a mathematical statement about a computational model. We can focus on powerful computational model and only prove weak and conditional lower bounds, and we can consider concrete and restricted models where we can prove tight one.
We saw the example of two lower bounds:
Homework: