\documentclass[11pt]{article}

\usepackage{lecture}

\begin{document}

\lecture{16}{4/24/2013}{Shrinkage}{Lubos Krcal}

\draft

This lecture is about the concept of shrinkage - a technique that is used to prove circuit lower bounds and construct pseudorandom generators. These techniques are very new - 2012.

\section{Random Resctrictions} %4:25

\begin{definition}[Active variables]
These are partial assigments to the variables $\rho \in \{0,1,\star\}^n$. We call a variable active, it is was not assigned a value, $\rho_i = \star$. The set of active variables $A$ of $\rho$ is then $A(\rho) = \{i | \rho_i = \star\}$.
\end{definition}

Let's consider boolean function (circuit) $f$ that takes $n$ variables: $f:\{0,1\}^n \rightarrow \{0,1\}$.

\begin{definition}[Restricted circuit]
A boolean function $f|_\rho : \{0,1\}^{A(n)} \rightarrow \{0,1\}$ that takes as an input only the active variables from $\rho$ defined as:
$$f|_\rho(y) = f(x) \text{, where }x_i \left\{
  \begin{array}{l l}
    \rho_i & \text{if } i \notin A(\rho)\\
    y_i & \text{if } i \in A(\rho)
  \end{array} \right.$$
\end{definition}

\begin{definition}
Let $R_P$ be a distribution on $\{0,1,\star\}$, with proability $p$ that it will be left active.
$$\Pr[\rho_i = \star] = p $$
\end{definition}


\section{Warmup excercise} %11:30

Before we start talking about shrinkage, let's look to a warmup excercise.

For this example, we will assume that when a variable is assigned a value, there is an equal probability it will be 0 or 1. Formally
$$\forall i: \Pr_{\rho ~ R_P}[\rho_i = 0] = \Pr_{\rho ~ R_P}[\rho_i = 1] = \frac{1-p}{2}$$

Let $F$ be a k-CNF formula with $m$ clauses. $F = (x_1 \lor \ldots \lor x_k) \land (\ldots) \land \ldots$. What is the effect of random restriction? With probability $p$, a variable will be set, and with probability, it will be set to $\frac{1-p}{2}$. So the probability $(1-\frac{1-p}{2})^k$ corresponds to the probability, that a single clause will not have any variable assigned to 1 and thus remain in the formula.

Assuming the occurences of variables in the clauses are independent, then the expected value of remaining / usnatisfied clauses is:
$$\E_{\rho ~ R_P}[\#\text{ unsatisfied clauses of }F|_\rho] \le m\left(1-\frac{1-p}{2}\right)^k$$


\section{Branching program} %22:14

Let's now have an extension of branching programs, that can read multiple variables in any order -- these are not layered branching programs.

\begin{definition}[Generalized branching program]
Directed graph with outdegree 2 and an arbitrary indegree. Each node has a label $x_i$ that sais, which variable are we going to read at that node. We can read any  variable arbitraty number of times. The general branching program will end either in accept or reject state.
\end{definition}

\begin{definition}[Size of branching program]
The size $S$ of the branching program $B$ is the total number of states. It can be written based on the total number of occurences of all labels.
$$S(B)= \#\text{ of states in B } = \sum_{i}n_i \text{ , where } n_i = \#\text{ of occurences of label } x_i$$
\end{definition}


Now we look at what happens to branching programs under random restriction.

For a function $f : \{0,1\}^n \rightarrow \{0,1\}$, we let the $S(f)$ be the minimal size of a branching program B / circuit that computes $f$.
$$S(f) = \min_{B\equiv f}\ S(B)$$

\begin{lemma}
If $H$ is a subset of variables: $H \subseteq \{x_1,\ldots,x_n\}$. For $h \in \{0,1\}^H$, we let $$(\rho_{h})_{i} = \left\{
  \begin{array}{l l}
    h_i & \text{if } f_{x_i} \in H\\
    \star & \text{otherwise}
  \end{array} \right. $$
  
In other words, $h$ is a partial assigment / restriction $h$ of $x_1 \ldots x_n$.

It would be very convenient to us, if we set the variables that occur very often. We will be able to show that most of the variables that occur often will be set with high probability.

We can then expres the size of the branching program with this restriction. For each assignment $f$, the size of the coresponding $f$ is:
$$ \forall f : S(f) \le 2^{|H|}\left( \max_h S(f|_{rho_h})\right) + 2^{|H|}$$
\end{lemma}

\begin{proof}
We can compute $f$ with the following branching program: from the starting node, we create a branching program over $h$ (the set part of the variables $x$). This is exactly $2^{|H|}$ branches. Then we append branching programs for only the unset variables (with variables from h already set) -- $f|_{rho_h}$, with size of $S(f|_{rho_h})$.
\end{proof}


\section{Shrinkage} %37:30

Let $S = S(f)$ is the size of unrestricted branching program. The variable $x_i$ is indicator random variable, so that $x_i = 0$, when $i \in A(\rho)$ and that occurs with probability $p$. Also note that $\sum{n_i} = S$b.

\begin{lemma}
The expected value of restricted branching program is then:
$$E_{\rho}[S(f|_\rho)] \le E_\rho[\sum{n_i x_i}] = Sp$$
\end{lemma}

\begin{lemma}
$$\Pr_{\rho \sim R_P}[S(f|_\rho) \ge 8^{\sqrt{c log(S)}}Sp] \le S^{-c}$$
\end{lemma}

\begin{proof} %41:30
%Let $\alpha \in (0,1)$ and $p^(1-\alpha)$ be a specific probability - our required frequency.
%$$H=\left\{x_i | n_i \ge p^{1-\alpha}s\right\}$$
TODO
\end{proof}

\bibliographystyle{alpha}
\bibliography{references}

\end{document}

