Adapted from lecture 3 of Yufei Zhao’s Fall 2019 class on “Graph theory and additive combinatorics” at MIT.

Say I give you some constant-size graph H (e.g. a 4-clique, a 5-cycle) and tell you make a very dense graph G that doesn’t contain H as a subgraph.

If H is not bipartite (i.e. it has an odd cycle), then this is super easy: all you need to do is to make G bipartite. For example, you can make G the complete bipartite graph Kn2,n2, which has n24 edges, so you get edge density 1/2. Sometimes you can do even better than 1/2, and the right answer is always known:

  • When H is an (r+1)-clique, Turán’s graph theorem pinpoints the exact number of edges you can get: about (11r)n22.
  • In general, the Erdős–Stone–Simonovits theorem tells you that the best edge density tends to 11χ(H)1 as n grows, where χ(H) is the coloring number of H.

On the other hand, if H is bipartite, then there is no “cheap trick” that allows you to avoid H. Indeed, even when H is the complete bipartite graph Ks,t, we’ll see that the edge density will tend to 0 as n grows. More precisely, the Kővári–Sós–Turán theorem says that

mO(t1/sn21/s)=O(n21/s),

which is strongly subquadratic! As we’ll see in the lower bounds section, this is mostly tight.

The idea is that forbidding Ks,t puts a cap on the number of s-stars1 in G, and that you cannot have high density without creating many s-stars.

Proof

The proof works by upper and lower bounding the number of s-stars in G.

For an upper bound, we can count s-stars by enumerating through all choices S([n]s) of the s “ends” of the star, then enumerating the choices of the center. Since G is Ks,t-free, for any fixed S, there must be <t possible choices for the center, so

#s-stars<t(ns).

(This is roughly O(ns); without restrictions, G could have had as many as (ns)(ns)Ω(ns+1) s-stars, so this upper bound is actually quite stringent! The factor n that separates these two expressions is exactly what will give the n1/s loss in the number of edges.)

For the lower bound, we start out by computing the number of s-stars as a function of the degrees d(u) of each node:

#s-stars=u(d(u)s).

Now, it seems like for some fixed average degree D, the best way to minimize the number of s-stars is to have all degrees equal: indeed, if we let some degrees get bigger, then those nodes would produce proportionally many more s-stars. Formally, since (d(u)s) is convex2 in d(u), we have

#s-stars=u(d(u)s)n(Ds).

Putting the bounds together, we get

n(Ds)t(ns)n(Ds)stO(ns)sDO(t1/sn11/s).

Lower bounds

The mO(n21/s) bound is believed to be tight, but surprisingly, matching constructions are only known in a few cases.

Probabilistic constructions

Let v(H), e(H) be the number of vertices and edges in the graph H you want to forbid. Take an Erdős-Rényi random graph G with edge probability p. There are nv(H) possible “sites”3 where H could appear, and for each of them, the probability that it appears is pe(H). So if we make sure that

nv(H)pe(H)1/2pnv(H)e(H),

then with constant probability we’ll get an H-free graph with Ω(pn2)=Ω(n2v(H)e(H)) edges.4

For Ks,t (with st), this gives Ω(n2s+tst)Ω(n22/s), so n2Θ(1/s) is the right answer. In fact, when t tends to infinity, we get n21+o(1)s, so the constant in the numerator is tight. Unfortunately though, the exponent is not exactly right for any s,t2.

Algebraic constructions

There are algebraic constructions that give the right exponent for some specific values of s,t.

Points and lines: s=t=2

Let G be the (bipartite) graph of incidences between points and lines in Zp2. This graph has n=Θ(p2) vertices and Θ(p3)=Θ(n3/2) edges. Since two distinct lines cannot meet at two distinct points, there is no K2,2.

Spheres and points: s=t=3

This time, consider incidences between points and “spheres” of a fixed radius in Zp3. It’s not super clear what a “sphere” is in Zp3, but at least in Euclidean space, three distinct spheres of the same radius cannot meet at three distinct points, so there is no K3,3. When the radius is chosen well, this graph has n=Θ(p3) vertices and Θ(p5)=Θ(n5/3) edges.

General: Alon–Kollár–Rónyai–Szabó

In general, for t(s1)!+1, there are Ks,t-free graphs with Ω(n21/s) edges. But the answer remains unknown (everywhere?) when st(s1)!.

  1. A graph where one node is linked to s other nodes. 

  2. To make this completely formal, we can extend (xs) to real values of as x(x1)(xs+1)s! for xs1, and let (xs):=0 when x<s1

  3. i.e. choices for where each vertex of this copy of H lies in G 

  4. This can be slightly improved to Ω(n2v(H)2e(H)1) by allowing as many as pn24 copies of H to appear in G at first, and then remove them by taking an edge away from each (this is called the “alteration method”). However, this exponent is still not tight, so who cares.