```Complexity Lower Bounds, P vs NP
& Gowers Blog
≠ ?
Try to prove they are different by using circuit complexity.
Define a function to be : {0,1} → {±1}
To built a circuit we define the following:
1) "Basic Functions" –  (1 , … ,  ) = (-1)
2) "Basic Operations":
+1
a.  → -
b. ,  →  ∨
c. ,  →  ∧
3) Straight line composition: 1 , 2 , … ,  such that  is either a basic function or
obtained from 1 , 2 <  by basic operations.
The definition represents a DAG (Directional Acyclic Graph)
Definition: a function  has (circuit) complexity  if ∃ a circuit 1 , … ,  as above.
⁄
: All functions with a polynomial circuit complexity are our equivalent of .
{{0,1} → {±1}| ℎ    < log log  }
If we find ℎ ∈  . . ℎ ∉ ⁄ then  ≠ .
For that purpose, lets define a complexity measuring function .
Such  must satisfy:
1) () = 1 if  is basic
2) () = (-)
3) If (), () are small then ( ∨ ) is small
4) () is large for some ℎ ∈
Attempts to find such
Idea 1
Take the fourier representation of  = ∑⊂[] ()
̂ = max|()|

Define () =
1

: {0,1} → {±1}

∈ ℝ2
Instead of the standard base, we use the Fourier base:

{} = (-1) .
∀ ⊆ {1, … , }.  = ∏ ()
∈
Fourier base is: { }
Problem
2
1 =  = ‖‖22 = ∑|̂()|
∀{0,1}2 → {1 } ∃ . . |̂()| >
And the function () = (-1)
1 2 +2 3 +3 4 ,…, 1
1
2
also has ̂ =
1

22
Could there be a good measure ?
( ∧ ) ≤  () + ()
} - a formal complexity measure
( ∧ ) ≤ () + ()
Related to the formula size of  – ()?
Formula trees with basic formulas on leaves and basic operations in internal nodes. Formula
size is the number of leaves.
Claim: For any formal complexity measure  – () ≤ ()
Proof: By induction
( ∨ ) ≤ () + () ≤ () + ()
Assume the smallest formula for f writes  =  ∨ ℎ, then
() = , (ℎ) =  → () =  + .
Note that the smallest formula might be even smaller!
() = () + (ℎ) ≤ () + (ℎ) ≤ ()
So far it seems as if there isn't a good …
On one hand: () = ̂
1

On the other hand, () = () is bad because tautological!
Natural Proofs – Razborov & Rudich

{0,1}={0,1}
X
(0,1,1,0, … )
=⏟
||
⊂ {0,1}
⊂ {{0,1} → {±1}}
is  pseudo-random w.r.t.  if
∀ ∈ ℱ |[() = 1| ∈ ] − [() = 1]| <
Extreme opposite – 1 ∈ ℱ
is pseudo random if every  ∈ ℱ cannot distinguish  ≈  from  ≈ {0,1}
Main point: Random functions of lowe complexity look like random functions w.r.t. a poly
time distinguisher.
Let  = all points in {0,1} with respect to polyline functions
= {: {0,1} → {±1}|    (   ℎ )}
Statement: ∀ > 0.  is -pseudorandom w.r.t. ℱ.
A "natural proof" for  ≠  would
- Devise a "simplicity" probability S of Boolean functions, so that () = 1 for all
simple (poly-time complexity) functions  ∈ .
- If  itself is poly-time computable (in its input length - || = 2 ) then since X is pseudorandom for ℱ and  ∈ ℱ, it follows that () = 1 for almost all  ∈ {0,1} .
This is bad because a random function  ∈ {0,1}^ shouldn't be simple!
So either  ∉ ℱ or () = 1 for almost all functions.
A proof is "natural" if it defines a simplicity property  such that:
(1) All low complexity functions are simple
(2) A random function is not simple
(3) Whether or not a function is simple can be determined in poly-time
(4) Some NP-function is not simple
1,2,3 cannot hold together!
-------- end of lesson 1
Connection between P, NP and Circuits
⊂ {0,1}∗
≔  ∩ {0,1}
= { }∞
=1
The Clique language has a circuit complexity ≥ ()
↔
∞
{
}
For any sequence of circuits  =1 solves Clique
∃0 ∀ > 0 ( ) > ()
The class ⁄ ≡ all languages computable by poly circuits.
The set of poly-time functions looks like the set of all functions
Looks like = To a simple observer (another polynomial time algorithm).
Exercise: Let  be a formal complexity measure. Prove that if there exist ℎ: {0,1} → {±1}
1
(ℎ) > 4 ∙ , then [() > ] ≥ 4
random, : {0,1} → {±1}
Things that are known

The discrete log function
Let ℤ be the cyclic group with N elements
Let g be a generator
= {1 , 2 , 3 , … } ℤ∗
:  →  () =
-−1 ← discrete log function, is 1-1, believed hard to compute.

CONJ – There exists some  > 0 . . the complexity of this problem is ≥ 2 .
Goldreich-Levin “Hard core bit”: Any one way permutation → gives rise to a pseudorandom generator.
A pseudo random generator is:
{0,1} → {0,1}+1
Such that you cannot tell the difference between the half that emerged from the domain
and the half that didn’t (in the range).
( ⏟
, ⏟
) = (()
, ∑    2)
⏟ ,⏟
⏟

2

2

2

{0,1}

2
{0,1}
2
:
→
Now they constructed a pseudo random function generator
The took a seed (denoted ).
y
y(1 ())
y(0 ())
y(0 (0 ()))
y(1 (0 ()))
y(0 (1 (()))
y(1 (1 (()))
(, ) ≔  ( ∘ … ∘ 2 1 ())
Define  : {0,1} → {0,1}  () = (, )
Consider the distribution { }∈{0,1} ,  >   > 2

For each y  is poly-time computable

This distribution is pseudo-random against polynomial time(in  ) distinguishers
On the other hand…
, or any property being used in a lower bound proof, shouldn’t be too complex either!
() = 1 iff  has low circuit complexity is not good (trivial).
Note  ∈ !
Take the basic functions:
(- − 1)
⋮
100

1
(- − 1)
⋮
2
(- − 1)
⋮
3
… (- − 1)
⋮

A model for generating a random formula.
I have  ∙ 100 ∙ 2 functions.
But this is false! Why? Because using AND or OR changes the distribution from
Gowers Norms ( )
Fix a finite set  and consider ℝ (the vector space of functions :  → ℝ.
A norm on this space is a function ‖‖: ℝ  → ℝ+
s.t.
‖‖ = ||‖‖
≠ 0 → ‖‖ ≠ 0
‖ + ‖ ≤ ‖‖ + ‖‖
1
2
3
4
0 to …
Example: ‖‖ = max|()| (  ∈ )
Definition (dual norm):
1
‖‖∗ = max{〈, 〉|‖‖ ≤ 1} where 〈, 〉 = ∑∈ ()() ← “Correlation”
||
Example: For ‖‖∞, the dual is:
‖‖∗∞ = max{< ,  > |‖‖∞ ≤ 1, ∀: |()| ≤ 1}
1
1
max {∑ ()() ||()| ≤ 1} =
∑ ()(()) =
∑|()| = ‖‖1
||
||
In general: If ‖∙‖is in P, it doesn’t mean that ‖∙‖∗is in P.
Another Example: Let̂ be an abelian group
‖‖4 42 =  [()( + )( + )( +  + )]
,,
Is it in P? YES.
1
Is ‖‖∗42 in P? Turns out that ‖‖∗42 = ‖̂‖4 = (∑⊆[](̂()4 ))4
Exercise: Prove that the 2 norm is a norm. Hint: Cauchy’s norm.
However, can define 2 norm
TODO: Did not have enough time to copy the formula:
‖‖2 = (  (()( + )( + )( +  + )( + )( +  + )()
,,,
Do not know a poly-time algorithm for ‖ ∙ ‖∗2
“Goal” for introducing these norms was to extend fourier analysis to “higher degree”.
: {0,1} → {±1}. ̂() =    ℎ ℎ   (−1)∑∈
: {0,1} → {±1} 2 (1 , … ,  ) = ∏∈(−1) ←linear phase functions
Consider degree d phase functions (−1)^(̅ ) where deg  ≤
Fix : {0,1} → {±1}
:
{0,1}
∈ {0,1}
→ {±1} defined by  () = () ∙ ( + )
() = (−1)(())
Say, for instance:
() = (−1)1 +2 +3 ∙ (−1)1 +2 +3 +1 +2 +3 = (−1)1 ++3 =constant! Doesn’t depend
on x.
If () = (−1)() for deg  ≤
Then  () = (−1)
′ ()
ℎ deg  ′ ≤  − 1
(−1)() ∙ (−1)(+)
Define , ≡ ( )
Similarily: 1 … = (… ((1 ) ) … )
2
---- end of lesson 2

: {0,1} → {±1}

‖‖2 =

1 … ∈{0,1}
∏
(0 + 1 1 + ⋯ +   )
1 … ∈{0,1}
0 =   (1 …  ) (dimension k affine subspace)
0 , 0 + 1 , 0 + 2 , 0 + 1 + 2
Example: Suppose  is a linear function
∃1 , … ,  . . () = ∑   (2)
Then for any choice of 0 , 1 , 2
(0 ) + +(0 ) + (1 ) + + ⋯ = 0
Hence for any choise of 0 , 1 , 2
+ + (1 + 1 1 + 2 2 ) ≡ 0
1 ,2
Similarly the expectancy is 0 as well.
Linearity Testing
(proven by Blum-Luby-Rubinfeld)
: {0,1} → {±1}
Question: Is  a linear function?
Definition 1: ∃1 , … ,  . . ∀. () = ∑
Definition 2: ∀,  () + () = ( + )
Definition 2 implies definition 1 since:
We can define  = ( ), then () = (∑   )

=
∑  ∙ ( )…
Testing
Global object, e.g. : {0,1} → {0,1}
Want to test if  ∈
In our example – all linear functions.
Only willing to invest limited resources, but willing to randomize.
Question: Can we deduce global property by considering local behavior?
If the answer is yes we say that this  is testable.
Non testable property:
1 …  - Boolean variables. ~1 … ~ - their negations.
Fom the list above, I select  3-CNF clauses indices at andom.
Most of the time we will find clauses that don’t have any shared variables
If  > 50 than with high probability  is unsatisfiable!
PCP “theory” implies that every polynomialy varifiable property (e.g. formula satisfiability)
can be cast (“encoded”) in testable form.
Definition: ∀,  {0,1} → {0,1}
Distance(, ) =  [() ≠ ()]
∈{0,1}
Distance(, ) = min (, )
f∈S
Theorem (BLR):
Let : {0,1} → {0,1} If distance (, ) ≥ 0
Then (() + () + ( + ) ≠ 0) ≥ Ω()
,
Theorem (AKKLR):
Let : {0,1} → {0,1} if (, ()) ≥ δ
Then  (((0 + 1 1 + ⋯ + +1 +1 ))) ≥ Ω( ∙ 2− )
0 ,…,+1
So we select an affine space of  + 1 points.
We look at all of these points and check that they are not zero.
is a degree k function if
(1 , … ,  ) = ∑  ∏
||⊆
∈
,
(1 , … ,  ) = 1 2 …
If  has degree  then ∀0 , … , +1
((0 + 1 1 + ⋯ + +! +1 ))
Proof: Let  () = ( + )
The function  = +1 , ,…,2 has degree 0 (it is constant)
The above expression equals (0 )(0 + 1 ) ≡ 0
Claim: Let (,  − 1) be the correlation of  with degree  − 1 polynomials.
= (1 − ) −  = 1 − 2 ∙ (,  − 1  )
(,  − 1) ≤ ‖‖
Reed-Mulle (Low-Degee) Test
Let  be the closest degree  polynomial to .
≔ (, )
1.  is tiny –  < 2−
If an affine  + 1 space contains exactly one point  . . () ≠ () then the test
rejects.
We will prove that this happens with constant probability.
Assume ~2−
Choose a random affine subspace  by choosing × a random full rank matrix
over 2 and a random  ∈ 2
= { =  + | ∈ 2 }
For each   − The event () ≠ ()
−  and ∀  ≠  ( ) = ( )
is distributed uniformly in 2
is distributed uniformly on 2 \{ }
∀ ≠ [ ] =
[   ] ≤  2
,
[ ] ≥ [ ] − ∑ [ ∧  ] ≥  − 2 ∙  2 ≈
≠
(⋃  ) = ∑ [ ] = 2 ∙  =
,
2.
--- End of lesson 3

Last week we:
 Defined the  norm ⇔Degree  − 1 test (“low degree test”)
 Proved the following theorem: If ‖‖ > 1 −  Then there ∃ of degree  − 1
〈, 〉 =  [()()] > 1 −

Lemma 1: Let : {0,1} → {0,1}
- some polynomial
Denote (, deg ) = max{〈, 〉| = (−1) () ,  − deg }
So:
(, deg ) ≤ ‖‖+1
Lemma 2: For every ℎ: {0,1} → {0,1}
‖ℎ‖ ≤ ‖ℎ‖+1
Proof of 2:
We shall use the fact that:
[ 2 ] ≥ ([])2
+1
+1
‖ℎ‖2+1
=

∏

1 ,…,  ,…,
+1
+1 1
ℎ ( + ∑   )
=1

=

∏ ℎ ( + ∑   ) ∏ ℎ ( + +1 ∑   )
1 ,…,
+1  ,…,
1

=1
1 ,…,
=1
′
Now let’s fix:  ←
′ ←  + +1

=

′
′
∏ ℎ ( + ∑   ) ∏ ℎ ( ∑   )
1 ,…,
+1  ,…,
1

=1
1 ,…,
=1
2

=

1 ,…,
( ∏ ℎ ( ′ + ∑   ))

1 ,…,
=1
2

≥(

+1
∏ ℎ ( ′ + ∑   )) = ‖ℎ‖2
! ,…,  ,…,
1

∎
=1
Proof of 1:
For any ℎ: {0,1} → {±1}
1
1) | ℎ()| = ‖ℎ‖′

×3
(‖ℎ‖2
4 4
= ( |ℎ̂()| ) )

2) ∀ ‖ℎ‖ ≤ ‖ℎ‖+1
‖ ∙ ‖
3) ∀. ∀: {0,1} → {±1} degree  polynomial ⏟

= ‖‖+1
Proof for 1:
‖ℎ‖21 =
∏ ℎ( + 1 ) =
∏ ℎ( + 1 )

1 =0,1
′
′
1 =0,1
Denote  = ,  =  +
= ( ℎ()) ( ℎ())

Proof for 3:
+1
‖ ∙
+1
‖2+1
=

+1
+1
∏
1 ,…,+1  ,…,
1
+1
( + ∑   )  ( + ∑   ) = ‖‖2+1
=1
Because ∀, 1 , … , +1 ∏1 ,…,  +
=1
∑+1
=1
=1
Let : {0,1} → {±1} be the degree  function closest to  (i.e. attaining max correlation).
Define ℎ() = () ∙ ()
(, ) = | ()()|
1

-
=
2
‖ℎ‖
≤
‖ℎ‖+1
3
=
‖‖+1 ∎
considered ‖‖3 as a “formal complexity measure”
Consider dual norms:
‖‖∗ = max{〈, 〉|‖‖ ≤ 1}
Motivation for dual:
1) “NP-ish” definition possibly circumvents RR
2) More robust
TODO: Draw world
Suppose we have two parts in our world. A and B
And we have two functions ,  such that  is random on A and is 1 on B and  is the exact
opposite.
‖‖3 =constant.
‖‖3 =constant as well.
ℎ =∨
‖ℎ‖3 = !
This is a problem! We just use an or and got such a dramatic difference
‖ℎ‖∗ ≥ 〈ℎ, ℎ〉 = 1
〈ℎ, ℎ〉 =
1
Can take  = ‖ℎ‖ - very large!
‖‖∗3 =?
‖‖∗3
Need to find a “norming function”
Use ℎ!
‖
ℎ
‖=1
‖ℎ‖
1
ℎ
1
1
‖‖∗ ≥ 〈, 〉 =
()ℎ() = () ⏞
()() + [] ∙ ℎ() ∙ 1 = 2 ∙
‖ℎ‖
‖ℎ‖

1
‖ℎ‖
=very large!
Note: 〈, 〉 ≤ ‖‖ ∙ ‖‖∗
Question 1: Given : {0,1} → {±1} Can we compute ‖‖∗ in polytime?
(an open question even for k=3)
Question 2: Suppose you know that ‖‖∗3 ≥  by [Samorodnitsky ‘07] ∃ deg 2 polynomial
2
that correlates with . Can P be found in time poly(2 )? (search space is 2 )
Gappalan-Klivans-Zuckerman ’08: “list-decoding Reed-Muller Codes”.
If  is -correlated with some degree-2 function, then the following is true:
1) Number of deg 2 polynomials correlation with  ≤ 2 ()
2) Can find list above in time 2 ()
Interpretation: if ‖‖ small then ‖‖∗ is large
Simplicity Property = {|‖‖∗  } ⊆ {|‖‖  }- This is a property in !
If the first if 1 and the second is 2 , then the first one that contains all functions.
Next idea:  norm for super-constant .
Now the naïve algorithm for computing ‖‖
Takes (2 ) −time. If  = () this is not polytime
= 2 , ^
Still intent to use dual ‖ ‖∗ norm (want robustness)
Question 3: Is there an algorithm for ‖ ‖ running in time better than  −1 ∙ log .
```