Back
Featured image of post Averaging Argument

Averaging Argument

In computational complexity theory and cryptography, averaging argument is a standard argument for proving theorems. It usually allows us to convert probabilistic polynomial-time algorithms into non-uniform polynomial-size circuits. (Wikipedia)


The following example can be regarded as a generalization of Pigeonhole Principle.

Example 1

If every person likes at least 1/3 of the books in a library, then the library has a book, which at least 1/3 of people like.

Proof: Suppose there are N people in total and B books in the library. Let all the people leave a mark on the books they like, then there are at least NB/3 marks. Presume there are no such book that has at least M/3 books on it, then the total number of marks would be less than NB/3, contradicted.


When dealing with problems solved by the pigeonhole principle, we know the total number of pigeons and pigeonholes. For problems solved by averaging argument, we usually don’t see the number of pigeonholes or the number of pigeons or both of them. In this case, we “imagine” the number of pigeons and pigeonholes and keep them in mind.

When talking about probability, the case is always the latter, because we don’t count the exact number of pigeons and their holes.


Let’s introduce two formal discriptions of averaging argument.

Averaging Argument

Let X and Y be sets, and p be a prediction on X×Y. Let α be a real number in the interval [0,1]. If for each x in X, there exists at least α|Y| in Y that satisfy p(x,y). Then, there exists a y in Y such that there exist at least α|X| elements x in X that satisfy p(x,y).

Proof: We can construct a proof of the same style as the proof of Example 1.

Notice that averaging argument can be generalized to continuous sets X and Y as well as probabilistic situations in Averaging Argument.

Averaging Argument 

Let f be a function. If we have a circuit C such that when x is chosen uniformly at random and y is chosen independently from some distribution Y over {0,1}m, we have C(x,y)=f(x) holds with probability at least ρ. Then there exists a single string y0{0,1}m such that Pr[C(x,y0)]>ρ.

Proof: Keeping the unseen pigeonhole number in mind, the proof might get simple. But we can also prove it in probabilistic style.

If there’s no such y0{0,1}m s.t. Pr[C(x,y0)]>ρ, then lets count the probability of C(x,y)=f(x) s.t. x is chosen uniformly at random and y is chosen independently from some distribution Y. PrxU,yY[C(x,y)=f(x)]=y{0,1}mPrxU[C(x,y)=f(x)]Pr[yY] <y{0,1}mρPr[yY]=ρ Proof done.


Averaging Argument is a generalization of Averaging Argument, since it makes no limitation of y’s distribution, other than being independent to x.


Averaging argument are used in the proofs of some interesting results of complexity. A simple example is the proof of BPPP/poly.

Theorem

BPPP/poly.

Proof: For any LBPP, there exists a polynomial time turing machine TM s.t. Prr{0,1}p(n)[TM(x,r)L(x)]1/2n+1 holds for every x{0,1}n. We find out a r0 s.t. TM(x,r0)=L(x) for all x{0,1}n. We interprete the above fact as follows:

For each x{0,1}n, there exists at least a 11/2n+1 fraction of r’s that makes TM(x,r)=L(x) holds. Then by Averaging Argument, there exists a r0 s.t. at least 11/2n+1 fraction of x{0,1}n satisfy TM(x,r0)=L(x). Take this r0 as advice, we get LP/poly.


The basic idea of Averaging Argument can be used elsewhere.

The next exam is quite important, which will be used in the proof of Goldreich-Levin Theorem.

Example 2

Let f be a function f:{0,1}n{0,1}l(n) and f:{0,1}n×{0,1}n{0,1}l(n)×{0,1}n defines as f(x,r)=(f(x),r) where |x|=|r|. Let gl(x,r)=i=1nxiri.

Suppose there exists a PPT algorithm A with running time t and satisfy Prx0,1n;;r0,1n[A(f(x),r)=gl(x,r)]12+ε(n) Then there exists a set Sn{0,1}n of size at least ε(n)22n such that for every xSn it holds that Pr;r0,1n[A(f(x),r)=gl(x,r)]12+ε(n)2

Proof: Still, we keep in mind the unseen number of pigeonholes. We have “1” pigeonholes. “1” means if we choose a pigeonhole uniformly at random from all the pigeonholes then we have probability “1” that we chosen from the set of all pigeonholes… This is not verbose, since there are cases that we choose a pigeonhole from a subset with less than “1” pigeonhole.

We assume we have probability p to choose x from Sn and then we have probability (1p) to choose x from Sn={0,1}nSn. We want to reckon the lower bound of Sn, so we make event Pr[A(f(x),r)=gl(x,r)] to happen as frequent as posible when xSn. As for cases in Sn, by the assumption made it has to happen with probability as least 12+ε(n)2, then we have 12+ε(n)Prx0,1n;;r0,1n[A(f(x),r)=gl(x,r)]p×1+(1p)×(12+ε(n)2)p+12+ε(n)2 The las t inequality is obtained by drop p in 1p. By solving the inequality pε(n)2 Then we have |Sn|ε(n)22n

Built with Hugo
Theme Stack designed by Jimmy