Project **proposals** are due by April 29

Project reports are due by May 14

A project can either be a *study* project or a *research* project.

In a study project you focus on an important result, or set of results, that is not covered in detail in the course. Your proposal references the paper or set of papers that you will study, and a goal. Usually the goal will be to completely understand an important technical result, and to fill in the details of an important technical lemma that is only stated without proof (or with a sketchy proof) in the literature, or observe a simplified argument for a technical proof, or something along these lines. Your report will describe the big picture (the problem you are interested in, and the known results) and a report of what you achieved towards your goal. (A detailed exposition of a technical result, a simplified proof, etc.)

A * research* project starts with a general goal, like "improve the
inapproximability result for Metric TSP," or "Prove P=/=NP."
Towards this goal, you read the relevant papers, try various approaches, and
then you may or may not reach your goal. At the end you write a report detailing
your efforts. Obviously, regardless of the chosen problem, the chances of making
interesting progress are not good. In the ideal case, one would come with a
promising idea, show how it solves a non-trivial special case as a proof of
concept, and then have something to think about during the summer. If no
progress is made, any research project can become a study one.

Every student submitting a study project should submit an individual report. A group of two or three students can work together provided they find a way to study a broad question, and to divide up the work they plan to include in their individual reports.

A research project can be assigned to a team of two.

Any important result in complexity can be the base for a study project, and any interesting open question can the base for a research project.

Here are some examples of study projects. Ask me for the references.

**Conditional derandomization**.

Study some subset of the following papers: Nisan-Wigderson (basic trade-off between average-case complexity and derandomization), Impagliazzo-Wigderson (worst-case to average-case equivalence) Sudan-Trevisan-Vadhan ("simplified" proof of Impagliazzo-Wigderson) Shaltiel-Umans (algebraic construction of pseudorandom generators),**Unconditional Derandomization**- Derandomization of polynomial identity testing for polynomials
computed by "non-commutative branching programs"

See the paper of Shpilka and Raz [here] - Derandomization of low degree polynomials: work of Bogdanov-Viola, Lovett, Viola [see here]
- Towards derandomization of RL: work of Reingold-Trevisan-Vadhan and Rozenman-Vadhan

- Derandomization of polynomial identity testing for polynomials
computed by "non-commutative branching programs"
**Average-case complexity in NP**- Impossibility results for worst-case to average-case equivalence for NP-complete problems (Feigenbaum-Fortnow, Bogdanov-Trevisan, Viola)
- Amplification of average-case hardness of problems in NP (O'Donnell, . . . )

**Average-case complexity of lattice problems**- Existence of lattice problems that are as hard on average as on worst case (Ajtai, Regev, ...)
- Existence of public key cryptosystems of security equivalent to the worst case complexity of a lattice problem (Ajtai-Dwork, Regev...)

**Inapproximability results**based on the "unique games conjecture"- Hardness of Vertex Cover within 2 and of k-uniform Hypergraph Vertex Cover within k
- Hardness of Max CUT within .878... (with additional assumptions)

**Proof complexity**- Lower bounds on datalog programs to refute random instances of 3SAT

- Lower bounds for
**monotone circuits**- Razborov's lower bound for clique
- The depth lower bound for st-connectivity

- Lower bounds in
**communication complexity**- The Babai-Nisan-Szegedy "number on the forehead" model

- Lower bounds for
**algebraic circuits**- Nisan's lower bound for non-commutative computations
- Raz's lower bound for multilinear formulas
- Impagliazzo-Kabanets connection between algebraic complexity and derandomization of polynomial identity testing

Some examples of research projects [accessible only from within berkeley.edu]