Averaging argument explained

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.

Example

Example: 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 and

B

books. Each person likes at least

B/3

of the books. Let people leave a mark on the book they like. Then, there will be at least

M=(NB)/3

marks. The averaging argument claims that there exists a book with at least

N/3

marks on it. Assume, to the contradiction, that no such book exists. Then, every book has fewer than

N/3

marks. However, since there are

B

books, the total number of marks will be fewer than

(NB)/3

, contradicting the fact that there are at least

M

marks.

\scriptstyle\blacksquare

Formalized definition of averaging argument

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

There is another definition, defined using the terminology of probability theory.[1]

Let

f

be some function. The averaging argument is the following claim: if we have a circuit

C

such that

C(x,y)=f(x)

with probability at least

\rho

, where

x

is chosen at random and

y

is chosen independently from some distribution

Y

over

\{0,1\}m

(which might not even be efficiently sampleable) then there exists a single string

y0\in\{0,1\}m

such that

\Prx[C(x,y0)=f(x)]\ge\rho

.

Indeed, for every

y

define

py

to be

\Prx[C(x,y)=f(x)]

then

\Prx,y[C(x,y)=f(x)]=Ey[py]

and then this reduces to the claim that for every random variable

Z

, if

E[Z]\ge\rho

then

\Pr[Z\ge\rho]>0

(this holds since

E[Z]

is the weighted average of

Z

and clearly if the average of some values is at least

\rho

then one of the values must be at least

\rho

).

Application

This argument has wide use in complexity theory (e.g. proving

BPP\subsetneqP/poly

) and cryptography (e.g. proving that indistinguishable encryption results in semantic security). A plethora of such applications can be found in Goldreich's books.[2] [3] [4]

Notes and References

  1. Web site: Boaz . Barak . Boaz Barak . Note on the averaging and hybrid arguments and prediction vs. distinguishing . COS522 . Princeton University . March 2006.
  2. [Oded Goldreich]
  3. [Oded Goldreich]
  4. [Oded Goldreich]