On Random Greedy Triangle Packing

David A. Grable^{∗} Institut für Informatik Humboldt-Universität zu Berlin D-10099 Berlin Germany

Submitted: August 5, 1996; Accepted: February 26, 1997

Abstract The behaviour of the random greedy algorithm for constructing a maximal packing of edgedisjoint triangles on n points (a maximal partial triple system) is analysed with particular emphasis on the final number of unused edges. It is shown that this number is at most n^{7/4+o(1)}, “halfway” from the previous best-known upper bound o(n^{2}) to the conjectured value n^{3/2+o(1)}. The more general problem of random greedy packing in hypergraphs is also considered.

1 Introduction

Consider the following simple algorithm for constructing a maximal collection of pair-disjoint triples in a set of n points: repeatedly pick a triple uniformly at random from among all triples which do not share a pair with any previously picked triple, until there are no more candidate triples. It is perhaps mildly surprising that such a simple random greedy procedure almost always results in a collection of triples which cover almost all of the pairs [13, 12]. In this paper we obtain significantly tighter bounds on the number of uncovered pairs. In particular, we show that the number of uncovered pairs is almost always no more than n^{7/4+o(1)}, where o(1) is a function going to 0 as n goes to infinity.

This problem is expressed nicely in the language of design theory. A partial triple system on n points (a PTS(n) for short) is a collection of 3-element subsets (triples) of {1, …, n} such that each 2-element subset (pair) is contained in (covered by) at most one triple. Of considerable interest are partial triple systems in which every pair is covered by exactly one triple. Such systems are called Steiner triple systems. The reader is referred to [3] for more background on design theory.

A partial triple system is maximal if no triple can be added without covering some pair more than once. It is obvious, but worth noting, that Steiner triple systems are maximal, but they are the electronic journal of combinatorics 4 (1997), #R11 2 not the only maximal partial triple systems. Another observation is that the leave graph of a PTS (the graph whose edges are the uncovered pairs) is triangle-free if and only if the PTS is maximal.

∗Supported by Deutsche Forschungsgemeinschaft project number Pr 296/4-1.

e-mail: grable@informatik.hu-berlin.de

Mathematics Subject Classification: 05B40, 05C70

The random greedy algorithm constructs a maximal partial triple system in the following way. It starts with an empty partial triple system and the complete list of candidate triples. It repeatedly picks a candidate triple from the list uniformly at random, adds it to the partial triple system, and removes it and all other candidates with which it shares a pair from the list of candidates, until there are no more candidates.

The problem is to determine how many uncovered pairs remain. In other words, we’re interested in finding out how close the resulting partial triple system is to a Steiner triple system. Of course, since the procedure involves randomness, it may be that with some small probability, the resulting PTS is very bad. On the other hand, there is a small probability that the result is a Steiner triple system. It will turn out, though, that usually the result is somewhere in between, but not very far from being a Steiner triple system.

There are two alternate ways to express the algorithm. One, from the point of view of the leave graph, is that the algorithm starts with the complete graph and repeatedly removes random triangles until the graph is triangle-free.

In the other alternate expression, all of the randomness takes place in the initial stage of execution: the list of all triples is first randomly ordered and then the triples are considered one at a time in this order. If the triple shares no pair with any previously selected triple (i.e. it can be added to the PTS) then it is added. Otherwise, it is discarded. It is actually this last procedure which we will analyse.

We take what we call an “honest nibble” approach. The nibble method, pioneered by Rödl [11], was originally a method (really an algorithm) for showing the existence of asymptotically good partial designs as conjectured by Erdős and Hanani [4] and, later, the existence of packings and colourings in hypergraphs [5, 10, 7, 1, 9]. The nibble algorithm isn’t exactly the same as the random greedy algorithm but there are enough similarities that Rödl and Thoma [12] were able to use it to show that the random greedy algorithm almost always produces a partial triple system with only o(n^{2}) uncovered pairs. Spencer [13] proved the same using completely different techniques. By “almost always” we mean that with probability 1 − o(1), the algorithm produces the required result.

We modify the nibble algorithm so that it behaves exactly the same as the random greedy algorithm. This “honest nibble” algorithm is presented in the next section. We then give a simplified analysis that shows that the number of uncovered pairs is almost always at most n^{11/6+o(1)}. Thereafter, we will show how to refine the analysis to improve the bound to at most n^{7/4+o(1)}.

No lower bounds on the number of uncovered pairs are known, but substantial computer simulations of the random greedy algorithm have been carried out by Balińska and Wieczorek [2] for the electronic journal of combinatorics 4 (1997), #R11 3 triangle packing and by Gordon, Kuperberg, Patashnik, and Spencer [6] for more general packing problems. These simulations indicate that the correct order of magnitude for the number of uncovered pairs is n^{3/2+o(1)} and, indeed, Joel Spencer has offered $200 for a proof.

At the end of the paper, we will also look at the behaviour of the random greedy algorithm for constructing packings in hypergraphs.

2 The Honest Nibble

The traditional nibble process starts with the empty partial triple system and repeatedly adds a small number of triples in the following way: triples are selected independently at random with a very small probability from all remaining candidates, each selected triple which does not share a pair with any other selected triple is added to the current partial design, and then the list of candidates is updated by removing all selected triples and any triples with which they share a pair. To get the desired theoretical result, it is only necessary to take a large but fixed number of such nibbles, but one could of course run this process until there were no more candidate triples.

To make the connection to the random greedy algorithm, consider the version of the random greedy algorithm where all possible triples are first randomly ordered and then the triples are considered one by one. Equivalently, we could generate the ordering in bursts. Each of these bursts corresponds roughly to a single nibble.

More specifically, do the following. Start with an empty partial triple system and the set of all triples. To generate a burst, select triples independently at random with some small probability (to be specified later), randomly order the selected triples, and remove the selected triples from the set of unused triples. After generating each burst, process the triples in the manner of the greedy algorithm: consider each triple in turn in the random order given and, if it can be added to the partial triple system, do so.

Compare what happens here with what happens in the traditional nibble process. Here, if a selected triple could not be added to the partial triple system as it existed at the beginning of the burst, it will never be added. In the traditional nibble, such a triple would never have been selected since we only select from candidate triples—that is, from triples which could be added. Here, of the remaining selected triples, a triple which is pair-disjoint from all other remaining selected triples will always be placed in the partial design. The same thing happens in the traditional nibble. It is only in the case of selected triples which share a pair that the two methods differ. The traditional nibble throws out all such triples, but here we “do the right thing”, by considering the ordering and doing what the greedy algorithm would do. Note that this is the only situation where the ordering of the burst matters.

The point of the bursts is to give us well defined intermediate stopping points in the process, the electronic journal of combinatorics 4 (1997), #R11 4 where we can determine what the leave graph of the partial triple system looks like. This way, we only have to analyse one burst at a time, giving more or less a proof by induction. By taking the right sized burst, we hope to show that the leave graph remains fairly regular throughout the entire process. This will let us predict how many edges are left near the end fairly well. If we took bursts that were too small—in the extreme case, only one triangle at a time—we couldn’t take much advantage of the fact that the triangles are presented randomly. The burst would only affect a very few vertices, so the degrees wouldn’t stay very regular from one burst to the next. If we took very large bursts—the extreme case here is a single burst—the ordering dependencies among those selected triangles sharing pairs would be very difficult to analyse. We therefore pick bursts of a size such that they each contain enough randomly placed triangles that their effects occur in a smooth way over the entire leave graph, but not so many triangles that there are a lot of dependencies.

We are interested in showing that at the end, when the leave graph of the partial triple system is triangle-free, there are almost always fewer than f(n) edges, for some function f(n). We’ll do that by carefully analysing the leave graph after each burst and showing that there is a number t so that after the t^{th} burst, the leave graph already has fewer than f(n) edges.

At last we introduce some notation. Let G_{s} be the leave graph of the partial design after the s^{th} burst. So

K_{n} = G_{0} ⊇ G_{1} ⊇ ⋯ ⊇ G_{s} ⊇ ⋯ ⊇ G_{t} ⊇ · · · .

The probability with which we choose triangles in the s^{th} burst is the ratio of two quantities: a parameter η to be defined a bit later as a function of n going to 0 as n goes to infinity and a number D_{s−1} defined as follows.

Consider an ideal situation in which every edge of a graph G ⊆ K_{n} is contained in exactly D triangles. Nibble in G with probability η/D (that is, select triangles independently at random with probability η/D, order the selected nibbles at random, etc.) and let H be the probability that a given edge e is not removed from the graph. This probability turns out, as we will later show, to be independent of the choice of e and even of G. We will see that, indeed,

H := Pr[edge survival] = 1 − η + \frac{3}{2}η^{2} − \frac{5}{2}η^{3} + O(η^{4}).

With this in mind, we define real numbers D_{s} := H^{2s}n and E_{s} := H^{s}\binom{n}{2}. When going from G_{s−1} to G_{s}, we will nibble with probability η/D_{s−1}. Nibbling at this rate will ensure that each edge of G_{s} is in about D_{s} triangles and that G_{s} has about E_{s} edges.

Just for reference, in the traditional nibble, η is a small constant and e^{−η} is used in place of H Indeed, H = e^{−η} + O(η^{2}), so the difference in relatively insignificant, but this minor difference benefits us in a major way.

Of course, the D_{s} and E_{s} don’t track the numbers of triangles contained in each edge and the number of edges exactly. Fix a small positive constant γ and define quantities

0 = ε_{0} ≤ ε_{1} ≤ ⋯ ≤ ε_{s} ≤ ⋯ ≤ ε_{t} ≤ γ

such that for each 0 ≤ s ≤ t and edge e ∈ G_{s},

deg_{s}(e) = (1 ± ε_{s})D_{s} = (1 ± ε_{s})H^{2s}n,

where deg_{s}(e) is defined to be the number of triangles of G_{s} containing edge e (the motivation for this seemingly strange concept of degree is explained in the last section along with the connection to packings in hypergraphs, where the edges here will correspond to points and the triangles to hyperedges) and (1 ± ε_{s})D_{s} denotes some value in the interval [(1 + ε_{s})D_{s}, (1 − ε_{s})D_{s}]. By forcing ε_{t} ≤ γ, we are really forcing t to be not too large. Similarly, define

0 = δ_{0} ≤ δ_{1} ≤ ⋯ ≤ δ_{s} ≤ ⋯ ≤ δ_{t} ≤ γ

such that for each 0 ≤ s ≤ t,

|E(G_{s})| = (1 ± δ_{s})E_{s} = (1 ± δ_{s})H^{s}\binom{n}{2},

These definitions tell us nothing about how large the ε_{s}’s and the δ_{s}’s are. In the analyses that follow, our goal will be to find upper bounds on these quantities (as functions of s) and therewith determine the maximum t such that ε_{t} and δ_{t} are less than γ. This maximum value of t will then minimize |E(G_{t})| ≈ E_{t} = H^{t}\binom{n}{2}. Of course, we can adjust γ and η to suit our convenience.

To simplify some of the computations which we encounter along the way, we will assert now that we will choose η so that

t ≪ n  and  ηD_{t} ≫ 1.  (1)

After choosing η and determining t we will verify that these assertions are indeed valid.

3 Simplified Analysis

In this and the next section, we give an analysis which leads to a non-optimal result in order to illustrate the basic idea. In the following section, we show how to enhance this analysis to improve the result.

Suppose that we have G_{s−1} and know that deg_{s−1}(e) = (1 ± ε_{s−1})D_{s−1} for every edge e ∈ G_{s−1} and that |E(G_{s−1})| = (1 ± δ_{s−1})E_{s−1}, where ε_{s−1}, δ_{s−1} ≤ γ < 1. What can we say about ε_{s} and δ_{s}?

To simplify the notation, we’ll systematically drop the subscript s − 1 and replace the subscript s by ′, i.e. G_{s−1} becomes G, G_{s} becomes G′, and similarly for the other symbols. First we bound the electronic journal of combinatorics 4 (1997), #R11 6 ε′ by computing the expectation of deg′(e) for a surviving edge e and then using a large deviation result to bound the actual value with high probability. Afterwards, we’ll do the same for |E(G′)| to bound δ′.

To compute the expectation, we’ll need a few more definitions and two lemmas. We say two triangles are adjacent if they share a common edge (but not merely a common vertex). A path is a sequence of adjacent triangles and a cluster is a maximal collection of selected triangles in which every two triangles are joined by a path within the collection.

The ordering of the triangles within a cluster determines which of the triangles of that cluster succeed, but the success of the triangles in one cluster is independent of the orderings of the other clusters.

The first lemma says that with high probability, we will never encounter clusters with more than a large, but fixed, number of triangles.

Lemma 1 With probability 1 − O(n^{−2}), there are no clusters with more than m = O(1) triangles.

Proof The probability that all c of the triangles of a potential partial (i.e. not necessarily maximal) c-cluster are selected is (η/D)^{c} and the number of potential partial c-clusters is at most (ED/3) · 3D · 5D … (2c − 1)D < n^{2}(2c)^{c}D^{c}. Therefore, the expected number of partial c-clusters is at most (2c)^{c}η^{c}n^{2}.

To guarantee that, with probability 1 − O(n^{−2}), no cluster with m or more triangles is ever selected, we show that the expected number of partial m-clusters is O(n^{−2}) and use Markov’s inequality. Let ξ > 0 be a fixed real number such that η ≤ n^{−ξ}. Note that we will always pick η so that this is possible; for instance in the n^{11/6+o(1)} result η will be chosen to be n^{−1/3+γ}. Then set m = 4/ξ = O(1). For this value of m, the expected number of partial m-clusters is at most (2m)^{m}n^{−mξ+2} = O(n^{−2}).

Since assertion (1) insists that we pick t ≪ n, it follows that with probability 1 − O(n), there are no clusters with more than m = O(1) triangles in any of the t bursts. Therefore, we can safely ignore all large clusters.

The next lemma deals with the probability that a constant number of edges all survive a single burst. It says that their survival is almost independent, regardless of their configuration.

Lemma 2 For any constant-sized set F of edges of G, the probability that all of the edges of F survive to G′ is

1 − \frac{η}{D} ∑_{f∈F} deg(f) + O(η^{2}).

Note The constant concealed by the O-notation is independent of ε, η, and D, and therefore also of s, but does depend on |F |. In point of fact, the constant is at most 3|F | + 4|F |^{2}, but the exact value is irrelevant.

T ’s cluster  Pr[cluster | T is selected]  Pr[T is accepted | cluster]

[figure: T]  (1 − \frac{η}{D} )^{3D−3} = 1 − 3η + \frac{9}{2}η^{2} − O(η^{3})  1

[figure: T]  3D \frac{η}{D} (1 − \frac{η}{D} )^{5D−6} = 3η − 15η^{2} + O(η^{3})  \frac{1}{2}

[figure: T]  3\binom{D}{2} (\frac{η}{D} )^{2} (1 − \frac{η}{D} )^{7D−9} = \frac{3}{2}η^{2} + O(η^{3})  \frac{1}{3}

[figure: T]  6D^{2} (\frac{η}{D} )^{2} (1 − \frac{η}{D} )^{7D−9} = 6η^{2} + O(η^{3})  \frac{2}{3}

[figure: T]  3D^{2} (\frac{η}{D} )^{2} (1 − \frac{η}{D} )^{7D−9} = 3η^{2} + O(η^{3})  \frac{1}{3}

[figure: T] O(D) (\frac{η}{D} )^{2} (1 − \frac{η}{D} )^{6D−9} = O(η^{2}/D) = O(η^{3})  \frac{1}{3}

cluster with ; c triangles

O(η^{c−1}) \frac{1}{c} ≤ • ≤ 1

Table 1: Small clusters in a graph with deg(e) = D for every edge e Proof First compute the probability for one edge e:

Pr[e ∉ E′] = ∑_{T ∋e} Pr[T is accepted],

where the sum is over all triangles T containing e. Equality follows from the fact that the events “T is accepted” are disjoint.

Fixing T, T is accepted only if it is first selected with probability \frac{η}{D}. Given that it is selected, it will be accepted depending on what type of cluster it is in:

Pr[T is accepted | T is selected] = ∑_{cluster type C} Pr[T is accepted | cluster type C]

× Pr[cluster type C | T is selected].

The small clusters and the relevent probabilities are given in Table 1. In the table we assume that each edge is contained in exactly D triangles; in the present situation each edge is contained in (1 ± ε)D triangles, so we must introduce additional (1 ± ε) factors. Keep in mind, however, that the probability of selection remains exactly η/D. The first few terms of the sum, corresponding to clusters with 3 or fewer triangles, are

[1 − 3(1 ± ε)η + \frac{9}{2}(1 ± ε)^{2}η^{2} − O(η^{3})] + \frac{1}{2}[3(1 ± ε)η − 15(1 ± ε)^{2}η^{2} + O(η^{3})]
+\frac{1}{3}[\frac{3}{2}(1 ± ε)^{2}η^{2} + O(η^{3})] + \frac{2}{3}[6(1 ± ε)^{2}η^{2} + O(η^{3})]
+\frac{1}{3}[3(1 ± ε)^{2}η^{2} + O(η^{3})] + \frac{1}{3}[O(η^{3})]
= 1 − \frac{3}{2}(1 ± ε)η + \frac{5}{2}(1 ± ε)^{2}η^{2} − O(η^{3}).

Each cluster type with more than 3 triangles contributes O(η^{3}) to the sum and, since Lemma 1 says that we only have to consider the constantly-many cluster types having at most m triangles, all these cluster types together contribute only O(η^{3}) to the sum. Therefore,

Pr[T is accepted | T is selected] = 1 − \frac{3}{2}(1 ± ε)η + \frac{5}{2}(1 ± ε)^{2}η^{2} − O(η^{3}).

Actually, at this point we only need to know that this probability is 1 − O(η), but we will return to this computation when improving the result. It then follows that

Pr[e ∈ E′] = 1 − ∑_{T ∋e} Pr[T is accepted] = 1 − \frac{η}{D} (1 − O(η)) deg(e) = 1 − \frac{η}{D} deg(e) + O(η^{2}). (2)

Now consider the general case, when F = {e_{1}, e_{2}, …, e_{f}}. We use the Bonferroni inequalities to approximate the complementary probability:

∑_{i=1}^{f} Pr[e_{i} ∉ E′] − ∑_{i=1}^{f} ∑_{j=1}^{f} Pr[e_{i}, e_{j} ∉ E′] ≤ Pr [⋃_{i=1}^{f}(e_{i} ∉ E′)] ≤ ∑_{i=1}^{f} Pr[e_{i} ∉ E′].

Looking at the terms of double sum, we see that

Pr[e_{i}, e_{j} ∉ E′] = ∑_{T_{i}∋e_{i}} ∑_{T_{j}∋e_{j}} (\frac{η}{D} )^{2} Pr[T_{i} and T_{j} are accepted | T_{i} and T_{j} are selected] ≤ (1 + ε)^{2}η^{2},

since there are at most (1 + ε)D choices for each of T_{i} and T_{j} and the probability is trivially at most 1. Thus, the double sum is

∑_{i=1}^{f} ∑_{j=1}^{f} Pr[e_{i}, e_{j} ∉ E′] ≤ (1 + ε)^{2}f^{2}η^{2} = O(η^{2})

and we can conclude that

Pr [⋃_{i=1}^{f}(e_{i} ∉ E′)] = ∑_{i=1}^{f} Pr[e_{i} ∉ E′] − O(η^{2}).

To finish up the proof of the lemma, note that

Pr [⋂_{i=1}^{f}(e_{i} ∈ E′)] = 1−Pr [⋃_{i=1}^{f}(e_{i} ∉ E′)] = 1− ∑_{f∈F} Pr[f ∉ E′]+O(η^{2}) = 1− \frac{η}{D} ∑_{f∈F} deg(f)+O(η^{2}).

Equation (2) also gives us the approxiamte value of H. H was defined as the survival probability of an edge in an ideal graph, where every edge has degree exactly D. Equation (2) proves that

H = Pr[e ∈ E′] = 1 − η + O(η^{2}).

For a fixed edge e, we would like to tightly bound the new degree of e. Using Lemma 2, in each case with |F | = 2, we see that

Ex[deg′(e) | e ∈ E′] = ∑_{T ∋e} Pr[T survives | e ∈ E′]

= ∑_{T =\{e,e_{1},e_{2}\}}(1 − \frac{η}{D} (deg(e_{1}) + deg(e_{2})) + O(η^{2}))

= (1 − (1 ± ε)2η + O(η^{2})) deg(e)

= (1 ± 2ηε + O(η^{2}))(1 − 2η + O(η^{2}))(1 ± ε)D = (1 ± (ε + 2ηε + 2ηε^{2} + O(η^{2})))D′.

Since we assumed further that there was a constant γ > ε, we have shown that

Ex[deg′(e) | e ∈ E′] = (1 ± (ε + (1 + γ)2ηε + O(η^{2})))D′.  (3)

We defer the computation of the deviation to the next section. There we will prove the following. Again, the exact constant hidden by the O-notation is independent of s.

Lemma 3 If ηD = Ω(1) then, with probability at least 1 − 3n^{−10}, deg′(e) deviates from its expectation by no more than O (\sqrt{ηD} log n).

Equation (3) and Lemma 3 imply that ε′ is at most the solution to the recurrence

ε′ = (1 + (1 + γ)2η)ε + O(η^{2}) + O (\sqrt{η/D} log n) .  (4)

We aim to solve this recurrence relation, but first we consider the number of surviving edges and the related error factor δ_{s}. Our goal here is to prove that δ_{s} ≤ ε_{s} (δ′ ≤ ε′), but we may have to adjust the constants hidden by the O-notation to make this valid in all cases. We may and do assume inductively that δ ≤ ε.

First the expectation computation for |E(G′)|: again using Lemma 2, this time with |F | = 1, we see that

Ex[|E(G′)|] = ∑_{e∈E(G)} Pr[e survives]

= ∑_{e∈E(G)}(1 − \frac{η}{D} deg(e) + O(η^{2}))

= (1 − (1 ± ε)η + O(η^{2}))|E(G)|

= (1 ± ηε + O(η^{2}))(1 − η + O(η^{2}))(1 ± δ)E = (1 ± (δ + ηε + ηεδ + O(η^{2})))E′.

Since we assumed further that there was a constant γ > δ, we have shown that

Ex[|E(G′)|] = (1 ± (δ + (1 + γ)ηε + O(η^{2})))E′.  (5)

Again we defer the computation of the deviation to the next section.

Lemma 4 If ηE = Ω(1) then, with probability at least 1 − 3n^{−10}, |E(G′)| deviates from its expectation by no more than O (\sqrt{ηE} log n).

Equation (5), Lemma 4, and our inductive assumption that δ ≤ ε imply that δ′ is at most

δ′ = δ + (1 + γ)ηε + O(η^{2}) + O (\sqrt{η/E} log n)
≤ ε + (1 + γ)2ηε + O(η^{2}) + O (\sqrt{η/D} log n) .

We would like to say that this last expression is at most the ε′ of (4), but this might not be true due to the constants hidden in the O-notation. But this is no problem: simply redefine ε′ using whichever constants are greater, those given here or those in (4). With this new ε′, we may safely conclude that δ′ ≤ ε′.

Returning to a broader perspective, (4) (possibly with modified hidden constants) says that ε_{s} is less than the solution to the recurrence

ε_{s} = ε_{s−1}H^{−(1+γ)2} + O(η^{2}) + O (\sqrt{\frac{η}{n}}H^{−(1+γ)s} log n) ,  (6)

where, as previously noted, H = 1 − η + O(η^{2}).

Recurrences, such as this one, of the form

x_{s} = A^{2}x_{s−1} + B + CA^{s}

have the solution

x_{s} = B \frac{A^{2s} − 1}{A^{2} − 1} + CA^{s} \frac{A^{s} − 1}{A − 1}.

For us, this means that

ε_{s} = O (η^{2} \frac{H^{−(1+γ)2s}}{(1 + γ)2η} ) + O (\sqrt{\frac{η}{n}}H^{−(1+γ)s} \frac{H^{−(1+γ)s}}{(1 + γ)η} log n)

= O (ηH^{−(1+γ)2s}) + O (\frac{log n}{\sqrt{ηn}}H^{−(1+γ)2s}) .

We were very careful to point out that the hidden constants are independent of s in order to insure that B and C are also. This guarantees that this computation is valid.

We would like to take as many steps as possible, always ensuring that ε_{s} ≤ γ. Since {ε_{s}} forms an increasing sequence, it is only necessary that

ε_{t} = O (ηH^{−(1+γ)2t}) + O (\frac{log n}{\sqrt{ηn}}H^{−(1+γ)2t}) ≤ γ.  (7)

This gives us enough information to set η and t intelligently. In order that both terms of (7) be roughly equal, set

η = n^{−1/3+γ}.

Condition (7) is then implied by

H^{−t} ≤ n^{1/6−γ}

for sufficiently large n. This inequality is easily satisfied with equality by setting

t = \frac{(1/6 − γ) log n}{log(1/H)} = Θ (\frac{log n}{η}) ≪ n^{1/3}.

This verifies the first part of assertion (1). The second part is valid since

ηD_{t} = ηH^{2t}n = n^{1/3+3γ} ≫ 1.

the electronic journal of combinatorics 4 (1997), #R11 12 Turning finally to the number of edges remaining at this step t, we see that

|E_{t}| = O (H^{t}n^{2}) = O (n^{11/6+γ}) .

We can force the number of remaining edges as close to n^{11/6} as we like by fixing γ > 0 sufficiently small. In other words, modulo Lemmas 3 and 4, we’ve proven

Theorem 5 For any fixed γ > 0, the random greedy triangle packing algorithm almost always leaves fewer than O (n^{11/6+γ}) uncovered pairs.

4 Deviations

To bound the deviations of the random variables discussed in the previous section, we’ll need the powerful large deviation inequality discussed in full detail in [8]. Here we only give the essential definitions and relevant considerations.

Assume we have a probability space generated by independent random variables X_{i} (choices), where choice X_{i} is from the finite set A_{i}, and a function (random variable) Y = f(X_{1}, …, X_{n}) on that probability space. We are interested in proving a sharp concentration result on Y —that is, to bound Pr[|Y − Ex[Y]| > a], for any a, as well as we can.

Consider the following query game, the aim of which is to determine the value of Y. We can make queries of the form “what is the value of X_{i}?” in any order we want. The questioning can be adaptive, meaning that we can chose the next X_{i} to be queried as a function of the knowledge gained so far. A querying strategy for Y is an algorithm for determining which queries should be made in which order. We can describe a strategy as a decision tree whose internal nodes designate queries to be made. If a given node represents the query “what is the value of X_{i}?” then it has as many children as there are possible values for X_{i}. You might think of the down edges as being labelled with the values a ∈ A_{i}. In this fashion, every path from the root to a node going through vertices corresponding to X_{i_{1}}, …, X_{i_{k}} defines an assignment a_{1}, …, a_{k} for these random variables. We can then think of the j^{th} node as storing the value Ex[Y | X_{i_{1}} = a_{1}, …, X_{i_{j−1}} = a_{j−1}]. In particular, the leaves of the tree store each of the possible values of Y.

The idea behind this query-based large deviation inequality is to bound the deviation of Y by carefully bounding the contribution to the deviation made by each X_{i}. A strategy efficiently expresses which X_{i} are relevant and more importantly allows us to estimate the contribution at the time that the query is made. For instance, the result of previous queries may imply that the next query will have a more limited effect than would have been initially anticipated. Formally, define the variance of a query q concerning choice i to be

v_{q} = ∑_{a∈A_{i}} Pr[X_{i} = a] μ_{q,a}^{2},

the electronic journal of combinatorics 4 (1997), #R11 13 where

μ_{q,a} = Ex[Y | X_{i} = a and previous queries] − Ex[Y | previous queries].

In words, μ_{q,a} measures the amount which our expectation changes when the answer to query q is revealed to be a.

Also define the maximum effect of query q as

c_{q} = max_{a,b∈A_{i}}|μ_{q,a} − μ_{q,b}|.

A way to think about c_{q} is the following. If we consider the children of node q, c_{q} is the maximum difference between any two values Ex[Y | previous queries] stored at the children. In the sequel, we will always compute an upper bound on c_{q} by taking the maximum amount which Y can change if choice i is changed, but all other choices remain the same. That is, we consider the subtree rooted at q and consider the maximum difference between any two values stored in the leaves of this subtree.

When computing v_{q}, we use two elementary but non-trivial upper bounds. For queries with two possible outcomes Yes and No (or two types of equivalent outcomes),

v_{q} ≤ Pr[Yes] Pr[No] c_{q}^{2}.

In general,

v_{q} ≤ c_{q}^{2}/4.

Turing back to the whole strategy, the variance of a strategy is the maximum cumulative variance of any sequence of queries which determines Y. In other words, we sum the variances down every path leading from the root to the leaves of the decision tree and take the maximum sum. By the way, the use of the term variance is meant to be suggestive: the variance of a strategy for determining Y is an upper bound on the variance of Y.

There is only one more twist to the story: sometimes it can happen that very unlikely situations occur which force certain queries to have very large variances driving up the variance of the entire strategy. We call such rare but ruinous sets of values for the X_{i} exceptional outcomes. The Theorem is able to give tight bounds on the deviation of Y despite the presence of exceptional outcomes, as long as their probability is not too great.

Theorem 6 Let m and M be, respectively, the minimum and maximum values taken by Y over all possible outcomes. Let C be a set of exceptional outcomes. Consider a strategy for determining Y, assuming that the actual outcome is not in C. If the variance of this strategy is at most V then

Pr [|Y − Ex[Y]| > 2\sqrt{φV} + (M − m) Pr[C]] ≤ 2e^{−φ} + Pr[C],

for every 0 ≤ φ ≤ V/ max c_{q}^{2}. the electronic journal of combinatorics 4 (1997), #R11 14

Now we can return to the matter at hand, proving Lemmas 3 and 4. To prove Lemma 3, start by fixing an edge e and assuming that it survives. That just means that none of its incident triangles is accepted. But some of them may not survive as triangles in G′, since some of their edges may be covered by accepted triangles.

The relevant probability space is formed from the independent triangle selections and independent, uniformly random orderings for each cluster. At first glance, the fact that the orderings depend on which triangles were selected, and hence which clusters exist to be ordered, seems to preclude the use of Theorem 6. But instead of picking an ordering for each cluster, we simply pick an ordering of all triangles uniformly at random. It is easy to see that a random ordering of all triangles, when restricted to the triangles of a single cluster, is a uniform random ordering and that the orderings of necessarily disjoint clusters are independent.

Each of the 2 deg(e) edges in triangles incident to e can only disappear if it is covered by a cluster, so we should first fully explore all clusters covering these edges. Note trivially that each edge is covered by at most one cluster.

To explore the cluster at one edge takes at most (2m + 1)(1 + ε)D = O(D) queries, where m = O(1) is the maximum size of a cluster (Lemma 1). This gives a total of at most O(D^{2}) queries. These are Yes/No queries, with Pr[Yes] = η/D. Importantly, the effect of a query is at most the number of edges covered by the cluster. This is certainly less than 2m + 1 = O(1). Altogether, these queries contribute at most O(D^{2})\frac{η}{D} O(1)^{2} = O(ηD) to the total variance.

Next we have to query the ordering. This is equivalent to querying the independent orderings for each cluster, now that we know what they are. Each cluster ordering can affect only the edges covered by that cluster, so the effect of each query is O(1).

The only question is, how many ordering queries do we have to make? Well, clearly the answer is the number of clusters covering edges in triangles incident with e. This could conceivably be as much as O(D), which would lead to a weaker deviation result than we would like, so we use the “exceptional outcomes” feature of Theorem 6.

Edge f is covered by a cluster with probability 1 − (1 − η/D)^{deg(f)} = O(η), so the expected number of relevant edges covered by clusters is O(ηD). Furthermore, if we ignore the triangles incident with e, the events “f is covered by a cluster”, for the relevant f’s, are independent, so the Chernoff bounds imply that the number of such edges covered by clusters is not much more than its expectation. In particular, this number is with probability at least 1 − n^{−10} no more than O(ηD log n). And of course, the number of clusters is no more than the number of edges covered by clusters. If we then consider the triangles incident with e, we note that these triangles can increase the number of clusters by at most 1 and may, in fact, reduce it by joining previously isolated clusters.

Thus, we say that an outcome is exceptional if it results in more than O(ηD log n) clusters the electronic journal of combinatorics 4 (1997), #R11 15 covering edges in triangles incident with e. So now we know that in non-exceptional circumstances we need never make more than O(ηD log n) cluster ordering queries. This gives as total variance for this strategy

V = O(ηD) + O(ηD log n) · O(1)^{2}/4 = O(ηD log n).

We want the probability of deviation to be on the order of n^{−10}, so we put φ = 10 log n and get a deviation of O (\sqrt{ηD} log n), as claimed in Lemma 3. Note that the side condition of Theorem 6, that 0 ≤ φ ≤ V/ max c_{q}^{2}, only requires that ηD = Ω(1).

Finally we prove Lemma 4. Here we’re concerned with the number of surviving edges in the entire graph, so we have to first query all O(ED) triangles. As before, these are Yes/No queries with Pr[Yes] = η/D and maximum effect 2m + 1 = O(1). These queries therefore contribute O(ED)\frac{η}{D} O(1)^{2} = O(ηE) to the total variance.

Querying the ordering is equivalent to querying the independent orderings of all clusters in the graph. With very small probability this is quite large, but an argument like the one given above shows that with probability at least 1 − n^{−10} there are no more than O(ηE log n) clusters. Each cluster ordering affects only the O(1) edges in that cluster, so in non-exceptional circumstances the cluster ordering queries contribute O(ηE log n) · O(1)^{2}/4 = O(ηE log n) to the total variance.

The strategy therefore has total variance V = O(ηE log n). Setting φ = 10 log n to get a deviation probability of 3n^{−10}, the large deviation inequality gives a deviation of order O (\sqrt{ηE} log n), as claimed in Lemma 4. The side condition requires that ηE = Ω(1).

5 Improvements

Now we would like to sharpen the proof of Theorem 5 as much as possible to get a better bound. Basically this amounts to doing all the computations as accurately as possible. We won’t actually do the computations, but rather show how one would do them and look at their consequences.

The first thing to do would be to improve Lemma 2 by detailing the O(η^{2}) term. That is done by using an extended version of Table 1 to work out a more accurate expression for Pr[T is accepted | T is selected]. As we’ve already shown in the proof of Lemma 2, the first three terms are, for instance,

Pr[T is accepted | T is selected] = 1 − \frac{3}{2}(1 ± ε)η + \frac{5}{2}(1 ± ε)^{2}η^{2} − O(η^{3}).

We can continue this to any desired accuracy O(η^{b}) as long as we know how many potential clusters of each type there are. It is for this reason that Lemma 2 is set up to handle any constant number of triangles (we know that we never need to consider clusters with more than a constant number of triangles by Lemma 1).

Continuing, it follows that we can work out Pr[e ∈ E′] to any accuracy O(η^{b}). For instance,

Pr[e ∈ E′] = 1 − ∑_{T ∋e} Pr[T is accepted]
= 1 − η deg(e)/D + \frac{3}{2}(1 ± ε)η^{2} deg(e)/D − \frac{5}{2}(1 ± ε)^{2}η^{3} deg(e)/D + O(η^{4}).

In the ideal case where all edges have degree exactly D, this probability is

H := Pr[e ∈ E′] = 1 − η + \frac{3}{2}η^{2} − \frac{5}{2}η^{3} + O(η^{4}),

so for a real edge e we can conclude that for any b ≥ 1,

Pr[e ∈ E′] = H ± εη(1 + 4η) + O(η^{b})

For any three distinct edges e_{1}, e_{2}, and e one can show that

Pr[e_{1}, e_{2} ∈ E′ | e ∈ E′] = (H ± εη(1 + 4η))^{2} + O(η^{b})
= H^{2} ± 2εη(1 + 5η) + O(η^{b}).

Thus,

Ex[deg′(e) | e ∈ E′] = ∑_{T ∋e} Pr[T survives | e ∈ E′] = ∑_{T ={e,e_{1},e_{2}}} Pr[e_{1}, e_{2} ∈ E′ | e ∈ E′]
= (1 ± ε) (H^{2} ± 2εη(1 + 5η) + O(η^{b})) D
= (1 ± ε) (1 ± 2εη(1 + 5η) + O(η^{b})) H^{2}D
= (1 ± ε + 2ε(1 + ε)η(1 + 5η) + O(η^{b})) D′.

This and Lemma 3 give

ε′ = (1 + (1 + ε)2η(1 + 5η))ε + O(η^{b}) + O (\sqrt{η/D} log n)
≤ εH^{−(1+γ)2} + O(η^{b}) + O (\sqrt{η/D} log n) .

This says that ε_{s} is less than the solution to the recurrence

ε_{s} = ε_{s−1}H^{−(1+γ)2} + O(η^{b}) + O (\sqrt{\frac{η}{n}}H^{−(1+γ)s} log n) .

This is identical to recurrence equation (6) except that O(η^{2}) is replaced by O(η^{b}). Again, the constants hidden by the O-notation are independent of s, so we may solve this new recurrence relation and get

ε_{s} = O (η^{b−1}H^{−(1+γ)2s}) + O (\frac{log n}{\sqrt{ηn}}H^{−(1+γ)2s}) .

All we have to do is set η and t so that

ε_{t} = O (η^{b−1}H^{−(1+γ)2t}) + O (\frac{log n}{\sqrt{ηn}}H^{−(1+γ)2t}) ≤ γ.  (8)

This is accomplished first by setting

η = n^{−(1−γ)/(2b−1)}.

Condition (8) is then implied by

H^{−t} ≤ n^{(1/4)(1−2γ)(1−1/b)},

for sufficiently large n. This is satisfied with equality by setting

t = \frac{(1/4)(1 − 2γ)(1 − 1/b) log n}{log(1/H)} = Θ (\frac{log n}{η}) ≪ n^{1/(2b−1)} ≤ n^{1/3}.

This verifies the first part of assertion (1). The second part is again valid since

ηD_{t} = ηH^{2t}n = n^{1−(1−γ)/(2b−1)−(1/2)(1−2γ)(1−1/b)} ≫ n^{1/6} ≫ 1.

Finally, the number of edges remaining after the t^{th} burst is

|E_{t}| = O (H^{t}n^{2}) = O (n^{2−(1/4)(1−2γ)(1−1/b)}) .

We can force the exponent to be as close to 7/4 as we like by setting γ sufficiently small and b sufficiently large. Therefore, we’ve proven the following theorem.

Theorem 7 For any ξ > 0, the random greedy triangle packing algorithm almost always leaves fewer than O (n^{7/4+ξ}) uncovered pairs.

6 Packings in Hypergraphs

Actually, everything done in this paper can be done in the more general setting of packings in simple, k-uniform, D-regular hypergraphs on N points. A hypergraph is simple, k-uniform, and D-regular if no two edges share two points, if all edges contain exactly k points, and if every point is contained in D edges. A packing is a collection of disjoint edges.

The random greedy hypergraph packing algorithm picks edges one at a time, uniformly at random to build up a maximal packing. How many points are not covered by any edge in the resulting packing? The results of Spencer [13] and Rödl and Thoma [12] apply to this setting and state that almost always the number of uncovered points is o(N). The corresponding conjecture the electronic journal of combinatorics 4 (1997), #R11 18 is that the number of uncovered points is almost always ND^{−1/(k−1)+o(1)}. The techniques of this paper can be used to show that the number of uncovered points is almost always ND^{−1/2(k−1)+o(1)}.

To see how triangle packing is a special case of hypergraph packing, we construct a hypergraph whose packings correspond to partial triple systems. The N = \binom{n}{2} points of the hypergraph are the pairs of points in the triple system and the \binom{n}{3} hyperedges correspond to all of the possible triples. A packing is then a collection of triples no two of which share a pair—that is, a partial triple system. We note that a similar construction gives a hypergraph whose packings correspond to partial designs with larger parameters.

Now it is clear why we called the number of triangles containing a given edge that edge’s degree: in the hypergraph the edge is a point and the triangles which contain it are its incident hyperedges. Also, in this setting the clusters are simply the connected components of the hypergraph induced by the selected hyperedges.

Acknowledgements

Special thanks are due to Joel Spencer for suggesting the problem and to him and the anonymous referee for useful comments on an earlier version of the paper.

References

[1] N. Alon, H.J. Kim, J. Spencer, Nearly perfect matchings in regular simple hypergraphs, Israel Journal of Mathematics, to appear.

[2] K.T. Balińska and I. Wieczorek, Random triangle deletion process, Technical University Poznań, 1989.

[3] T. Beth, D. Jungnickel, and H. Lenz, Design Theory, Cambridge University Press, Cambridge, 1986.

[4] P. Erdős and H. Hanani, On a limit theorem in combinatorial analysis, Publ. Math. Debrecen 10 (1963), 10–13.

[5] P. Frankl and V. Rödl, Near perfect coverings in graphs and hypergraphs, European Journal of Combinatorics 6 (1985), 317–326.

[6] D. Gordon, G. Kuperberg, O. Patashnik, and J. Spencer, Asymptotically optimal covering designs, Journal of Combinatorial Theory, Series A, to appear.

[7] D.A. Grable, More-than-nearly-perfect packings and partial designs, preprint, 1994.

[8] D.A. Grable, A large deviation inequality for functions of independent, multi-way choices, Combinatorics, Probability, and Computing, to appear.

[9] J. Kahn, Asymptotically good list-colorings, Journal of Combinatorial Theory, Series A 73 (1996), 1–59.

[10] N. Pippenger and J. Spencer, Asymptotic behavior of the chromatic index for hypergraphs, Journal of Combinatorial Theory, Series A 51 (1989), 24–42.

[11] V. Rödl, On a packing and covering problem, European Journal of Combinatorics 5 (1985), 69–78.

[12] V. Rödl and L. Thoma, Asymptotic packing and the random greedy algorithm, Random Structures and Algorithms 8 (1996), 161–177.

[13] J. Spencer, Asymptotic packing via a branching process, Random Structures and Algorithms 7 (1995), 167–172.