12 The method of Hypergraph Containers

Definition 12.1. For graphs G, H,

ex(G,H)=max{e(K):KG and KH}.

Example. ex(n,H)=ex(Kn,H).

We are interested in ex(G,K3) when GG(n,p).

Theorem 12.2 (Frankl, Rödl). For p1n and GG(n,p),

ex(G,K3)=(1+o(1))pn24

with high probability.

Remark.

  • Easy to see “”: consider a bipartition

    PIC

  • If p𝜀n, then recall from earlier in the course our work on R(3,k): in this regime for p, we have few triangles compared to number of edges, so we can get a triangle-free subgraph by just deleting an edge from every triangle.

Let m=(1+δ)pn24. Let

Xm=|{HG:HK3 and e(H)=m}|.

If 𝔼Xm0, then by Markov done. But:

𝔼Xm=|{HKn:HK3,e(H)=m}|pmn24mpm(pn2m)m(4(1+δ))n32

So first moment method fails horribly here.

Remark. This quantity is useluss because these triangle free graphs are very correlated.

Idea: What if every K3-free graph was bipartite? (This is a massive lie, but we discuss it anyway to motivate the proof of Frankl, Rödl).

(H,HG,e(H)=m,HK3)!(A,Ac) bipartite on V(G)(|G(A×Ac)|m)2nexp((δpn2)3pn24)20

(the ! is to emphasise that here we use the false statement that “every triangle-free graph is bipartite”). On the penultimate step, we used that

𝔼|G(A×Ac)|n24p2nexp(δ2pn2).

But m(1+δ)pn24.

Note that there exist triangle-free graphs that are far from being bipartite:

PIC

So we need something a little different:

Theorem 12.3 (Containers for triangle-free graphs). For all n, there exists a collection of graphs Cn with the following properties:

  • (1) |C|nO(n32).
  • (2) every GC contains at most o(n3) triangles.
  • (3) every triangle-free graph on n vertices is contained in some GC.

Remark. This result is essentially sharp. Before we constructed very “random like” graphs with density p=γn. So we expect n22pn22=nO(n32 such graphs. Intuitively, these should be in different containers.

Lemma 12.4 (Supersaturation). For all 𝜀>0, there exists δ such that: If G is an n vertex graph with

e(G)(1+𝜀)n24,

then G contains δn3 triangles.

Proof. Let k be a large constant. Note n2n02k2=nkk2 Consider

()=1nkS[n](k)e(G[S])k2=e(G)nkk2n2k2=e(G)n212(1+𝜀)

If the number of k subsets with >12k2 edges is ηnk, then

()η1+12(1η)12(1+η).

So η𝜀. Apply Turán to this 𝜀 proportion of subsets. This gives us 𝜀nk pairs of (k-subsets,triangles). But each triangle is counted at most n3k3. So there must exist

𝜀nkn3k3c𝜀n3

triangles, for some c>0.

Proof of Frankl, Rödl for plognn. Let plognn, GG(n,p), m=(1+δ)pn24.

(H,HK3,HG,e(H)=m)(KCn,|HG|(1+δ)pn22)KCn(|KG|(1+δ)pn22)

Note that by Supersaturation,

𝔼|KG|=pe(K)p(1+o(1))n24.

So we can continue the earlier calculation to get

|Cn|exp((δpn22)23pn24)=nCn32exp(cδ2pn2)=nCn32exp(C2( log n)n32)0

if C2>C.

Theorem 12.5. If p1n and GG(n,p) then GK3 with high probability.

Remark. If p<γn then GK3 with high probability for γ small.

Sketch proof: pick an edge from each triangle and colour it blue. Since the number of triangles is small compared to the number of edges, we don’t colour too many blue. Colour the rest red. Now as long as we didn’t create any blue triangles, this works.

Lemma 12.6 (“Supersaturation” Lemma). Let 𝜀>0 be sufficiently small. Let Kn be coloured with red / blue / grey with the property that 𝜀n2 are grey. Then there are cn3 monochromatic triangles in red or blue.

Proof. There are at most 𝜀n6 K6’s that contain a grey edge. So there are n6𝜀n6=() K6’s that are only red / blue coloured. Each one of these contains a monochromatic triangle. So we have () many pairs (K6, monochromatic K3). So there exist ()n3cn3 monochromatic K3’s in red or blue.

Proof of Theorem 12.5 for pClognn. Let pClognn, GG(n,p). Then

(GK3)(H1,H2,K3-free with GH1H2)(K1,K2C with GK1K2)K1,K2C(GK1K2)(1p)|V(G)K1K2|

By Lemma 12.6, |V(G)K1K2|𝜀n2, the above is

|C|ep𝜀n2nCn32eC(logn)n32

for some large C, so 0 as n.

12.1 Proving the earlier container lemma

We will sketch the proof of Theorem 12.3.

Consider the 3-uniform hypergraph Hn defined by

V(Hn)=E(Kn)Hn={{e,f,g}:efg form a triangle}.

PIC

Key observation is that GV(Hn) is a graph on [n], and that G is independent in Hn if and only if G is a triangle-free graph.

Here we say GV(H) is independent if it induces no edge of H.

Notation. Given a hypergraph H, define

Δl(H)=max{dH(A):AV(H),|A|=l},

where dH(A)=|{BE(H):AB}|.

We will write Δ(H) to mean Δ1(H).

Theorem 12.7 (Hypergraph Container Theorem for 3-uniform hypergraphs). For C>0, there exists δ>0 so that the following holds. Let H be a 3-uniform hypergraph with average degree d and

Δ(H)CdandΔ2(H)Cd.

Then there exists a collection CP(V(H)) with the following properties:

  • (1) |C||V(H)||V(H)|d.
  • (2) CC, |C|(1δ)|V(H)|.
  • (3) For every independent set I in H, there exists CC such that IC.

Due to Saxton, Thomason and Balogh, Morris, Samotij.

Sketch proof of container lemma for K3-free graphs (Theorem 12.3) using Hypergraph Container Theorem for 3-uniform hypergraphs:

We note that all degrees are n2

PIC

So average degree is n2, and Δ(Hn)=n2.

We have Δ2(Hn)=1, since for a pair of edges e, f, we have dH({e,f}) is either 0 or 1.

PIC

So we can apply Hypergraph Container Theorem for 3-uniform hypergraphs to Hn with d=n2 and C=1. We obtain a collection C of graphs

|C|n22n22n=nO(n32.

Note that every triangle-free graph is contained in some GC. We also have e(G)(1δ)n2.

We now repeat the following:

Suppose some GC (current set of containers) has 𝜀n3 triangles. Then consider Hn[G].

PIC

The average degree is 𝜀n and Δ(Hn[G])n, Δ2(Hn[G])1. So apply Theorem 12.7 again to Hn[G] with d=𝜀n and C=1𝜀. Now put all of these containers into my collection.

We can imagine this process as creating a rooted tree, whose vertices are containers, and whose leaves are containers with 𝜀n3 triangles.

PIC

Note we can only apply this at most 2δlog1𝜀 times to a container (because after this many steps we have so few edges of Kn left that we must have 𝜀n3 triangles). Thus the total number of containers at the end is

n22n22nn22n22𝜀n2𝜀log1δnO𝜀(n32)

as desired.

By construction each of the containers has at most 𝜀n3 triangles. Note that every triangle-free graph G on n vertices is contained in some CC for our initial application. This property is preserved when we replace a CC with a collection of containers for H[C].

This lecture is non-examinable.

Theorem 12.8. For all C>0, there exists δ>0 (δ=14C) such that the following holds. Let G be a graph with average degree d and Δ(G)Cd. Then there exists CP(V(G)) such that:

  • (1) |C|n2δnd.
  • (2) For CC we have |C|(1δ)n.
  • (3) Every independent set in G is contained in some CC.

Due to Kleitman and Winston, 80s.

Notation. nk=i=0kni.

Given G and I, we run an algorithm that produces F(I), A(I) satisfying

F(I)“the fingerprint”IF(I)A(I)C(I) is the container

Graph Containers algorithm. We maintain, as the algorithm runs, a partition

V(G)=Athe verticesBbinFfingerprint so far,

and we start with A=V(G), B=, F=. While |B|<δn, we loop the following:

Let vA be a vertex of maximum degree in G[A] (and tiebreak according to some fixed ordering of G specified in advance, so that the algorithm is deterministic / reproducible: useful for observation later).

PIC

When algorithm stops, we define A(I)=A and F(I)=F.

Observation: F(I)IF(I)A(I).

Proof. First inclusion holds by definition. For second one: I never move a vertex of I into B.

Observation: A(I) is determined by F(I).

Proof. We claim that if we run algorithm on input F(I) then we would get same output (here we use the fact that we defined and used an ordering of G to make the algorithm deterministic / reproducible).

Observation: |F(I)|δnd.

Proof. We show that if we move a vertex into F, we move d2 vertices in A to B. Note that at all times in the algorithm,

e(G[A])e(G)|B|Δ(G)dn2δnCddn4

So Δ(G[A])d2 for all steps.

If |F(I)|>2δn2, then |B|>(2δnd)d2>δn, contradiction.

Proof of Theorem 12.8. We define

C={A(I)F(I):I independent in G}.

Property (3) holds by the first observation.

For (2), note that |A(I)F(I)|=n|B|(1δ)n.

For property (1), note that the number of F(I)’s is at most n2δnd, and each F(I) determines F(I)A(I) by the second observation.

Informal explanation of the proof:

Suppose Alice and Bob both know the structure of a certain graph. Suppose Alice is given an independent set I, and wants to communicate about its structure to Bob, by giving him a list of some vertices from I. It makes sense for Alice to start by telling Bob which vertex has the highest degree in I, since this then tells him a lot of vertices aren’t in I:

PIC

For the next vertex, Alice shouldn’t just tell Bob the next highest degree vertex, because its neighbourhood might overlap a lot with the first vertex, in which case telling Bob about this vertex wouldn’t give him much new information. So instead, it makes more sense to pick the vertex with highest degree into the set of vertices which Bob hasn’t yet discarded; this gives us the algorithm described above.

If none of the vertices in I have large degree, then Bob actually can still gain a lot of information from Alice, if Alice (implicitly) says “this vertex v is in I, and it is the most informative vertex I could have told you about”. Using this strategy, Bob can gain useful no matter what: if I contains a large degree vertex, then Bob can immediately discard a lot of vertices. If it doesn’t, then when Alice tells Bob a vertex, Bob now knows I doesn’t contain any high degree vertices, which in itself is very valuable information.

Generalising to hypergraphs:

We employ a similar strategy.

PIC

In this case, when Alice tells Bob about a vertex, he can’t immediately discard any vertices. Instead we have the following: {u,v,w} is an edge, and Alice tells Bob that vI, then Bob now knows that it can’t be the case that both of u, v are in I. Bob can keep track of this information in a graph, where we can borrow ideas from the proof of graph containers. The proof will be more complex, and we will need to make use of the condition on Δ2.

Container algorithm for 3-uniform hypergraphs. We maintain

V(H)=ABF

a partition. We also have a graph G, that we keep track of throughout the algorithm. We keep the following until |A|<(1δ)N.

We then put F(I)=F, A(I)=A at the end of the loop.

The proof that this algorithm works is somewhat similar to the proof for graph containers, but more complicated.