Introduction
Edge coloring is a classical and fundamental topic in graph theory and algorithms. We study the weighted edge coloring problem, where we are given an edge-weighted graph G : = ( V , E ) G := (V, E) G := ( V , E ) , possibly with parallel edges but without loops, and a weight function w : E → ( 0 , 1 ] w : E \to(0, 1] w : E → ( 0 , 1 ] . A coloring is a proper weighted coloring if, at every vertex, the sum of the weights of incident edges of each color is at most one. The objective is to minimize the number of colors, denoted by χ w ′ ( G ) \chi'_{w}(G) χ w ′ ( G ) .
This problem is a generalization of classical edge coloring in unweighted graphs (when all edge weights are one) and bin packing (when the graph is a star). Apart from its structural importance, the problem also finds many applications in switching networks, scheduling, frequency assignment, and graph decomposition. A principal application is multirate routing in three-stage Clos networks [6 , 28 , 7 ] . Here, vertices represent input and output switches, edges represent unsplittable connection requests, and colors represent middle-stage switches. Minimizing the number of colors reduces the interconnection resources needed to support simultaneous requests in communication and parallel-computing systems. We refer to Correa and Goemans [5 ] for a detailed account of this connection.
In (unweighted) edge coloring, a color class forms a matching. Three classical theorems describe much of the landscape. Kőnig’s theorem gives χ ′ ( G ) = Δ ( G ) \chi'(G) = \Delta(G) χ ′ ( G ) = Δ ( G ) for bipartite multigraphs [25 ] ; Vizing’s theorem gives χ ′ ( G ) ≤ Δ ( G ) + 1 \chi'(G) \le\Delta(G) + 1 χ ′ ( G ) ≤ Δ ( G ) + 1 for simple graphs [36 ] ; and Shannon’s theorem gives χ ′ ( G ) ≤ ⌊ 3 Δ ( G ) / 2 ⌋ \chi'(G) \le\lfloor3\Delta(G)/2 \rfloor χ ′ ( G ) ≤ ⌊ 3Δ ( G ) /2 ⌋ for arbitrary multigraphs [34 ] . Here Δ ( G ) \Delta(G) Δ ( G ) is the maximum vertex degree.
In the weighted setting, two natural local lower bounds are Δ w ( G ) : = max v ∈ V ∑ e ∋ v w e \Delta_w(G) := \max_{v \in V} \sum_{e \ni v} w_e Δ w ( G ) := max v ∈ V ∑ e ∋ v w e , and bp ( G ) : = max v ∈ V bp v ( G ) \operatorname{bp}(G) := \max_{v \in V} \operatorname{bp}_v(G) bp ( G ) := max v ∈ V bp v ( G ) , where bp v ( G ) \operatorname{bp}_v(G) bp v ( G ) is the minimum number of unit-capacity bins needed to pack the weights of the edges incident with v v v . Every proper weighted coloring induces a feasible bin packing at each vertex, so ⌈ Δ w ( G ) ⌉ ≤ bp ( G ) ≤ χ w ′ ( G ) \lceil\Delta_w(G) \rceil\le\operatorname{bp}(G) \le\chi'_{w}(G) ⌈ Δ w ( G )⌉ ≤ bp ( G ) ≤ χ w ′ ( G ) . We call the ratio χ w ′ ( G ) / bp ( G ) \chi'_{w}(G)/\operatorname{bp}(G) χ w ′ ( G ) / bp ( G ) , when bp ( G ) > 0 \operatorname{bp}(G) > 0 bp ( G ) > 0 , the global-to-local packing gap : it measures the additional cost of reconciling locally feasible packings into a single coloring. Even on a star, the distinction between volume and local packability matters. A star with k k k edges of weight 1 / 2 + ε 1/2 + \varepsilon 1/2 + ε has χ w ′ ( G ) = bp ( G ) = k \chi'_{w}(G) = \operatorname{bp}(G) = k χ w ′ ( G ) = bp ( G ) = k and Δ w ( G ) = k ( 1 / 2 + ε ) \Delta_w(G) = k(1/2 + \varepsilon) Δ w ( G ) = k ( 1/2 + ε ) . In particular, χ w ′ ( G ) > 2 Δ w ( G ) − 1 \chi'_{w}(G) > 2\Delta_w(G) - 1 χ w ′ ( G ) > 2 Δ w ( G ) − 1 whenever 0 < ε < 1 / ( 2 k ) 0 < \varepsilon< 1/(2k) 0 < ε < 1/ ( 2 k ) .
In 1991, Chung and Ross [7 ] conjectured that every bipartite multigraph admits a proper weighted coloring using 2 bp ( G ) − 1 2\operatorname{bp}(G) - 1 2 bp ( G ) − 1 colors.1 Feige and Singh [15 ] also proposed a related conjecture that a proper weighted coloring exists using at most 2 N − 1 2N - 1 2 N − 1 colors, where N N N is the smallest integer strictly greater than Δ w ( G ) \Delta_w(G) Δ w ( G ) , namely N = ⌈ Δ w ( G ) ⌉ + 1 N = \lceil\Delta_w(G) \rceil+ 1 N = ⌈ Δ w ( G )⌉ + 1 . These conjectures ask how efficiently locally feasible packings can be reconciled into a globally consistent coloring. The conjectures have motivated a sequence of works in approximation algorithms.
Du, Gao, Hwang, and Kim [8 ] obtained the bound χ w ′ ( G ) ≤ 41 16 bp ( G ) + O ( 1 ) \chi'_{w}(G) \le\frac{41}{16}\operatorname{bp}(G) + O(1) χ w ′ ( G ) ≤ 16 41 bp ( G ) + O ( 1 ) for bipartite multigraphs. Correa and Goemans [5 ] improved this to 2.5480 bp ( G ) + o ( bp ( G ) ) 2.5480\operatorname{bp}(G) + o(\operatorname{bp}(G)) 2.5480 bp ( G ) + o ( bp ( G )) and separately established 2.557 Δ w ( G ) + o ( Δ w ( G ) ) 2.557\Delta_w(G) + o(\Delta_w(G)) 2.557 Δ w ( G ) + o ( Δ w ( G )) . Feige and Singh [15 ] subsequently gave a combinatorial algorithm using ⌈ 9 4 Δ w ( G ) ⌉ \lceil\frac{9}{4}\Delta_w(G) \rceil ⌈ 4 9 Δ w ( G )⌉ colors. Khan and Singh [24 ] gave a guarantee of ⌈ 2.2223 bp ( G ) ⌉ \lceil2.2223\operatorname{bp}(G) \rceil ⌈ 2.2223 bp ( G )⌉ colors. Ngo and Vu [30 ] constructed bipartite instances exhibiting a 5 / 4 5/4 5/4 gap between χ w ′ ( G ) \chi'_{w}(G) χ w ′ ( G ) and bp ( G ) \operatorname{bp}(G) bp ( G ) .
For arbitrary multigraphs, Feige and Singh [15 ] extended their algorithm to use at most ⌈ 9 4 Δ w ( G ) ⌉ + μ ( G ) \lceil\frac{9}{4}\Delta_w(G) \rceil+ \mu(G) ⌈ 4 9 Δ w ( G )⌉ + μ ( G ) colors, where μ ( G ) \mu(G) μ ( G ) is the maximum edge multiplicity. Odd cycles and multiplicities create genuine obstructions. The triangle example recorded by Feige and Singh [15 Section 1.2] has t t t parallel edges on each side, all of weight 1 / 2 + ε 1/2 + \varepsilon 1/2 + ε . It has χ w ′ ( G ) = 3 t \chi'_{w}(G) = 3t χ w ′ ( G ) = 3 t , bp ( G ) = 2 t \operatorname{bp}(G) = 2t bp ( G ) = 2 t , and Δ w ( G ) = t ( 1 + 2 ε ) \Delta_w(G) = t(1 + 2\varepsilon) Δ w ( G ) = t ( 1 + 2 ε ) : its global-to-local packing gap is 3 / 2 3/2 3/2 , while its ratio to weighted degree approaches three. Improved bounds are also known for certain special graph classes; see Huc [21 ] and Sannyasi [32 ] .
Despite this progress, even for simple bipartite graphs, it remained unknown whether the local bin-packing bound approximates the global optimum asymptotically, or whether the factor two in terms of maximum weighted degree is sufficient asymptotically. More broadly, weighted analogues of Vizing’s and Shannon’s theorems remained elusive.
Our contributions
We establish weighted analogues of Vizing’s, Kőnig’s, and Shannon’s theorems, resolve the Chung–Ross conjecture asymptotically, and disprove the exact weighted-degree conjecture of Feige and Singh. Our main results are summarized below.
Theorem 1.1. The following bounds hold uniformly over the indicated graph classes.
Table 2.
The coefficient one for simple graphs and the total-weight coefficients two and three are optimal. 2
In the following, we explain the results in more detail.
Simple graphs: an asymptotic weighted analogue of Vizing’s theorem. Our main result shows that χ w ( G ) ≤ bp ( G ) + o ( bp ( G ) ) \chi_w(G) \le\operatorname{bp}(G) + o(\operatorname{bp}(G)) χ w ( G ) ≤ bp ( G ) + o ( bp ( G )) for every simple graph, whether or not it is bipartite. This (asymptotically) extends the coefficient-one phenomenon of Vizing’s theorem to weighted graphs.
The local packing problems here are considerably richer than in the unweighted setting. When every edge has weight one, a local bin can contain only one edge. With arbitrary weights, an optimal local packing may rely on intricate combinations of different item sizes. Moreover, these packings cannot be chosen independently: an edge belongs to the packing problems at both of its endpoints and must receive the same color at both. Surprisingly , our result shows that these local packings can nevertheless be made globally consistent with an asymptotically vanishing relative loss.
The main technical contribution is a local-to-global rounding framework. Our rounding theorem coordinates the local choices while retaining almost all incident weight at every vertex. To coordinate local packing distributions, we use partial resampling [20 , 29 ] and hypergraph matching [10 ] . The proof has four main steps. First, each local bin is represented by a short description consisting of a bounded number of slots for large edges and reserved space for small edges. Second, fractional assignments link compatible slots at the two endpoints of each edge. Third, we choose one description for each vertex and color, controlling the resulting local capacities. Finally, hypergraph matching selects whole large edges, and a separate rounding procedure assigns the small edges. A small fresh palette colors the remaining edges. A key feature is that the loss at every vertex is o ( bp ( G ) ) o(\operatorname{bp}(G)) o ( bp ( G )) , independently of the number of vertices. See § 3 for details.
Tight weighted degree bounds and the Chung–Ross conjecture. For bipartite multigraphs we obtain an asymptotically tight guarantee: χ w ′ ( G ) ≤ ( 2 + o ( 1 ) ) Δ w ( G ) \chi_w'(G) \le(2 + o(1))\Delta_w(G) χ w ′ ( G ) ≤ ( 2 + o ( 1 )) Δ w ( G ) . In particular, since Δ w ( G ) ≤ bp ( G ) \Delta_w(G) \le\operatorname{bp}(G) Δ w ( G ) ≤ bp ( G ) , this establishes the Chung–Ross conjecture asymptotically.
The proof groups parallel edges into feasible bundles, leaving a simple graph of light remainders. Kőnig’s theorem properly colors the heavier bundles with approximately 2 Δ w ( G ) 2\Delta_w(G) 2 Δ w ( G ) colors. The challenge is that a remaining edge can use only a color missing at both endpoints, and the two sets of missing colors may initially have little overlap. Kempe-style exchanges along two-color paths coordinate these missing sets in a weighted average sense, after which the simple-graph local-to-global rounding theorem completes the coloring. Thus the bipartite bound is also a substantial application of our main rounding framework. See § 4 for details.
For arbitrary loopless multigraphs we obtain the tight bound χ w ′ ( G ) ≤ 3 ⌈ Δ w ( G ) ⌉ \chi_w'(G) \le3\lceil\Delta_w(G)\rceil χ w ′ ( G ) ≤ 3 ⌈ Δ w ( G )⌉ . This proof is considerably simpler and independent of the rounding machinery. We present a self-contained argument for this guarantee as a gentle starting point in § 2 .
Improved bounds from the contents of bins. Exploiting local bin packing, we obtain further improvements on upper bounds on χ w ′ ( G ) \chi_w'(G) χ w ′ ( G ) : ( 1.62 + o ( 1 ) ) bp ( G ) (1.62 + o(1))\operatorname{bp}(G) ( 1.62 + o ( 1 )) bp ( G ) for bipartite multigraphs, and ( 1.999 + o ( 1 ) ) bp ( G ) (1.999 + o(1))\operatorname{bp}(G) ( 1.999 + o ( 1 )) bp ( G ) for arbitrary loopless multigraphs.
The bipartite bound builds on our rounding framework. We first use harmonic rounding, ubiquitous in bin packing [26 ] , to achieve a guarantee of the classical harmonic constant h ∞ ≈ 1.691 h_\infty\approx1.691 h ∞ ≈ 1.691 . The further improvement to 1.62 uses three selections of edges from compatible weight ranges: a heavy edge and a small edge, or two small edges, can share one color. Coloring these selections separately reduces the harmonic charge of the remainder.
For general multigraphs, packet coloring must additionally respect odd-set constraints . Degree bounds from the previous results already handle sufficiently large odd sets, so the difficult cases reduce to dense triangles and five-vertex sets. We show that the relevant obstructions can be selected disjointly and contracted. After coloring the remaining edges, we restore their internal edges without conflicting with external colors. For multigraphs, we also employ fractional edge-coloring methods [11 , 35 ] . Finally, this gives a coefficient strictly below two even without bipartiteness; the details are explained in § 6 .
Lower bounds and exact conjectures. We give a simple bipartite counterexample (see § 5.1 ) to the exact weighted-degree conjecture of Feige and Singh [15 ] : it has Δ w ( G ) = 39 / 20 < 2 \Delta_w(G) = 39/20 < 2 Δ w ( G ) = 39/20 < 2 but χ w ′ ( G ) = 4 \chi_w'(G) = 4 χ w ′ ( G ) = 4 , whereas the conjecture predicts three colors.
Parallel edges make the simple-graph theorem genuinely special. We construct bipartite multigraphs G N G_N G N with bp ( G N ) = 3 N \operatorname{bp}(G_N) = 3N bp ( G N ) = 3 N , χ w ′ ( G N ) = 4 N \chi_w'(G_N) = 4N χ w ′ ( G N ) = 4 N , although the underlying simple graph is a tree of maximum degree three (see § 5.2 ). This improves the earlier 5 / 4 5/4 5/4 lower bound of [30 ] to 4 / 3 4/3 4/3 . Our bounds also show that the ratio of the optimal uniform asymptotic coefficients for general and bipartite multigraphs, relative to bp ( G ) \operatorname{bp}(G) bp ( G ) , is strictly less than 3 / 2 3/2 3/2 : 1.999 4 / 3 < 3 2 \frac{1.999}{4/3} < \frac{3}{2} 4/3 1.999 < 2 3 .
Algorithms and verification. All five upper bounds in Theorem 1.1 have polynomial-time algorithms. Their descriptions and running-time analyses appear in the appendices. Companion Lean 4 formalizations cover the five existence statements in the table, not the running-time analyses.
Related results.
Our algorithms draw on classical bin-packing ideas, including linear grouping [FdIVL81], configuration-LP and rounding [22 , 19 ] . They also use techniques from online bin packing related to Harmonic grouping [26 , 31 , 33 ] . For recent developments on online bin packing, see [BBD⁺18, BBD⁺21, HKS24, ADKS25, DJKS26]. The online variant of weighted edge coloring, where edges must be colored irrevocably upon arrival, has also been studied [5 , 12 ] .
A Weighted Analogue of Shannon's Theorem
We begin with an elementary argument showing that every loopless weighted multigraph admits a coloring with χ w ′ ( G ) ≤ 3 ⌈ Δ w ( G ) ⌉ \chi'_w(G) \le3\lceil\Delta_w(G)\rceil χ w ′ ( G ) ≤ 3 ⌈ Δ w ( G )⌉ . Unlike our subsequent results, this argument requires no probabilistic rounding. Here, the idea is to properly color a carefully selected subgraph and then insert all remaining edges into the same palette. It is similar in spirit to the previous approaches of Feige and Singh [15 ] . See Section B for omitted details in this section.
Select and color a bounded-degree skeleton. Put n = ⌈ Δ w ( G ) ⌉ n = \lceil\Delta_w(G)\rceil n = ⌈ Δ w ( G )⌉ and inspect the edges in nonincreasing order of weight. Starting with F = ∅ F = \varnothing F = ∅ , keep an edge if adding it leaves the degree of F F F at most 2 n 2n 2 n at both endpoints. Thus Δ ( F ) ≤ 2 n \Delta(F) \le2n Δ ( F ) ≤ 2 n , and Shannon’s theorem properly colors F F F with at most 3 n 3n 3 n colors. Pad the palette with unused colors to obtain exactly 3 n 3n 3 n colors. A constructive proof of the required form of Shannon’s theorem appears in Lemma B.1.
Consider a rejected edge e = u v e = uv e = uv of weight a a a . When e e e was inspected, one endpoint, say u u u , already had 2 n 2n 2 n selected edges. Each was inspected before e e e and therefore has weight at least a a a . We call these edges the witnesses of e e e . The witnesses serve two purposes. First, a < 1 / 2 a < 1/2 a < 1/2 : otherwise the 2 n 2n 2 n witnesses together with e e e would have weight at least ( 2 n + 1 ) / 2 > n (2n + 1)/2 > n ( 2 n + 1 ) /2 > n at u u u , contradicting Δ w ( G ) ≤ n \Delta_w(G) \le n Δ w ( G ) ≤ n . Second, because the coloring of F F F is proper, the witnesses receive 2 n 2n 2 n distinct colors. We never recolor F F F , so each of these colors continues to carry load at least a a a at u u u , regardless of which other edges are inserted. The following elementary lemma explains why the witnesses suffice.
Lemma 2.1. Let n ≥ 1 n \ge1 n ≥ 1 be an integer and 0 < a < 1 / 2 0 < a < 1/2 0 < a < 1/2 . Suppose the loads x c , y c ≥ 0 x_c, y_c \ge0 x c , y c ≥ 0 of 3 n 3n 3 n colors at two vertices satisfy ∑ c x c ≤ n \sum_c x_c \le n ∑ c x c ≤ n , and ∑ c y c ≤ n \sum_c y_c \le n ∑ c y c ≤ n . If at least 2 n 2n 2 n colors satisfy x c ≥ a x_c \ge a x c ≥ a , then some color c c c satisfies x c + a ≤ 1 x_c + a \le1 x c + a ≤ 1 and y c + a ≤ 1 y_c + a \le1 y c + a ≤ 1 .
Proof sketch. Suppose, to the contrary, that no color has room at both endpoints. Then every color has load greater than 1 − a 1-a 1 − a at one endpoint. Let S = { c : y c > 1 − a } S = \{c : y_c > 1-a\} S = { c : y c > 1 − a } , and s = ∣ S ∣ s = |S| s = ∣ S ∣ . Since ∑ c y c ≤ n \sum_c y_c \le n ∑ c y c ≤ n , we have s < n / ( 1 − a ) s < n/(1-a) s < n / ( 1 − a ) ; for every c ∉ S c \notin S c ∈ / S , we must have x c > 1 − a x_c > 1-a x c > 1 − a .
If s ≤ n s \le n s ≤ n , at least 2 n 2n 2 n colors lie outside S S S , giving ∑ c x c > ( 3 n − s ) ( 1 − a ) ≥ 2 n ( 1 − a ) > n \sum_c x_c > (3n-s)(1-a) \ge2n(1-a) > n ∑ c x c > ( 3 n − s ) ( 1 − a ) ≥ 2 n ( 1 − a ) > n , a contradiction. Otherwise s > n s > n s > n . At most n n n colors have x c < a x_c < a x c < a , so at least s − n s-n s − n colors in S S S have x c ≥ a x_c \ge a x c ≥ a . Consequently, ∑ c x c > ( 3 n − s ) ( 1 − a ) + ( s − n ) a > n + n ( 1 − 2 a ) 2 1 − a > n \sum_c x_c > (3n-s)(1-a) + (s-n)a > n + \frac{n(1-2a)^2}{1-a} > n ∑ c x c > ( 3 n − s ) ( 1 − a ) + ( s − n ) a > n + 1 − a n ( 1 − 2 a ) 2 > n , where the second inequality uses s < n / ( 1 − a ) s < n/(1-a) s < n / ( 1 − a ) and a < 1 / 2 a < 1/2 a < 1/2 . This is again a contradiction. The full counting argument is given in Section B.2.
Insert the remaining edges. Process these edges in any order. Consider e = u v e = uv e = uv of weight a a a , with witness endpoint u u u , and let x c , y c x_c, y_c x c , y c be the current color loads at u , v u,v u , v . As only edges of G G G have been colored, ∑ c x c , ∑ c y c ≤ Δ w ( G ) ≤ n \sum_c x_c, \sum_c y_c \le\Delta_w(G) \le n ∑ c x c , ∑ c y c ≤ Δ w ( G ) ≤ n . Moreover, the 2 n 2n 2 n distinct witness colors still have load at least a a a at u u u . The lemma thus provides a color with room for e e e at both endpoints; assign that color to e e e . The witnesses remain intact throughout the process, so the same argument applies to every rejected edge. Thus all edges receive one of the original 3 n 3n 3 n colors, proving χ w ′ ( G ) ≤ 3 ⌈ Δ w ( G ) ⌉ \chi'_w(G) \le3\lceil\Delta_w(G)\rceil χ w ′ ( G ) ≤ 3 ⌈ Δ w ( G )⌉ . The algorithm is deterministic and polynomial-time: sort the edges, construct and properly color F F F , and scan the palette when inserting each remaining edge. See Section B.3 for the details.
The coefficient three is best possible. Use the triangle construction recorded by Feige and Singh [15 Section 1.2] : take t t t parallel edges on each side, each of weight ( t + 1 ) / ( 2 t ) > 1 / 2 (t+1)/(2t) > 1/2 ( t + 1 ) / ( 2 t ) > 1/2 . Any two edges meet and cannot share a color. Hence, χ w ′ ( G ) = 3 t \chi'_w(G) = 3t χ w ′ ( G ) = 3 t , Δ w ( G ) = t + 1 \Delta_w(G) = t+1 Δ w ( G ) = t + 1 , and bp ( G ) = 2 t \operatorname{bp}(G) = 2t bp ( G ) = 2 t . Therefore χ w ′ ( G ) / Δ w ( G ) → 3 \chi'_w(G)/\Delta_w(G) \to3 χ w ′ ( G ) / Δ w ( G ) → 3 as t → ∞ t \to\infty t → ∞ . The same construction gives the lower bound 3 / 2 3/2 3/2 relative to local bin packing; see Section B.4 for details and Figure 4 in the appendix for an illustration.
Figure 4. The obstruction for general multigraphs. Each set of three drawn curves represents t t t parallel edges. The required number of colors approaches three times the maximum total weight, while it is exactly 3 / 2 3/2 3/2 times the local bin-packing bound.
Simple Graphs: Local Packings Almost Suffice
We show that the local bin-packing bound is asymptotically sufficient for every simple graph, even if the graph is not bipartite: χ w ′ ( G ) ≤ bp ( G ) + o ( bp ( G ) ) \chi_w^{\prime}(G) \le\operatorname{bp}(G) + o(\operatorname{bp}(G)) χ w ′ ( G ) ≤ bp ( G ) + o ( bp ( G )) . Since bp ( G ) ≤ χ w ′ ( G ) \operatorname{bp}(G) \le\chi_w^{\prime}(G) bp ( G ) ≤ χ w ′ ( G ) , this gives an asymptotically optimal approximation to the minimum number of colors.
The main difficulty is easy to state. At each vertex, the incident edges can be packed into n : = bp ( G ) n := \operatorname{bp}(G) n := bp ( G ) bins. However, these are separate local packings: an edge u v uv uv may belong to one bin at u u u and a different bin at v v v . A valid coloring must assign a single color to each edge, feasible at both endpoints. Our goal is to reconcile these local packings while using only o ( n ) o(n) o ( n ) additional colors.
The key observation is that we need not preserve the original bins. An edge can be assigned to any color with sufficient capacity at both endpoints. Moreover, we may leave a small amount of incident weight uncolored and handle those edges using fresh colors at the end. Our approach therefore separates the problem into four steps: describe local packings compactly, couple the possible placements of each edge at its two endpoints, choose local profiles with spare capacity, and finally select whole edges without violating any capacity. We will show that each step incurs only a small loss. For the omitted details, see Section C.
Local-to-global rounding. Imagine that, for each color, every vertex proposes a random subset of incident edges that fits into one bin. Such proposals are feasible locally, but the two endpoints of an edge may disagree about whether that edge should receive the color. Our main rounding theorem resolves this disagreement: provided that no edge places too much probability on any single color, it produces a globally consistent partial coloring that preserves almost all of the proposed incident weight at every vertex. To formalize local feasibility, let W G ( v ) : = ∑ e ∋ v w e W_G(v) := \sum_{e \ni v} w_e W G ( v ) := ∑ e ∋ v w e and define
K v : = conv { 1 S : S ⊆ E ( v ) , ∑ e ∈ S w e ≤ 1 } . K_v := \operatorname{conv}\left\{\mathbf{1}_S : S \subseteq E(v),\ \sum_{e \in S} w_e \le1\right\}. K v := conv { 1 S : S ⊆ E ( v ) , e ∈ S ∑ w e ≤ 1 } .
Thus, K v K_v K v is the convex hull of the incidence vectors of all feasible bins at v v v . Equivalently, membership in K v K_v K v has a configuration-LP interpretation. Let F v \mathcal{F}_v F v be the family of feasible subsets of E ( v ) E(v) E ( v ) . A vector x x x belongs to K v K_v K v if and only if there are nonnegative values λ S \lambda_S λ S , for S ∈ F v S \in\mathcal{F}_v S ∈ F v , such that ∑ S ∈ F v λ S = 1 \sum_{S \in\mathcal{F}_v} \lambda_S = 1 ∑ S ∈ F v λ S = 1 , and x e = ∑ S ∈ F v , e ∈ S λ S x_e = \sum_{S \in\mathcal{F}_v,e \in S} \lambda_S x e = ∑ S ∈ F v , e ∈ S λ S , where e ∈ E ( v ) e \in E(v) e ∈ E ( v ) . In other words, λ \lambda λ is a probability distribution over feasible integral bins, and x e x_e x e is the probability that the sampled bin contains edge e e e . This is stronger than merely requiring the expected load ∑ e ∋ v w e x e \sum_{e \ni v} w_e x_e ∑ e ∋ v w e x e to be at most one.
Independent choices need not agree across endpoints. Fix at each vertex v v v a packing B v , 1 , … , B v , n B_{v,1}, \ldots, B_{v,n} B v , 1 , … , B v , n into n n n bins, padding with empty bins if necessary. Choosing one of these bins uniformly at random includes each incident edge with probability 1 / n 1/n 1/ n . This suggests proposing x e , c = 1 / n x_{e,c} = 1/n x e , c = 1/ n for every e ∈ E e \in E e ∈ E and c ∈ [ n ] c \in[n] c ∈ [ n ] . Every edge then has total proposed probability ∑ c x e , c = 1 \sum_c x_{e,c} = 1 ∑ c x e , c = 1 , and every local vector ( x e , c : e ∋ v ) (x_{e,c} : e \ni v) ( x e , c : e ∋ v ) belongs to K v K_v K v , since it is the average of n n n feasible bins.
But suppose that, for each color c c c , the two endpoints of an edge e = u v e = uv e = uv independently choose their local bins. Each endpoint includes e e e with probability 1 / n 1/n 1/ n , so both include it with probability only 1 / n 2 1/n^2 1/ n 2 . Even across all n n n colors, the expected number of colors on which they agree to include e e e is just 1 / n 1/n 1/ n . Thus, independent local choices lose almost all coloring opportunities.
The essential challenge is therefore to coordinate the choices at the two endpoints before assigning actual colors. Our rounding theorem accomplishes this while leaving only an arbitrarily small multiple of n n n in uncolored weight at every vertex. This per-vertex guarantee is crucial, since a bound on the total uncolored weight would not prevent the remaining edges from concentrating at a single vertex.
Theorem 3.1 (Local-to-global rounding). Fix constants C 0 , C 1 , ε > 0 C_0,C_1,\varepsilon> 0 C 0 , C 1 , ε > 0 . Let G G G be a simple graph, and let n n n be a parameter such that W G ( v ) ≤ n W_G(v) \le n W G ( v ) ≤ n for every vertex. Let C \mathcal{C} C contain at most C 1 n C_1n C 1 n colors. Suppose that, for every edge e e e , color c c c , and vertex v v v , the following conditions hold:
0 ≤ x e , c ≤ C 0 n , ∑ c ∈ C x e , c ≤ 1 , ( x e , c : e ∋ v ) ∈ K v ( c ∈ C ) . 0 \le x_{e,c} \le\frac{C_0}{n}, \qquad\sum_{c\in\mathcal{C}} x_{e,c} \le1, \qquad(x_{e,c}:e\ni v)\in K_v \quad(c\in\mathcal{C}). 0 ≤ x e , c ≤ n C 0 , c ∈ C ∑ x e , c ≤ 1 , ( x e , c : e ∋ v ) ∈ K v ( c ∈ C ) . Then, for all sufficiently large n n n , there is a feasible partial coloring using only pairs ( e , c ) (e,c) ( e , c ) with x e , c > 0 x_{e,c}>0 x e , c > 0 , whose colored incident weight at every vertex v v v is at least ∑ e ∋ v w e ∑ c ∈ C x e , c − ε n − O C 0 , C 1 , ε ( n 3 / 4 ) \sum_{e\ni v}w_e\sum_{c\in\mathcal{C}}x_{e,c}-\varepsilon n-O_{C_0,C_1,\varepsilon}(n^{3/4}) ∑ e ∋ v w e ∑ c ∈ C x e , c − ε n − O C 0 , C 1 , ε ( n 3/4 ) . Both the threshold and the hidden constant are independent of the number of vertices and the minimum positive edge weight.
Informally, the theorem converts locally feasible fractional proposals into globally consistent coloring. Each edge may be proposed for several colors, but its total proposal is at most one, and its probability for any individual color is O ( 1 / n ) O(1/n) O ( 1/ n ) . The theorem preserves almost all of the proposed incident weight at every vertex, losing at most ε n + O ( n 3 / 4 ) \varepsilon n+O(n^{3/4}) ε n + O ( n 3/4 ) . Crucially, it also respects the support of the proposals: an edge can receive only a color for which x e , c > 0 x_{e,c}>0 x e , c > 0 . This flexibility will later allow us to apply the theorem to the multigraph setting, where some colors are already occupied and hence unavailable to certain edges. The full proof is given in Section C.2.
Why the theorem implies the weighted Vizing bound. Let n = bp ( G ) n=\operatorname{bp}(G) n = bp ( G ) , pad each local packing to n n n bins, and use n n n colors. As above, set x e , c = 1 / n x_{e,c}=1/n x e , c = 1/ n for every edge and color. Each local vector is an average of feasible bins and therefore belongs to K v K_v K v , while ∑ c x e , c = 1 \sum_c x_{e,c}=1 ∑ c x e , c = 1 .
Applying Theorem 3.1 with C 0 = C 1 = 1 C_0=C_1=1 C 0 = C 1 = 1 leaves at most ε n + O ε ( n 3 / 4 ) \varepsilon n+O_\varepsilon(n^{3/4}) ε n + O ε ( n 3/4 ) incident weight uncolored at any vertex. The greedy cleanup lemma (Lemma A.1 ) colors these remaining edges using at most four times this quantity plus one fresh color. Hence, χ w ′ ( G ) ≤ n + 4 ε n + O ε ( n 3 / 4 ) \chi_w'(G)\le n+4\varepsilon n+O_\varepsilon(n^{3/4}) χ w ′ ( G ) ≤ n + 4 ε n + O ε ( n 3/4 ) . Letting n n n grow and then ε \varepsilon ε tend to zero proves χ w ′ ( G ) ≤ ( 1 + o ( 1 ) ) bp ( G ) \chi_w'(G)\le(1+o(1))\operatorname{bp}(G) χ w ′ ( G ) ≤ ( 1 + o ( 1 )) bp ( G ) . This proves the simple graph bound in Theorem 1.1 . See Section C.3 for the details.
Proof overview of Theorem 3.1. The proof has four stages. First, we replace each local feasible-bin distribution by a bounded menu of packing profiles , while preserving almost all inclusion probabilities (§ 3.1 ). Second, we couple the fractional placement options at the two endpoints of each edge, preserving their common marginal probability without the 1 / n 1/n 1/ n loss caused by independent choices (§ 3.2 ). Third, we choose one profile for every vertex–color pair, ensuring spare capacity in every selected profile and controlling the total weighted assignment error at every vertex (§ 3.3 ). Finally, we turn the fractional assignments into whole-edge decisions: hypergraph matching selects nonconflicting placements for large edges, while a simple linear-algebraic rounding handles small edges (§ 3.4 ). Together, these stages lose at most ε n + O C 0 , C 1 , ε ( n 3 / 4 ) \varepsilon n+O_{C_0,C_1,\varepsilon}(n^{3/4}) ε n + O C 0 , C 1 , ε ( n 3/4 ) proposed incident weight at every vertex. The complete proof is given in Section C.2, which proves Theorem 3.1. We now give a high-level overview below.
Bounded types of bins by grouping
To coordinate local packings, we first replace each bin by a short description of the space it offers , rather than of the particular edges it contains. Fix a small constant β > 0 \beta>0 β > 0 . Call an edge large if its weight is at least β \beta β , and small otherwise. A bin contains at most 1 / β 1/\beta 1/ β large edges. We describe its large-edge capacity by slots of sizes b 1 , … , b k b_1,\ldots,b_k b 1 , … , b k and put aside space R R R for all small edges, with b 1 + ⋯ + b k + R ≤ 1 b_1+\cdots+b_k+R\le1 b 1 + ⋯ + b k + R ≤ 1 . A slot can receive any one large edge whose weight is at most the slot size.
The space R R R can receive several small edges whose combined weight is at most R R R . We call this description a profile .
Even with a constant number of large slots per bin, their sizes could take arbitrarily many values. If we allow all of them, later local choices could be too complicated. We therefore replace the possible profiles by a bounded number. This idea is similar in spirit to other grouping techniques widely used in bin packing, such as linear grouping [14 ] and harmonic grouping [26 ] .
Simply rounding slot sizes up would be dangerous, since the resulting profile might no longer fit in a unit bin. Instead, we round sizes down , keeping only a bounded collection of representative sizes. This can lose some chances to place a large edge. The remedy is to reserve a small extra probability for a profile consisting of one full-size slot; it compensates for the lost slot capacity at every size threshold. We similarly round down the space reserved for small edges and assign a small probability to a profile with a unit-capacity reserve for small edges. By first sacrificing a small fraction of the proposed probabilities, the repairs can be paid for within total probability one.
The compression need not reproduce each original bin. It suffices to preserve fractional placement opportunities for every edge: large slots are limited by item counts, whereas small-edge reserves are limited by total weight. Competing fractional requests will be resolved after the two endpoints have been coordinated. A profile captures capacity , not the identities of edges assigned to it. Thus an edge may use any compatible slot, even if that slot originally represented another edge. The next lemma formalizes the crucial compression step: a bounded collection of valid profiles can preserve a ( 1 − δ ) (1-\delta) ( 1 − δ ) fraction of each edge’s inclusion probability, while respecting both slot counts and reserved small-edge weight. The bounded number of profiles is essential later: once every profile has probability bounded below, conditioning on a selected profile does not amplify a single edge’s O ( 1 / n ) O(1/n) O ( 1/ n ) proposal uncontrollably.
Lemma 3.2 (Bounded-profile compression; informal version of Lemma C.1). Fix δ ∈ ( 0 , 1 ) \delta\in(0,1) δ ∈ ( 0 , 1 ) and 0 < β ≤ δ / 4 0 < \beta\le\delta/4 0 < β ≤ δ /4 . For every x ∈ K v x \in K_v x ∈ K v , there exist a probability distribution ( λ P ) P (\lambda_P)_P ( λ P ) P over at most M = M ( β , δ ) M=M(\beta,\delta) M = M ( β , δ ) valid profiles , and nonnegative assignments a ( e ; P , i ) a(e;P,i) a ( e ; P , i ) to compatible slots (for large edges) or reserved spaces (for small edges), satisfying the following properties:
Almost all marginals are preserved: for every edge e ∈ E ( v ) e \in E(v) e ∈ E ( v ) , ∑ P , i a ( e ; P , i ) = ( 1 − δ ) x e \sum_{P,i} a(e;P,i)=(1-\delta)x_e ∑ P , i a ( e ; P , i ) = ( 1 − δ ) x e .
Every profile respects its capacities: for each profile P P P , every large-edge slot i i i receives total assigned fraction at most λ P \lambda_P λ P , and its reserved small-edge space receives total assigned weight at most λ P R ( P ) \lambda_P R(P) λ P R ( P ) .
The number of profiles M M M depends only on β \beta β and δ \delta δ , independently of the degree of v v v and the minimum positive edge weight.
Proof sketch. Round slot sizes and small-edge spaces downward to a bounded grid. The lost large-slot capacity at any size threshold is compensated by adding a small probability of a profile with one unit slot; a unit-reserve profile compensates the lost small-edge capacity. Scale the original inclusion probabilities by 1 − δ 1-\delta 1 − δ to pay for both repairs. Assign larger edges first to available compatible slots, and assign small edges proportionally to reserved capacities. The threshold-count inequalities prove the stated capacities; see Section C.1 and Lemma C.1 for the precise construction.
Coupling: coordinating the two endpoints without losing probability
We now coordinate the possible placements of an edge at its two endpoints. Recall that each profile contains slots for large edges and reserved space for small edges. We use the term place to refer to either type of capacity in a particular profile. Fix an edge e = u w e=uw e = u w and a color c c c . After the compression step, suppose that e e e has retained inclusion probability y y y at both endpoints. At u u u , this probability is distributed among its possible places, with fractions a 1 , a 2 , … a_1,a_2,\ldots a 1 , a 2 , … satisfying ∑ i a i = y \sum_i a_i=y ∑ i a i = y . Similarly, at v v v , the fractions b 1 , b 2 , … b_1,b_2,\ldots b 1 , b 2 , … satisfy ∑ j b j = y \sum_j b_j=y ∑ j b j = y .
The challenge is to combine these two local assignments into joint placement options : each option must specify a place at u u u and a place at v v v for the same edge and color . Simply multiplying the fractions would give total mass y 2 y^2 y 2 , losing a factor of y y y .
Instead, for y > 0 y>0 y > 0 , assign mass a i b j y \frac{a_i b_j}{y} y a i b j to the option pairing place i i i at u u u with place j j j at v v v . The normalization by y y y preserves both endpoints’ original assignments. Indeed, for every place i i i at u u u , ∑ j a i b j y = a i \sum_j \frac{a_i b_j}{y}=a_i ∑ j y a i b j = a i , and symmetrically, the total mass assigned to each place j j j at v v v is b j b_j b j . Consequently, the total mass of all paired options is exactly y y y , rather than y 2 y^2 y 2 . If y = 0 y=0 y = 0 , no pairing is needed.
Thus, we obtain joint fractional placement options without losing any additional inclusion probability. Crucially, these fractions represent possible assignments, not pieces of physical edges: no edge has yet been colored. The next step is to select actual profiles and turn these fractional options into feasible assignments of whole edges.
Figure 1. Pairing the fractions of one edge and one color, with y = 1 / 2 y=1/2 y = 1/2 . Each link has mass a i b j / y a_i b_j/y a i b j / y . The link masses at every place sum to its original fraction; the total mass remains 1 / 2 1/2 1/2 .
Choosing the local profiles consistently
The coupling above makes the two endpoint assignments agree on average . It does not yet ensure that a particular selection of local profiles has enough capacity. We must choose one profile at each vertex for each color; these choices affect the possible assignments of all incident edges.
Imagine first choosing these profiles independently. If a paired option uses profiles chosen with probabilities λ u \lambda_u λ u and λ v \lambda_v λ v , give it conditional request equal to its paired mass divided by λ u λ v \lambda_u\lambda_v λ u λ v . Averaging over the profile choices cancels the denominators and recovers the intended mass. This is why the coupling remains useful after choosing profiles. But there are two ways an actual choice can fail. Overcrowding : many edges request the same selected slot, exceeding its capacity. Lost opportunities : an edge has too little total request across all colors, leaving too much incident weight for the final cleanup. We must prevent both failures simultaneously, at every vertex.
We first give every profile (of the bounded number of types) a small positive probability. Thus no chosen profile is extremely rare, and an individual edge’s request in one color remains O ( 1 / n ) O(1/n) O ( 1/ n ) . We also reduce the requests slightly to leave spare capacity. This space is needed later, when fractional options are converted into integral assignments.
The two invariants we need. After choosing one profile at each vertex and color, let S e S_e S e be the total fractional mass of the resulting options for edge e e e , and let μ e \mu_e μ e be its intended mass before the profiles were fixed (after the deliberate small losses). We seek two guarantees, simultaneously:
Capacity slack : every selected large-edge slot and every small-edge reserve receives at most ( 1 − σ ′ ) (1-\sigma') ( 1 − σ ′ ) times its capacity, for some constant σ ′ > 0 \sigma'>0 σ ′ > 0 depending only on the accuracy.
Small weighted discrepancy: for every vertex v v v ,
∑ e ∋ v w e ∣ S e − μ e ∣ = O ε ( n 3 / 4 ) . (1) \sum_{e\ni v} w_e\lvert S_e-\mu_e\rvert= O_{\varepsilon}(n^{3/4}). \tag*{(1)} e ∋ v ∑ w e ∣ S e − μ e ∣ = O ε ( n 3/4 ) . (1)
The first guarantee makes subsequent integral rounding feasible. The second says that the total weight of lost assignment opportunities is small even when a vertex has arbitrarily many tiny incident edges. It is deliberately weaker than requiring S e ≈ μ e S_e\approx\mu_e S e ≈ μ e for every edge.
Fixing one group at a time. A profile list at a vertex specifies its chosen profile for every color. We choose these complete lists in groups, keeping all earlier choices fixed. Partition the vertices into a fixed number r = O ε ( 1 ) r=O_{\varepsilon}(1) r = O ε ( 1 ) of groups so that edges within one group have total weight at most n / r + O ( n log n ) n/r+O(\sqrt{n\log n}) n / r + O ( n log n ) at each vertex. Choose r r r large enough and set these edges aside for cleanup. There are now no edges within a group. Consequently, for a vertex in the current group, its incident assignment mass depends on its own list and on lists in other groups, but not on the other choices made at the same stage. This is what allows us to consider candidate lists separately at each vertex.
Measuring the error still to come. We need to control the assignment error while fixing the profile lists one group at a time. After the first k k k groups have been chosen, let F k \mathcal{F}_k F k denote their fixed lists. For the remaining groups, imagine that their lists are still chosen independently from their original distributions. We use this randomness only to measure the remaining error; the algorithm will choose these lists more carefully. Define Q v ( k ) : = ∑ e ∋ v w e E [ ( S e − μ e ) 2 ∣ F k ] Q_v^{(k)}:=\sum_{e\ni v}w_e\sqrt{\mathbb{E}\left[(S_e-\mu_e)^2\mid\mathcal{F}_k\right]} Q v ( k ) := ∑ e ∋ v w e E [ ( S e − μ e ) 2 ∣ F k ] . For each edge, the square-root term bounds its expected error by Cauchy–Schwarz. It measures both the error caused by the lists already fixed and the uncertainty from the lists not yet chosen. Once all lists are fixed, the expectation disappears, and Q v ( r ) = ∑ e ∋ v w e ∣ S e − μ e ∣ Q_v^{(r)}=\sum_{e\ni v}w_e\lvert S_e-\mu_e\rvert Q v ( r ) = ∑ e ∋ v w e ∣ S e − μ e ∣ – the discrepancy we want to bound.
This measure is useful for two reasons. First, we can compute it from the first and second moments of the contributions from different colors. Second, if we choose the next group according to its original distribution, the expected value of Q v ( k ) Q_v^{(k)} Q v ( k ) cannot increase. This follows from the tower property of conditional expectation and the concavity of the square root. Thus, we can fix the groups successively while controlling this measure.
Initially, each S e S_e S e is a sum of O ( n ) O(n) O ( n ) independent contributions, each of size O ( 1 / n ) O(1/n) O ( 1/ n ) . Hence Var ( S e ) = O ( 1 / n ) \operatorname{Var}(S_e)=O(1/n) Var ( S e ) = O ( 1/ n ) . Since W G ( v ) ≤ n W_G(v)\le n W G ( v ) ≤ n , we obtain Q v ( 0 ) = O ( n ) Q_v^{(0)}=O(\sqrt{n}) Q v ( 0 ) = O ( n ) . The following argument shows how to keep this error sublinear while making all profile choices feasible.
Rejecting unsuitable lists and controlling their neighbors. When choosing the profiles of the current group, we must satisfy two requirements. Each vertex must retain enough assignment opportunities for its own incident edges. At the same time, the choices made by the group must not overload capacities or create too much error at neighboring vertices.
We handle the first requirement by rejecting unsuitable profile lists. For a vertex u u u in the current group, we accept a candidate list only if its resulting potential Q u Q_u Q u is at most n 3 / 4 n^{3/4} n 3/4 . Because no two vertices in the current group are adjacent, this test depends only on the candidate at u u u , the previously fixed lists, and the distributions of the lists still to be chosen. In particular, it does not depend on the choices of other vertices in the current group. Our induction maintains Q u = O ε ( n log n ) Q_u=O_{\varepsilon}(\sqrt{n\log n}) Q u = O ε ( n log n ) before u u u is chosen. By Markov’s inequality, a random candidate is therefore rejected with probability at most O ε ( n − 1 / 4 log n ) = o ( 1 ) O_{\varepsilon}(n^{-1/4}\sqrt{\log n})=o(1) O ε ( n − 1/4 log n ) = o ( 1 ) . Thus, we can repeatedly sample until the test succeeds, while discarding only a negligible fraction. Since the acceptance tests are separate for different vertices in the current group, their accepted lists remain independent.
We next choose these accepted lists so that they also satisfy the requirements at neighboring vertices. For this, we use Harris–Srinivasan partial resampling [20 ] (stated as Proposition A.4). The procedure resamples selected vertex lists whenever a constraint is violated. It simultaneously controls the load assigned to every slot or reserve and the increase in the error potential at vertices outside the current group. Importantly, these guarantees do not require a union bound over all vertices. We impose the load constraints for every possible profile at a receiving vertex. They therefore remain valid even if that vertex’s profile has not yet been chosen.
Here the assumption that G G G is simple is crucial. Changing the list at u u u affects any fixed neighbor v v v through at most one edge, while the total weight of edges incident to u u u is at most n n n . Together with the bounded number of profile types, these properties limit how much one choice can affect the constraints. This is what makes partial resampling applicable with error bounds depending only on n n n and the accuracy, rather than the size of the graph.
Keeping both guarantees through the last group. The key is that neither rejection sampling nor partial resampling introduces much additional error. Rejecting a probability p = o ( 1 ) p = o(1) p = o ( 1 ) increases the expectation of any nonnegative quantity by at most a factor 1 / ( 1 − p ) = 1 + o ( 1 ) 1/(1-p) = 1 + o(1) 1/ ( 1 − p ) = 1 + o ( 1 ) . Partial resampling adds only O ε ( n log n ) O_\varepsilon(\sqrt{n\log n}) O ε ( n log n ) to the error bound at each stage. Before a vertex’s list is chosen, we need the smaller error bound so that rejection is rare. After its list is chosen, it suffices to preserve the larger O ε ( n 3 / 4 ) O_\varepsilon(n^{3/4}) O ε ( n 3/4 ) bound needed for cleanup. Since the number of groups is fixed, these bounds maintain Q v = O ε ( n log n ) Q_v = O_\varepsilon(\sqrt{n\log n}) Q v = O ε ( n log n ) until the list at v v v is chosen. Its acceptance test then ensures Q v ≤ n 3 / 4 Q_v \le n^{3/4} Q v ≤ n 3/4 . Although later choices may change the assignments of edges, the resampling constraints continue to control its error. Consequently, its final discrepancy is O ε ( n 3 / 4 ) O_\varepsilon(n^{3/4}) O ε ( n 3/4 ) .
The capacity constraints are preserved for a similar reason. The load error introduced at each stage is o ( 1 ) o(1) o ( 1 ) after scaling back to the original units. Every positive slot or reserve has capacity bounded below by a fixed constant. Therefore, the total error over the constant number of stages can be absorbed by the spare capacity introduced earlier.
Thus, after all profiles have been chosen, every selected slot and reserve retains positive capacity slack, and every vertex v v v satisfies ∑ e ∋ v w e ∣ S e − μ e ∣ = Q v ( r ) = O ε ( n 3 / 4 ) \sum_{e\ni v} w_e|S_e-\mu_e| = Q_v^{(r)} = O_\varepsilon(n^{3/4}) ∑ e ∋ v w e ∣ S e − μ e ∣ = Q v ( r ) = O ε ( n 3/4 ) . The full induction is given in Section C.2, while the computation of the required moments is explained in Section C.4.
Turning the coordinated assignments into a coloring
After the profile choices, each edge has fractional options that name the same color at both endpoints and compatible places in the chosen profiles. If an edge has total proposed mass greater than one, we scale its options down to total mass one; the preceding error estimate pays for this reduction. We must now choose whole options without assigning two competing edges to the same place.
The two types of places impose different constraints. A large-edge slot can contain at most one edge , so selecting large-edge options requires a matching. A small-edge reserve instead constrains only the sum of weights , and therefore permits a simpler load-preserving rounding. Both methods choose an entire outcome for each edge.
Large edges: choose nonoverlapping options. A large-edge option consists of three objects: the edge e = u v e=uv e = uv itself, one slot for color c c c at u u u , and one slot for the same color at v v v . Selecting pairwise disjoint triples ensures that each edge receives at most one color and each slot is used at most once. Thus, the selected options give a feasible coloring. Some edges have total fractional assignment mass less than one. We therefore allow another outcome: leaving the edge uncolored. We represent this by extra slots at its endpoints. These are only bookkeeping devices, not additional colors or usable packing space. We create extra slots in each weight range in proportion to the missing assignment mass, with a small rounding allowance. This controls the total weight left uncolored at each vertex.
We form a 3-uniform hypergraph with one job vertex for each large edge and one resource vertex for each ordinary or extra slot. A hyperedge joins a job to the two slots of one possible outcome. A matching covering every job therefore chooses exactly one outcome per large edge, without using any slot twice. We might ask why such a matching exists. Note that every job has many possible outcomes, while individual resources and pairs of vertices occur in relatively few options. The simplicity of G G G is important: two ordinary slots at opposite endpoints can be linked by at most one original edge. Moreover, each edge–color proposal has fractional mass O ( 1 / n ) O(1/n) O ( 1/ n ) , and the extra slots are distributed to keep their individual overlaps small.
To apply the Delcourt–Postle matching theorem (Proposition A.5 in the appendix), we turn fractional option masses into integer hyperedge multiplicities using the scale N = ⌈ n ⌉ 6 N = \lceil n\rceil^6 N = ⌈ n ⌉ 6 . Let d ( x ) d(x) d ( x ) be the degree of vertex x x x , and Δ 2 \Delta_2 Δ 2 be the maximum number of hyperedges containing any pair of distinct vertices (the maximum pair-codegree), counting multiplicities. For fixed η > 0 \eta> 0 η > 0 , the appendix establishes d ( z ) = N − O ( n 2 ) d(z) = N - O(n^2) d ( z ) = N − O ( n 2 ) for each job z z z ; d ( b ) ≤ ( 1 − η ) N d(b) \le(1 - \eta)N d ( b ) ≤ ( 1 − η ) N for each resource b b b ; and Δ 2 = O ( N n − 2 / 3 ) \Delta_2 = O(Nn^{-2/3}) Δ 2 = O ( N n − 2/3 ) . The first bound follows from the unit total mass of each job’s options, including the uncolored outcome, with only O ( n 2 ) O(n^2) O ( n 2 ) copies lost to rounding. Capacity slack gives the second bound. The third follows from the small option masses, the simplicity of G G G , and the distribution of extra slots. Fix 0 < ζ < 1 / 9 0 < \zeta< 1/9 0 < ζ < 1/9 , let a > 0 a > 0 a > 0 be the exponent supplied by Proposition A.5 , and set D = ⌊ ( 1 − η / 2 ) N ⌋ D = \lfloor(1 - \eta/2)N\rfloor D = ⌊( 1 − η /2 ) N ⌋ . For sufficiently large n n n , the job degrees are at least ( 1 + D − a ) D (1 + D^{-a})D ( 1 + D − a ) D , since their fixed relative surplus above D D D exceeds D − a D^{-a} D − a . The resource degrees are at most D D D , and Δ 2 = O ( N n − 2 / 3 ) = o ( D 1 − ζ ) \Delta_2 = O(Nn^{-2/3}) = o(D^{1-\zeta}) Δ 2 = O ( N n − 2/3 ) = o ( D 1 − ζ ) , so Δ 2 ≤ D 1 − ζ \Delta_2 \le D^{1-\zeta} Δ 2 ≤ D 1 − ζ for sufficiently large n n n . The Delcourt–Postle theorem [10 ] therefore gives a matching covering every job. The extra slots also bound the total uncolored weight at each vertex by the original missing fractional mass, up to a small error, using a constant number of narrow weight intervals. Details and the algorithmic implementation appear in Sections C.2 and C.5.
Small edges: round loads, not individual slots. A small-edge option uses one reserved space at each endpoint, contributing weight less than β \beta β to each. Unlike large edges, small edges do not require a matching: several edges may share a reserve, provided their total weight fits. We therefore need only control the total load in each reserve and ensure that every edge is either assigned a color or left uncolored. Every positive reserve has size at least r 0 : = δ / 4 r_0 := \delta/4 r 0 := δ /4 (Lemma C.1). After normalizing its capacity to one, each option contributes at most τ = β / r 0 \tau= \beta/r_0 τ = β / r 0 to each of at most two constraints. The two-constraint rounding lemma (Lemma A.3 ) makes one choice for each small edge, increasing every normalized load by at most 2 τ 2\tau 2 τ . By choosing β \beta β sufficiently small relative to the available slack, all reserves remain feasible. We also track the total weight left uncolored at each vertex, which increases by only a small additive amount during rounding.
Accounting for the losses. We now combine the losses from the different steps. First, dividing the vertices into groups, simplifying the local bins, and leaving some spare capacity lose only an arbitrarily small fraction of the proposed incident weight. Second, after choosing the profiles, an edge may have total fractional assignment greater than one. We reduce its assignment to one in this case. The discrepancy bound (1) shows that this reduction loses at most O ε ( n 3 / 4 ) O_{\varepsilon}(n^{3/4}) O ε ( n 3/4 ) total weight at each vertex. Finally, converting fractional assignments into whole edges may leave some edges uncolored. For large edges, the extra slots ensure that the weight left uncolored is bounded by the weight not covered by the fractional assignments, up to a factor arbitrarily close to one and an O ε ( n 2 / 3 ) O_{\varepsilon}(n^{2/3}) O ε ( n 2/3 ) additive error. For small edges, rounding adds only a bounded error at each vertex. By choosing the fixed parameters sufficiently small, the total loss at every vertex is at most ε n + O ε ( n 3 / 4 ) \varepsilon n + O_{\varepsilon}(n^{3/4}) ε n + O ε ( n 3/4 ) . Thus, the total weight of colored edges at each vertex v v v is at least ∑ e ∋ v w e ∑ c ∈ C x e , c − ε n − O ε ( n 3 / 4 ) \sum_{e\ni v} w_e \sum_{c\in C} x_{e,c} - \varepsilon n - O_{\varepsilon}(n^{3/4}) ∑ e ∋ v w e ∑ c ∈ C x e , c − ε n − O ε ( n 3/4 ) , as claimed in Theorem 3.1. The complete proof and algorithm appear in Section C.2 and Section C.6.
Tight Weighted Guarantees for Bipartite Multigraphs
We prove the asymptotically tight bound χ w ′ ( G ) ≤ ( 2 + o ( 1 ) ) Δ w ( G ) \chi'_w(G) \le(2+o(1))\Delta_w(G) χ w ′ ( G ) ≤ ( 2 + o ( 1 )) Δ w ( G ) for bipartite multigraphs. The idea is to group parallel edges into feasible bundles, color the heavier bundles, and use our local-to-global rounding theorem to color almost all remaining edges. The difficulty is that a remaining edge can use only a color missing at both endpoints.
Grouping parallel edges. Put n = ⌈ Δ w ( G ) ⌉ n=\lceil\Delta_w(G)\rceil n = ⌈ Δ w ( G )⌉ . On each pair of vertices, start with one group per edge and repeatedly merge two groups of weight at most 1 / 2 1/2 1/2 . Each merged group has weight at most one. When no further merge is possible, at most one group of weight at most 1 / 2 1/2 1/2 remains on each pair. Let H H H contain the heavier groups and R R R the remaining groups, regarding each group as one weighted edge. Thus H H H is a bipartite multigraph, while R R R is simple and every edge of R R R weighs at most 1 / 2 1/2 1/2 . Here, giving a group one color means assigning that color to all its original edges.
Coloring the heavy groups. Since every edge of H H H weighs more than 1 / 2 1/2 1/2 , we have d H ( v ) ≤ 2 n d_H(v)\le2n d H ( v ) ≤ 2 n . By König’s theorem, H H H admits a proper coloring with at most 2 n 2n 2 n colors. Fix 0 < ε < 1 0<\varepsilon<1 0 < ε < 1 and pad the palette to the least even integer K ≥ ( 2 + ε ) n K\ge(2+\varepsilon)n K ≥ ( 2 + ε ) n ; for sufficiently large n n n , we have K ≤ 4 n K\le4n K ≤ 4 n . Let F v F_v F v be the set of colors missing at v v v , and write f v = ∣ F v ∣ = K − d H ( v ) f_v=|F_v|=K-d_H(v) f v = ∣ F v ∣ = K − d H ( v ) . Since the heavy groups contribute more than d H ( v ) / 2 d_H(v)/2 d H ( v ) /2 weight at v v v , we have 1 2 d H ( v ) + W R ( v ) ≤ n \frac{1}{2}d_H(v)+W_R(v)\le n 2 1 d H ( v ) + W R ( v ) ≤ n , and f v ≥ ε n + 2 W R ( v ) f_v\ge\varepsilon n+2W_R(v) f v ≥ ε n + 2 W R ( v ) . Each vertex therefore has ample missing colors relative to its remaining incident weight. But the sets F u F_u F u and F v F_v F v may overlap very little, so this local count alone does not provide colors for an edge u v ∈ R uv\in R uv ∈ R .
Making missing colors agree. A Kempe switch exchanges two colors along an entire two-color path of H H H . It preserves proper coloring and changes missing colors only at the path endpoints; in particular, every f v f_v f v remains unchanged. See Misra and Gries [27 ] for this operation in a constructive proof of Vizing’s theorem.
We use such switches not to guarantee large overlap for each edge separately, but to construct small fractional color proposals whose total uncovered weight is small at every vertex. In each of O ( log n ) O(\log n) O ( log n ) stages, we pair the colors and decide which two-color paths to switch. These switches help distribute the missing colors more evenly, so that most of the remaining incident weight comes from edges with sufficiently many common missing colors. Harris–Srinivasan resampling then allows us to choose the switches while ensuring these guarantees simultaneously at every vertex.
Lemma 4.1 (Missing-color coordination; special case of Lemma D.1). In the setting above, for all sufficiently large n n n , Kempe switches in H H H produce missing-color sets F v F_v F v and fractions x e , c x_{e,c} x e , c , for e ∈ E ( R ) e\in E(R) e ∈ E ( R ) and c ∈ [ K ] c\in[K] c ∈ [ K ] , such that:
Common missing colors: x e , c > 0 x_{e,c}>0 x e , c > 0 implies c ∈ F u ∩ F v c\in F_u\cap F_v c ∈ F u ∩ F v for e = u v ∈ R e=uv\in R e = uv ∈ R .
Small proposals: 0 ≤ x e , c = O ε ( 1 / n ) 0\le x_{e,c}=O_{\varepsilon}(1/n) 0 ≤ x e , c = O ε ( 1/ n ) and ∑ c x e , c ≤ 1 \sum_c x_{e,c}\le1 ∑ c x e , c ≤ 1 for every e ∈ R e\in R e ∈ R .
Small load and loss: for every vertex v v v and color c c c , ∑ e ∈ E R ( v ) w e x e , c ≤ W R ( v ) f v + o ( 1 ) \sum_{e\in E_R(v)} w_e x_{e,c}\le\frac{W_R(v)}{f_v}+o(1) ∑ e ∈ E R ( v ) w e x e , c ≤ f v W R ( v ) + o ( 1 ) , and for every vertex v v v , ∑ e ∈ E R ( v ) w e ( 1 − ∑ c x e , c ) = o ( n ) \sum_{e\in E_R(v)} w_e\left(1-\sum_c x_{e,c}\right)=o(n) ∑ e ∈ E R ( v ) w e ( 1 − ∑ c x e , c ) = o ( n ) .
The error bounds are independent of graph order and the minimum positive edge weight.
The proof of Lemma 4.1 follows by applying Lemma D.1 to the residual graph with charges q e = 2 w e q_e = 2w_e q e = 2 w e and size parameter 2 n 2n 2 n . See Section D.2 for the complete argument.
Now we complete the proof of χ w ′ ( G ) ≤ ( 2 + o ( 1 ) ) Δ w ( G ) \chi'_w(G) \le(2 + o(1))\Delta_w(G) χ w ′ ( G ) ≤ ( 2 + o ( 1 )) Δ w ( G ) . The complete proof is given in Appendix § 12 . Section D.1 describes how parallel edges are grouped into heavy bundles and a simple residual graph. Section D.2 proves the missing-color coordination lemma. Section D.3 explains how the switches can be found in expected polynomial time. The subsequent subsection combines the missing-color guarantees with Theorem 3.1 to color the residual edges. Finally, Section D.5 establishes the final bound and the algorithm. Below we give a short proof sketch.
Proof sketch. Apply Lemma 4.1 to R R R . Since f v ≥ ε n + 2 W R ( v ) f_v \ge\varepsilon n + 2W_R(v) f v ≥ ε n + 2 W R ( v ) and f v ≤ K ≤ 4 n f_v \le K \le4n f v ≤ K ≤ 4 n , we have W R ( v ) f v ≤ 1 2 − ε n 2 f v ≤ 1 2 − ε 8 \frac{W_R(v)}{f_v} \le\frac{1}{2} - \frac{\varepsilon n}{2f_v} \le\frac{1}{2} - \frac{\varepsilon}{8} f v W R ( v ) ≤ 2 1 − 2 f v ε n ≤ 2 1 − 8 ε . Thus, for all sufficiently large n n n , ∑ e ∈ E R ( v ) w e x e , c ≤ 1 / 2 − ε / 16 \sum_{e\in E_R(v)} w_e x_{e,c} \le1/2 - \varepsilon/16 ∑ e ∈ E R ( v ) w e x e , c ≤ 1/2 − ε /16 . Every edge of R R R weighs at most 1 / 2 1/2 1/2 , so we can ensure (via Lemma A.7 ) that ( x e , c : e ∋ v ) ∈ K v (x_{e,c}: e \ni v) \in K_v ( x e , c : e ∋ v ) ∈ K v : each local vector is an average of feasible integral bins.
We can therefore apply Theorem 3.1 to the simple graph R R R , with size parameter n n n , C 1 = 4 C_1 = 4 C 1 = 4 , and C 0 = O ε ( 1 ) C_0 = O_\varepsilon(1) C 0 = O ε ( 1 ) . With any fixed rounding accuracy δ > 0 \delta> 0 δ > 0 , the uncolored incident weight at v v v is at most ∑ e ∈ E R ( v ) w e ( 1 − ∑ c x e , c ) + δ n + O ε , δ ( n 3 / 4 ) = δ n + o ( n ) \sum_{e\in E_R(v)} w_e(1-\sum_c x_{e,c})+\delta n+O_{\varepsilon,\delta}(n^{3/4})=\delta n+o(n) ∑ e ∈ E R ( v ) w e ( 1 − ∑ c x e , c ) + δ n + O ε , δ ( n 3/4 ) = δ n + o ( n ) . By the support condition in Lemma 4.1 , every color used on R R R is missing at both endpoints in H H H . Hence the partial colorings are compatible. The greedy cleanup lemma (Lemma A.1 ) colors the remaining edges with at most 4 δ n + o ( n ) 4\delta n+o(n) 4 δ n + o ( n ) fresh colors, and expanding groups preserves feasibility. Therefore χ w ′ ( G ) ≤ ( 2 + ε + 4 δ ) n + o ( n ) \chi'_w(G)\le(2+\varepsilon+4\delta)n+o(n) χ w ′ ( G ) ≤ ( 2 + ε + 4 δ ) n + o ( n ) . Letting ε , δ > 0 \varepsilon,\delta>0 ε , δ > 0 be arbitrarily small and using n = Δ w ( G ) + O ( 1 ) n=\Delta_w(G)+O(1) n = Δ w ( G ) + O ( 1 ) proves the result. The full completion argument is Lemma D.2 ; see also Theorem D.3 .
Lower Bounds and the Feige–Singh Conjecture
In this section, we give two constructions showing how agreement between endpoints can require more colors than local packing alone. The first is a simple bipartite graph that disproves the exact total-weight conjecture. The second has χ w ′ ( G ) / bp ( G ) = 4 / 3 \chi'_w(G)/\operatorname{bp}(G)=4/3 χ w ′ ( G ) / bp ( G ) = 4/3 for arbitrarily large bp ( G ) \operatorname{bp}(G) bp ( G ) , even when the underlying simple graph is a tree of maximum degree three.
Here, we want to stress that the total weight is a different benchmark. On a simple star, t t t edges of weight 1 / 2 + 1 / ( 2 t ) 1/2+1/(2t) 1/2 + 1/ ( 2 t ) require t t t colors, although their total weight is ( t + 1 ) / 2 (t+1)/2 ( t + 1 ) /2 . Thus a coefficient below two in terms of Δ w \Delta_w Δ w is impossible even for simple bipartite graphs. This does not contradict the simple-graph theorem: the same star has bp = t \operatorname{bp}=t bp = t .
A Counterexample to the Feige–Singh Exact Total-Weight Conjecture
The total-weight conjecture asks for at most 2 N − 1 2N-1 2 N − 1 colors, where N = ⌈ Δ w ( G ) ⌉ + 1 N=\lceil\Delta_w(G)\rceil+1 N = ⌈ Δ w ( G )⌉ + 1 [15 Conjecture 2] . We construct a simple bipartite graph with Δ w ( G ) < 2 \Delta_w(G)<2 Δ w ( G ) < 2 that needs four colors.
Proposition 5.1. There is a simple bipartite weighted graph with
Δ w ( G ) = 1.95 < 2 , bp ( G ) = 3 , χ w ′ ( G ) = 4. \Delta_w(G)=1.95<2,\qquad\operatorname{bp}(G)=3,\qquad\chi'_w(G)=4. Δ w ( G ) = 1.95 < 2 , bp ( G ) = 3 , χ w ′ ( G ) = 4. Proof. Take the two vertex sets { P , a 1 , a 2 , a 3 , v } \{P,a_1,a_2,a_3,v\} { P , a 1 , a 2 , a 3 , v } , and { b 1 , b 2 , b 3 , u } \{b_1,b_2,b_3,u\} { b 1 , b 2 , b 3 , u } . The edges and weights are
Table 3.
See Figure 2 . The weighted degrees at P P P , u u u , b i b_i b i , a j a_j a j , v v v , respectively, are 1.95, 1.95, 1.85, 1.65, 0.6. Thus Δ w ( G ) = 1.95 \Delta_w(G)=1.95 Δ w ( G ) = 1.95 . Every vertex has a packing into three bins: all but u u u have degree at most three, and at u u u two of the three 0.45 edges share a bin while the other two edges get one bin each. The three edges at P P P have pairwise sums greater than one, so they require three bins. Hence bp ( G ) = 3 \operatorname{bp}(G)=3 bp ( G ) = 3 .
Figure 2. A simple bipartite graph with maximum weighted degree below two that needs four colors. Blue-filled vertices form one side and yellow-filled vertices the other. Edge styles identify weights, not an edge coloring. Crossings of drawn edges are not vertices.
Suppose three colors suffice. At each of P P P , a 1 a_1 a 1 , a 2 a_2 a 2 , a 3 a_3 a 3 , every pair of incident edges has total weight greater than one. Thus all three colors occur once at each of these four vertices. Counting the twelve edges other than e e e at their endpoints in this set, each color occurs exactly four times.
At each of b 1 b_1 b 1 , b 2 b_2 b 2 , b 3 b_3 b 3 , the three incident weights also have pairwise sums greater than one, so all three colors occur once there. These vertices account for three occurrences of each color. The remaining edges x 1 x_1 x 1 , x 2 x_2 x 2 , x 3 x_3 x 3 must therefore account for one occurrence of each color. At u u u , the edge e e e cannot share a color with any x j x_j x j , because 0.6 + 0.45 > 1 0.6+0.45>1 0.6 + 0.45 > 1 . All three colors are blocked, a contradiction.
Finally, the ordinary maximum degree is four. König’s theorem gives a proper edge coloring with four colors, which is feasible since all weights are at most one. Thus χ w ′ ( G ) = 4 \chi'_w(G)=4 χ w ′ ( G ) = 4 .
For this graph, N = 2 N=2 N = 2 , so the conjectured bound is 2 N − 1 = 3 2N-1=3 2 N − 1 = 3 . The Chung–Ross conjecture uses bp ( G ) = 3 \operatorname{bp}(G)=3 bp ( G ) = 3 and permits 5 colors. Thus, the construction disproves the exact total-weight conjecture while leaving the Chung–Ross conjecture and the asymptotic bound of Theorem D.3 unaffected.
A Four-Thirds Lower Bound
For simple trees, local bin packings can be aligned along the tree, giving χ w ′ ( G ) = bp ( G ) \chi'_w(G)=\operatorname{bp}(G) χ w ′ ( G ) = bp ( G ) ; see the proof of Theorem 10 in [32 ] . For multigraphs whose underlying simple graph is a tree, Sannyasi proved the upper bound 1.693 bp ( G ) + 12 1.693\operatorname{bp}(G)+12 1.693 bp ( G ) + 12 [32 Theorem 11] . The following construction shows that parallel edges force a factor of 4 / 3 4/3 4/3 , even when the underlying tree has maximum degree three. Our bipartite upper bound gives an asymptotic coefficient of 1.62 for this class.
Proposition 5.2. For every integer N ≥ 1 N \ge1 N ≥ 1 , there is a bipartite weighted multigraph G N G_N G N whose underlying simple graph is a tree of maximum degree three and whose weights are rational and greater than 1 / 3 1/3 1/3 , such that bp ( G N ) = 3 N \operatorname{bp}(G_N)=3N bp ( G N ) = 3 N , χ w ′ ( G N ) = 4 N \chi'_w(G_N)=4N χ w ′ ( G N ) = 4 N .
Proof. Set m = 2 N m=2N m = 2 N . Take a path v 0 v 1 ⋯ v m v_0v_1\cdots v_m v 0 v 1 ⋯ v m and add a private leaf u i u_i u i adjacent to each v i v_i v i . For 0 ≤ i < m 0 \le i < m 0 ≤ i < m , give the path edge v i v i + 1 v_iv_{i+1} v i v i + 1 weight w i = 1 3 + m − i 6 ( m + 1 ) w_i=\frac{1}{3}+\frac{m-i}{6(m+1)} w i = 3 1 + 6 ( m + 1 ) m − i ; then 1 / 2 > w 0 > ⋯ > w m − 1 > 1 / 3 1/2>w_0>\cdots>w_{m-1}>1/3 1/2 > w 0 > ⋯ > w m − 1 > 1/3 .
Figure 3. The exact 4/3 family. A leaf edge fits with one path edge to its right, but cannot fit with a path edge to its left.
Give v i u i v_i u_i v i u i weight 1 − w i 1-w_i 1 − w i for i < m i<m i < m and give v m u m v_m u_m v m u m weight 1 1 1 . Replace every edge just described by 2 N 2N 2 N parallel copies of the same weight.
At an internal vertex v i v_i v i , pair each of its 2 N 2N 2 N leaf edges with one of the 2 N 2N 2 N path edges to its right; these pairs weigh exactly one. Pair the 2 N 2N 2 N path edges to its left two per bin, using N N N more bins. The endpoint v 0 v_0 v 0 needs only 2 N 2N 2 N bins. At v m v_m v m , the 2 N 2N 2 N unit leaf edges use their own bins and the path edges use another N N N bins. This is optimal there, because a unit edge cannot share a bin and three path edges weigh more than one. Thus bp ( G N ) = 3 N \operatorname{bp}(G_N)=3N bp ( G N ) = 3 N .
We show that one color contains at most m + 1 m+1 m + 1 edges. It contains at most two copies of any path edge, since every w i > 1 / 3 w_i>1/3 w i > 1/3 . Assign a single colored copy in the bundle v i v i + 1 v_i v_{i+1} v i v i + 1 to v i + 1 v_{i+1} v i + 1 ; if two copies are colored, assign one to each endpoint. No vertex can receive two assignments from path edges: that would require a copy from the bundle on its left and two from the bundle on its right, whose three weights exceed one. Nor can a vertex receiving such an assignment have a colored leaf edge. A path edge from the left has weight w i − 1 > w i w_{i-1}>w_i w i − 1 > w i and exceeds the space w i w_i w i left by its leaf edge; an assignment from the right means two w i w_i w i edges are already present. At v m v_m v m the leaf weight is one. Finally assign each colored leaf edge to its path vertex. Each leaf bundle contributes at most one edge, as its weights exceed 1 / 2 1/2 1/2 . All assignments are distinct among v 0 , … , v m v_0,\ldots,v_m v 0 , … , v m , proving the claim.
There are 2 N ( 2 m + 1 ) 2N(2m+1) 2 N ( 2 m + 1 ) edges in total, so χ w ′ ( G N ) ≥ ⌈ 2 N ( 2 m + 1 ) m + 1 ⌉ = ⌈ 4 N − 2 N 2 N + 1 ⌉ = 4 N \chi'_w(G_N)\ge\left\lceil\frac{2N(2m+1)}{m+1}\right\rceil=\left\lceil4N-\frac{2N}{2N+1}\right\rceil=4N χ w ′ ( G N ) ≥ ⌈ m + 1 2 N ( 2 m + 1 ) ⌉ = ⌈ 4 N − 2 N + 1 2 N ⌉ = 4 N . For the reverse inequality, use 2 N 2N 2 N colors on the leaf bundles, putting one copy of every leaf bundle in each color. Use another 2 N 2N 2 N colors on the path bundles in the same way. At each internal vertex the two path edges in a color weigh less than one. Hence both palettes are feasible and χ w ′ ( G N ) = 4 N \chi'_w(G_N)=4N χ w ′ ( G N ) = 4 N .
Improved Constants from the Contents of Bins
In this section, we show that local bin packing bounds allow stronger guarantees than total weight.
Bipartite multigraphs: harmonic charge and compatible selections
First, we start with bipartite multigraphs and for the complete proofs see Section E.
We use harmonic rounding [26 ] from bin packing: for 1 / ( k + 1 ) < w ≤ 1 / k 1/(k+1)<w\le1/k 1/ ( k + 1 ) < w ≤ 1/ k , we assign charge a ( w ) = 1 / k a(w)=1/k a ( w ) = 1/ k . Any k k k edges from this range on the same pair of endpoints form a feasible packet of charge one. Full packets can be properly colored. The remaining objects have bounded multiplicity after tiny parallel edges have first been grouped. The missing-color and rounding arguments then insert them, with their remaining charge paying for the space used. This yields χ w ′ ( G ) ≤ max v ∑ e ∋ v a ( w e ) + o ( bp ( G ) ) \chi'_w(G)\le\max_{v}\sum_{e\ni v}a(w_e)+o(\operatorname{bp}(G)) χ w ′ ( G ) ≤ max v ∑ e ∋ v a ( w e ) + o ( bp ( G )) . The largest harmonic charge of a unit bin is h ∞ = 1 + 1 2 + 1 6 + 1 42 + ⋯ ≈ 1.691 h_\infty=1+\frac{1}{2}+\frac{1}{6}+\frac{1}{42}+\cdots\approx1.691 h ∞ = 1 + 2 1 + 6 1 + 42 1 + ⋯ ≈ 1.691 , where successive denominators satisfy r j + 1 = r j ( r j + 1 ) r_{j+1}=r_j(r_j+1) r j + 1 = r j ( r j + 1 ) . This is the classical harmonic bin-packing constant of Lee and Lee [26 ] ; see also Epstein [13 ] . Thus harmonic charge alone gives ( h ∞ + o ( 1 ) ) bp ( G ) (h_{\infty}+o(1))\,\operatorname{bp}(G) ( h ∞ + o ( 1 )) bp ( G ) colors. Lemma E.2 proves the coloring bound, including the treatment of arbitrarily small weights.
Lemma 6.1 (Harmonic-charge coloring; informal version of Lemma E.2 ). For a bipartite weighted multigraph J J J , let A ( J ) : = max v ∈ V ( J ) ∑ e ∋ v ⌊ 1 / w e ⌋ A(J):=\max_{v\in V(J)}\sum_{e\ni v}\left\lfloor1/w_e\right\rfloor A ( J ) := max v ∈ V ( J ) ∑ e ∋ v ⌊ 1/ w e ⌋ . If W J ( v ) ≤ n W_J(v)\le n W J ( v ) ≤ n at every vertex, then χ w ′ ( J ) ≤ A ( J ) + o ( n ) \chi_w'(J)\le A(J)+o(n) χ w ′ ( J ) ≤ A ( J ) + o ( n ) .
Proof sketch. On each parallel pair, pack k k k edges of harmonic class ( 1 / ( k + 1 ) , 1 / k ] (1/(k+1),1/k] ( 1/ ( k + 1 ) , 1/ k ] into a single feasible packet, then properly color full packets using Kőnig’s theorem. Only boundedly many non-full packets remain per pair after first grouping tiny edges. The general missing-color lemma (Lemma D.1) and the bounded-multiplicity version of the rounding theorem (see Section E.1) insert almost all residual weight into the palette; a fresh o ( n ) o(n) o ( n ) palette finishes the rest. □
See Theorem E.4 for the complete proof of ( h ∞ + o ( 1 ) ) bp ( G ) (h_{\infty}+o(1))\,\operatorname{bp}(G) ( h ∞ + o ( 1 )) bp ( G ) colors.
A small selection illustrates the improvement. Take the two ranges H = ( 1 / 2 , 5 / 8 ] H=(1/2,5/8] H = ( 1/2 , 5/8 ] and S = ( 1 / 3 , 3 / 8 ] S=(1/3,3/8] S = ( 1/3 , 3/8 ] . These ranges are compatible: an H H H edge fits with an S S S edge, and two S S S edges fit together. Select roughly one sixth of each range at every vertex. Splitting vertices and applying Kőnig’s theorem makes this selection on whole edges, with an error of at most one per range at each vertex. The selected graph has at most n / 6 + O ( 1 ) n/6+O(1) n /6 + O ( 1 ) heavy edges and n / 3 + O ( 1 ) n/3+O(1) n /3 + O ( 1 ) total edges at each vertex, where n = bp ( G ) n=\operatorname{bp}(G) n = bp ( G ) . Split a vertex into two copies, put the heavy incidences at one copy, and distribute the small incidences to balance their degrees. A proper coloring of the copied graph gives a feasible weighted coloring with n / 6 + O ( 1 ) n/6+O(1) n /6 + O ( 1 ) colors. To account for the removed edges, define the discounted charge q ( w ) = 5 6 a ( w ) q(w)=\frac{5}{6}a(w) q ( w ) = 6 5 a ( w ) for w ∈ H ∪ S w\in H\cup S w ∈ H ∪ S and q ( w ) = a ( w ) q(w)=a(w) q ( w ) = a ( w ) otherwise. Every original unit bin has total q q q -charge at most 3 / 2 3/2 3/2 . The balanced selection therefore leaves harmonic charge at most 3 n / 2 + O ( 1 ) 3n/2+O(1) 3 n /2 + O ( 1 ) at every vertex. This proves the short 5 / 3 5/3 5/3 bound; Theorem E.5 gives the calculation.
For the 1.62 1.62 1.62 bound, we make three selections from compatible pairs of weight ranges, assigning each edge to at most one selection. The selected groups together use ( 7 / 30 ) n + O ( 1 ) (7/30)n+O(1) ( 7/30 ) n + O ( 1 ) colors, while the remaining harmonic charge is at most ( 104 / 75 ) n + O ( 1 ) (104/75)n+O(1) ( 104/75 ) n + O ( 1 ) at every vertex. Applying the harmonic-charge coloring bound to the remainder gives 7 / 30 + 104 / 75 = 81 / 50 = 1.62 7/30+104/75=81/50=1.62 7/30 + 104/75 = 81/50 = 1.62 as the leading coefficient. The three pairs of ranges and their selection fractions are listed in Table 1. The detailed proofs are given in Section E.6.
General multigraphs: handling dense odd sets
We now turn to general multigraphs. As in the bipartite case, our starting point is to group parallel edges into feasible packets, each of total weight at most one. We then treat each packet as a single edge and seek a proper edge coloring of the resulting multigraph. Such a coloring immediately gives a feasible weighted coloring of all edges contained in the packets. The remaining edges will be handled using our rounding framework. For omitted details, see Section F.
Why do odd sets matter? Unlike bipartite graphs, a general multigraph may require substantially more colors than its maximum degree. The reason is that each color class is a matching. Thus, for any odd set S S S of vertices, a single color can contain at most ( ∣ S ∣ − 1 ) / 2 (|S|-1)/2 ( ∣ S ∣ − 1 ) /2 edges with both endpoints in S S S . Consequently, the number of colors must be at least 2 ∣ E H ( S ) ∣ ∣ S ∣ − 1 \frac{2|E_H(S)|}{|S|-1} ∣ S ∣ − 1 2∣ E H ( S ) ∣ , where H H H denotes the multigraph of packets. Edmonds’ matching theorem [11 ] shows that these odd-set bounds, together with the maximum-degree bound, completely characterize the fractional chromatic index.
Moreover, Sanders and Steurer’s theorem [35 ] converts this fractional bound into a proper edge coloring with only a lower-order additive loss.
Fortunately, most odd sets are easy to handle: the degree bound handles all odd sets of size at least seven. Our harmonic-charge analysis bounds the number of packets incident to any vertex by approximately 1.7 bp ( G ) 1.7\,\operatorname{bp}(G) 1.7 bp ( G ) . For an odd set S S S of size s s s , counting the degrees of its vertices gives 2 ∣ E H ( S ) ∣ s − 1 ≤ s s − 1 Δ ( H ) \frac{2|E_H(S)|}{s-1} \le\frac{s}{s-1}\Delta(H) s − 1 2∣ E H ( S ) ∣ ≤ s − 1 s Δ ( H ) . When s ≥ 7 s \ge7 s ≥ 7 , the right-hand side is at most 7 6 ( 1.7 + o ( 1 ) ) bp ( G ) < 1.999 bp ( G ) \frac{7}{6}(1.7+o(1))\,\operatorname{bp}(G) < 1.999\,\operatorname{bp}(G) 6 7 ( 1.7 + o ( 1 )) bp ( G ) < 1.999 bp ( G ) for sufficiently large bp ( G ) \operatorname{bp}(G) bp ( G ) . Thus, only triangles and five-vertex sets can obstruct our desired bound.
Measuring the cost of a parallel bundle. We need a measure of how many packets a bundle requires before deciding which sets to contract. Grouping and rounding leave a bounded number of types on each pair, where a type specifies an endpoint pair and a weight. A bundle pattern is a multiset of these types with total weight at most one. Allow fractional amounts of patterns, requiring their combined type counts to reproduce the bundle. The minimum total amount is its fractional bin-packing cost . Rounding down the amounts produces whole packets; the few remaining objects on each pair are handled later.
For any fixed δ > 0 \delta> 0 δ > 0 , preprocessing gives a common local bin count N ≤ ( 1 + δ ) bp ( G ) + O δ ( 1 ) N \le(1+\delta)\,\operatorname{bp}(G) + O_\delta(1) N ≤ ( 1 + δ ) bp ( G ) + O δ ( 1 ) . For the density calculations, divide every bundle cost by N N N and denote the result by t u v t_{uv} t uv . The number of whole packets on pair u v uv uv is at most N t u v Nt_{uv} N t uv . The local packings give t u v ≤ 1 t_{uv} \le1 t uv ≤ 1 , incident cost at most M = 1.7 M=1.7 M = 1.7 at every vertex, and internal cost at most two in every triangle (Lemmas F.2 and F.7). These bounds control both the sets we contract and the edges that leave them.
Contracting the dense sets. Put κ = 1.999 \kappa=1.999 κ = 1.999 . A triangle is dense if its internal cost exceeds κ \kappa κ ; a five-vertex set is dense if its internal cost exceeds 2 κ 2\kappa 2 κ . These are exactly their respective odd-set thresholds for a palette of κ N \kappa N κ N colors. We select all dense five-vertex sets first, then the dense triangles disjoint from them.
Why can these contractions be made together? If two dense five-vertex sets overlapped, their combined internal cost would exceed what the degree and triangle bounds allow. A dense five-vertex set also has so much cost inside it that little cost can leave it. This rules out a dense triangle crossing its boundary. The remaining dense triangles are disjoint for the same degree-counting reason. Lemma F.10 checks these claims and shows that contracting the selected sets leaves every odd-set bound satisfied. After discarding internal packets, Edmonds’ and Sanders–Steurer’s theorems therefore give a proper coloring of the quotient packets with ( κ + o ( 1 ) ) N (\kappa+o(1))N ( κ + o ( 1 )) N colors.
Reusing external colors inside a block. We next insert the remaining external objects and restore the internal edges of each contracted block. The key is to remember which original vertex an external color uses. In a proper packet coloring, a color appears on at most one packet incident to a block, so it occupies just one original vertex there. When inserting the remaining external objects, the labelled rounding lemma (Lemma F.5 ) preserves the single-endpoint property and bounds the number of colors with each label.
For example, if a color is used externally only at vertex v v v of a five-vertex block, it remains available for internal edges on the other four vertices. An internal pattern is a multiset of internal edge types whose incident weight is at most one at every vertex. We may assign such a pattern to a color labeled v v v provided it avoids v v v . Colors unused externally have no such restriction. Thus restoration asks for a packing into one unrestricted class of colors and several classes, each required to avoid a specified vertex. The local charge estimate supplies a budget for each class: at an original vertex, the internal bundle cost plus the external charge is at most 1.7 N 1.7N 1.7 N . Labelled rounding bounds the number of colors with that vertex’s label by its external charge, up to small rounding errors.
Triangles admit a direct construction using their local star packings. For five-vertex blocks, we prove that the restricted classes still have enough capacity by testing prices. If the internal demand cannot fit fractionally into the available color classes, linear programming duality supplies prices for which the demand costs more than those classes can carry. We show that no such prices exist. Give nonnegative prices to the internal types and normalize the maximum feasible internal-pattern price to one. The five-vertex price inequality (Lemma F.9) bounds the total demand price by 1.95 N 1.95N 1.95 N . The palette lemma (Lemma F.11) also accounts for the loss from requiring some patterns to avoid a vertex: a color labeled v v v contributes the largest price of a pattern avoiding v v v , rather than the unrestricted value one. For classes within the endpoint budgets, it shows that the combined available price of the κ N \kappa N κ N colors covers the demand for every price vector. Linear programming duality then gives a fractional packing respecting all endpoint labels.
Finally, set aside the boundedly many tiny remainder objects in each block. Each block has at most five vertices and, for fixed accuracy, boundedly many remaining types, all of weight bounded away from zero. Rounding down its fractional pattern amounts therefore leaves only boundedly many objects to color separately. These internal leftovers and the patterns moved out of excess label classes use fresh colors. Since the blocks are disjoint, they can reuse the same fresh palette. The remaining external objects and preprocessing set-asides are colored using the global greedy cleanup bound. Taking the accuracy parameters sufficiently small gives the total ( 1.999 + o ( 1 ) ) bp ( G ) (1.999+o(1))\,\operatorname{bp}(G) ( 1.999 + o ( 1 )) bp ( G ) bound.
The intermediate 5 4 h ∞ \frac{5}{4}h_\infty 4 5 h ∞ bound in Section F.1 develops the packet construction; Section F.2 gives the rounding theorem needed for the multigraph setting; Section F.3 gives the final 1.999 bound (in particular, Section F.3.5 gives the proof); and Section F.4 gives the polynomial-time implementation.
The König–Shannon comparison. Let c b i p , c g e n c_{\mathrm{bip}},c_{\mathrm{gen}} c bip , c gen be the optimal uniform asymptotic coefficients relative to bp ( G ) \operatorname{bp}(G) bp ( G ) . Then the bounds c g e n ≤ 1.999 c_{\mathrm{gen}}\le1.999 c gen ≤ 1.999 , c b i p ≥ 4 / 3 c_{\mathrm{bip}}\ge4/3 c bip ≥ 4/3 give
1 ≤ c g e n c b i p ≤ 1.999 4 / 3 < 3 2 . (2) 1 \le\frac{c_{\mathrm{gen}}}{c_{\mathrm{bip}}} \le\frac{1.999}{4/3} < \frac{3}{2}. \tag*{(2)} 1 ≤ c bip c gen ≤ 4/3 1.999 < 2 3 . (2)
The individual coefficients remain in the intervals [ 4 / 3 , 1.62 ] [4/3,1.62] [ 4/3 , 1.62 ] and [ 3 / 2 , 1.999 ] [3/2,1.999] [ 3/2 , 1.999 ] , respectively. For the total-weight parameter, the optimal coefficients are exactly two and three, retaining the ratio 3 / 2 3/2 3/2 . It remains an intriguing open question whether the optimal asymptotic coefficients for bipartite and general multigraphs coincide, i.e., whether c g e n = c b i p c_{\mathrm{gen}}=c_{\mathrm{bip}} c gen = c bip .
Acknowledgment. The second author would like to thank Mohit Singh for introducing him to the problem and for the inspiring initial discussions. He also thanks Debarsho Sannyasi, Pradyot Mohanty, and Shreyans Nagori for their contributions to the problem during their internships at the Indian Institute of Science.
The second author also thanks Google India Research Award, Ittiam Systems CSR grant, and the Walmart Center for Tech Excellence at IISc (CSR Grant WMGT-23-0001) for supporting the research.
AI Methodology
Table 1.
Details. The research questions were chosen entirely by the authors. The lower-bound constructions and the counterexample to the exact total-weight conjecture stated by Feige and Singh arose through iterative discussions between the authors and GPT-5.5.
The authors subsequently proposed ideas for a simpler randomized-rounding argument and developed these using the nibble method, obtaining a short proof of χ w ′ ( G ) ≤ ( 2 + o ( 1 ) ) bp ( G ) \chi'_{w}(G) \le(2 + o(1))\operatorname{bp}(G) χ w ′ ( G ) ≤ ( 2 + o ( 1 )) bp ( G ) for simple graphs. Further refinement with GPT Astra, with limited additional mathematical input from the authors during this stage, led to the sharper bound χ w ′ ( G ) ≤ ( 1 + o ( 1 ) ) bp ( G ) \chi'_{w}(G) \le(1 + o(1))\operatorname{bp}(G) χ w ′ ( G ) ≤ ( 1 + o ( 1 )) bp ( G ) .
The authors suggested using harmonic bounds from bin packing to improve the guarantees for multigraphs. Through further discussions with the models, this idea was developed into harmonic-charge estimates connecting local bin contents to the global coloring cost. The main remaining obstacle was obtaining a coefficient below two relative to bp ( G ) \operatorname{bp}(G) bp ( G ) for general multigraphs. The argument overcoming this obstacle was developed over several days of iterative proof search with GPT-6 in Codex. It combines contraction of dense vertex sets with control of endpoint labels, allowing internal edges to reuse colors assigned to external edges.
The initial drafts presenting all these results exceeded 200 pages. The authors subsequently simplified several arguments substantially and reorganized the presentation. Their contributions included proposing mathematical ideas, guiding the proof search, checking the resulting arguments, and developing shorter and clearer proofs.
ChatGPT also assisted with exposition, checking for bugs, exact-arithmetic checks, and minor corrections. The authors take responsibility for the final statements, proofs, and presentation.
The companion repository contains AI-assisted Lean 4 and Mathlib formalizations of the five upper-bound statements in Theorem 1.1 :
https://github.com/rishigajjala/weighted-edge-coloring-challenges
The running-time analyses are not formalized.
Guide to the Appendix
The table maps each main-text section to its full upper-bound proofs and implementation details. Shared tools are collected in Appendix § 9 ; both complete lower-bound proofs are in § 5 of the main text. Statements restated from the main text retain their original numbers.
Table 4.
The AI Methodology statement and references follow the main text.
Preliminaries
We describe standard packing and rounding tools, together with the variants needed in our proofs. We give short proofs when the precise bounds or algorithmic details are useful. As in the main text, all graphs are finite and loopless, parallel edges are counted separately, and every edge weight lies in ( 0 , 1 ] (0,1] ( 0 , 1 ] . For a vertex v v v , W G ( v ) = ∑ e ∋ v w e W_G(v)=\sum_{e\ni v}w_e W G ( v ) = ∑ e ∋ v w e ; Δ w ( G ) \Delta_w(G) Δ w ( G ) is the maximum of these sums, and bp ( G ) \operatorname{bp}(G) bp ( G ) is the largest local bin-packing optimum. A feasible color has incident weight at most one at every vertex.
We now specify the computational guarantees of the constructions. The input lists every edge separately and gives its weight as a rational number in binary. Every coloring algorithm returns the empty coloring when its input graph has no edges. All asymptotic upper bounds, including the general 1.999 bound, have randomized implementations with expected polynomial running time for each fixed accuracy. The exact 3 ⌈ Δ w ( G ) ⌉ 3\lceil\Delta_w(G)\rceil 3 ⌈ Δ w ( G )⌉ construction is deterministic and polynomial, and has no accuracy parameter. For the 1.999 construction, Section F.4 implements the endpoint-label step and the restoration of contracted blocks.
The algorithms need only approximate local bin packings. For a fixed ξ > 0 \xi>0 ξ > 0 , the number of bins used at each vertex is at most ( 1 + ξ ) (1+\xi) ( 1 + ξ ) times its optimum plus a constant depending on ξ \xi ξ . Choosing ξ \xi ξ sufficiently small absorbs this loss into the desired accuracy. The subsequent rounding uses computable second moments, partial resampling, and a matching among three-element options. The implementations appear with their proofs: Sections C.4, D.3, E.3 and F.4.
All thresholds and constants depend on the chosen accuracy before the graph is given. Below the relevant threshold, greedy cleanup uses at most an accuracy-dependent constant number of colors. To recover the stated ( c + o ( 1 ) ) n (c+o(1))n ( c + o ( 1 )) n form from guarantees ( c + 1 / k ) n + C k (c+1/k)n+C_k ( c + 1/ k ) n + C k , choose increasing thresholds n k n_k n k with C k / n ≤ 1 / k C_k/n\le1/k C k / n ≤ 1/ k for n ≥ n k n\ge n_k n ≥ n k . Using the k k k th construction between successive thresholds makes the excess over c n cn c n at most 2 n / k 2n/k 2 n / k , and hence o ( n ) o(n) o ( n ) , uniformly over the graph class. The running-time assertion remains one for each fixed accuracy; it does not assert polynomial dependence on the reciprocal of the accuracy.
Completing Partial Colorings
We begin with an elementary greedy counting bound.
Lemma A.1. Every finite loopless weighted multigraph J J J with maximum weighted degree at most R R R satisfies χ w ( J ) ≤ ⌊ 4 R ⌋ + 1 \chi_w(J)\le\lfloor4R\rfloor+1 χ w ( J ) ≤ ⌊ 4 R ⌋ + 1 .
Proof. Process the edges in nonincreasing order of weight. For an edge of weight b ≤ 1 / 2 b\le1/2 b ≤ 1/2 , a color forbidden at an endpoint has load greater than 1 − b ≥ 1 / 2 1-b\ge1/2 1 − b ≥ 1/2 . For b > 1 / 2 b>1/2 b > 1/2 , a forbidden color is nonempty, and its already colored edges each have weight at least b > 1 / 2 b>1/2 b > 1/2 . Thus fewer than 2 R 2R 2 R colors are forbidden at each endpoint. A palette of ⌊ 4 R ⌋ + 1 \lfloor4R\rfloor+1 ⌊ 4 R ⌋ + 1 colors always has a color available at both.
König’s theorem [Kö16] gives a proper edge coloring of a bipartite multigraph with as many colors as its maximum degree. The first bound below is the bounded-weight guarantee of Melen and Turner’s cap algorithm [28 Section 4] ; see also [15 Section 1.1] . We give its vertex-splitting proof, then separate the heavy and light edges to obtain the second bound.
Lemma A.2. If G G G is bipartite, every edge has weight at most b < 1 b < 1 b < 1 , and W G ( v ) ≤ R W_G(v) \le R W G ( v ) ≤ R for every vertex, then
χ w ′ ( G ) ≤ ⌈ R 1 − b ⌉ . \chi'_w(G) \le\left\lceil\frac{R}{1-b} \right\rceil. χ w ′ ( G ) ≤ ⌈ 1 − b R ⌉ . Without the bound w e ≤ b w_e \le b w e ≤ b , at most 2 ⌈ 2 R ⌉ 2\lceil2R\rceil 2 ⌈ 2 R ⌉ colors suffice.
Proof. There are no edges if R = 0 R = 0 R = 0 . Otherwise put q = ⌈ R / ( 1 − b ) ⌉ q = \lceil R/(1-b)\rceil q = ⌈ R / ( 1 − b )⌉ . At each vertex list its edges in decreasing order of weight and cut the list into consecutive blocks of q q q edges; the last block may be shorter. Replace the vertex by one new vertex for each block. An original edge now joins the two new vertices representing its blocks at its two ends. The new graph is bipartite and has maximum degree at most q q q . Give it a proper q q q -edge-coloring and transfer the colors back.
At an original vertex with sorted weights a 1 ≥ a 2 ≥ ⋯ a_1 \ge a_2 \ge\cdots a 1 ≥ a 2 ≥ ⋯ , a color appears at most once in each block. Its load is at most
a 1 + a q + 1 + a 2 q + 1 + ⋯ ≤ b + 1 q ∑ j a j ≤ b + R q ≤ 1. a_1 + a_{q+1} + a_{2q+1} + \cdots\le b + \frac{1}{q}\sum_j a_j \le b + \frac{R}{q} \le1. a 1 + a q + 1 + a 2 q + 1 + ⋯ ≤ b + q 1 j ∑ a j ≤ b + q R ≤ 1.
For the middle inequality, charge each term after a 1 a_1 a 1 to the q q q no-smaller weights in the preceding block. Thus the coloring is feasible.
For the last assertion, properly color the edges heavier than 1 / 2 1/2 1/2 with at most ⌈ 2 R ⌉ \lceil2R\rceil ⌈ 2 R ⌉ colors. Apply the first assertion, with b = 1 / 2 b = 1/2 b = 1/2 , to the other edges, using another ⌈ 2 R ⌉ \lceil2R\rceil ⌈ 2 R ⌉ colors.
Choosing Whole Options
The next lemma rounds one option for each job while controlling every capacity. In our application, jobs are edges, and a color option uses capacity at the two endpoints. The proof uses the iterative-relaxation method for sparse side constraints as in [23 ] : keep the choice equations and drop a capacity equation once its remaining error is small. We give the counting argument for the weighted, one-sided error 2 τ 2\tau 2 τ needed here.
Lemma A.3. Suppose each job has a probability distribution over finitely many options. Each option uses a nonnegative amount from at most two capacity constraints, and each amount is at most τ \tau τ . If b R b_R b R is the expected amount used in constraint R R R , then there is a choice of one option per job using at most b R + 2 τ b_R + 2\tau b R + 2 τ in every constraint.
Proof. Let x j x_j x j be the current value of option j j j . Values zero and one will remain fixed. Initially the values are the given probabilities. Keep the equation that the options for each unfinished job sum to one. For a capacity constraint, also keep its equation fixing the current load until the first time
∑ j using that constraint 0 < x j < 1 ( 1 − x j ) ≤ 2. \sum_{\substack{j\text{ using that constraint}\\0<x_j<1}} (1-x_j) \le2. j using that constraint 0 < x j < 1 ∑ ( 1 − x j ) ≤ 2.
At that time drop the equation permanently. The sum measures how much the remaining option values could increase if all of them were rounded to one.
Suppose N > 0 N > 0 N > 0 option values are still strictly between zero and one, and r r r jobs are unfinished. Each such job has at least two of these values, so r ≤ N / 2 r \le N/2 r ≤ N /2 . Their values sum to r r r , hence ∑ j ( 1 − x j ) = N − r \sum_j(1-x_j)=N-r ∑ j ( 1 − x j ) = N − r . If s s s capacity equations are still kept, counting each option in at most two constraints gives s < N − r s < N-r s < N − r . Thus fewer than N N N linear equations are being kept for N N N variables. Linear algebra gives a nonzero direction in which all these equations stay unchanged. Move in that direction until one variable first reaches zero or one. Repeat; each step fixes another variable, so the process ends.
When a capacity equation is dropped, its load is still b R b_R b R . Its possible increase afterward is at most τ ∑ j ( 1 − x j ) ≤ 2 τ \tau\sum_j(1-x_j) \le2\tau τ ∑ j ( 1 − x j ) ≤ 2 τ . A constraint kept to the end has load exactly b R b_R b R . Every job has exactly one option with final value one, which proves the result.
Two Selection Theorems
The rounding argument must control many local quantities at once, with error bounds independent of the number of vertices. The theorem of Harris and Srinivasan controls the sums arising from independent choices. The theorem of Delcourt and Postle then selects disjoint options for the large edges.
Proposition A.4 (Controlling many sums, Harris–Srinivasan [20 Theorem 4.7] ). Let Z i Z_i Z i be independent random choices, each with a finite set of possible values . For each index t t t let
F t = ∑ i f t , i ( Z i ) , 0 ≤ f t , i ( z ) ≤ 1. F_t=\sum_i f_{t,i}(Z_i), \qquad0\le f_{t,i}(z)\le1. F t = i ∑ f t , i ( Z i ) , 0 ≤ f t , i ( z ) ≤ 1. Define
R = max t E F t , D = max i , z ∑ t f t , i ( z ) , C = max { 2 , R , D } . R=\max_t \mathbb{E}F_t,\qquad D=\max_{i,z}\sum_t f_{t,i}(z),\qquad C=\max\{2,R,D\}. R = t max E F t , D = i , z max t ∑ f t , i ( z ) , C = max { 2 , R , D } . There is one choice of all the Z i Z_i Z i for which every sum satisfies
F t ≤ E F t + O ( R log ( C + 2 ) + log ( C + 2 ) ) . F_t\le\mathbb{E}F_t+O\left(\sqrt{R\log(C+2)}+\log(C+2)\right). F t ≤ E F t + O ( R log ( C + 2 ) + log ( C + 2 ) ) . The constant hidden in O ( ⋅ ) O(\cdot) O ( ⋅ ) is absolute.
Here R R R bounds the mean of one sum, whereas D D D bounds the combined contribution of one choice to all sums. Neither parameter counts the number of sums. This distinction allows the later rounding errors to be independent of the order of the graph.
For completeness, this form follows from Theorem 4.7 of [20 ] by using upper bounds c t = max { 1 , E F t } c_t=\max\{1,\mathbb{E}F_t\} c t = max { 1 , E F t } , the parameter D ^ = C + 1 \widehat{D}=C+1 D = C + 1 , and its error parameter 1 / D ^ 1/\widehat{D} 1/ D . If c t ≤ log D ^ c_t\le\log\widehat{D} c t ≤ log D , that theorem gives O ( log ( C + 2 ) ) O(\log(C+2)) O ( log ( C + 2 )) . Otherwise it gives c t + O ( c t log ( C + 2 ) + 1 ) c_t+O(\sqrt{c_t\log(C+2)}+1) c t + O ( c t log ( C + 2 ) + 1 ) . Since c t ≤ R + 1 c_t\le R+1 c t ≤ R + 1 , both cases give the displayed bound.
Proposition A.5 (Choosing disjoint sets, Delcourt–Postle). Let A A A and B B B be disjoint sets of elements. Consider a finite list of sets, each containing exactly one element of A A A and at most two elements of B B B . The same set may occur several times in the list. Write d ( x ) d(x) d ( x ) for the number of listed sets containing x x x , and Δ 2 \Delta_2 Δ 2 for the largest number of listed sets containing any given pair of distinct elements. All counts include repetitions.
Fix ζ > 0 \zeta>0 ζ > 0 . There is a constant a > 0 a>0 a > 0 such that, for all sufficiently large D D D , the conditions
d ( x ) ≥ ( 1 + D − a ) D ( x ∈ A ) , d ( y ) ≤ D ( y ∈ B ) , Δ 2 ≤ D 1 − ζ d(x)\ge(1+D^{-a})D\quad(x\in A),\qquad d(y)\le D\quad(y\in B),\qquad\Delta_2\le D^{1-\zeta} d ( x ) ≥ ( 1 + D − a ) D ( x ∈ A ) , d ( y ) ≤ D ( y ∈ B ) , Δ 2 ≤ D 1 − ζ guarantee a collection of pairwise disjoint listed sets covering every element of A A A .
An element of A A A will represent an edge to be colored, and an element of B B B will represent an available slot at one of its endpoints. A listed set specifies one option for that edge. A matching therefore chooses each edge once and uses each slot at most once. The degree inequalities provide more options for each edge than compete for a single slot, while the pair-count bound limits repeated interactions. The proposition is [10 Theorem 2.6] for sets of size at most three and an empty family of forbidden configurations.
Rounding a Bin-Packing Linear Program
For an item multiset I I I , write bp ( I ) \operatorname{bp}(I) bp ( I ) for its minimum number of unit bins and W ( I ) = ∑ i ∈ I w i W(I) = \sum_{i\in I} w_i W ( I ) = ∑ i ∈ I w i for its total weight. Let LP ( I ) \operatorname{LP}(I) LP ( I ) be the minimum mass of integer bin patterns covering its type counts. Types may be repeated within a pattern. Each actual item can instead be treated as a separate type; this convention is useful in the following rank rounding argument. Covering and equality versions have the same optimum, because surplus items can be deleted. The next lemma combines the linear grouping of Fernandez de la Vega and Lueker [14 ] with rounding a basic solution of the configuration LP; see [22 Lemma 2, Corollary 1, and Section 4] .
Lemma A.6. Fix 0 < ν ≤ 1 0 < \nu\le1 0 < ν ≤ 1 and ν > 0 \nu> 0 ν > 0 . Every finite item multiset I I I with weights in [ τ , 1 ] [\tau,1] [ τ , 1 ] satisfies
bp ( I ) ≤ ( 1 + ν ) LP ( I ) + O ν , τ ( 1 ) . \operatorname{bp}(I) \le(1+\nu)\operatorname{LP}(I) + O_{\nu,\tau}(1). bp ( I ) ≤ ( 1 + ν ) LP ( I ) + O ν , τ ( 1 ) . For fixed ν \nu ν , τ \tau τ and rational weights, such a packing can be found in polynomial time.
Proof. The empty instance is immediate. Otherwise let L = LP ( I ) > 0 L = \operatorname{LP}(I) > 0 L = LP ( I ) > 0 . The total item weight is at most L L L , so ∣ I ∣ ≤ L / τ |I| \le L/\tau ∣ I ∣ ≤ L / τ . Sort the items from largest to smallest and divide them into consecutive groups of g = ⌈ ν L ⌉ g = \lceil\nu L\rceil g = ⌈ ν L ⌉ items, with a possibly smaller final group. Set aside the first group for singleton bins. In each later group, round every weight up to that group’s largest weight.
Assign the rounded items of a group injectively to the original items of the preceding group. No rounded item is larger than its assigned original item, and these assignments are disjoint between groups. In a fractional packing of I I I , replace every occurrence of an assigned original type by its rounded type, and delete unassigned types. This shows that the rounded remainder has LP value at most L L L .
There are at most t = ⌈ 1 / ( ν τ ) ⌉ t = \lceil1/(\nu\tau)\rceil t = ⌈ 1/ ( ν τ )⌉ rounded types. An optimal basic solution of their pattern LP has at most t t t positive variables, since there are only t t t demand constraints. Rounding these variables upward gives an integral pattern cover of cost at most L + t L+t L + t . Delete surplus occurrences and restore the original, no-larger weights. Including the first group gives
bp ( I ) ≤ L + t + g ≤ ( 1 + ν ) L + O ν , τ ( 1 ) . \operatorname{bp}(I) \le L+t+g \le(1+\nu)L+O_{\nu,\tau}(1). bp ( I ) ≤ L + t + g ≤ ( 1 + ν ) L + O ν , τ ( 1 ) .
For the algorithmic statement, a pattern has at most ⌊ 1 / τ ⌋ \lfloor1/\tau\rfloor ⌊ 1/ τ ⌋ items. Enumerating all patterns and solving the resulting LP is polynomial for fixed τ \tau τ . The grouping and the second, bounded-type LP are polynomial as well.
Local Feasible Distributions
The rounding theorem requires a distribution on feasible sets at each vertex and color. The next two lemmas construct such distributions from a load bound or from bounds on the number of items in each size class. The first uses a weighted variant of the probability-preserving pairwise rounding step in [16 ] ; the proof below establishes the required weight bound.
Lemma A.7. Suppose 0 < w i ≤ 1 / 2 0 < w_i \le1/2 0 < w i ≤ 1/2 for a finite set of items I I I . If
0 ≤ x i ≤ 1 ( i ∈ I ) , ∑ i w i x i ≤ 1 / 2 , 0 \le x_i \le1 \quad(i\in I), \qquad\sum_i w_i x_i \le1/2, 0 ≤ x i ≤ 1 ( i ∈ I ) , i ∑ w i x i ≤ 1/2 , then there is a random subset S ⊆ I S \subseteq I S ⊆ I such that ∑ i ∈ S w i ≤ 1 \sum_{i\in S} w_i \le1 ∑ i ∈ S w i ≤ 1 always and P ( i ∈ S ) = x i \mathbb{P}(i\in S)=x_i P ( i ∈ S ) = x i for every i i i . Equivalently, x x x is a weighted average of the zero-one vectors of sets of total weight at most one.
Proof. We turn the entries of x x x into zeros and ones by random choices that preserve the expected value of each entry. Call an entry fractional if it is strictly between zero and one.
Suppose two entries x i , x j x_i,x_j x i , x j are fractional. Replace them temporarily by
x i ( t ) = x i + t w j , x j ( t ) = x j − t w i . x_i(t) = x_i + tw_j,\qquad x_j(t) = x_j - tw_i. x i ( t ) = x i + t w j , x j ( t ) = x j − t w i .
Their combined weight stays fixed. The values of t t t for which both entries lie in [ 0 , 1 ] [0,1] [ 0 , 1 ] form an interval [ − a , b ] [-a,b] [ − a , b ] , with a , b > 0 a,b>0 a , b > 0 . At each end of this interval, at least one of the two entries is zero or one. Choose t = b t=b t = b with probability a / ( a + b ) a/(a+b) a / ( a + b ) and t = − a t=-a t = − a with probability b / ( a + b ) b/(a+b) b / ( a + b ) . Then E t = 0 \mathbb{E}t=0 E t = 0 , so the expected value of each entry after this choice is its value before the choice. All other entries stay fixed.
Repeat while at least two fractional entries remain. Each step reduces their number, preserves total weight, and preserves all entry values in expectation. Thus the process stops after at most ∣ I ∣ |I| ∣ I ∣ steps, with total weight still at most 1 / 2 1/2 1/2 and with at most one fractional entry. If that entry has value q q q , round it to one with probability q q q and to zero otherwise. This last choice also preserves its expected value. It adds at most max i w i ≤ 1 / 2 \max_i w_i\le1/2 max i w i ≤ 1/2 to the total weight, so the final zero–one vector always describes a set of weight at most one. Repeatedly taking conditional expectations shows that the probability its i i i th entry is one is the original value x i x_i x i , as required.
The rounding within each class in the next lemma is the cardinality case of dependent rounding [16 properties (P1)–(P2)] , applied to a star. We combine it with a random choice of class.
Lemma A.8. Partition a finite set of items into classes I 2 , … , I T I_2,\ldots,I_T I 2 , … , I T , with every item in I k I_k I k having weight at most 1 / k 1/k 1/ k . Let x i ≥ 0 x_i\ge0 x i ≥ 0 , and put
p k = max { 1 k ∑ i ∈ I k x i , max i ∈ I k x i } . p_k=\max\left\{\frac{1}{k}\sum_{i\in I_k}x_i,\max_{i\in I_k}x_i\right\}. p k = max { k 1 i ∈ I k ∑ x i , i ∈ I k max x i } . where the maximum over an empty class is zero. If ∑ k = 2 T p k ≤ 1 \sum_{k=2}^{T}p_k\le1 ∑ k = 2 T p k ≤ 1 , there is a random feasible set with inclusion probability x i x_i x i for every item i i i .
Proof. Choose class k k k with probability p k p_k p k , and choose the empty set with the remaining probability. When p k > 0 p_k>0 p k > 0 , the conditional numbers z i = x i / p k z_i=x_i/p_k z i = x i / p k satisfy 0 ≤ z i ≤ 1 0\le z_i\le1 0 ≤ z i ≤ 1 and ∑ i ∈ I k z i ≤ k \sum_{i\in I_k}z_i\le k ∑ i ∈ I k z i ≤ k . Apply the pairwise procedure from the proof of Lemma A.7 , now moving two fractional entries by equal amounts in opposite directions. This preserves their sum and each entry’s expectation. After the last fractional entry is rounded, the cardinality is at most ⌈ ∑ z i ⌉ ≤ k \lceil\sum z_i\rceil\le k ⌈ ∑ z i ⌉ ≤ k , and the inclusion probabilities are the original z i z_i z i .
All chosen items have weight at most 1 / k 1/k 1/ k , so the chosen set is feasible. Multiplication by the probability p k p_k p k gives unconditional inclusion probability x i x_i x i .
Constructing the Local Inputs
The coloring algorithms begin with local packings and distributions on feasible sets. We construct these inputs explicitly, using rational arithmetic throughout.
Approximate local packings We use the classical asymptotic approximation scheme based on linear grouping and greedy insertion of small items [FdIVL81, KK82]. For every fixed ξ > 0 \xi>0 ξ > 0 , a finite item multiset I I I can be packed in polynomial time into
( 1 + ξ ) bp ( I ) + O ξ ( 1 ) (1+\xi)\operatorname{bp}(I)+O_{\xi}(1) ( 1 + ξ ) bp ( I ) + O ξ ( 1 )
bins. Choose fixed ν , τ > 0 \nu,\tau> 0 ν , τ > 0 so that 1 + ν ≤ 1 + ξ 1+\nu\le1+\xi 1 + ν ≤ 1 + ξ and ( 1 − τ ) − 1 ≤ 1 + ξ (1-\tau)^{-1} \le1+\xi ( 1 − τ ) − 1 ≤ 1 + ξ . Apply Lemma A.6 to the items of weight at least τ \tau τ . Their LP value is at most bp ( I ) \operatorname{bp}(I) bp ( I ) , so this gives at most ( 1 + ν ) bp ( I ) + O ν , τ ( 1 ) (1+\nu)\operatorname{bp}(I)+O_{\nu,\tau}(1) ( 1 + ν ) bp ( I ) + O ν , τ ( 1 ) bins. Insert the lighter items greedily. Whenever a new bin is needed, every previous bin has load greater than 1 − τ 1-\tau 1 − τ . Hence the final number is at most
max { ( 1 + ν ) bp ( I ) + O ν , τ ( 1 ) , W ( I ) 1 − τ + 1 } . \max\left\{(1+\nu)\operatorname{bp}(I)+O_{\nu,\tau}(1),\frac{W(I)}{1-\tau}+1\right\}. max { ( 1 + ν ) bp ( I ) + O ν , τ ( 1 ) , 1 − τ W ( I ) + 1 } .
Since W ( I ) ≤ bp ( I ) W(I) \le\operatorname{bp}(I) W ( I ) ≤ bp ( I ) , this proves the claim. A uniform choice among the resulting bins is an explicit distribution on actual sets, giving each item probability exactly the reciprocal of the number of bins. Empty bins may be added to equalize this number between vertices.
The next lemma uses an algorithmic Carathéodory decomposition [17 Theorem 6.5.11] , followed by rounding the at most one fractional coordinate of each vertex of the single-capacity polytope. We give the details to record the support sizes and running time.
Lemma A.9. Suppose 0 < w i ≤ b ≤ r 0 < w_i \le b \le r 0 < w i ≤ b ≤ r , 0 ≤ x i ≤ 1 0 \le x_i \le1 0 ≤ x i ≤ 1 , and ∑ i = 1 m w i x i ≤ r − b \sum_{i=1}^{m} w_i x_i \le r-b ∑ i = 1 m w i x i ≤ r − b . Then x x x is a convex combination of at most 2 m + 2 2m+2 2 m + 2 zero–one vectors, each of weight at most r r r . Similarly, if x ∈ [ 0 , 1 ] m x \in[0,1]^m x ∈ [ 0 , 1 ] m and ∑ i x i ≤ k \sum_i x_i \le k ∑ i x i ≤ k for a nonnegative integer k k k , then x x x is a convex combination of at most m + 1 m+1 m + 1 incidence vectors of sets with at most k k k items. For rational input data, both decompositions can be found in polynomial time.
Proof. Consider the bounded polytope
P = { y ∈ [ 0 , 1 ] m : ∑ i w i y i ≤ r − b } . P=\left\{y\in[0,1]^m:\sum_i w_i y_i\le r-b\right\}. P = { y ∈ [ 0 , 1 ] m : i ∑ w i y i ≤ r − b } .
We first express x x x as a convex combination of at most m + 1 m+1 m + 1 vertices of P P P . At the current point, keep all inequalities that hold with equality; they describe its smallest face. Find a vertex z z z of this face by successive linear optimization of the coordinates. If the current point is not already z z z , extend the ray from z z z through that point until another inequality becomes tight. The current point lies between z z z and this new boundary point. Record that convex combination and continue at the boundary point. The dimension of the current face drops at every step, so there are at most m m m steps. The polytope has 2 m + 1 2m+1 2 m + 1 inequalities. For rational input data, the linear programs and ray intersections can be computed in polynomial time with polynomial encoding length.
A vertex of P P P has at most one coordinate strictly between zero and one. Otherwise two such coordinates could be moved slightly in opposite weighted directions while staying in P P P , contradicting that it is a vertex. For each vertex in the decomposition, replace its possible fractional coordinate y i y_i y i by one with probability y i y_i y i and by zero otherwise. This preserves its mean. Rounding up increases its weight by at most b b b , so both resulting sets have weight at most r r r . Each vertex gives at most two sets, proving the first claim.
For the second claim use { y ∈ [ 0 , 1 ] m : ∑ i y i ≤ k } \{y \in[0,1]^m:\sum_i y_i \le k\} { y ∈ [ 0 , 1 ] m : ∑ i y i ≤ k } instead. The same two-coordinate argument leaves at most one fractional coordinate at a vertex. If the sum constraint is not tight, that coordinate can be moved alone; if it is tight, its value is an integer because k k k and the other coordinates are integers. Thus every vertex is already the required zero–one vector.
The Exact Total-Weight Bound for General Multigraphs
This appendix supplies the proof and deterministic algorithm for § 2 .
Properly Coloring a Bounded-Degree Multigraph
The following elementary bound supplies the proper coloring used in the exact general total-weight bound. It is a slightly weaker form of Shannon’s bound [34 ] , with a short constructive proof.
Lemma B.1. Every multigraph without loops and of maximum degree d d d has a proper edge coloring with at most 3 ⌈ d / 2 ⌉ 3\lceil d/2\rceil 3 ⌈ d /2 ⌉ colors.
Proof. There is nothing to do if d = 0 d=0 d = 0 . Put r = ⌈ d / 2 ⌉ r=\lceil d/2\rceil r = ⌈ d /2 ⌉ . Take two disjoint copies of the graph. For every original vertex v v v , join its two copies by 2 r − d ( v ) 2r-d(v) 2 r − d ( v ) new parallel edges. Every vertex of the enlarged graph now has degree 2 r 2r 2 r .
Orient an Euler tour in each connected component. Each vertex has exactly r r r incoming and r r r outgoing edges. Make two new vertices v o u t , v i n v_{\mathrm{out}},v_{\mathrm{in}} v out , v in for each vertex v v v , and replace each directed edge u → v u\to v u → v by the edge u o u t v i n u_{\mathrm{out}}v_{\mathrm{in}} u out v in . This graph is bipartite and has maximum degree r r r . König’s theorem colors its edges properly with r r r colors.
Transfer this coloring to the enlarged graph. At a vertex, each color now appears on at most one incoming edge and at most one outgoing edge. The edges of that color therefore form paths and cycles, which can be properly colored with three colors. Use a separate set of three colors for each of the r r r colors, and then restrict to the original graph. □ \square □
Finding Room for a Remaining Edge
Lemma 2.1 (restated). Let n ≥ 1 n\ge1 n ≥ 1 be an integer and 0 < a < 1 / 2 0<a<1/2 0 < a < 1/2 . Suppose the loads x c , y c ≥ 0 x_c,y_c\ge0 x c , y c ≥ 0 of 3 n 3n 3 n colors at two vertices satisfy ∑ c x c ≤ n \sum_c x_c\le n ∑ c x c ≤ n , and ∑ c y c ≤ n \sum_c y_c\le n ∑ c y c ≤ n . If at least 2 n 2n 2 n colors satisfy x c ≥ a x_c\ge a x c ≥ a , then some color c c c satisfies x c + a ≤ 1 x_c+a\le1 x c + a ≤ 1 and y c + a ≤ 1 y_c+a\le1 y c + a ≤ 1 .
Proof. Let W = { c : x c ≥ a } W=\{c:x_c\ge a\} W = { c : x c ≥ a } , so ∣ W ∣ ≥ 2 n |W|\ge2n ∣ W ∣ ≥ 2 n . Assume that no color has room at both vertices. Then, for each color c c c , either x c > 1 − a x_c>1-a x c > 1 − a or y c > 1 − a y_c>1-a y c > 1 − a .
Let
S = { c : y c > 1 − a } , s = ∣ S ∣ . S=\{c:y_c>1-a\},\qquad s=|S|. S = { c : y c > 1 − a } , s = ∣ S ∣.
If S S S is nonempty, then
s ( 1 − a ) < ∑ c ∈ S y c ≤ n . s(1-a)<\sum_{c\in S}y_c\le n. s ( 1 − a ) < c ∈ S ∑ y c ≤ n .
The same conclusion s < n / ( 1 − a ) s<n/(1-a) s < n / ( 1 − a ) is immediate when S S S is empty. Every color outside S S S has x c > 1 − a x_c>1-a x c > 1 − a .
First suppose that s ≤ n s\le n s ≤ n . There are at least 2 n 2n 2 n colors outside S S S , so
∑ c x c > ( 3 n − s ) ( 1 − a ) ≥ 2 n ( 1 − a ) > n , \sum_c x_c>(3n-s)(1-a)\ge2n(1-a)>n, c ∑ x c > ( 3 n − s ) ( 1 − a ) ≥ 2 n ( 1 − a ) > n ,
a contradiction.
It remains to consider s > n s>n s > n . At most n n n of all 3 n 3n 3 n colors lie outside W W W , since ∣ W ∣ ≥ 2 n |W|\ge2n ∣ W ∣ ≥ 2 n . Hence ∣ S ∩ W ∣ ≥ s − n |S\cap W|\ge s-n ∣ S ∩ W ∣ ≥ s − n . The sets [ 3 n ] ∖ S [3n]\setminus S [ 3 n ] ∖ S and S ∩ W S\cap W S ∩ W are disjoint, and therefore
∑ c x c > ( 3 n − s ) ( 1 − a ) + ( s − n ) a . \sum_c x_c>(3n-s)(1-a)+(s-n)a. c ∑ x c > ( 3 n − s ) ( 1 − a ) + ( s − n ) a .
The expression on the right has coefficient 2 a − 1 < 0 2a-1<0 2 a − 1 < 0 in s s s . Using s < n / ( 1 − a ) s<n/(1-a) s < n / ( 1 − a ) , it is therefore larger than
( 3 n − n 1 − a ) ( 1 − a ) + ( n 1 − a − n ) a = n + n ( 1 − 2 a ) 2 1 − a > n . \left(3n-\frac{n}{1-a}\right)(1-a)+\left(\frac{n}{1-a}-n\right)a=n+\frac{n(1-2a)^2}{1-a}>n. ( 3 n − 1 − a n ) ( 1 − a ) + ( 1 − a n − n ) a = n + 1 − a n ( 1 − 2 a ) 2 > n .
This again contradicts ∑ c x c ≤ n \sum_c x_c\le n ∑ c x c ≤ n .
The Exact Bound
Theorem B.2. Every weighted multigraph without loops satisfies
χ w ′ ( G ) ≤ 3 ⌈ Δ w ( G ) ⌉ . \chi'_w(G)\le3\lceil\Delta_w(G)\rceil. χ w ′ ( G ) ≤ 3 ⌈ Δ w ( G )⌉ . Such a coloring can be found by a deterministic polynomial-time algorithm. The leading coefficient three is best possible.
Proof. The empty graph needs no colors. Otherwise let n = ⌈ Δ w ( G ) ⌉ ≥ 1 n=\lceil\Delta_w(G)\rceil\ge1 n = ⌈ Δ w ( G )⌉ ≥ 1 . Order all edges from largest weight to smallest. Starting with F = ∅ F=\varnothing F = ∅ , inspect the edges in this order. Put the current edge into F F F if its addition leaves the degree of F F F at most 2 n 2n 2 n at both endpoints. Thus
Δ ( F ) ≤ 2 n . \Delta(F)\le2n. Δ ( F ) ≤ 2 n .
If an edge e ∉ F e\notin F e ∈ / F was rejected, then at one of its endpoints, say u u u , there were already 2 n 2n 2 n edges of F F F . All of them were inspected before e e e , so each has weight at least w e w_e w e . We call them the witnesses for e e e at u u u . The witnesses remain in F F F .
By Shannon’s theorem, in the form of Lemma B.1, the multigraph F F F has a proper edge coloring with at most 3 n 3n 3 n colors. Pad it with unused colors to obtain a palette of exactly 3 n 3n 3 n colors. This is already a feasible weighted coloring of F F F , since at most one edge of each color meets any vertex.
We insert the edges outside F F F one at a time without changing the colors on F F F . Consider an edge e = u v e=uv e = uv of weight a a a . First, a < 1 / 2 a<1/2 a < 1/2 . Indeed, at a witness endpoint the 2 n 2n 2 n witnesses and e e e are distinct incident edges. If a ≥ 1 / 2 a\ge1/2 a ≥ 1/2 , their total weight would be at least 2 n a + a > n 2na+a>n 2 na + a > n , contrary to W G ( u ) ≤ n W_G(u)\le n W G ( u ) ≤ n .
Let x c x_c x c and y c y_c y c be the current loads of color c c c at u u u and v v v . Only a subset of the incident edges has been colored, so
∑ c x c ≤ W G ( u ) ≤ n , ∑ c y c ≤ W G ( v ) ≤ n . \sum_c x_c\le W_G(u)\le n,\qquad\sum_c y_c\le W_G(v)\le n. c ∑ x c ≤ W G ( u ) ≤ n , c ∑ y c ≤ W G ( v ) ≤ n .
The 2 n 2n 2 n witness edges at u u u have distinct colors because the coloring of F F F is proper. In each of those colors the present load at u u u is at least the weight of its witness, and hence at least a a a . Lemma 2.1 now gives a color with room for e e e at both endpoints. Give e e e that color. The coloring stays feasible, and the colors of all skeleton edges stay fixed, so the same argument applies to the next edge. After finitely many insertions every edge is colored with one of the same 3 n 3n 3 n colors. Therefore
χ w ′ ( G ) ≤ 3 n = 3 ⌈ Δ w ( G ) ⌉ . \chi'_w(G)\le3n=3\lceil\Delta_w(G)\rceil. χ w ′ ( G ) ≤ 3 n = 3 ⌈ Δ w ( G )⌉ .
The triangle construction in Section B.4 proves sharpness.
Algorithm B.1 (The exact general total-weight construction). Input: a weighted multigraph G G G without loops. Put n = ⌈ Δ w ( G ) ⌉ n = \lceil\Delta_w(G) \rceil n = ⌈ Δ w ( G )⌉ .
Sort the edges by decreasing weight. Starting with F = ∅ F = \varnothing F = ∅ , add each edge whenever doing so leaves the degree of F F F at most 2 n 2n 2 n at both endpoints.
Apply the constructive proof of Lemma B.1 to color F F F properly with at most 3 n 3n 3 n colors. Add unused colors to obtain a palette of exactly 3 n 3n 3 n colors.
Inspect each edge outside F F F and assign it a color with room at both endpoints. Find such a color by scanning the palette. Return the resulting coloring.
Lemma 2.1 guarantees that every scan succeeds. The construction is deterministic and polynomial and uses at most 3 ⌈ Δ w ( G ) ⌉ 3\lceil\Delta_w(G) \rceil 3 ⌈ Δ w ( G )⌉ colors.
Sharpness
For an integer t ≥ 2 t \ge2 t ≥ 2 , take three vertices and put t t t parallel edges between each pair. Give every edge weight ( t + 1 ) / ( 2 t ) > 1 / 2 (t+1)/(2t) > 1/2 ( t + 1 ) / ( 2 t ) > 1/2 . Any two edges meet, and their weights add up to more than one. Thus every color contains at most one edge, and
χ w ′ ( G t ) = 3 t , Δ w ( G t ) = t + 1 , bp ( G t ) = 2 t . (3) \chi'_w(G_t) = 3t,\qquad\Delta_w(G_t) = t+1,\qquad\operatorname{bp}(G_t) = 2t. \tag*{(3)} χ w ′ ( G t ) = 3 t , Δ w ( G t ) = t + 1 , bp ( G t ) = 2 t . (3)
This example is also noted by Feige and Singh [15 Section 1.2] . It shows that χ w ′ ( G t ) / Δ w ( G t ) → 3 \chi'_w(G_t)/\Delta_w(G_t) \to3 χ w ′ ( G t ) / Δ w ( G t ) → 3 and gives the lower bound 3 / 2 3/2 3/2 for the coefficient of bp ( G ) \operatorname{bp}(G) bp ( G ) in general multigraphs.
The Simple-Graph Bound and Local-to-Global Rounding
This appendix gives the full rounding argument used in § 3 . We first describe local bins by profiles, then prove the rounding theorem, and finally apply it to the local bin packings. The remaining subsections give the implementation details.
For a vertex v v v , put
K v = conv { 1 S : S ⊆ E ( v ) , ∑ e ∈ S w e ≤ 1 } . \mathcal{K}_v = \operatorname{conv}\left\{\mathbf{1}_S : S \subseteq E(v),\ \sum_{e \in S} w_e \le1\right\}. K v = conv { 1 S : S ⊆ E ( v ) , e ∈ S ∑ w e ≤ 1 } .
Thus, x ∈ K v x \in\mathcal{K}_v x ∈ K v if and only if there is a random feasible subset of E ( v ) E(v) E ( v ) that contains each edge e e e with probability x e x_e x e . The rounding theorem uses this local feasibility condition.
Remark. Two edges of weight 0.6, each given fractional value 0.8, have total fractional load 0.96. However, at most one of them fits in a bin, so their inclusion probabilities must sum to at most one. The load constraint alone therefore does not imply membership in K v \mathcal{K}_v K v .
Describing Local Bin Packings
We first consider only one vertex, or equivalently one finite set of items with weights w e ≤ 1 w_e \le1 w e ≤ 1 . A subset is feasible if its total weight is at most one. We say a vector x = ( x e ) x = (x_e) x = ( x e ) is an average of feasible sets if there are nonnegative numbers p S p_S p S such that
∑ S p S = 1 , x e = ∑ S ∋ e p S . \sum_S p_S = 1,\qquad x_e = \sum_{S \ni e} p_S. S ∑ p S = 1 , x e = S ∋ e ∑ p S .
where only feasible sets S S S are used. In probability terms, choose S S S with probability p S p_S p S ; then item e e e is chosen with probability x e x_e x e . Write K \mathcal{K} K for all such vectors. At a graph vertex we write K v \mathcal{K}_v K v .
Fix a small positive number β \beta β . Call an item large if its weight is at least β \beta β , and small otherwise. A feasible set has at most K = ⌊ 1 / β ⌋ K = \lfloor1/\beta\rfloor K = ⌊ 1/ β ⌋ large items. We describe a bin by slots of sizes b 1 , … , b K b_1,\ldots,b_K b 1 , … , b K , allowing zero-size slots, and by a space of size R R R reserved for small items. The description is valid if
∑ i b i + R ≤ 1. \sum_i b_i + R \le1. i ∑ b i + R ≤ 1.
A large item may occupy a slot only if its weight is no greater than the slot size. Several small items may share the reserved space as long as their total weight is at most R R R . See Figure 5 .
Figure 5. A profile records places for large items and space for small items. Each large-item slot holds at most one item whose weight fits. Several small items may share the reserved space. Unused capacity is allowed.
The number of different bins may depend on the input size. We replace them by a bounded list of profiles, losing only a small fraction of each item’s inclusion probability. At this stage, an item may be assigned fractionally to several profiles; the later rounding argument makes the choices integral.
Lemma C.1. Fix 0 < δ < 1 0 < \delta< 1 0 < δ < 1 and 0 < β ≤ r 0 = δ / 4 0 < \beta\le r_0 = \delta/4 0 < β ≤ r 0 = δ /4 . If x ∈ K x \in\mathcal{K} x ∈ K , there are at most M = M ( β , δ ) M = M(\beta,\delta) M = M ( β , δ ) valid profiles, with probabilities λ P ≥ 0 \lambda_P \ge0 λ P ≥ 0 satisfying ∑ P λ P = 1 \sum_P \lambda_P = 1 ∑ P λ P = 1 , and nonnegative assigned fractions a ( e ; P , i ) a(e;P,i) a ( e ; P , i ) with the following properties. Put y e = ( 1 − δ ) x e y_e = (1-\delta)x_e y e = ( 1 − δ ) x e . Then
∑ P , i a ( e ; P , i ) = y e , (4) \sum_{P,i} a(e;P,i) = y_e, \tag*{(4)} P , i ∑ a ( e ; P , i ) = y e , (4) ∑ e a ( e ; P , i ) ≤ λ P for each large-item slot i , (5) \sum_e a(e;P,i) \le\lambda_P \qquad\text{for each large-item slot }i, \tag*{(5)} e ∑ a ( e ; P , i ) ≤ λ P for each large-item slot i , (5) ∑ e : w e < β w e a ( e ; P , R ) ≤ λ P R for the space reserved for small items. (6) \sum_{e:w_e<\beta} w_e a(e;P,R) \le\lambda_P R \qquad\text{for the space reserved for small items.} \tag*{(6)} e : w e < β ∑ w e a ( e ; P , R ) ≤ λ P R for the space reserved for small items. (6) Large items are assigned only to slots that can hold their weight. Small items are assigned only to positive reserved spaces, each of which has size at least r 0 r_0 r 0 . Every individual assigned fraction is at most y e y_e y e .
Remark. Equation (C.1) preserves a 1 − δ 1-\delta 1 − δ fraction of each item’s original probability. The capacity bounds use two different units: a large-item slot holds one item, whereas a reserved space for small items bounds their total weight. Keeping these two constraints separate will allow us to round large and small edges by different methods.
Proof. Choose a random feasible set whose inclusion probabilities are x e x_e x e . Give each large item in the chosen set a slot equal to its weight, and put R = 1 − R = 1- R = 1 − the sum of those slot sizes. The small items in the set fit in this remaining space.
For each distinct positive slot size b b b , let m ( b ) m(b) m ( b ) be the expected number of slots of that size. This is a finite list of nonnegative numbers with ∑ b m ( b ) ≤ K \sum_b m(b) \le K ∑ b m ( b ) ≤ K . Put q = δ / 4 q = \delta/4 q = δ /4 . We keep a short list of slot sizes as follows. Keep the largest size. Scan toward smaller sizes, and keep the first size for which the sum of the m ( b ) m(b) m ( b ) at smaller sizes than the previous kept size reaches q q q . Repeat, and keep the smallest size at the end. If there are no slots, the list is empty.
Each completed step uses at least q q q of the total sum ∑ b m ( b ) \sum_b m(b) ∑ b m ( b ) . Thus at most L = ⌊ K / q ⌋ + 2 L = \lfloor K/q\rfloor+ 2 L = ⌊ K / q ⌋ + 2 sizes are kept. The sum of the m ( b ) m(b) m ( b ) strictly between two consecutive kept sizes is less than q q q . Round every slot size down to the largest kept size no greater than it. For any threshold t t t , this lowers the expected number of slots of size at least t t t by less than q q q : only sizes between the two kept values around t t t can cross below t t t .
Also round each reserved space down to r 0 ⌊ R / r 0 ⌋ r_0\lfloor R/r_0\rfloor r 0 ⌊ R / r 0 ⌋ . Every resulting profile is valid, and every positive reserved space has size at least r 0 r_0 r 0 . Sort the slots and pad with zeros. There are now only boundedly many descriptions, since there are at most L + 1 L+1 L + 1 choices for each of K K K slot sizes and at most ⌊ 1 / r 0 ⌋ + 1 \lfloor1/r_0\rfloor+1 ⌊ 1/ r 0 ⌋ + 1 choices for the reserved space.
Give this rounded distribution total probability s = 1 − δ s = 1-\delta s = 1 − δ . Add probability s q sq s q on a profile consisting of one slot of size one, and probability s r 0 sr_0 s r 0 on a profile consisting of reserved space of size one. These probabilities sum to at most
s ( 1 + q + r 0 ) = ( 1 − δ ) ( 1 + δ / 2 ) ≤ 1. s(1+q+r_0) = (1-\delta)(1+\delta/2) \le1. s ( 1 + q + r 0 ) = ( 1 − δ ) ( 1 + δ /2 ) ≤ 1.
Put any probability left over on the empty description. In particular, one may use
M ≤ ( L + 1 ) K ( ⌊ 1 / r 0 ⌋ + 1 ) + 3. M \le(L+1)^K(\lfloor1/r_0\rfloor+1)+3. M ≤ ( L + 1 ) K (⌊ 1/ r 0 ⌋ + 1 ) + 3.
The extra size-one slot repairs every lost threshold count. The total slot capacity, counted as fractions of slots, for sizes at least t t t is at least
s ∑ b ≥ t m ( b ) = ∑ e : w e ≥ max { t , β } s x e ( 0 < t ≤ 1 ) . (7) s\sum_{b\ge t}m(b) = \sum_{e:w_e\ge\max\{t,\beta\}} sx_e \qquad(0<t\le1). \tag*{(7)} s b ≥ t ∑ m ( b ) = e : w e ≥ m a x { t , β } ∑ s x e ( 0 < t ≤ 1 ) . (7)
Assign each large item its required fraction s x e s x_e s x e , processing items from largest weight to smallest. Split fractions across compatible slots as needed. This process cannot fail. If it stopped at an item of weight t t t , all fractions already placed came from items of weight at least t t t , and all slots of size at least t t t would be full. That would contradict the displayed inequality. This proves (C.1) and (C.2) for large items.
The total expected reserved space is Q = ∑ P λ P R ( P ) Q=\sum_P \lambda_P R(P) Q = ∑ P λ P R ( P ) . Rounding a space down loses less than r 0 r_0 r 0 , and the added full-space description repairs that loss. Hence
Q ≥ s ( E R − r 0 ) + s r 0 ≥ ∑ e : w e < β w e y e . Q \ge s(ER-r_0)+sr_0 \ge\sum_{e:w_e<\beta}w_e y_e. Q ≥ s ( E R − r 0 ) + s r 0 ≥ e : w e < β ∑ w e y e .
Assign a small item’s fraction among the reserved spaces in proportion to their expected capacities:
a ( e ; P , R ) = y e λ P R ( P ) Q if Q > 0. a(e;P,R)=y_e\frac{\lambda_P R(P)}{Q}\quad\text{if }Q>0. a ( e ; P , R ) = y e Q λ P R ( P ) if Q > 0.
These fractions sum to y e y_e y e . Their total weight in description P P P is at most λ P R ( P ) \lambda_P R(P) λ P R ( P ) , giving (C.3). If Q = 0 Q=0 Q = 0 , all small-item demands are zero. Finally, since all fractions are nonnegative and sum to y e y_e y e , each one is at most y e y_e y e .
The fractions satisfy the required marginals and capacities, but need not form a distribution on sets of distinct items within each profile. The rounding step selects at most one option for each edge.
Choosing Compatible Profiles and Whole Edges
We first choose one profile for every vertex and color. These choices must preserve most of the proposed weight while leaving slack in every slot and reserved space. We then select disjoint slot pairs for the large edges and round the small-edge options by linear algebra. The slack created in the first step pays for the losses in the second.
Theorem 3.1 (Local-to-global rounding; restated). Fix constants C 0 , C 1 , ε > 0 C_0,C_1,\varepsilon>0 C 0 , C 1 , ε > 0 . Let G G G be a simple graph, and let n n n be a parameter such that W G ( v ) ≤ n W_G(v)\le n W G ( v ) ≤ n for every vertex . Let C \mathcal{C} C contain at most C 1 n C_1n C 1 n colors . Suppose that, for every edge e e e , color c c c , and vertex v v v , the following conditions hold:
0 ≤ x e , c ≤ C 0 n , ∑ c ∈ C x e , c ≤ 1 , ( x e , c : e ∋ v ) ∈ K v ( c ∈ C ) . 0\le x_{e,c}\le\frac{C_0}{n},\qquad\sum_{c\in\mathcal{C}}x_{e,c}\le1,\qquad(x_{e,c}:e\ni v)\in K_v\quad(c\in\mathcal{C}). 0 ≤ x e , c ≤ n C 0 , c ∈ C ∑ x e , c ≤ 1 , ( x e , c : e ∋ v ) ∈ K v ( c ∈ C ) . Then, for all sufficiently large n n n , there is a feasible partial coloring using only pairs ( e , c ) (e,c) ( e , c ) with x e , c > 0 x_{e,c}>0 x e , c > 0 , whose colored incident weight at every vertex v v v is at least ∑ e ∋ v w e ∑ c ∈ C x e , c − ε n − O C 0 , C 1 , ε ( n 3 / 4 ) \sum_{e\ni v}w_e\sum_{c\in\mathcal{C}}x_{e,c}-\varepsilon n-O_{C_0,C_1,\varepsilon}(n^{3/4}) ∑ e ∋ v w e ∑ c ∈ C x e , c − ε n − O C 0 , C 1 , ε ( n 3/4 ) . Both the threshold and the hidden constant are independent of the number of vertices and the minimum positive edge weight.
Proof of Theorem 3.1. All constants hidden in O ( ⋅ ) O(\cdot) O ( ⋅ ) below may depend on the fixed parameters, but not on n n n or on the number of vertices.
Dividing the vertices into groups Choose a fixed integer r ≥ max { 2 , 4 / ε } r\ge\max\{2,4/\varepsilon\} r ≥ max { 2 , 4/ ε } . Assign each vertex independently and uniformly to one of r r r groups. For a vertex v v v and group j j j , let
L v , j = ∑ u : u v ∈ E ( G ) w u v 1 { u is in group j } . L_{v,j}=\sum_{u:uv\in E(G)}w_{uv}\mathbf{1}_{\{u\text{ is in group }j\}}. L v , j = u : uv ∈ E ( G ) ∑ w uv 1 { u is in group j } .
This is the weight from v v v to group j j j , and its expectation is W G ( v ) / r W_G(v)/r W G ( v ) / r . Apply Proposition A.4 to all these sums. One choice at a source vertex u u u contributes at most one to each sum, because G G G is simple, and its contributions over all sums add up to W G ( u ) ≤ n W_G(u) \le n W G ( u ) ≤ n . Thus the proposition has R ≤ n / r R \le n/r R ≤ n / r and D ≤ n D \le n D ≤ n . It gives a division into groups V 1 , … , V r V_1,\ldots,V_r V 1 , … , V r for which
L v , j ≤ W G ( v ) r + O ( n log n ) for every v , j . L_{v,j} \le\frac{W_G(v)}{r} + O(\sqrt{n\log n}) \quad\text{for every } v,j. L v , j ≤ r W G ( v ) + O ( n log n ) for every v , j .
This bound allows arbitrarily many edges of very small weight.
Let H H H contain just the edges joining different groups. Set aside the other edges for now. Their total weight at every vertex is at most n / r + O ( n log n ) n/r + O(\sqrt{n\log n}) n / r + O ( n log n ) . Restrict the proposed fractions to H H H . They remain averages of feasible sets: intersect each original feasible set with E ( H ) E(H) E ( H ) . If
T v G = ∑ e ∈ E G ( v ) w e ∑ c x e , c , T v H = ∑ e ∈ E H ( v ) w e ∑ c x e , c , T_v^G = \sum_{e\in E_G(v)} w_e\sum_c x_{e,c}, \qquad T_v^H = \sum_{e\in E_H(v)} w_e\sum_c x_{e,c}, T v G = e ∈ E G ( v ) ∑ w e c ∑ x e , c , T v H = e ∈ E H ( v ) ∑ w e c ∑ x e , c ,
then ∑ c x e , c ≤ 1 \sum_c x_{e,c} \le1 ∑ c x e , c ≤ 1 gives
T v G − T v H ≤ n r + O ( n log n ) . (8) T_v^G - T_v^H \le\frac{n}{r} + O(\sqrt{n\log n}). \tag*{(8)} T v G − T v H ≤ r n + O ( n log n ) . (8)
Until the final error calculation, work only with H H H : every edge, incident-edge set, and sum below belongs to H H H .
Profiles and lost weight Choose small constants 0 < δ , θ , σ < 1 0 < \delta,\theta,\sigma< 1 0 < δ , θ , σ < 1 , put r 0 = δ / 4 r_0 = \delta/4 r 0 = δ /4 , and choose a sufficiently small positive constant β ≤ r 0 \beta\le r_0 β ≤ r 0 . The precise requirements on these constants will be given at the end. Call an edge large if w e ≥ β w_e \ge\beta w e ≥ β , and small otherwise.
Apply Lemma C.1 to every vertex v v v and color c c c . Write λ v , c , P \lambda_{v,c,P} λ v , c , P for the probability of profile P P P , and a v , c ( e ; P , i ) a_{v,c}(e;P,i) a v , c ( e ; P , i ) for the fraction assigned to edge e e e in its slot i i i . For a small edge, i i i instead denotes the space for small edges. In either case these fractions sum, over all descriptions and places, to
y e , c = ( 1 − δ ) x e , c . y_{e,c} = (1-\delta)x_{e,c}. y e , c = ( 1 − δ ) x e , c .
Use the same number M M M of profile labels everywhere, adding empty descriptions of probability zero if necessary. The bound on M M M depends only on β , δ \beta,\delta β , δ .
It is useful to give every label a positive probability. Set
λ v , c , P ′ = ( 1 − θ ) λ v , c , P + θ / M , ρ = ( 1 − θ ) ( 1 − σ ) . \lambda'_{v,c,P} = (1-\theta)\lambda_{v,c,P} + \theta/M, \qquad\rho= (1-\theta)(1-\sigma). λ v , c , P ′ = ( 1 − θ ) λ v , c , P + θ / M , ρ = ( 1 − θ ) ( 1 − σ ) .
Initially, choose all descriptions P v , c P_{v,c} P v , c independently according to λ ′ \lambda' λ ′ . For an edge e = u v e=uv e = uv , a color c c c , and a place i i i at u u u and a place j j j at v v v , define
X ( e , c , i , j ) = ρ a u , c ( e ; P u , c , i ) a v , c ( e ; P v , c , j ) y e , c λ u , c , P u , c ′ λ v , c , P v , c ′ . X(e,c,i,j) = \frac{\rho\,a_{u,c}(e;P_{u,c},i)a_{v,c}(e;P_{v,c},j)}{y_{e,c}\lambda'_{u,c,P_{u,c}}\lambda'_{v,c,P_{v,c}}}. X ( e , c , i , j ) = y e , c λ u , c , P u , c ′ λ v , c , P v , c ′ ρ a u , c ( e ; P u , c , i ) a v , c ( e ; P v , c , j ) .
If y e , c = 0 y_{e,c}=0 y e , c = 0 , the value is zero. A positive value is a fractional option to give e e e color c c c and use the stated places at its two ends. Large edges use ordinary slots at both ends; small edges use the space for small edges at both ends. Put
S e = ∑ c , i , j X ( e , c , i , j ) , μ e = ρ ∑ c y e , c ≤ 1. S_e = \sum_{c,i,j} X(e,c,i,j), \qquad\mu_e = \rho\sum_c y_{e,c} \le1. S e = c , i , j ∑ X ( e , c , i , j ) , μ e = ρ c ∑ y e , c ≤ 1.
The factor λ ′ \lambda' λ ′ in each denominator cancels the probability of choosing that description. Summing the assigned fractions at each end therefore gives E S e = μ e \mathbb{E}S_e = \mu_e E S e = μ e . More explicitly, for each color the two endpoint sums give y e , c 2 y_{e,c}^2 y e , c 2 ; division by y e , c y_{e,c} y e , c leaves y e , c y_{e,c} y e , c .
For one color, the sum of the X X X values is O ( 1 / n ) O(1/n) O ( 1/ n ) . Indeed, ∑ i a v , c ( e ; P , i ) ≤ y e , c \sum_i a_{v,c}(e;P,i)\le y_{e,c} ∑ i a v , c ( e ; P , i ) ≤ y e , c , λ v , c , P ′ ≥ θ / M \lambda'_{v,c,P}\ge\theta/M λ v , c , P ′ ≥ θ / M , and y e , c ≤ C 0 / n y_{e,c}\le C_0/n y e , c ≤ C 0 / n . There are O ( n ) O(n) O ( n ) colors, so S e = O ( 1 ) S_e=O(1) S e = O ( 1 ) for every possible set of choices. The terms from distinct colors are independent. Adding their variances gives Var ( S e ) = O ( 1 / n ) \operatorname{Var}(S_e)=O(1/n) Var ( S e ) = O ( 1/ n ) .
At a vertex, measure the total error by adding the absolute errors of its incident edges, multiplied by their weights:
Z v = ∑ e ∋ v w e ∣ S e − μ e ∣ . Z_v=\sum_{e\ni v}w_e|S_e-\mu_e|. Z v = e ∋ v ∑ w e ∣ S e − μ e ∣.
The Cauchy–Schwarz inequality gives E ∣ S e − μ e ∣ ≤ Var ( S e ) \mathbb{E}|S_e-\mu_e|\le\sqrt{\operatorname{Var}(S_e)} E ∣ S e − μ e ∣ ≤ Var ( S e ) . Since ∑ e ∋ v w e ≤ n \sum_{e\ni v}w_e\le n ∑ e ∋ v w e ≤ n , we obtain
Var ( S e ) = O ( 1 / n ) , E Z v = O ( n ) . (9) \operatorname{Var}(S_e)=O(1/n),\qquad\mathbb{E}Z_v=O(\sqrt{n}). \tag*{(9)} Var ( S e ) = O ( 1/ n ) , E Z v = O ( n ) . (9)
We must also respect the slots and the space for small edges. For an ordinary slot, let d ( e ) = 1 d(e)=1 d ( e ) = 1 and let its capacity be h ( P , i ) = 1 h(P,i)=1 h ( P , i ) = 1 ; it can hold at most one edge. For the space for small edges, let d ( e ) = w e d(e)=w_e d ( e ) = w e and h ( P , i ) = R ( P ) h(P,i)=R(P) h ( P , i ) = R ( P ) ; its capacity measures total weight. Its load is the sum of d ( e ) X ( e , c , i , j ) d(e)X(e,c,i,j) d ( e ) X ( e , c , i , j ) over all options using it. Fix a profile P P P at ( v , c ) (v,c) ( v , c ) and one of its places i i i . Averaging over the choices at the other endpoints gives load at most
ρ λ v , c , P ′ ∑ e ∋ v d ( e ) a v , c ( e ; P , i ) ≤ ( 1 − σ ) h ( P , i ) . (10) \frac{\rho}{\lambda'_{v,c,P}}\sum_{e\ni v}d(e)a_{v,c}(e;P,i)\le(1-\sigma)h(P,i). \tag*{(10)} λ v , c , P ′ ρ e ∋ v ∑ d ( e ) a v , c ( e ; P , i ) ≤ ( 1 − σ ) h ( P , i ) . (10)
Here we used the capacity bounds of Lemma C.1 and λ ′ ≥ ( 1 − θ ) λ \lambda'\ge(1-\theta)\lambda λ ′ ≥ ( 1 − θ ) λ . We omit spaces of capacity zero. Every remaining capacity is at least r 0 r_0 r 0 .
Choosing profiles group by group The groups V 1 , … , V r V_1,\ldots,V_r V 1 , … , V r have no edges within them in H H H . We choose the lists P v = ( P v , c : c ∈ C ) P_v=(P_{v,c}:c\in\mathcal{C}) P v = ( P v , c : c ∈ C ) one group at a time, as shown in Figure 6 . All references to the original distribution of a profile list mean the independent description choices with probabilities λ ′ \lambda' λ ′ .
Figure 6. Divide the vertices into a fixed number of groups. The dashed edges have small total weight at each vertex and will be colored later. Choose descriptions one group at a time, keeping all earlier choices. There are no edges within a group in the remaining graph, so choices made in one step can be treated as independent.
We use second moments to compute an upper bound on the remaining absolute error. Choose a power of two κ \kappa κ with ( 2 n 2 ) − 1 < κ ≤ n − 2 (2n^2)^{-1}<\kappa\le n^{-2} ( 2 n 2 ) − 1 < κ ≤ n − 2 , and put
ϕ ( z ) = κ ⌊ z κ ⌋ ( z ≥ 0 ) . (11) \phi(z)=\kappa\left\lfloor\frac{\sqrt{z}}{\kappa}\right\rfloor\qquad(z\ge0). \tag*{(11)} ϕ ( z ) = κ ⌊ κ z ⌋ ( z ≥ 0 ) . (11)
Thus z ≤ ϕ ( z ) < z + κ \sqrt{z} \le\phi(z) < \sqrt{z}+\kappa z ≤ ϕ ( z ) < z + κ . After groups V 1 , … , V k V_1,\ldots,V_k V 1 , … , V k have been chosen, let F k \mathcal{F}_k F k record their lists and define
U e ( k ) = E [ ( S e − μ e ) 2 ∣ F k ] , Q v ( k ) = ∑ e ∋ v w e ϕ ( U e ( k ) ) . (12) U_e^{(k)}=\mathbb{E}[(S_e-\mu_e)^2\mid\mathcal{F}_k],\qquad Q_v^{(k)}=\sum_{e\ni v}w_e\phi(U_e^{(k)}). \tag*{(12)} U e ( k ) = E [( S e − μ e ) 2 ∣ F k ] , Q v ( k ) = e ∋ v ∑ w e ϕ ( U e ( k ) ) . (12)
Every unchosen list in this expectation has its original distribution; this is a way to measure progress, not a rule for the later choices. The moments are computed by adding the first and second moments of the independent color contributions. Section C.4 gives the formulas and the rational implementation of ϕ \phi ϕ . Initially Q v ( 0 ) = O ( n ) Q_v^{(0)}=O(\sqrt{n}) Q v ( 0 ) = O ( n ) , by (C.5) and ∑ e ∋ v w e κ ≤ n κ ≤ 1 / n \sum_{e\ni v}w_e\kappa\le n\kappa\le1/n ∑ e ∋ v w e κ ≤ nκ ≤ 1/ n .
Under the original distributions for the lists in the next group, the tower property and the concavity of the square root give
E [ ϕ ( U e ( k ) ) ∣ F k − 1 ] ≤ U e ( k − 1 ) + κ ≤ ϕ ( U e ( k − 1 ) ) + κ . \mathbb{E}[\phi(U_e^{(k)})\mid\mathcal{F}_{k-1}]\le\sqrt{U_e^{(k-1)}}+\kappa\le\phi(U_e^{(k-1)})+\kappa. E [ ϕ ( U e ( k ) ) ∣ F k − 1 ] ≤ U e ( k − 1 ) + κ ≤ ϕ ( U e ( k − 1 ) ) + κ .
Consequently
E [ Q v ( k ) ∣ F k − 1 ] ≤ Q v ( k − 1 ) + 1 / n . (13) \mathbb{E}[Q_v^{(k)}\mid\mathcal{F}_{k-1}]\le Q_v^{(k-1)}+1/n. \tag*{(13)} E [ Q v ( k ) ∣ F k − 1 ] ≤ Q v ( k − 1 ) + 1/ n . (13)
These inequalities replace the need to compute conditional expectations of absolute values.
Put t = ⌈ n 3 / 4 ⌉ t=\lceil n^{3/4}\rceil t = ⌈ n 3/4 ⌉ . At step k k k , for each u ∈ V k u\in V_k u ∈ V k , retain only lists for which Q u ( k ) ≤ t Q_u^{(k)}\le t Q u ( k ) ≤ t . Every edge incident to u u u has its other endpoint outside V k V_k V k : that endpoint’s list is either already fixed or averaged over its original distribution. Thus Q u ( k ) Q_u^{(k)} Q u ( k ) depends on F k \mathcal{F}_k F k only through the list at u u u and the earlier choices F k − 1 \mathcal{F}_{k-1} F k − 1 , not on any other list in V k V_k V k . We choose independently from the retained lists, with their original probabilities rescaled to sum to one.
We show inductively that, just before step k k k , every unchosen vertex satisfies
Q v ( k − 1 ) = O r ( n log n ) . Q_v^{(k-1)}=O_r(\sqrt{n\log n}). Q v ( k − 1 ) = O r ( n log n ) .
Thus Markov’s inequality, P ( Y > t ) ≤ E Y / t \mathbb{P}(Y>t)\le\mathbb{E}Y/t P ( Y > t ) ≤ E Y / t for Y ≥ 0 Y\ge0 Y ≥ 0 , bounds the probability removed at each vertex of V k V_k V k by the computable number
p k = max u ∈ V k Q u ( k − 1 ) + 1 / n t = O r ( n − 1 / 4 log n ) = o ( 1 ) . p_k=\max_{u\in V_k}\frac{Q_u^{(k-1)}+1/n}{t}=O_r(n^{-1/4}\sqrt{\log n})=o(1). p k = u ∈ V k max t Q u ( k − 1 ) + 1/ n = O r ( n − 1/4 log n ) = o ( 1 ) .
For an empty group take p k = 0 p_k=0 p k = 0 . The constant can be chosen to cover all r r r steps. In particular, every retained distribution has positive total probability for sufficiently large n n n . To sample it, repeatedly draw an original list until its computed value of Q u ( k ) Q_u^{(k)} Q u ( k ) is at most t t t . The expected number of draws is at most 1 / ( 1 − p k ) 1/(1-p_k) 1/ ( 1 − p k ) .
Apply Proposition A.4 to the independent retained lists in V k V_k V k , imposing the following bounds.
For every vertex v v v , color c c c , possible profile P P P at ( v , c ) (v,c) ( v , c ) , and place i i i in P P P , bound the load contributed by neighbors of v v v in V k V_k V k , on the assumption that v v v uses P P P .
For every v ∉ V k v\notin V_k v ∈ / V k , bound the part of Q v ( k ) Q_v^{(k)} Q v ( k ) contributed by neighbors in V k V_k V k .
The first kind of row is zero when v ∈ V k v\in V_k v ∈ V k . Every nonzero row is a sum of nonnegative functions, one function of each neighboring list being chosen. For an error row, if v v v was chosen earlier, its list is fixed; if it will be chosen later, average over its original list. Thus the contribution of a neighbor u ∈ V k u\in V_k u ∈ V k is respectively
w u v ϕ ( ( S u v ( P u , P v ) − μ u v ) 2 ) or w u v ϕ ( E P v [ ( S u v ( P u , P v ) − μ u v ) 2 ] ) . w_{uv}\phi\bigl((S_{uv}(P_u,P_v)-\mu_{uv})^2\bigr)\quad\text{or}\quad w_{uv}\phi\bigl(\mathbb{E}_{P_v}[(S_{uv}(P_u,P_v)-\mu_{uv})^2]\bigr). w uv ϕ ( ( S uv ( P u , P v ) − μ uv ) 2 ) or w uv ϕ ( E P v [( S uv ( P u , P v ) − μ uv ) 2 ] ) .
Each value is computable from first and second moments of the color contributions. The contributions of all other neighbors are unchanged during this step.
We give the size estimates needed for the proposition. In the following table, a “source” is one vertex whose list we are choosing. A row is one of the quantities to be bounded. The last column adds the contributions of one fixed source choice over all rows. The scaling makes every individual contribution at most one. Here B 0 B_0 B 0 is a sufficiently large fixed constant.
Table C.10.
All expected row sums after scaling are O ( n ) O(n) O ( n ) . These estimates hold at every step.
We verify that the bounds in (C.10) do not depend on the number of vertices. Since H H H is simple, a source has at most one edge to each target. Its contribution to one ordinary-slot load is therefore O ( 1 / n ) O(1/n) O ( 1/ n ) ; its contribution to a small-edge load is O ( w e / n ) O(w_e/n) O ( w e / n ) . For a fixed source list and color, add the contributions over all possible profiles and places at all neighboring endpoints. There are only boundedly many description labels and places at an endpoint. Summing the factors for the other endpoint in the formula for X X X cancels y e , c y_{e,c} y e , c , up to a fixed factor, because those assigned fractions sum to y e , c y_{e,c} y e , c and λ ′ ≥ θ / M \lambda' \ge\theta/M λ ′ ≥ θ / M . The remaining sum at the source is bounded by its total assigned ordinary-slot fraction plus its total assigned small-edge weight, divided by its profile probability. Lemma C.1 bounds these by O ( 1 / β ) O(1/\beta) O ( 1/ β ) and O ( 1 ) O(1) O ( 1 ) , respectively, since λ / λ ′ ≤ 1 / ( 1 − θ ) \lambda/\lambda' \le1/(1-\theta) λ / λ ′ ≤ 1/ ( 1 − θ ) . Thus the sum is O ( 1 ) O(1) O ( 1 ) per color, or O ( n ) O(n) O ( n ) over all colors before scaling. This gives O ( n 2 ) O(n^2) O ( n 2 ) in the first row of the table. For the second row, ∣ S e − μ e ∣ = O ( 1 ) |S_e-\mu_e|=O(1) ∣ S e − μ e ∣ = O ( 1 ) implies ϕ ( U e ( k ) ) = O ( 1 ) \phi(U_e^{(k)})=O(1) ϕ ( U e ( k ) ) = O ( 1 ) for every choice of fixed lists. Thus one edge contributes O ( w e ) O(w_e) O ( w e ) , and the sum of the weights at a source is at most n n n .
To check the expected row sums, first use the original list distributions. A load row has mean at most the full load in (C.6), hence at most one. Restricting a list to an event of probability at least 1 − p k 1-p_k 1 − p k increases the expectation of each nonnegative contribution by at most 1 / ( 1 − p k ) 1/(1-p_k) 1/ ( 1 − p k ) . An error row is O ( n ) O(n) O ( n ) for every possible set of lists, since ϕ ( U e ( k ) ) = O ( 1 ) \phi(U_e^{(k)})=O(1) ϕ ( U e ( k ) ) = O ( 1 ) and the incident weights sum to at most n n n . After scaling as in the table, Proposition A.4 therefore has R = O ( n ) R=O(n) R = O ( n ) and D = O ( n 2 ) D=O(n^2) D = O ( n 2 ) at every step.
For an error row, let C C C be the total contribution from neighbors outside V k V_k V k . This is a fixed nonnegative quantity at this step. The original expected contribution from neighbors in V k V_k V k is at most Q v ( k − 1 ) − C + 1 / n Q_v^{(k-1)}-C+1/n Q v ( k − 1 ) − C + 1/ n , by the square-root inequality above. Use this computable upper bound, divided by 1 − p k 1-p_k 1 − p k , for the retained lists. Proposition A.4 therefore gives
Q v ( k ) ≤ C + Q v ( k − 1 ) − C + 1 / n 1 − p k + O ( n log n ) ≤ Q v ( k − 1 ) 1 − p k + O ( n log n ) . Q_v^{(k)} \le C+\frac{Q_v^{(k-1)}-C+1/n}{1-p_k}+O\left(\sqrt{n\log n}\right)\le\frac{Q_v^{(k-1)}}{1-p_k}+O\left(\sqrt{n\log n}\right). Q v ( k ) ≤ C + 1 − p k Q v ( k − 1 ) − C + 1/ n + O ( n log n ) ≤ 1 − p k Q v ( k − 1 ) + O ( n log n ) .
Only upper bounds on row means are needed: the sampling procedure does not evaluate expectations under the retained distributions. Section C.4 explains why the Harris–Srinivasan algorithm can use these implicitly described lists. There are only r r r steps. For a vertex not yet chosen, induction from Q v ( 0 ) = O ( n ) Q_v^{(0)}=O(\sqrt{n}) Q v ( 0 ) = O ( n ) proves the claimed O r ( n log n ) O_r(\sqrt{n\log n}) O r ( n log n ) bound, justifying the removed-probability bound used above. More explicitly, at each induction step we may first use 1 / ( 1 − p k ) ≤ 2 1/(1-p_k)\le2 1/ ( 1 − p k ) ≤ 2 . The constants then grow by at most a fixed factor per step. Since there are only r r r steps, choosing n n n sufficiently large makes every removed probability less than 1 / 2 1/2 1/2 , as required. At the step when v v v itself is chosen, the retained-list condition gives Q v ( k ) ≤ t Q_v^{(k)}\le t Q v ( k ) ≤ t . At each later step the displayed inequality applies again. Consequently, after the last step,
Z v ≤ Q v ( r ) = O r ( n 3 / 4 ) for every v . Z_v\le Q_v^{(r)}=O_r\left(n^{3/4}\right)\qquad\text{for every }v. Z v ≤ Q v ( r ) = O r ( n 3/4 ) for every v .
To check the load bounds, fix a vertex v v v , a color c c c , a possible description P P P , and one of its places i i i . Under the original lists, the expected contribution from neighbors in V k V_k V k is exactly
m k = ρ λ v , c , P v ∑ e = u v ∋ v u ∈ V k d ( e ) a v , c ( e ; P , i ) . m_k=\frac{\rho}{\lambda_{v,c,P}^{v}}\sum_{\substack{e=uv\ni v\\u\in V_k}}d(e)a_{v,c}(e;P,i). m k = λ v , c , P v ρ e = uv ∋ v u ∈ V k ∑ d ( e ) a v , c ( e ; P , i ) .
In particular, ∑ k = 1 r m k ≤ ( 1 − σ ) h ( P , i ) \sum_{k=1}^{r}m_k\le(1-\sigma)h(P,i) ∑ k = 1 r m k ≤ ( 1 − σ ) h ( P , i ) by (C.6). Proposition A.4 , followed by undoing the load scaling, bounds the actual contribution from group V k V_k V k by
m k 1 − p k + O ( log n n + log n n ) . \frac{m_k}{1-p_k}+O\left(\sqrt{\frac{\log n}{n}}+\frac{\log n}{n}\right). 1 − p k m k + O ( n log n + n log n ) .
We imposed this bound for every possible P P P , so it holds for the description eventually chosen at v v v , whether that choice was made before, during, or after step k k k . Put p = max 1 ≤ k ≤ r p k = o ( 1 ) p=\max_{1\le k\le r}p_k=o(1) p = max 1 ≤ k ≤ r p k = o ( 1 ) . Adding the r r r bounds gives total load at most
( 1 − σ ) h ( P , i ) 1 − p + O r ( log n n + log n n ) ≤ ( 1 − σ / 2 ) h ( P , i ) . \frac{(1-\sigma)h(P,i)}{1-p}+O_r\left(\sqrt{\frac{\log n}{n}}+\frac{\log n}{n}\right)\le(1-\sigma/2)h(P,i). 1 − p ( 1 − σ ) h ( P , i ) + O r ( n log n + n log n ) ≤ ( 1 − σ /2 ) h ( P , i ) .
for sufficiently large n n n , since every positive capacity is at least r 0 r_0 r 0 . We have therefore bounded the lost weight at every vertex and retained slack in every capacity. It remains to choose whole edges from the fractional options.
An edge may currently have total assigned fraction S e > 1 S_e>1 S e > 1 . Divide all its option fractions by max { 1 , S e } \max\{1,S_e\} max { 1 , S e } , and call the new fractions X ^ ( e , c , i , j ) \widehat{X}(e,c,i,j) X ( e , c , i , j ) . Their sum and the unused fraction are
s e = min { 1 , S e } , r e = 1 − s e . s_e=\min\{1,S_e\},\qquad r_e=1-s_e. s e = min { 1 , S e } , r e = 1 − s e .
This only decreases loads. Since μ e ≤ 1 \mu_e\le1 μ e ≤ 1 , we have s e ≥ μ e − ∣ S e − μ e ∣ s_e\ge\mu_e-\lvert S_e-\mu_e\rvert s e ≥ μ e − ∣ S e − μ e ∣ . Hence
∑ e ∋ v w e s e ≥ ∑ e ∋ v w e μ e − Z v ≥ ρ ( 1 − δ ) ∑ e ∋ v w e ∑ c x e , c − O ( n 3 / 4 ) . (14) \sum_{e\ni v}w_es_e\ge\sum_{e\ni v}w_e\mu_e-Z_v\ge\rho(1-\delta)\sum_{e\ni v}w_e\sum_c x_{e,c}-O(n^{3/4}). \tag*{(14)} e ∋ v ∑ w e s e ≥ e ∋ v ∑ w e μ e − Z v ≥ ρ ( 1 − δ ) e ∋ v ∑ w e c ∑ x e , c − O ( n 3/4 ) . (14)
Rounding the large edges For large edges, each option uses one ordinary slot at each end. We use Proposition A.5 to choose options without using a slot twice. We also provide places for edges left uncolored, so that the number of such edges can be controlled at every vertex.
Divide [ β , 1 ] [\beta,1] [ β , 1 ] into finitely many weight intervals, assigning an edge on a shared boundary to just one interval. Let ℓ h , u h \ell_h,u_h ℓ h , u h be the lower and upper endpoints of interval h h h , with u h ≤ ( 1 + ξ ) ℓ h u_h\le(1+\xi)\ell_h u h ≤ ( 1 + ξ ) ℓ h , where ξ > 0 \xi>0 ξ > 0 is a small fixed constant. Let E ( v , h ) E(v,h) E ( v , h ) be the edges at v v v in that interval, and put
R v , h = ∑ e ∈ E ( v , h ) r e , B v , h = ⌈ R v , h 1 − γ ⌉ + ⌈ n 2 / 3 ⌉ . R_{v,h}=\sum_{e\in E(v,h)}r_e,\qquad B_{v,h}=\left\lceil\frac{R_{v,h}}{1-\gamma}\right\rceil+\lceil n^{2/3}\rceil. R v , h = e ∈ E ( v , h ) ∑ r e , B v , h = ⌈ 1 − γ R v , h ⌉ + ⌈ n 2/3 ⌉ .
where 0 < γ < 1 0<\gamma<1 0 < γ < 1 is another small fixed constant. Create B v , h B_{v,h} B v , h extra slots at ( v , h ) (v,h) ( v , h ) , reserved for uncolored edges. Each such slot may receive at most one edge. These are counting devices; they are separate from the slots belonging to colors.
Construct a family of three-element sets, allowing repeated copies of a set. Introduce one new element for each large edge; call it the job element for that edge. Let A A A be all job elements. The remaining elements, forming a set B B B , are the ordinary slots in the selected profiles and the extra slots just created. Each three-element set will consist of one job element and one slot at each endpoint of that edge.
Put N = ⌈ n 6 ⌉ N=\lceil n^6\rceil N = ⌈ n 6 ⌉ . For each color option ( e , c , i , j ) (e,c,i,j) ( e , c , i , j ) , add
⌊ N X ~ ( e , c , i , j ) ⌋ \left\lfloor N\widetilde{X}(e,c,i,j)\right\rfloor ⌊ N X ( e , c , i , j ) ⌋
copies of the set containing the job element of e e e and its two ordinary slots. For an edge e = u v e=uv e = uv in interval h h h , divide the unused fraction r e r_e r e equally among all pairs of extra slots, one at ( u , h ) (u,h) ( u , h ) and one at ( v , h ) (v,h) ( v , h ) . For each such pair add
⌊ N r e B u , h B v , h ⌋ \left\lfloor\frac{Nr_e}{B_{u,h}B_{v,h}}\right\rfloor ⌊ B u , h B v , h N r e ⌋
copies of the set containing that pair and the job element of e e e . Selecting a set of the first kind will color the edge; selecting a set of the second kind will leave it uncolored.
Figure 7. Each option is a set containing an edge label and one slot at each endpoint. The upper option gives color c c c ; the lower option leaves the edge uncolored and uses an extra slot at each end. The two options share the edge label, so at most one can be selected. Disjoint selected sets also prevent a slot from being used by two edges.
For an element z z z , let d ( z ) d(z) d ( z ) be the number of sets containing it, counting copies. Let Δ 2 \Delta_2 Δ 2 be the largest number of sets containing any given pair of distinct elements, again counting copies. We claim
d ( a ) = N − O ( n 2 ) ( a ∈ A ) , d ( b ) ≤ ( 1 − η ) N ( b ∈ B ) , η = min { σ / 2 , γ } > 0 , Δ 2 = O ( N n − 2 / 3 ) , (15) \begin{aligned}
d(a)&=N-O(n^2) && (a\in A),\\
d(b)&\le(1-\eta)N && (b\in B),\qquad\eta=\min\{\sigma/2,\gamma\}>0,\\
\Delta_2&=O(Nn^{-2/3}), \tag*{(15)}
\end{aligned} d ( a ) d ( b ) Δ 2 = N − O ( n 2 ) ≤ ( 1 − η ) N = O ( N n − 2/3 ) , ( a ∈ A ) , ( b ∈ B ) , η = min { σ /2 , γ } > 0 , (15)
To check the first line, a job has O ( n ) O(n) O ( n ) color options, since there are O ( n ) O(n) O ( n ) colors and boundedly many slots per color. Also, R v , h ≤ n / β R_{v,h}\le n/\beta R v , h ≤ n / β , so B v , h = O ( n ) B_{v,h}=O(n) B v , h = O ( n ) and the job has O ( n 2 ) O(n^2) O ( n 2 ) pairs of extra slots. Before taking integer parts, the numbers of copies for that job sum to N ( s e + r e ) = N N(s_e+r_e)=N N ( s e + r e ) = N . Each integer part loses less than one, proving the first line.
For an ordinary slot, the number of sets using it is at most its fractional load multiplied by N N N , which is at most ( 1 − σ / 2 ) N (1-\sigma/2)N ( 1 − σ /2 ) N . For an extra slot at ( v , h ) (v,h) ( v , h ) , the corresponding bound is N R v , h / B v , h ≤ ( 1 − γ ) N NR_{v,h}/B_{v,h}\le(1-\gamma)N N R v , h / B v , h ≤ ( 1 − γ ) N . This proves the second line.
For the last line, consider the possible pairs. A job element and an ordinary slot lie together in O ( N / n ) O(N/n) O ( N / n ) sets: the slot fixes the color, and the total fraction for one edge and color is O ( 1 / n ) O(1/n) O ( 1/ n ) . A job element and an extra slot lie together in at most N / B v , h = O ( N n − 2 / 3 ) N/B_{v,h}=O(Nn^{-2/3}) N / B v , h = O ( N n − 2/3 ) sets. Two ordinary slots at opposite endpoints can occur together only for the unique original edge joining those endpoints, and again the bound is O ( N / n ) O(N/n) O ( N / n ) . Two extra slots at opposite endpoints occur together in at most N / ( B u , h B v , h ) N/(B_{u,h}B_{v,h}) N / ( B u , h B v , h ) sets, for the same reason. All other pairs of slot elements occur together in no set, as do pairs of job elements. This proves (C.12).
Take D = ⌊ ( 1 − η / 2 ) N ⌋ D=\lfloor(1-\eta/2)N\rfloor D = ⌊( 1 − η /2 ) N ⌋ and any fixed 0 < ζ < 1 / 9 0<\zeta<1/9 0 < ζ < 1/9 . For large n n n , the hypotheses of Proposition A.5 hold. Indeed, every job element belongs to more than D D D sets by a fixed positive fraction of N N N , whereas every slot element belongs to fewer than D D D sets. The extra factor D − a D^{-a} D − a required by that proposition tends to zero. Finally, since N N N has order n 6 n^6 n 6 ,
N n − 2 / 3 = o ( D 1 − ζ ) . Nn^{-2/3}=o(D^{1-\zeta}). N n − 2/3 = o ( D 1 − ζ ) .
The proposition supplies pairwise disjoint sets covering all job elements. Thus it chooses exactly one option for each large edge and uses each ordinary or extra slot at most once. At most B v , h B_{v,h} B v , h edges of E ( v , h ) E(v,h) E ( v , h ) are left uncolored, because each uses a different extra slot. Their total weight is therefore at most
u h B v , h ≤ 1 + ξ 1 − γ ∑ e ∈ E ( v , h ) w e r e + O ( n 2 / 3 ) . (16) u_hB_{v,h}\leq\frac{1+\xi}{1-\gamma}\sum_{e\in E(v,h)}w_er_e+O(n^{2/3}). \tag*{(16)} u h B v , h ≤ 1 − γ 1 + ξ e ∈ E ( v , h ) ∑ w e r e + O ( n 2/3 ) . (16)
The number of intervals depends only on the fixed constants, so summing this bound over all intervals still gives an O ( n 2 / 3 ) O(n^{2/3}) O ( n 2/3 ) error.
Rounding the small edges For a small edge e e e , use its color options of fractions X ^ \widehat{X} X and one additional option of fraction r e r_e r e that leaves it uncolored. These fractions sum to one. For the space for small edges of size R > 0 R>0 R > 0 , divide every load by R R R , so the capacity becomes one. A color option then adds w e / R ≤ β / r 0 w_e/R\leq\beta/r_0 w e / R ≤ β / r 0 to each of two capacity constraints, one at each endpoint. The current fractional load on each such space is at most 1 − σ / 2 1-\sigma/2 1 − σ /2 .
At each vertex add one more constraint that records the total weight of small edges left uncolored. The uncolored option for e = u v e=uv e = uv adds w e w_e w e to this sum at u u u and at v v v . Thus every option contributes to at most two constraints, and every contribution is at most τ = β / r 0 \tau=\beta/r_0 τ = β / r 0 ; here r 0 < 1 r_0<1 r 0 < 1 . Choose β \beta β small enough that
2 β / r 0 ≤ σ / 2. 2\beta/r_0\leq\sigma/2. 2 β / r 0 ≤ σ /2.
Lemma A.3 now chooses one whole option for every small edge. It increases each load by at most 2 β / r 0 2\beta/r_0 2 β / r 0 . Consequently all the spaces for small edges obey their capacities, and the small uncolored weight at v v v is at most
∑ e ∋ v w e < β w e r e + 2 β / r 0 . \sum_{\substack{e\ni v\\w_e<\beta}}w_er_e+2\beta/r_0. e ∋ v w e < β ∑ w e r e + 2 β / r 0 .
For each vertex and color, a large edge occupies a distinct ordinary slot and has weight at most that slot’s size. The total weight of the small edges fits the space set aside for them. A profile has total size at most one, so the resulting partial coloring is feasible. Every color option used had positive assigned fraction, and therefore had x e , c > 0 x_{e,c}>0 x e , c > 0 .
It remains to add the errors. Write T v = T v H = ∑ e ∋ v w e ∑ c x e , c T_v=T_v^H=\sum_{e\ni v}w_e\sum_c x_{e,c} T v = T v H = ∑ e ∋ v w e ∑ c x e , c and Λ = ( 1 + ξ ) / ( 1 − γ ) \Lambda=(1+\xi)/(1-\gamma) Λ = ( 1 + ξ ) / ( 1 − γ ) . We have T v ≤ W H ( v ) ≤ n T_v\leq W_H(v)\leq n T v ≤ W H ( v ) ≤ n . The bounds for large and small uncolored edges give total uncolored weight at most
Λ ∑ e ∋ v w e r e + O ( n 2 / 3 ) . \Lambda\sum_{e\ni v}w_er_e+O(n^{2/3}). Λ e ∋ v ∑ w e r e + O ( n 2/3 ) .
Subtract this from W H ( v ) W_H(v) W H ( v ) , use r e = 1 − s e r_e=1-s_e r e = 1 − s e , and then apply (C.11). The colored weight is at least
W H ( v ) − Λ ∑ e ∋ v w e r e − O ( n 2 / 3 ) ≥ ∑ e ∋ v w e s e − ( Λ − 1 ) n − O ( n 2 / 3 ) ≥ T v − [ 1 − ρ ( 1 − δ ) + ( Λ − 1 ) ] n − O ( n 3 / 4 ) . \begin{aligned}
W_H(v)-\Lambda\sum_{e\ni v}w_er_e-O(n^{2/3})
\geq\sum_{e\ni v}w_es_e-(\Lambda-1)n-O(n^{2/3}) \\
&\geq T_v-\left[1-\rho(1-\delta)+(\Lambda-1)\right]n-O(n^{3/4}).
\end{aligned} W H ( v ) − Λ e ∋ v ∑ w e r e − O ( n 2/3 ) ≥ e ∋ v ∑ w e s e − ( Λ − 1 ) n − O ( n 2/3 ) ≥ T v − [ 1 − ρ ( 1 − δ ) + ( Λ − 1 ) ] n − O ( n 3/4 ) .
Choose δ \delta δ , θ \theta θ , σ \sigma σ , ξ \xi ξ , γ \gamma γ positive and small enough that the quantity in square brackets is less than ε / 2 \varepsilon/2 ε /2 . Then set r 0 = δ / 4 r_0=\delta/4 r 0 = δ /4 and choose β \beta β as required above. By (C.4), the colored weight in the original graph is therefore at least
T v G − ( 1 r + ε 2 ) n − O ( n 3 / 4 ) ≥ T v G − ε n − O ( n 3 / 4 ) . T_v^G-\left(\frac{1}{r}+\frac{\varepsilon}{2}\right)n-O(n^{3/4})\ge T_v^G-\varepsilon n-O(n^{3/4}). T v G − ( r 1 + 2 ε ) n − O ( n 3/4 ) ≥ T v G − ε n − O ( n 3/4 ) .
Here 1 / r ≤ ε / 4 1/r\le\varepsilon/4 1/ r ≤ ε /4 , and n log n = O ( n 3 / 4 ) \sqrt{n}\log n=O(n^{3/4}) n log n = O ( n 3/4 ) . The integer r r r and all other choices depend only on C 0 C_0 C 0 , C 1 C_1 C 1 , ε \varepsilon ε . Taking n n n sufficiently large proves the theorem, with no dependence on the number of vertices.
Algorithm C.1 (Rounding the proposed colors). Input: the graph, palette, fractions, and local feasible-bin distributions in Theorem 3.1; fix the desired error.
Partition the vertices into a fixed number of groups. Set aside the small total weight of edges lying within groups.
Build the profile menus and the paired endpoint fractions.
Choose profile lists one group at a time, passing the load and error tests in Section C.2.
Clip an edge’s total proposal to one if necessary. Create ordinary and extra slots, then find disjoint options for the large edges.
Round one option for each small edge by Lemma A.3 . Return the resulting feasible partial coloring.
Procedures that run in expected polynomial time for each choice are specified in Section C.4.
The Bound for Simple Graphs
We apply Theorem 3.1 to prove the simple-graph bound in Theorem 1.1 . The empty graph is immediate, so assume that G G G has an edge and put n = bp ( G ) n=\operatorname{bp}(G) n = bp ( G ) . At each vertex v v v , choose a packing into n n n bins, allowing empty bins, and denote the edge sets in these bins by B v , 1 , … , B v , n B_{v,1},\ldots,B_{v,n} B v , 1 , … , B v , n .
Use the colors 1 , … , n 1,\ldots,n 1 , … , n . For every edge and color set
x e , c = 1 / n . x_{e,c}=1/n. x e , c = 1/ n .
For a fixed v v v and c c c , the vector of these values is
( x e , c : e ∋ v ) = 1 n ∑ j = 1 n 1 B v , j . (x_{e,c}:e\ni v)=\frac{1}{n}\sum_{j=1}^{n}\mathbf{1}_{B_{v,j}}. ( x e , c : e ∋ v ) = n 1 j = 1 ∑ n 1 B v , j .
It is an average of feasible sets, so it belongs to K v K_v K v . Also ∑ c x e , c = 1 \sum_c x_{e,c}=1 ∑ c x e , c = 1 for every edge, and W G ( v ) ≤ n W_G(v)\le n W G ( v ) ≤ n . Thus Theorem 3.1 applies with C 0 = C 1 = 1 C_0=C_1=1 C 0 = C 1 = 1 .
Fix ε > 0 \varepsilon>0 ε > 0 . The theorem gives a partial coloring with the n n n colors in which the weight left uncolored at any vertex is at most
R = ε n + O ε ( n 3 / 4 ) . R=\varepsilon n+O_{\varepsilon}(n^{3/4}). R = ε n + O ε ( n 3/4 ) .
Lemma A.1 colors those remaining edges with at most 4 R + 1 4R+1 4 R + 1 additional colors. Therefore
χ w ′ ( G ) ≤ n + 4 ε n + O ε ( n 3 / 4 ) . \chi'_w(G)\le n+4\varepsilon n+O_{\varepsilon}(n^{3/4}). χ w ′ ( G ) ≤ n + 4 ε n + O ε ( n 3/4 ) .
After division by n n n , the last error term tends to zero. Since ε \varepsilon ε may be chosen arbitrarily small, this proves χ w ′ ( G ) ≤ ( 1 + o ( 1 ) ) n \chi'_w(G)\le(1+o(1))n χ w ′ ( G ) ≤ ( 1 + o ( 1 )) n . Every threshold used depends only on ε \varepsilon ε , not on the number of vertices. For the finitely many smaller values of n n n , Lemma A.1 gives the bound 4 n + 1 4n+1 4 n + 1 , so they can be included by increasing the error function at those values.
Remark. A triangle with unit-weight edges has bp ( G ) = 2 \operatorname{bp}(G) = 2 bp ( G ) = 2 and needs three colors. Thus, the asymptotic bound for simple graphs does not assert equality for every value of bp ( G ) \operatorname{bp}(G) bp ( G ) . The proof above applies to simple graphs with odd cycles as well as to bipartite graphs.
Algorithm C.2 (Coloring a simple graph). Input: a weighted simple graph and a desired accuracy. Choose the local-packing and rounding accuracies sufficiently small for the desired final error.
Compute the approximate local packings in Section A.7. Let n n n be the largest number of bins used, and pad the other packings with empty bins.
Set x e , c = 1 / n x_{e,c} = 1/n x e , c = 1/ n for c ∈ [ n ] c \in[n] c ∈ [ n ] , using a uniform choice among the local bins as each feasible distribution.
Run Algorithm C.1 with these fractions and distributions.
Color the remaining edges in decreasing weight order with fresh colors, as in Lemma A.1 . Return the completed coloring.
The extra factor from the approximate local packings is absorbed in the chosen error. This randomized algorithm has expected polynomial running time for each fixed accuracy.
Computing Progress and Sampling Vertex Lists
A vertex has exponentially many possible profile lists, so the algorithm must evaluate progress and sample retained lists without enumerating them. The conditional second moments in (C.8) provide the required computations. All probabilities, weights, and assigned fractions are rational. There are O ( n ) O(n) O ( n ) colors, and the number M M M of profile labels depends only on the fixed accuracy parameters.
The algorithm needs three operations: evaluate the progress value for a proposed list, draw a list that passes its local test, and resample a small set of lists when a load constraint fails. We describe them in that order. An entire list is one variable in the resampling procedure, but drawing or testing that variable only requires going through its colors. We never store the set of all possible lists.
Fix an edge e = u v e = uv e = uv and a color c c c . For a profile P P P , define
A v , c ( P ) = ∑ i a v , c ( e ; P , i ) , b v , c ( P ) = A v , c ( P ) λ v , c , P ′ . A_{v,c}(P) = \sum_i a_{v,c}(e;P,i), \qquad b_{v,c}(P) = \frac{A_{v,c}(P)}{\lambda'_{v,c,P}}. A v , c ( P ) = i ∑ a v , c ( e ; P , i ) , b v , c ( P ) = λ v , c , P ′ A v , c ( P ) .
The sum includes all ordinary slots, or the reserved space when e e e is small. If the list at v v v has already been fixed, put
m v , c = b v , c ( P v , c ) , q v , c = b v , c ( P v , c ) 2 . m_{v,c} = b_{v,c}(P_{v,c}), \qquad q_{v,c} = b_{v,c}(P_{v,c})^2. m v , c = b v , c ( P v , c ) , q v , c = b v , c ( P v , c ) 2 .
If that list is still unchosen, its original distribution instead gives
m v , c = ∑ P A v , c ( P ) = y e , c , q v , c = ∑ P A v , c ( P ) 2 λ v , c , P ′ . m_{v,c} = \sum_P A_{v,c}(P) = y_{e,c}, \qquad q_{v,c} = \sum_P \frac{A_{v,c}(P)^2}{\lambda'_{v,c,P}}. m v , c = P ∑ A v , c ( P ) = y e , c , q v , c = P ∑ λ v , c , P ′ A v , c ( P ) 2 .
Define m u , c , q u , c m_{u,c}, q_{u,c} m u , c , q u , c in the same way. The contribution of this color to S e S_e S e is ρ b u , c ( P u , c ) b v , c ( P v , c ) / y e , c \rho b_{u,c}(P_{u,c})b_{v,c}(P_{v,c})/y_{e,c} ρ b u , c ( P u , c ) b v , c ( P v , c ) / y e , c . Thus its first and second moments are
a c = ρ m u , c m v , c y e , c , d c = ρ 2 q u , c q v , c y e , c 2 . a_c = \frac{\rho m_{u,c}m_{v,c}}{y_{e,c}}, \qquad d_c = \frac{\rho^2 q_{u,c}q_{v,c}}{y_{e,c}^2}. a c = y e , c ρ m u , c m v , c , d c = y e , c 2 ρ 2 q u , c q v , c .
When y e , c = 0 y_{e,c} = 0 y e , c = 0 , set a c = d c = 0 a_c = d_c = 0 a c = d c = 0 . The unchosen endpoint lists are independent, and their choices at different colors are independent. Fixing any complete endpoint lists preserves the latter independence. It follows that
U e ( k ) = ( ∑ c a c − μ e ) 2 + ∑ c ( d c − a c 2 ) . (17) U_e^{(k)} = \left(\sum_c a_c - \mu_e\right)^2 + \sum_c \left(d_c - a_c^2\right). \tag*{(17)} U e ( k ) = ( c ∑ a c − μ e ) 2 + c ∑ ( d c − a c 2 ) . (17)
This formula evaluates the conditional second moment using only O ( M ∣ C ∣ ) O(M|\mathcal{C}|) O ( M ∣ C ∣ ) operations per edge. In particular, it does not sum over all possible complete lists. The two terms have different roles. The first is the square of the difference between the current mean and the target μ e \mu_e μ e ; the second is the variance still contributed by unchosen profiles. After the final group no lists remain unchosen, so this variance term is zero and only the actual squared error remains. Here the expectations for unchosen lists are always taken under their original distributions. The later rejection step is handled by an upper bound on conditional means, rather than by asserting independence between colors after rejection.
Use κ \kappa κ and ϕ \phi ϕ from (C.7). The number of bits needed to write κ \kappa κ is O ( log ( n + 2 ) ) O(\log(n+2)) O ( log ( n + 2 )) . For a nonnegative rational z z z , compute ϕ ( z ) \phi(z) ϕ ( z ) by finding the least nonnegative integer b b b with b 2 κ 2 ≥ z b^2\kappa^2 \ge z b 2 κ 2 ≥ z . Integer comparisons and binary search compute it in polynomial time. The same method computes the integer threshold t = ⌈ n 3 / 4 ⌉ t=\lceil n^{3/4}\rceil t = ⌈ n 3/4 ⌉ , using t 4 ≥ n 3 t^4\ge n^3 t 4 ≥ n 3 . Every progress value and every test that accepts or rejects a list is therefore rational and polynomially computable.
By (C.9), this upward rounding adds at most 1 / n 1/n 1/ n to the expected potential at each step, under the original list distributions. At the end, U e ( r ) = ( S e − μ e ) 2 U_e^{(r)}=(S_e-\mu_e)^2 U e ( r ) = ( S e − μ e ) 2 , so Z v ≤ Q v ( r ) Z_v\le Q_v^{(r)} Z v ≤ Q v ( r ) . Thus the original O ( n 3 / 4 ) O(n^{3/4}) O ( n 3/4 ) absolute-error bound is retained.
At group V k V_k V k , first compute
p k = max u ∈ V k Q u ( k − 1 ) + 1 / n t . p_k=\max_{u\in V_k}\frac{Q_u^{(k-1)}+1/n}{t}. p k = u ∈ V k max t Q u ( k − 1 ) + 1/ n .
with value zero for an empty group. To draw a retained list at u u u , draw its O ( n ) O(n) O ( n ) profile labels independently from the original rational probabilities and test Q u ( k ) < t Q_u^{(k)}<t Q u ( k ) < t . Repeat on rejection. Markov’s inequality bounds the rejection probability by p k p_k p k . In the range where the proof is applied, p k = o ( 1 ) p_k=o(1) p k = o ( 1 ) and in particular p k ≤ 1 / 2 p_k\le1/2 p k ≤ 1/2 , so the expected number of attempts is at most two. There is no edge within V k V_k V k , so the acceptance test for u u u depends only on its own list and on earlier groups. It remains the same throughout this group’s resampling procedure. Consequently this procedure samples exactly the required independent retained distributions, even though their normalizing probabilities are not computed. The choices in different colors of a retained list may now be dependent. Rejection sampling automatically gives each accepted list its original probability divided by the total acceptance probability. The crucial independence is between the lists at distinct vertices of the current group: their acceptance tests use disjoint random choices. This is the independence needed by partial resampling.
We apply the Harris–Srinivasan procedure directly to these sampled lists. In the proof of their Theorem 4.7, a fractional product distribution is first found and then rounded by their Algorithm 2. Here that distribution is already supplied by the sampling procedure just described, so the first step is unnecessary. More explicitly, their Theorem 3.8 uses resampling probabilities p i , j = λ i , j / ∑ j λ i , j p_{i,j}=\lambda_{i,j}/\sum_j\lambda_{i,j} p i , j = λ i , j / ∑ j λ i , j . The proof of their Theorem 4.7 takes λ i , j = ( 1 + ε ) z i , j \lambda_{i,j}=(1+\varepsilon)z_{i,j} λ i , j = ( 1 + ε ) z i , j , where z z z is the supplied distribution, so these resampling probabilities are exactly z i , j z_{i,j} z i , j . No new distribution has to be computed. The rounding algorithm only needs to draw independent values of its variables, find a violated row, and sample a subset of the assignments currently contributing to that row. The row family here has polynomial size, and its coefficients are computable by (C.14) and the displayed formula for ϕ \phi ϕ .
The required subset sampling has a direct dynamic program. If a violated row currently has coefficients a 1 , … , a N ∈ [ 0 , 1 ] a_1,\ldots,a_N\in[0,1] a 1 , … , a N ∈ [ 0 , 1 ] , the Harris–Srinivasan rule chooses a set I I I of a specified size d d d with probability proportional to ∏ i ∈ I a i \prod_{i\in I}a_i ∏ i ∈ I a i . Put
E ( j , ℓ ) = ∑ I ⊆ { 1 , … , j } ∣ I ∣ = ℓ ∏ i ∈ I a i . E(j,\ell)=\sum_{\substack{I\subseteq\{1,\ldots,j\}\\ |I|=\ell}}\prod_{i\in I}a_i. E ( j , ℓ ) = I ⊆ { 1 , … , j } ∣ I ∣ = ℓ ∑ i ∈ I ∏ a i .
The recurrence
E ( j , ℓ ) = E ( j − 1 , ℓ ) + a j E ( j − 1 , ℓ − 1 ) , E ( 0 , 0 ) = 1 E(j,\ell) = E(j-1,\ell) + a_j E(j-1,\ell-1), \qquad E(0,0) = 1 E ( j , ℓ ) = E ( j − 1 , ℓ ) + a j E ( j − 1 , ℓ − 1 ) , E ( 0 , 0 ) = 1
computes the table in O ( N d ) O(Nd) O ( N d ) operations, taking impossible entries to be zero. Starting with j = N j=N j = N and ℓ = d \ell=d ℓ = d , include j j j with probability a j E ( j − 1 , ℓ − 1 ) / E ( j , ℓ ) a_j E(j-1,\ell-1)/E(j,\ell) a j E ( j − 1 , ℓ − 1 ) / E ( j , ℓ ) and decrease ℓ \ell ℓ when it is included; then decrease j j j and continue. This samples the required distribution. Only the current assignments are used, not the set of all possible values of any variable. This is the implementation principle in Appendix C of [20 ] . The recurrence separates subsets according to whether they contain j j j . In the backward sampling step, the numerator is exactly the total weight of subsets that do contain j j j , and the denominator is the total weight of all remaining choices. Thus the table provides both the normalizing constant and the conditional probabilities needed to draw the subset. All its entries are obtained by rational additions and multiplications of polynomially many input coefficients.
The proof of Theorem 4.7 of [20 ] bounds the expected number of resampling steps by a constant times the number of variables. It also allows supplied upper bounds on the row means. For our load rows use m k / ( 1 − p k ) m_k/(1-p_k) m k / ( 1 − p k ) ; for an error row with unchanged contribution C C C use ( Q v ( k − 1 ) − C + 1 / n ) / ( 1 − p k ) (Q_v^{(k-1)}-C+1/n)/(1-p_k) ( Q v ( k − 1 ) − C + 1/ n ) / ( 1 − p k ) , with the scaling from (C.10). Thus the implementation uses computable upper bounds on the retained means. The thresholds in the Harris–Srinivasan procedure may be rounded upward to rational numbers with additive error at most one; this preserves its guarantees and changes our final error only by a constant. Sampling a list, evaluating the rows, and selecting a resampling subset all take expected polynomial time. The same is therefore true of the complete procedure for choosing retained lists, for fixed accuracy.
Finding Disjoint Options
The large-edge rounding step requires an algorithm for the matching problem supplied existentially by Proposition A.5 . Here the degree gap is a fixed fraction, which allows an expected-polynomial implementation. We first regularize the instance without an excessive increase in its size, and then implement the random matching steps.
A job belongs to A A A , a slot belongs to B B B , and every option contains one job and two distinct slots. Degrees and pair counts include repeated options. The aim is to choose one option for every job without using any slot twice. The degree gap says that each job has more choices than any one slot has competing uses. We first reduce pair counts to a logarithmic scale. We then repeatedly choose a small matching and remove its vertices. The useful quantity is the ratio between the minimum number of choices for a remaining job and the maximum number of uses of a remaining slot. This ratio increases at each step. Once it is large, independent choices followed by local resampling finish the construction.
The regularization lemma below is a tool for one such step. It fills deficits at slots using new jobs, so that the random-step estimates can use exact degrees. It is important that no new option is offered to an old job: otherwise a matching in the enlarged instance might cover an original job with an option that did not exist in our problem.
Lemma C.2. Let G = ( A , B ) G=(A,B) G = ( A , B ) be a family of triples with A ≠ ∅ A\ne\varnothing A = ∅ : every edge consists of one vertex in A A A and two distinct vertices in B B B . Suppose every vertex of A A A has degree a a a , every vertex of B B B has degree at most b b b , and a ≥ b ≥ 1 a\ge b\ge1 a ≥ b ≥ 1 are integers. In polynomial time, one can construct a family of triples G ′ = ( A ′ , B ′ ) G'=(A',B') G ′ = ( A ′ , B ′ ) containing G G G as an induced subhypergraph such that
every vertex of A ′ A' A ′ has degree a a a and every vertex of B ′ B' B ′ has degree b b b ;
no new edge meets an old vertex of A A A ;
the maximum pair count is at most max { 1 , Δ 2 ( G ) } \max\{1,\Delta_2(G)\} max { 1 , Δ 2 ( G )} ;
fewer than 4 a 4a 4 a vertices are added to B B B , and at most ∣ B ∣ / 2 + 2 b |B|/2+2b ∣ B ∣/2 + 2 b vertices are added to A A A .
The polynomial bound refers to the explicitly listed hypergraph.
Proof. The total degree deficit in B B B is
T = ∑ v ∈ B ( b − d G ( v ) ) = b ∣ B ∣ − 2 a ∣ A ∣ . T=\sum_{v\in B}(b-d_G(v))=b|B|-2a|A|. T = v ∈ B ∑ ( b − d G ( v )) = b ∣ B ∣ − 2 a ∣ A ∣.
Let g = gcd ( b , 2 a ) g=\gcd(b,2a) g = g cd( b , 2 a ) . Choose an integer N N N with
2 a ≤ N < 4 a , N ≡ − ∣ B ∣ ( m o d 2 a / g ) . 2a\le N<4a,\qquad N\equiv-|B|\pmod{2a/g}. 2 a ≤ N < 4 a , N ≡ − ∣ B ∣ ( mod 2 a / g ) .
Such an N N N exists because 2 a / g ≤ 2 a 2a/g\le2a 2 a / g ≤ 2 a . Add N N N new vertices to B B B , each with deficit b b b . Then the total deficit is divisible by 2 a 2a 2 a . Put
m = T + N b 2 a . m=\frac{T+Nb}{2a}. m = 2 a T + N b .
We have b ≤ m ≤ ∣ B ∣ / 2 + 2 b b\le m\le|B|/2+2b b ≤ m ≤ ∣ B ∣/2 + 2 b . Add m m m new vertices to A A A . Each new job must receive a a a options, and each option uses two slot incidences. Thus a new job absorbs exactly 2 a 2a 2 a units of deficit. The choice of N N N makes this division integral and also supplies enough new jobs that each individual slot deficit can be spread over distinct jobs.
First find a simple bipartite graph J J J between the new A A A vertices and all the B B B vertices. Every new A A A vertex must have degree 2 a 2a 2 a ; each B B B vertex must have degree equal to its deficit, denoted d v d_v d v . These requirements are feasible: 0 ≤ d v ≤ b ≤ m 0\le d_v\le b\le m 0 ≤ d v ≤ b ≤ m and ∑ v d v = 2 a m \sum_v d_v=2am ∑ v d v = 2 am . For completeness, use a network with capacity 2 a 2a 2 a from the source to each new A A A vertex, capacity one on every possible new-A A A –B B B edge, and capacity d v d_v d v from v v v to the sink. For 0 ≤ k ≤ m 0\le k\le m 0 ≤ k ≤ m ,
∑ v min { d v , k } ≥ k m ∑ v d v = 2 a k . \sum_v\min\{d_v,k\}\ge\frac{k}{m}\sum_v d_v=2ak. v ∑ min { d v , k } ≥ m k v ∑ d v = 2 ak .
These inequalities verify every cut condition for flow 2 a m 2am 2 am . An integer maximum flow therefore supplies J J J in polynomial time.
Process the new A A A vertices one at a time. A new vertex u u u has 2 a 2a 2 a distinct neighbors in J J J . Pair those neighbors, forbidding any pair already contained in an edge of the growing hypergraph. Before processing u u u , each of its neighbors still needs the one incident edge supplied at this step. Its present degree is therefore at most b − 1 b-1 b − 1 , so it has at most b − 1 b-1 b − 1 forbidden partners. The allowed graph on the 2 a 2a 2 a neighbors has minimum degree at least
2 a − 1 − ( b − 1 ) = 2 a − b ≥ a . 2a-1-(b-1)=2a-b\ge a. 2 a − 1 − ( b − 1 ) = 2 a − b ≥ a .
It has a perfect matching. One elementary proof takes a largest matching: if x , y x,y x , y are unmatched, they are nonadjacent, and the sum of their degrees is at least 2 a 2a 2 a . But unless a three-edge augmenting path exists, each matched pair accounts for at most two of these incidences, giving a sum at most 2 a − 2 2a-2 2 a − 2 , a contradiction. A standard polynomial matching algorithm finds the required pairing.
For every paired pair v , w v,w v , w , add the hyperedge { u , v , w } \{u,v,w\} { u , v , w } . This gives u u u exactly a a a hyperedges and uses each of its incidence edges in J J J once. After all new vertices have been processed, every deficit is filled. A pair consisting of a new A A A vertex and a B B B vertex occurs at most once, since J J J is simple. A pair of B B B vertices is never reused. Pairs meeting old A A A vertices are unchanged. This proves the pair count claim, and the construction adds only polynomially many vertices and edges. □ \square □
Proposition C.3. Fix η , ζ > 0 \eta,\zeta>0 η , ζ > 0 . For sufficiently large integer D D D , an explicitly listed family of triples G = ( A , B ) G=(A,B) G = ( A , B ) satisfying
d ( a ) ≥ ( 1 + η ) D ( a ∈ A ) , d ( b ) ≤ D ( b ∈ B ) , Δ 2 ( G ) ≤ D 1 − ζ d(a) \ge(1+\eta)D \quad(a\in A), \qquad d(b) \le D \quad(b\in B), \qquad\Delta_2(G) \le D^{1-\zeta} d ( a ) ≥ ( 1 + η ) D ( a ∈ A ) , d ( b ) ≤ D ( b ∈ B ) , Δ 2 ( G ) ≤ D 1 − ζ has a matching covering every element of A A A that can be found by a randomized algorithm in expected polynomial time. The degree threshold and running-time constants may depend on η , ζ \eta,\zeta η , ζ . Each edge has exactly one vertex in A A A and two distinct vertices in B B B .
Proof. If A A A is empty, return the empty matching. If no jobs remain at any later stage, return the matching already found. We henceforth assume the current job set is nonempty, so the initial D D D is at most the number of explicitly listed input edges. We describe how to make the no-forbidden-configuration case of the Delcourt–Postle argument algorithmic under the fixed slack used here. The only concentration input is their iterative bipartite lemma and its variable-model local-lemma proof [10 Lemma 3.3 and Sections 5.5–6] . We use the standard Moser–Tardos algorithm [29 ] : sample all independent variables and, while a bad event holds, resample its variables. Under the symmetric local-lemma bound e p ( d + 1 ) < 1 ep(d+1)<1 e p ( d + 1 ) < 1 , its expected number of resamplings is polynomial in the number of explicitly checkable events.
The proof keeps a matching already chosen and a residual instance for the uncovered jobs. Every accepted random step adds disjoint original options to that matching. Its degree estimates ensure that the residual instance still has many choices per job, while the competition at each slot decreases faster. Resampling changes only the proposed step; we accept its matching only after all of that step’s tests pass.
Choose fixed rational θ \theta θ with 0 < θ < min { η / 4 , 1 / 8 } 0<\theta<\min\{\eta/4,1/8\} 0 < θ < min { η /4 , 1/8 } . Delete edges at vertices of A A A until each has degree a ∗ : = ⌈ ( 1 + 4 θ ) D ⌉ a_*:=\lceil(1+4\theta)D\rceil a ∗ := ⌈( 1 + 4 θ ) D ⌉ . This is possible for large D D D , and all degrees are then at most 2 D 2D 2 D .
Reducing the degrees once. The small-matching estimates below require logarithmic pair counts, whereas the input only gives D 1 − ζ D^{1-\zeta} D 1 − ζ . A preliminary independent sampling achieves this without spending a substantial part of the degree gap. Ordinary degrees retain a growing expectation, but the expected number of retained copies through a fixed pair tends to zero. Choose a fixed rational s s s with 0 < s < min { ζ / 2 , 1 / 2 } 0<s<\min\{\zeta/2,1/2\} 0 < s < min { ζ /2 , 1/2 } and put p = 2 − ( 1 − s ) log 2 D p=2^{-(1-s)\log_2 D} p = 2 − ( 1 − s ) l o g 2 D . This is an exactly computable dyadic probability; equivalently its exponent can be found using integer powers, since s s s is rational. Write d = p D d=pD d = p D . Independently retain each edge with probability p p p .
Let δ = θ / 10 \delta=\theta/10 δ = θ /10 . The bad events are a retained degree below ( 1 − δ ) p a ∗ (1-\delta)pa_* ( 1 − δ ) p a ∗ at a vertex of A A A , a retained degree above ( 1 + δ ) d (1+\delta)d ( 1 + δ ) d at a vertex of B B B , and a pair count above
t = ⌈ ⌊ log 2 d ⌋ 2 4 ⌉ . t=\left\lceil\frac{\left\lfloor\log_2 d\right\rfloor^2}{4}\right\rceil. t = ⌈ 4 ⌊ log 2 d ⌋ 2 ⌉ .
For large D D D , t ≤ 0.6 ( log d ) 2 t\le0.6(\log d)^2 t ≤ 0.6 ( log d ) 2 . Chernoff bounds give degree-event probabilities exp ( − Ω θ ( d ) ) \exp(-\Omega_\theta(d)) exp ( − Ω θ ( d )) . A pair has expected pair count at most p D 1 − ζ ≤ D s − ζ pD^{1-\zeta}\le D^{s-\zeta} p D 1 − ζ ≤ D s − ζ , which tends to zero; the standard binomial upper-tail bound gives probability at most exp ( − Ω s , ζ ( ( log D ) 3 ) ) \exp(-\Omega_{s,\zeta}((\log D)^3)) exp ( − Ω s , ζ (( log D ) 3 )) for a pair event. Each event involves at most 2 D 2D 2 D edge variables. One edge variable belongs to at most three degree events and three pair events. Consequently the dependency degree is O ( D ) O(D) O ( D ) , and the symmetric Moser–Tardos condition holds for large D D D . All events are checked by counting retained incidences. This finds a retained graph in expected polynomial time. Set
a 0 = ⌊ ( 1 − δ ) p a ∗ ⌋ , b 0 = ⌈ ( 1 + δ ) d ⌉ . a_0 = \lfloor(1-\delta)pa_\ast\rfloor,\qquad b_0 = \lceil(1+\delta)d\rceil. a 0 = ⌊( 1 − δ ) p a ∗ ⌋ , b 0 = ⌈( 1 + δ ) d ⌉ .
For large D D D , its A A A degrees are at least a 0 a_0 a 0 , its B B B degrees are at most b 0 b_0 b 0 , and a 0 / b 0 ≥ 1 + 2 θ a_0/b_0 \ge1+2\theta a 0 / b 0 ≥ 1 + 2 θ . Its pair counts are at most 0.6 ( log d ) 2 0.6(\log d)^2 0.6 ( log d ) 2 .
Choosing a small random matching Suppose the current degree bounds are integers a ≥ b a \ge b a ≥ b , with 1 + θ ≤ R : = a / b ≤ 2000 1+\theta\le R := a/b \le2000 1 + θ ≤ R := a / b ≤ 2000 , and pair counts at most ( log b ) 2 (\log b)^2 ( log b ) 2 . Fix rational constants
0 < γ ≤ min { θ / 8 , 1 / 1000 } , ε = γ / 10 12 , w = 1. 0 < \gamma\le\min\{\theta/8,1/1000\},\qquad\varepsilon= \gamma/10^{12},\qquad w = 1. 0 < γ ≤ min { θ /8 , 1/1000 } , ε = γ /1 0 12 , w = 1.
These satisfy the inequalities in the Delcourt–Postle iterative lemma for r = 3 r=3 r = 3 , g = 2 g=2 g = 2 , and R ≤ 2000 R \le2000 R ≤ 2000 , once b b b is large enough. In particular,
γ ≥ 96 R ( 15 R + 3 ) ε , ε ≥ b − 1 / 18 , R ≤ log b . \gamma\ge96R(15R+3)\varepsilon,\qquad\varepsilon\ge b^{-1/18},\qquad R \le\log b. γ ≥ 96 R ( 15 R + 3 ) ε , ε ≥ b − 1/18 , R ≤ log b .
The last two conditions hold for all sufficiently large b b b because the parameters are fixed. The remaining hypotheses also hold: γ ≤ 1 / 144 \gamma\le1/144 γ ≤ 1/144 , the pair count is at most 4 log 2 b 4\log^2 b 4 log 2 b , and the forbidden configuration hypergraph is empty.
Trim the degrees in A A A to a a a , and apply Lemma C.2 to make the B B B degrees exactly b b b . This extension has polynomial size and preserves the pair-count bound. Independently select each edge with probability ε / b \varepsilon/b ε / b , and independently mark it for deletion with probability ε \varepsilon ε . These latter coins are called equalizing coins in [10 Section 5.1] : with an empty forbidden family and w = 1 w=1 w = 1 , each edge is deleted with the same probability ε \varepsilon ε . Keep the selected edges that meet no other selected edge and were not marked for deletion. They form a matching. Delete its vertices and the edges marked for deletion.
The degree conclusions of the cited iterative lemma are
a ′ = a e − ε ( 3 + γ ) , b ′ = b e − ε ( R + 2 − γ ) . a' = ae^{-\varepsilon(3+\gamma)},\qquad b' = be^{-\varepsilon(R+2-\gamma)}. a ′ = a e − ε ( 3 + γ ) , b ′ = b e − ε ( R + 2 − γ ) .
The exponents explain the gain. An option at a job must survive at its two slots, whereas an option at a slot must also survive competition at its job, whose degree is a = R b a=Rb a = R b . The latter competition is stronger because R > 1 R>1 R > 1 . The deletion coins contribute equally to both sides. Ignoring the small allowance γ \gamma γ , the ratio therefore gains a factor e ε ( R − 1 ) e^{\varepsilon(R-1)} e ε ( R − 1 ) in one step.
We briefly specify why the probabilistic step is algorithmic, rather than relying only on its positive probability. Let F 0 F_0 F 0 be the marked edges and V ′ V' V ′ the vertices not covered by the proposed matching. For each vertex v v v of the regularized graph, define
D v = { e ∋ v : e ∉ F 0 , e ∖ { v } ⊆ V ′ } . D_v=\{e\ni v:e\notin F_0,\ e\setminus\{v\}\subseteq V'\}. D v = { e ∋ v : e ∈ / F 0 , e ∖ { v } ⊆ V ′ } .
Thus ∣ D v ∣ |D_v| ∣ D v ∣ counts options that remain available at their other vertices. It equals the residual degree if v v v itself survives; its definition does not require conditioning on that survival. The bad events are
A u = { ∣ D u ∣ < a ′ } ( u ∈ A ) , A v = { ∣ D v ∣ > b ′ } ( v ∈ B ) . \mathcal{A}_u=\{|D_u|<a'\}\quad(u\in A),\qquad\mathcal{A}_v=\{|D_v|>b'\}\quad(v\in B). A u = { ∣ D u ∣ < a ′ } ( u ∈ A ) , A v = { ∣ D v ∣ > b ′ } ( v ∈ B ) .
These are the one-sided events denoted A a , A b A_a,A_b A a , A b in [10 Section 6] . Only surviving vertices need the resulting degree guarantees, but testing the events at all vertices is convenient. Each event can be checked from selection and deletion coins in a fixed neighborhood in the incidence graph. The concentration calculation in [10 Sections 5.4.3, 5.5, and 6] bounds their probabilities by exp ( − ( log b ) 3 / 2 ) \exp(-(\log b)^{3/2}) exp ( − ( log b ) 3/2 ) , while their dependency degrees are bounded by a fixed power of b b b . With the forbidden family empty, no other configuration events or probability-evaluation subroutines are needed. Moser–Tardos therefore finds acceptable coins in expected polynomial time. We may use weaker, rational degree thresholds, as specified next; their bad events are subsets of these events and satisfy the same bounds. The neighborhood bound is what makes this useful when the total graph is very large: a fixed event does not depend on coins at distant jobs. Since the regularized maximum degree is at most 2000 b 2000b 2000 b , a neighborhood of fixed radius contains only a fixed power of b b b incidences. The displayed failure probability is eventually smaller than the reciprocal of any such power, giving the required local-lemma inequality.
Exact thresholds and growth of the degree ratio The exponential expressions are convenient for analysis, but the algorithm must make exact accept-or-reject decisions. We therefore relax them slightly to rational thresholds before testing any event. Put τ = ε θ / 100 \tau=\varepsilon\theta/100 τ = εθ /100 . Compute rational numbers L , U L,U L , U such that
( 1 − 2 τ ) e − ε ( 3 + γ ) ≤ L ≤ ( 1 − τ ) e − ε ( 3 + γ ) , (1-2\tau)e^{-\varepsilon(3+\gamma)} \le L \le(1-\tau)e^{-\varepsilon(3+\gamma)}, ( 1 − 2 τ ) e − ε ( 3 + γ ) ≤ L ≤ ( 1 − τ ) e − ε ( 3 + γ ) ,
( 1 + τ ) e − ε ( R + 2 − γ ) ≤ U ≤ ( 1 + 2 τ ) e − ε ( R + 2 − γ ) . (1+\tau)e^{-\varepsilon(R+2-\gamma)} \le U \le(1+2\tau)e^{-\varepsilon(R+2-\gamma)}. ( 1 + τ ) e − ε ( R + 2 − γ ) ≤ U ≤ ( 1 + 2 τ ) e − ε ( R + 2 − γ ) .
Use the integer thresholds a + = ⌊ a L ⌋ a_+ = \lfloor aL\rfloor a + = ⌊ a L ⌋ and b + = ⌈ b U ⌉ b_+ = \lceil bU\rceil b + = ⌈ b U ⌉ in the event tests. These relax the preceding degree bounds. Taylor expansion with a certified remainder computes the required exponential intervals in polynomial time; only a fixed relative precision depending on θ \theta θ is required. All actual coin probabilities and event comparisons remain rational.
For large b b b , the integer rounding changes the relative bounds by at most another τ \tau τ . Hence
a + b + ≥ R e ε ( R − 1 − 2 γ ) 1 − 3 τ 1 + 3 τ ≥ R e ε θ / 2 . \frac{a_+}{b_+} \ge Re^{\varepsilon(R-1-2\gamma)}\frac{1-3\tau}{1+3\tau} \ge Re^{\varepsilon\theta/2}. b + a + ≥ R e ε ( R − 1 − 2 γ ) 1 + 3 τ 1 − 3 τ ≥ R e εθ /2 .
The ratio thus reaches 1000 1000 1000 after at most ⌈ 2 log ( 1000 ) / ( ε θ ) ⌉ + 1 \lceil2\log(1000)/(\varepsilon\theta)\rceil+1 ⌈ 2 log ( 1000 ) / ( εθ )⌉ + 1 steps, a constant depending only on η \eta η . Before and immediately after the last step it remains below $2000. Throughout these constantly many steps, b ≥ c η d b \ge c_\eta d b ≥ c η d for a positive constant c η c_\eta c η . Thus the original pair-count bound 0.6 ( log d ) 2 0.6(\log d)^2 0.6 ( log d ) 2 is at most ( log b ) 2 (\log b)^2 ( log b ) 2 for large D D D , and every step’s hypotheses hold.
Discarding the regularization after each step To keep the instance size polynomial, discard the auxiliary extension after each random matching step. Retain only the matching edges and residual vertices belonging to the graph before regularization. No regularization edge meets an old A A A vertex. Consequently an old A A A vertex is removed only when an original edge matches it, and the degree of each surviving old A A A vertex is unchanged by discarding dummy vertices. Degrees in old B B B can only decrease. Old B B B vertices used by a discarded dummy matching edge may simply be left unavailable in later steps. Such a slot was already removed by the random step, so keeping it unavailable cannot create a new loss beyond the degree estimates just proved. It also cannot cover an old job: dummy edges contain only new jobs. Thus every old job that disappears has genuinely been matched by an original option. Therefore the next current graph is always a subhypergraph of the initial reduced graph. The extensions never accumulate or multiply. Each individual extension has O ( ∣ V ( G ) ∣ + D ) O(|V(G)|+D) O ( ∣ V ( G ) ∣ + D ) vertices and polynomially many edges, and there are only constantly many extensions.
Finishing Once a ≥ 1000 b a \ge1000b a ≥ 1000 b , trim each remaining job to exactly 900 b 900b 900 b options. Independently choose one uniformly for each job. A bad event specifies two options from different jobs that share a slot and are both chosen. Its probability is ( 900 b ) − 2 (900b)^{-2} ( 900 b ) − 2 . A job belongs to at most ( 900 b ) ( 2 b ) (900b)(2b) ( 900 b ) ( 2 b ) such events, so an event has dependency degree at most 3600 b 2 3600b^2 3600 b 2 . The symmetric local-lemma inequality holds:
e ( 900 b ) − 2 ( 3600 b 2 + 1 ) < 1. e(900b)^{-2}(3600b^2+1)<1. e ( 900 b ) − 2 ( 3600 b 2 + 1 ) < 1.
Another Moser–Tardos run finds a collision-free choice. Together with the original matching edges retained from the previous steps, it covers every original job exactly once.
All input hyperedges, including repeated copies, are explicitly listed. After the first trimming their number, the numbers of bad events, the sizes of the regularized graphs, and the number of coin variables are polynomial in that input size. Each event test and resampling uses polynomial time. The parameters are fixed, all actual coin probabilities are rational with polynomial encoding length, and the number of stages is independent of input size. The standard expected resampling bounds therefore give expected polynomial total time. Every returned object is checked to be a matching covering every element of A A A , so every output is correct. □ \square □
Combining the Procedures
For the simple-graph algorithm, use the approximate local packings in Section A.7. The compression in Lemma C.1 scans explicit slot sizes and assigns fractions greedily, and hence takes polynomial time for fixed accuracy.
The profile choices use the resampling procedure in Section C.4. The matching of large-edge options uses Proposition C.3 : its job degrees exceed its slot degrees by a fixed fraction, exactly as in (C.12). The list of option triples has polynomial size. Indeed its multiplicity scale is ⌈ n ⌉ 6 \lceil n\rceil^6 ⌈ n ⌉ 6 , and the parameters n = ⌈ Δ w ( G ) ⌉ n=\lceil\Delta_w(G)\rceil n = ⌈ Δ w ( G )⌉ or an approximate local bin count are bounded by a constant times the number of input edges, apart from a constant depending on accuracy.
The small-edge choices use Lemma A.3 , with exact rational linear algebra. Sorting, grouping parallel edges, finding ordinary matchings, proper bipartite edge coloring, and the Euler-tour construction also take polynomial time. Each random procedure has an expected polynomial number of resampling steps and can check its output. Thus these algorithms have expected polynomial running time for every fixed accuracy.
Choose a fixed threshold large enough for the inequalities in these proofs. Below that threshold use decreasing-weight greedy cleanup directly, before invoking any resampling procedure. Its color count is then bounded by a constant depending only on accuracy. This gives an algorithm on every input and accounts for the additive constants in the fixed-accuracy statements.
These are algorithms for each fixed accuracy. Their running-time constants may depend on that accuracy, as allowed by the uniform asymptotic guarantees.
The Bipartite Total-Weight Bound
This appendix proves the result in § 4 . We group parallel edges, prove the missing-color estimates, and use the rounding theorem from Section C to complete the coloring.
Grouping Parallel Edges
We first group parallel edges without changing any color load. Let G G G be a weighted multigraph with W G ( v ) ≤ n W_G(v) \le n W G ( v ) ≤ n at every vertex. Initially, each edge forms its own group. For each fixed pair of endpoints, repeatedly combine two groups whose weights are both at most 1 / 2 1/2 1/2 . The weight of a group is the sum of its edge weights. Every group produced this way has weight at most one. When the process ends, at most one group of weight at most 1 / 2 1/2 1/2 remains for each pair of endpoints. Regard each group as a single edge. Let H H H consist of the groups of weight greater than 1 / 2 1/2 1/2 , and let R R R consist of the other groups. Thus H H H is a multigraph, whereas R R R is simple and has weights at most 1 / 2 1/2 1/2 . A color assigned to a group will be assigned to all the original edges in that group. This keeps the load of every color at every vertex unchanged.
Figure 8. Parallel edges may be grouped and then treated as single weighted edges. Here 0.35 + 0.30 = 0.65 0.35+0.30=0.65 0.35 + 0.30 = 0.65 and 0.20 + 0.15 + 0.10 = 0.45 0.20+0.15+0.10=0.45 0.20 + 0.15 + 0.10 = 0.45 . All original edges in a group receive the same color. The grouping rule leaves at most one group of weight at most 1 / 2 1/2 1/2 for each pair of vertices.
Coordinating Missing Colors
We next study a proper edge coloring of a multigraph H H H with colors 1 , … , K 1,\ldots,K 1 , … , K . A color is missing at v v v if no edge at v v v has that color. Write F v F_v F v for the set of missing colors and f v = ∣ F v ∣ f_v=|F_v| f v = ∣ F v ∣ . We will change the coloring while keeping every number f v f_v f v fixed.
Fix two colors a , b a,b a , b and consider the subgraph formed by their edges. Since the coloring is proper, every vertex has degree at most two in the resulting graph. Its components are paths, even cycles, and isolated vertices. On any whole path component, we may exchange a a a and b b b on every edge. The coloring stays proper. Only the missing colors at the two ends of the path change; see Figure 9 . This operation is usually called a Kempe switch .
Figure 9. Exchanging two colors on a whole path component preserves a proper edge coloring. Only the missing colors at the two ends change. In the path shown, both ends miss the same color before the switch and the same color afterward. The proof in Section D.2 also permits even-length paths.
Let Q Q Q be an additional graph whose edges remain to be colored. The next lemma assigns each edge fractions of colors missing at both endpoints. It controls the load of each color and the total weight lost through edges whose assigned fractions sum to less than one. These estimates use first and second moments and do not require a positive lower bound on the edge weights.
Lemma D.1. Fix positive constants α \alpha α , C C C , L L L . Suppose a multigraph without loops H H H has a proper coloring with an even number K ≥ 4 K \ge4 K ≥ 4 of colors. Let F v F_v F v be the colors missing at v v v , and write f v = ∣ F v ∣ f_v = |F_v| f v = ∣ F v ∣ . Suppose
f v ≥ α n for every v , K ≤ C n . f_v \ge\alpha n \quad\text{for every } v, \qquad K \le Cn. f v ≥ α n for every v , K ≤ C n . Let Q Q Q be another multigraph without loops on the same vertex set, with nonnegative weights q e q_e q e , such that
W Q ( v ) : = ∑ e ∋ v q e ≤ n , ∑ e = u v q e ≤ L for every pair u , v . W_Q(v) := \sum_{e \ni v} q_e \le n, \qquad\sum_{e=uv} q_e \le L \quad\text{for every pair } u,v. W Q ( v ) := e ∋ v ∑ q e ≤ n , e = uv ∑ q e ≤ L for every pair u , v . For sufficiently large n n n , path switches in H H H give missing-color sets and fractions x e , c x_{e,c} x e , c with the following properties:
x e , c > 0 ⟹ c ∈ F u ∩ F v ( e = u v ) , (18) x_{e,c} > 0 \implies c \in F_u \cap F_v \qquad(e=uv), \tag*{(18)} x e , c > 0 ⟹ c ∈ F u ∩ F v ( e = uv ) , (18) 0 ≤ x e , c ≤ C α 2 n , ∑ c x e , c ≤ 1 , (19) 0 \le x_{e,c} \le\frac{C}{\alpha^2 n}, \qquad\sum_c x_{e,c} \le1, \tag*{(19)} 0 ≤ x e , c ≤ α 2 n C , c ∑ x e , c ≤ 1 , (19) ∑ e ∋ v q e x e , c ≤ W Q ( v ) f v + O ( n − 1 / 2 ( log n ) 3 / 2 ) , (20) \sum_{e \ni v} q_e x_{e,c} \le\frac{W_Q(v)}{f_v} + O\left(n^{-1/2}(\log n)^{3/2}\right), \tag*{(20)} e ∋ v ∑ q e x e , c ≤ f v W Q ( v ) + O ( n − 1/2 ( log n ) 3/2 ) , (20) ∑ e ∋ v q e ( 1 − ∑ c x e , c ) ≤ O ( n 3 / 4 ( log n ) 3 / 4 ) . (21) \sum_{e \ni v} q_e\left(1-\sum_c x_{e,c}\right) \le O\left(n^{3/4}(\log n)^{3/4}\right). \tag*{(21)} e ∋ v ∑ q e ( 1 − c ∑ x e , c ) ≤ O ( n 3/4 ( log n ) 3/4 ) . (21) The constants and the required lower bound on n n n depend only on α \alpha α , C C C , L L L , not on the number of vertices. No positive lower bound on q e q_e q e is required.
Proof of Lemma D.1. Write a u , c = 1 { c ∈ F u } a_{u,c} = 1_{\{c \in F_u\}} a u , c = 1 { c ∈ F u } . We choose a short list of pairings of the colors and switch paths for each pairing. In addition to averages of a u , c a_{u,c} a u , c , we keep track of averages of a u , c a u , d a_{u,c}a_{u,d} a u , c a u , d for distinct colors c , d c,d c , d .
The first averages will bound the load proposed for each color. The second averages have a different purpose: they bound the weighted squared error in the number of common missing colors on an edge. An average overlap alone would allow many edges to have no common missing color, compensated by a few edges with large overlap. The squared-error estimate rules out a large total weight of such poorly served edges. We first find color pairings that mix these two kinds of averages, then choose actual path switches that stay close to the averages, and finally turn the overlaps into fractions.
For a list h h h , write ∥ h ∥ 2 = ∑ i h i 2 \lVert h\rVert^2 = \sum_i h_i^2 ∥ h ∥ 2 = ∑ i h i 2 ; h T h^T h T denotes the same list written as a row rather than a column.
Mixing colors and color pairs For a pairing M M M of the K K K colors, let A M A_M A M average within each pair. Let B M B_M B M act on lists indexed by unordered pairs { c , d } \{c,d\} { c , d } of distinct colors. To apply B M B_M B M , independently exchange or keep the two colors of every pair in M M M , apply the resulting permutation to the indices of the list, and average over all these choices. Both matrices are symmetric, have nonnegative entries, and have every row sum equal to one. Applying either averaging operation twice has the same effect as applying it once. Consequently
∥ A M h ∥ 2 = h T A M h , ∥ B M h ∥ 2 = h T B M h . \lVert A_M h\rVert^2 = h^T A_M h,\qquad\lVert B_M h\rVert^2 = h^T B_M h. ∥ A M h ∥ 2 = h T A M h , ∥ B M h ∥ 2 = h T B M h .
These identities let us measure mixing by a single quadratic expression. The constant lists are unchanged, so the quantity to reduce is the part of a list left after subtracting its average. The contraction below is an expectation over the random pairing M M M ; it need not hold for each individual pairing.
Choose M M M uniformly at random. Direct expansion gives
E ∥ A M h ∥ 2 = K − 2 2 ( K − 1 ) ∥ h ∥ 2 ≤ 1 2 ∥ h ∥ 2 when ∑ i h i = 0. \mathbb{E}\lVert A_M h\rVert^2 = \frac{K-2}{2(K-1)}\lVert h\rVert^2 \le\frac{1}{2}\lVert h\rVert^2\quad\text{when}\quad\sum_i h_i=0. E ∥ A M h ∥ 2 = 2 ( K − 1 ) K − 2 ∥ h ∥ 2 ≤ 2 1 ∥ h ∥ 2 when i ∑ h i = 0.
We prove the same statement for B M B_M B M . An entry of E B M \mathbb{E}B_M E B M depends only on whether its two unordered-pair indices are equal, meet in one color, or are disjoint. The respective entries are
p = K + 2 4 ( K − 1 ) , q = 1 4 ( K − 1 ) , r = 1 2 ( K − 1 ) ( K − 3 ) . p=\frac{K+2}{4(K-1)},\qquad q=\frac{1}{4(K-1)},\qquad r=\frac{1}{2(K-1)(K-3)}. p = 4 ( K − 1 ) K + 2 , q = 4 ( K − 1 ) 1 , r = 2 ( K − 1 ) ( K − 3 ) 1 .
For example, a pair { i , j } \{i,j\} { i , j } is itself paired in M M M with probability 1 / ( K − 1 ) 1/(K-1) 1/ ( K − 1 ) and is then unchanged. Otherwise it is unchanged with probability 1 / 4 1/4 1/4 , giving p p p . To change just j j j to a specified third color, those two colors must be paired, one swap must be made, and one must be omitted, giving q q q . To reach a disjoint pair, there are two possible pairings of the four colors, and both swaps must be made, giving r r r .
Every symmetric array ( h i j ) i ≠ j (h_{ij})_{i\ne j} ( h ij ) i = j has a decomposition
h i j = h ˉ + ( b i + b j ) + r i j , ∑ i b i = 0 , ∑ j ≠ i r i j = 0 for every i . h_{ij}=\bar h+(b_i+b_j)+r_{ij},\qquad\sum_i b_i=0,\qquad\sum_{j\ne i}r_{ij}=0\quad\text{for every }i. h ij = h ˉ + ( b i + b j ) + r ij , i ∑ b i = 0 , j = i ∑ r ij = 0 for every i .
where
h ˉ = 1 ( K 2 ) ∑ i < j h i j , b i = 1 K − 2 ∑ j ≠ i ( h i j − h ˉ ) . \bar h=\frac{1}{\binom{K}{2}}\sum_{i<j}h_{ij},\qquad b_i=\frac{1}{K-2}\sum_{j\ne i}(h_{ij}-\bar h). h ˉ = ( 2 K ) 1 i < j ∑ h ij , b i = K − 2 1 j = i ∑ ( h ij − h ˉ ) .
Indeed, the row sums after subtracting h ˉ \bar h h ˉ add to zero, so ∑ i b i = 0 \sum_i b_i=0 ∑ i b i = 0 . The row sum of the array b i + b j b_i+b_j b i + b j at i i i is ( K − 2 ) b i (K-2)b_i ( K − 2 ) b i , leaving every row sum of r r r equal to zero. The three arrays are mutually perpendicular under the inner product ⟨ x , y ⟩ = ∑ i < j x i j y i j \langle x,y\rangle=\sum_{i<j}x_{ij}y_{ij} ⟨ x , y ⟩ = ∑ i < j x ij y ij : the last two have total sum zero, and
∑ i < j ( b i + b j ) r i j = ∑ i b i ∑ j ≠ i r i j = 0. \sum_{i<j}(b_i+b_j)r_{ij}=\sum_i b_i\sum_{j\ne i}r_{ij}=0. i < j ∑ ( b i + b j ) r ij = i ∑ b i j = i ∑ r ij = 0.
The matrix E B M \mathbb{E}B_M E B M multiplies these three arrays, respectively, by
1 , p + ( K − 4 ) q − ( K − 3 ) r = K − 2 2 ( K − 1 ) , p − 2 q + r = K − 2 4 ( K − 3 ) . 1,\qquad p+(K-4)q-(K-3)r=\frac{K-2}{2(K-1)},\qquad p-2q+r=\frac{K-2}{4(K-3)}. 1 , p + ( K − 4 ) q − ( K − 3 ) r = 2 ( K − 1 ) K − 2 , p − 2 q + r = 4 ( K − 3 ) K − 2 .
Here is the calculation behind the last two expressions. For a fixed index { i , j } \{i,j\} { i , j } , separate the other indices into those meeting it in one color and those disjoint from it. If h i j = b i + b j h_{ij}=b_i+b_j h ij = b i + b j and ∑ i b i = 0 \sum_i b_i=0 ∑ i b i = 0 , the sums over these two classes are ( K − 4 ) h i j (K-4)h_{ij} ( K − 4 ) h ij and − ( K − 3 ) h i j -(K-3)h_{ij} − ( K − 3 ) h ij , respectively. If every row sum of h h h is zero, the two sums are instead − 2 h i j -2h_{ij} − 2 h ij and h i j h_{ij} h ij . Multiplying these class sums by q q q and r r r and adding the diagonal term p h i j ph_{ij} p h ij gives the displayed factors. Thus there are just two kinds of nonconstant behavior to control, and both contract at the required rate. The last two numbers are at most 1/2 for even K ≥ 4 K \ge4 K ≥ 4 . Therefore
E ∥ B M h ∥ 2 = h T ( E B M ) h ≤ 1 2 ∥ h ∥ 2 when ∑ i < j h i j = 0. \mathbb{E}\lVert B_M h\rVert^2 = h^{T}(\mathbb{E}B_M)h \le\frac{1}{2}\lVert h\rVert^2 \quad\text{when } \sum_{i<j} h_{ij}=0. E ∥ B M h ∥ 2 = h T ( E B M ) h ≤ 2 1 ∥ h ∥ 2 when i < j ∑ h ij = 0.
Take s = 14 ⌈ log 2 K ⌉ s=14\lceil\log_2 K\rceil s = 14 ⌈ log 2 K ⌉ independent uniform pairings. Apply these two contraction bounds successively to all unit coordinate lists after subtracting their averages. The expected sum of the squared errors for the two products is at most
( K + ( K 2 ) ) 2 − s < K − 10 . \left(K+\binom{K}{2}\right)2^{-s}<K^{-10}. ( K + ( 2 K ) ) 2 − s < K − 10 .
Thus some fixed list of pairings has the following property for both products: it sends any list to within K − 4 K^{-4} K − 4 times its original norm of the constant list with the same average. Indeed, if P P P is either product and J J J replaces every entry by the average, the Cauchy–Schwarz inequality gives
∥ ( P − J ) x ∥ 2 ≤ ∥ x ∥ 2 ∑ j ∥ ( P − J ) e j ∥ 2 , \lVert(P-J)x\rVert^2\le\lVert x\rVert^2\sum_j\lVert(P-J)e_j\rVert^2, ∥( P − J ) x ∥ 2 ≤ ∥ x ∥ 2 j ∑ ∥( P − J ) e j ∥ 2 ,
where the e j e_j e j are the unit coordinate lists. Fix such a list of pairings.
Controlling the moments We now transfer this averaging calculation to the actual coloring. We intend to propose fraction K / ( f u f v ) K/(f_u f_v) K / ( f u f v ) for each common missing color of an edge u v uv uv . The lists below record the neighbor contributions to the resulting load and to the square of an edge’s total proposal. All three lists below are attached to a target vertex v v v and sum information from its neighbors u u u . The list z v z_v z v measures how much weighted demand can request a given color from those neighbors. The lists d v d_v d v and Z v Z_v Z v will be the diagonal and off-diagonal terms when we square the number of common missing colors: the diagonal uses a u , c 2 = a u , c a_{u,c}^2=a_{u,c} a u , c 2 = a u , c , whereas the off-diagonal uses a u , c a u , d a_{u,c}a_{u,d} a u , c a u , d . During the switches define
z v , c = ∑ e = u v q e f u a u , c , d v , c = ∑ e = u v q e f u 2 a u , c , z_{v,c}=\sum_{e=uv}\frac{q_e}{f_u}a_{u,c},\qquad d_{v,c}=\sum_{e=uv}\frac{q_e}{f_u^2}a_{u,c}, z v , c = e = uv ∑ f u q e a u , c , d v , c = e = uv ∑ f u 2 q e a u , c ,
Z v , { c , d } = ∑ e = u v q e f u 2 a u , c a u , d ( c ≠ d ) . Z_{v,\{c,d\}}=\sum_{e=uv}\frac{q_e}{f_u^2}a_{u,c}a_{u,d}\quad(c\ne d). Z v , { c , d } = e = uv ∑ f u 2 q e a u , c a u , d ( c = d ) .
The numbers f u f_u f u do not change during path switches. For a fixed color pairing M M M , flip an independent fair coin on every nontrivial two-color path and switch exactly when its coin says so. At one vertex, the missing indicators for a paired pair of colors are either equal, and unchanged, or unequal, and fairly exchanged. The coins for different color pairs are independent. Hence, conditional on the coloring before the stage, the means of the three displayed lists after the stage are
A M z v , A M d v , B M Z v . A_Mz_v,\qquad A_Md_v,\qquad B_MZ_v. A M z v , A M d v , B M Z v .
Only the distributions at one vertex enter this calculation; missing-color indicators at different vertices may be dependent. In particular, the two ends of one switched path share the same coin. We do not replace these dependent endpoint choices by independent ones. Linearity of expectation is enough for the three displayed means.
We now choose the switches while keeping every coordinate close to this mean. Process the K / 2 K/2 K /2 color pairs one at a time. At one step the independent choices are the path coins for the current pair of colors. Switching within one pair does not change the edges or path components of another pair, since their colors are disjoint. Thus the independent coins for the entire stage are fixed before this process begins. For every coordinate of z z z , d d d or Z Z Z , track its conditional mean: average only over the color pairs that have not yet been processed. A coordinate z v , c z_{v,c} z v , c or d v , c d_{v,c} d v , c can change only when the pair containing c c c is processed. A coordinate Z v , { c , d } Z_{v,\{c,d\}} Z v , { c , d } can change only when the pair containing c c c or the pair containing d d d is processed. Thus it changes at most twice. If c , d c,d c , d are paired together, their product at every vertex is unchanged.
For example, suppose c c c belongs to the current color pair and d d d belongs to an unprocessed pair { d , d ′ } \{d,d'\} { d , d ′ } . After the current choice, the conditional contribution at a neighbor u u u is
a u , c a u , d + a u , d ′ 2 . a_{u,c}\frac{a_{u,d}+a_{u,d'}}{2}. a u , c 2 a u , d + a u , d ′ .
The second factor is already a fixed number: later switching the { d , d ′ } \{d,d'\} { d , d ′ } -path cannot change its sum. Thus this expression is a nonnegative function of the current path coin alone. When the pair containing d d d is eventually processed, the first factor has become fixed. This is why processing the pairs one at a time converts the products into sums to which Proposition A.4 applies.
Whenever such a conditional mean changes, its new value is a constant plus a sum of nonnegative functions of the independent path coins at that step. For a product involving a color from an unprocessed pair, replace that missing indicator by its mean, a number in [ 0 , 1 ] [0,1] [ 0 , 1 ] . If its pair was processed earlier, use its fixed indicator instead. A path coin changes missing-color indicators at no more than two vertices. Its contribution is therefore at most
2 L α n \frac{2L}{\alpha n} α n 2 L
to a coordinate of z z z ,
2 L α 2 n 2 \frac{2L}{\alpha^2 n^2} α 2 n 2 2 L
to a coordinate of d d d or Z Z Z .
To control lower as well as upper errors, also use the sum obtained by replacing each summand by its maximum possible value minus that summand. All of these new summands are nonnegative.
The bound L L L is used here to add together all edges of Q Q Q joining a target vertex to one end of the path. It bounds their total weight, even if their number is large. This is the point at which a bound on the weight of each parallel bundle replaces an ordinary-degree bound.
Apply Proposition A.4 , multiplying the z z z sums by a sufficiently small fixed constant times n n n , and the d , Z d,Z d , Z sums by a sufficiently small fixed constant times n 2 n^2 n 2 . Every summand then lies in [ 0 , 1 ] [0,1] [ 0 , 1 ] . The expected size of each scaled sum is O ( n ) O(n) O ( n ) , since before scaling
z v , c ≤ 1 α , d v , c , Z v , { c , d } ≤ 1 α 2 n . z_{v,c}\leq\frac{1}{\alpha},\qquad d_{v,c},Z_{v,\{c,d\}}\leq\frac{1}{\alpha^2n}. z v , c ≤ α 1 , d v , c , Z v , { c , d } ≤ α 2 n 1 .
The same estimates apply to the sums used for lower errors.
The total contribution of any one value of a path coin to all scaled sums is O ( n 2 ) O(n^2) O ( n 2 ) . Each of the coin’s at most two ends u u u contributes to target vertices v v v with total weight at most W Q ( u ) ≤ n W_Q(u)\leq n W Q ( u ) ≤ n . For the z , d z,d z , d sums there are only the two current colors. For the Z Z Z sums one color must be current, and the other has at most K K K possibilities. The factors 1 / f u 1/f_u 1/ f u and 1 / f u 2 1/f_u^2 1/ f u 2 cancel the respective scalings up to fixed constants. Thus the z , d z,d z , d contribution is O ( n ) O(n) O ( n ) and the Z Z Z contribution is O ( K n ) = O ( n 2 ) O(Kn)=O(n^2) O ( K n ) = O ( n 2 ) . The sums used for lower errors only double these bounds.
Proposition A.4 now bounds all scaled errors by O ( n log n + log n ) O(\sqrt{n\log n}+\log n) O ( n log n + log n ) . Each coordinate is affected at most twice as the color pairs are processed. We can therefore complete one whole stage with coordinate errors
O ( n − 1 / 2 log n ) for z , O ( n − 3 / 2 log n ) for d , Z . O\left(n^{-1/2}\sqrt{\log n}\right)\quad\text{for }z,\qquad O\left(n^{-3/2}\sqrt{\log n}\right)\quad\text{for }d,Z. O ( n − 1/2 log n ) for z , O ( n − 3/2 log n ) for d , Z .
All constants are independent of the number of vertices. Notice that no ordinary-degree bound was used. There are K / 2 K/2 K /2 decisions in a stage, but a fixed coordinate does not pay for all of them. Its conditional mean changes only at the one or two color pairs identified above. This is why the displayed errors do not acquire an additional factor of K K K .
Apply this procedure for all s = O ( log n ) s = O(\log n) s = O ( log n ) stages. Averaging does not increase the largest coordinate error. Put
E n = n ( log n ) 3 / 2 , D v = ∑ e = u v q e f u . E_n = \sqrt{n}(\log n)^{3/2}, \qquad D_v = \sum_{e=uv} \frac{q_e}{f_u}. E n = n ( log n ) 3/2 , D v = e = uv ∑ f u q e .
The fixed sums of the lists are
∑ c z v , c = W Q ( v ) , ∑ c d v , c = D v , ∑ c < d Z v , { c , d } = W Q ( v ) − D v 2 . \sum_c z_{v,c} = W_Q(v), \qquad\sum_c d_{v,c} = D_v, \qquad\sum_{c<d} Z_{v,\{c,d\}} = \frac{W_Q(v)-D_v}{2}. c ∑ z v , c = W Q ( v ) , c ∑ d v , c = D v , c < d ∑ Z v , { c , d } = 2 W Q ( v ) − D v .
The mixing property of the chosen pairings, together with the accumulated coordinate errors, consequently gives
z v , c = W Q ( v ) K + O ( E n / n ) , (22) z_{v,c} = \frac{W_Q(v)}{K} + O(E_n/n), \tag*{(22)} z v , c = K W Q ( v ) + O ( E n / n ) , (22)
d v , c = D v K + O ( E n / n 2 ) , (23) d_{v,c} = \frac{D_v}{K} + O(E_n/n^2), \tag*{(23)} d v , c = K D v + O ( E n / n 2 ) , (23)
Z v , { c , d } = W Q ( v ) − D v K ( K − 1 ) + O ( E n / n 2 ) . (24) Z_{v,\{c,d\}} = \frac{W_Q(v)-D_v}{K(K-1)} + O(E_n/n^2). \tag*{(24)} Z v , { c , d } = K ( K − 1 ) W Q ( v ) − D v + O ( E n / n 2 ) . (24)
The errors from imperfect averaging are smaller than the displayed errors: the initial norms are O ( n ) O(\sqrt{n}) O ( n ) , O ( n − 1 / 2 ) O(n^{-1/2}) O ( n − 1/2 ) , and O ( 1 ) O(1) O ( 1 ) , respectively.
Constructing the color fractions For an edge e = u v e = uv e = uv , write
λ e = K ∣ F u ∩ F v ∣ f u f v . \lambda_e = \frac{K|F_u \cap F_v|}{f_u f_v}. λ e = f u f v K ∣ F u ∩ F v ∣ .
The reference overlap f u f v / K f_u f_v/K f u f v / K is the intersection size one would expect from two independent uniform subsets of sizes f u f_u f u and f v f_v f v . Thus λ e \lambda_e λ e compares the actual overlap with this reference value. The switched sets need not be independent; the moment estimates, rather than such an independence assumption, justify what follows. We do not require every λ e \lambda_e λ e to be close to one. Instead we bound the weighted sum of their squared errors at each vertex. By (D.5),
∑ e ∋ v q e λ e = K f v ∑ c ∈ F v z v , c = W Q ( v ) + O ( E n ) . \sum_{e \ni v} q_e\lambda_e = \frac{K}{f_v}\sum_{c\in F_v} z_{v,c} = W_Q(v) + O(E_n). e ∋ v ∑ q e λ e = f v K c ∈ F v ∑ z v , c = W Q ( v ) + O ( E n ) .
Although F v F_v F v was itself determined by the switches, this substitution is valid: (D.5) holds for every color, so it can be summed over any resulting set F v F_v F v . The same observation applies to the pairs of colors in the second-moment calculation. For the second moment, expand the square of ∣ F u ∩ F v ∣ |F_u \cap F_v| ∣ F u ∩ F v ∣ and use (D.6) and (D.7). We get
∑ e ∋ v q e λ e 2 = K 2 f v 2 ( ∑ c ∈ F v d v , c + 2 ∑ { c , d } ⊆ F v Z v , { c , d } ) = K D v f v + K ( f v − 1 ) f v ( K − 1 ) ( W Q ( v ) − D v ) + O ( E n ) ≤ W Q ( v ) + O ( E n ) . \begin{aligned}
\sum_{e\ni v} q_e\lambda_e^2
&= \frac{K^2}{f_v^2}\left(\sum_{c\in F_v} d_{v,c} + 2\sum_{\{c,d\}\subseteq F_v} Z_{v,\{c,d\}}\right) \\
&= \frac{K D_v}{f_v} + \frac{K(f_v-1)}{f_v(K-1)}\bigl(W_Q(v)-D_v\bigr) + O(E_n) \\
&\le W_Q(v) + O(E_n).
\end{aligned} e ∋ v ∑ q e λ e 2 = f v 2 K 2 c ∈ F v ∑ d v , c + 2 { c , d } ⊆ F v ∑ Z v , { c , d } = f v K D v + f v ( K − 1 ) K ( f v − 1 ) ( W Q ( v ) − D v ) + O ( E n ) ≤ W Q ( v ) + O ( E n ) .
For the last inequality, the first term is O ( 1 ) O(1) O ( 1 ) because D v ≤ 1 / α D_v \le1/\alpha D v ≤ 1/ α and K / f v ≤ C / α K/f_v \le C/\alpha K / f v ≤ C / α ; the coefficient of W Q ( v ) − D v W_Q(v)-D_v W Q ( v ) − D v is at most one because f v ≤ K f_v \le K f v ≤ K . Combining the first and second moments gives
∑ e ∋ v q e ( λ e − 1 ) 2 = O ( E n ) . \sum_{e\ni v} q_e(\lambda_e-1)^2 = O(E_n). e ∋ v ∑ q e ( λ e − 1 ) 2 = O ( E n ) .
The Cauchy–Schwarz inequality therefore gives
∑ e ∋ v q e ∣ λ e − 1 ∣ ≤ W Q ( v ) ∑ e ∋ v q e ( λ e − 1 ) 2 = O ( n 3 / 4 ( log n ) 3 / 4 ) . (25) \sum_{e\ni v} q_e|\lambda_e-1| \le\sqrt{W_Q(v)\sum_{e\ni v}q_e(\lambda_e-1)^2}=O\left(n^{3/4}(\log n)^{3/4}\right). \tag*{(25)} e ∋ v ∑ q e ∣ λ e − 1∣ ≤ W Q ( v ) e ∋ v ∑ q e ( λ e − 1 ) 2 = O ( n 3/4 ( log n ) 3/4 ) . (25)
Finally set
x e , c = K f u f v 1 { c ∈ F u ∩ F v } max { 1 , λ e } ( e = u v ) . x_{e,c}=\frac{K}{f_uf_v}\frac{\mathbf{1}_{\{c\in F_u\cap F_v\}}}{\max\{1,\lambda_e\}}\qquad(e=uv). x e , c = f u f v K max { 1 , λ e } 1 { c ∈ F u ∩ F v } ( e = uv ) .
Before division by max { 1 , λ e } \max\{1,\lambda_e\} max { 1 , λ e } , each common missing color receives the same proposed fraction K / ( f u f v ) K/(f_uf_v) K / ( f u f v ) , whose total on the edge is λ e \lambda_e λ e . If this exceeds one, we scale all its fractions down to total one. If it is below one, we keep them as they are and charge the deficit 1 − λ e 1-\lambda_e 1 − λ e to the final cleanup. In either case the deficit is at most ∣ λ e − 1 ∣ |\lambda_e-1| ∣ λ e − 1∣ , already controlled above. These fractions have the required support and individual upper bound, and their sum on an edge is min { 1 , λ e } \min\{1,\lambda_e\} min { 1 , λ e } . Equation (D.8) proves (D.4). For a color missing at v v v , division by max { 1 , λ e } \max\{1,\lambda_e\} max { 1 , λ e } only decreases the load, so (D.5) gives
∑ e ∋ v q e x e , c ≤ K f v z v , c ≤ W Q ( v ) f v + O ( E n / n ) . \sum_{e\ni v}q_ex_{e,c}\le\frac{K}{f_v}z_{v,c}\le\frac{W_Q(v)}{f_v}+O(E_n/n). e ∋ v ∑ q e x e , c ≤ f v K z v , c ≤ f v W Q ( v ) + O ( E n / n ) .
For a color present at v v v the load is zero. This proves (D.3) and completes the proof.
Now the proof of Lemma 4.1 follows easily. Apply Lemma D.1 with q e = 2 w e q_e=2w_e q e = 2 w e , size parameter 2 n 2n 2 n , and α = ε / 2 \alpha=\varepsilon/2 α = ε /2 , C = 2 C=2 C = 2 , L = 1 L=1 L = 1 . Indeed, W Q ( v ) = 2 W R ( v ) ≤ 2 n W_Q(v)=2W_R(v)\le2n W Q ( v ) = 2 W R ( v ) ≤ 2 n , every pair has total charge at most one because R R R is simple, f v ≥ ε n f_v\ge\varepsilon n f v ≥ ε n , and K ≤ 4 n K\le4n K ≤ 4 n . Dividing the charge estimates (D.3)–(D.4) by two yields the claimed weight bounds; (D.1)–(D.2) give the support and small-proposal properties.
Computing the Color Switches
There are two separate searches in the proof. The first chooses a list of pairings of the color names; this list is independent of the graph. The second chooses which paths to switch in the current coloring. We describe both searches because simply trying all path switches would not give the required running time.
The list of color pairings in Lemma D.1 can also be found explicitly. For each candidate list, form its single-color and unordered-pair averaging matrices. If J d J_d J d denotes the d d d by d d d matrix all of whose entries are 1 / d 1/d 1/ d , accept a list when
∥ A s ⋯ A 1 − J K ∥ F 2 + ∥ B s ⋯ B 1 − J ( K 2 ) ∥ F 2 ≤ K − 8 . \left\|A_s\cdots A_1-J_K\right\|_F^2+\left\|B_s\cdots B_1-J_{\binom{K}{2}}\right\|_F^2\le K^{-8}. ∥ A s ⋯ A 1 − J K ∥ F 2 + B s ⋯ B 1 − J ( 2 K ) F 2 ≤ K − 8 .
Here the squared matrix norm means the sum of its squared entries, so this is an exact rational test. It implies both operator bounds used in the proof. Enumerating lists eventually finds one, by the averaging argument already proved.
Alternatively, generate independent uniformly random pairings and repeat this test. The expected squared error is less than K − 10 K^{-10} K − 10 , so Markov’s inequality gives success probability at least 1 − K − 2 1-K^{-2} 1 − K − 2 on each trial. The matrices have polynomial dimension; each row of a pair-averaging matrix has at most four possible images. Thus this particular search has an expected polynomial-time implementation.
For a fixed pairing, the two-color paths and cycles are found by following edges. Each path switch is a binary choice, and its moment coefficients are explicit finite sums. The Harris–Srinivasan resampling algorithm therefore chooses the switches directly. More explicitly, process the color pairs in the order used in the proof. For the current pair, use one binary variable per nontrivial path and the scaled upper- and lower-error sums as the constraints of Proposition A.4 . Their summands are computable from the present coloring, the weights q e q_e q e , and the fixed numbers f v f_v f v . Each successful step fixes that pair’s switches; it does not change the path components of the remaining pairs in the stage. There are O ( K log n ) O(K\log n) O ( K log n ) such steps and O ( ∣ V ∣ K 2 ) O(|V|K^2) O ( ∣ V ∣ K 2 ) moment coordinates. The contribution bounds proved above are polynomial in n n n , so the cited resampling procedure has expected polynomial running time for fixed α \alpha α , C C C , L L L . Finally compute the sets F v F_v F v , their intersections on edges of Q Q Q , and the fractions x e , c x_{e,c} x e , c by the displayed formula. No search remains in this last step.
Completing the Coloring of the Groups
The missing-color and rounding lemmas now complete the coloring of the grouped graph. The argument uses only the number of colors in a proper coloring of H H H , so it applies to both bipartite and general graphs.
Lemma D.2. Fix τ \tau τ , C > 0 C>0 C > 0 , and let G G G be a weighted multigraph with W G ( v ) ≤ n W_G(v)\le n W G ( v ) ≤ n at every vertex. Apply the grouping in Section D.1; let H H H consist of groups heavier than 1 / 2 1/2 1/2 , and let R R R consist of the remaining groups. Suppose H H H has a proper coloring with an even number K K K of colors, where
( 2 + τ ) n ≤ K ≤ C n . (2+\tau)n \le K \le Cn. ( 2 + τ ) n ≤ K ≤ C n . Then the original graph has a feasible coloring with K + o ( n ) K+o(n) K + o ( n ) colors. The error depends only on τ \tau τ , C C C , not on the number of vertices.
Proof. For every vertex,
d H ( v ) ≤ 2 W H ( v ) ≤ 2 ( n − W R ( v ) ) . d_H(v) \le2W_H(v) \le2(n-W_R(v)). d H ( v ) ≤ 2 W H ( v ) ≤ 2 ( n − W R ( v )) . Thus its number of missing colors satisfies
f v = K − d H ( v ) ≥ τ n + 2 W R ( v ) . f_v = K-d_H(v) \ge\tau n+2W_R(v). f v = K − d H ( v ) ≥ τ n + 2 W R ( v ) . Apply Lemma D.1 to the simple graph R R R , giving an edge of weight w e w_e w e charge q e = 2 w e q_e=2w_e q e = 2 w e . Its weighted degree in these charges is at most 2 n 2n 2 n , and the charge between any pair is at most one. The scale parameter in that lemma can therefore be 2 n 2n 2 n , with α = τ / 2 \alpha=\tau/2 α = τ /2 and color-bound constant C C C . It supplies fractions supported on common missing colors, each O τ , C ( 1 / n ) O_{\tau,C}(1/n) O τ , C ( 1/ n ) , whose sum on each edge is at most one. At every vertex,
∑ e ∋ v w e ( 1 − ∑ c x e , c ) = o ( n ) . \sum_{e\ni v} w_e\left(1-\sum_c x_{e,c}\right)=o(n). e ∋ v ∑ w e ( 1 − c ∑ x e , c ) = o ( n ) . For each color, their local weighted load is at most
∑ e ∋ v w e x e , c ≤ W R ( v ) f v + o ( 1 ) ≤ 1 2 − τ 2 C + o ( 1 ) < 1 2 \sum_{e\ni v}w_ex_{e,c}\le\frac{W_R(v)}{f_v}+o(1)\le\frac{1}{2}-\frac{\tau}{2C}+o(1)<\frac{1}{2} e ∋ v ∑ w e x e , c ≤ f v W R ( v ) + o ( 1 ) ≤ 2 1 − 2 C τ + o ( 1 ) < 2 1 for sufficiently large n n n . Here we used f v ≤ K ≤ C n f_v\le K\le Cn f v ≤ K ≤ C n . Lemma A.7 makes each local vector an average of feasible edge sets.
Fix δ > 0 \delta>0 δ > 0 . Theorem 3.1, applied to the simple graph R R R , gives a feasible partial coloring using the same K K K colors and leaving weight at most δ n + o ( n ) \delta n+o(n) δ n + o ( n ) at every vertex. Each color used on an edge of R R R is missing at both endpoints in H H H , so the colorings fit together. Lemma A.1 colors the uncolored edges with at most 4 δ n + o ( n ) 4\delta n+o(n) 4 δ n + o ( n ) new colors. Expand the groups back into their original edges; this preserves every color load. Taking δ \delta δ arbitrarily small proves the lemma. □
The Tight Leading Coefficient
Theorem D.3. Every bipartite weighted multigraph satisfies
χ w ′ ( G ) ≤ ( 2 + o ( 1 ) ) Δ w ( G ) . \chi'_{w}(G) \le(2 + o(1))\Delta_{w}(G). χ w ′ ( G ) ≤ ( 2 + o ( 1 )) Δ w ( G ) . The error is uniform in graph order, multiplicity, and minimum positive weight. For each fixed accuracy and rational input, the construction has expected polynomial running time. The leading coefficient two is best possible.
Proof. The empty graph needs no colors. Otherwise let n = ⌈ Δ w ( G ) ⌉ ≥ 1 n = \lceil\Delta_{w}(G)\rceil\ge1 n = ⌈ Δ w ( G )⌉ ≥ 1 . Make the parallel-edge groups from Section D.1. Every edge of H H H has weight greater than 1 / 2 1/2 1/2 , so its ordinary maximum degree is at most 2 n 2n 2 n . The graph H H H is bipartite. Fix 0 < ε < 1 0 < \varepsilon< 1 0 < ε < 1 , and let K K K be the least even integer at least ( 2 + ε ) n (2+\varepsilon)n ( 2 + ε ) n . Kőnig’s theorem properly colors H H H with at most 2 n ≤ K 2n \le K 2 n ≤ K colors. For large n n n , K ≤ 4 n K \le4n K ≤ 4 n . Lemma D.2 , with τ = ε \tau= \varepsilon τ = ε and C = 4 C = 4 C = 4 , gives χ w ′ ( G ) ≤ ( 2 + ε + o ε ( 1 ) ) n \chi'_{w}(G) \le(2+\varepsilon+o_{\varepsilon}(1))n χ w ′ ( G ) ≤ ( 2 + ε + o ε ( 1 )) n . Since n = Δ w ( G ) + O ( 1 ) n = \Delta_{w}(G) + O(1) n = Δ w ( G ) + O ( 1 ) , taking ε \varepsilon ε arbitrarily small proves the bound.
The star example at the start of § 5 proves sharpness.
Algorithm D.1 (The bipartite total-weight construction). Input: a weighted bipartite multigraph and a desired accuracy. Put n = ⌈ Δ w ( G ) ⌉ n = \lceil\Delta_{w}(G)\rceil n = ⌈ Δ w ( G )⌉ , and choose the palette and rounding accuracies sufficiently small for the desired final error.
Group parallel edges as in Section D.1. Let H H H contain the groups heavier than 1 / 2 1/2 1/2 and let R R R contain the remaining groups.
Properly color H H H using Kőnig’s theorem. Add unused colors to obtain the even palette size K K K chosen in the proof.
Apply Lemma D.1, as in the proof of Lemma D.2 , to switch the coloring of H H H and obtain fractions for R R R . Construct the local feasible distributions using Lemma A.9 with b = 1 / 2 b = 1/2 b = 1/2 and r = 1 r = 1 r = 1 .
Run Algorithm C.1 on R R R and color its remaining edges with fresh colors using Lemma A.1 .
Give every original edge the color of its group. Return the resulting coloring.
Bin-Packing Bounds for Bipartite Multigraphs
This appendix gives the proofs for § 6.1 . We extend the rounding theorem to bounded multiplicity, obtain the harmonic bound, and then improve it using compatible selections. The final charge calculation and the 1.62 deduction appear together below.
Rounding with Bounded Multiplicity
Packet formation leaves a bounded number of edges between each pair of vertices. The next lemma extends the rounding theorem to this setting. Its proof tracks the two places where simplicity was used: the influence of one vertex list and the pair counts of the matching instance.
Lemma E.1. Fix L ∈ N L \in\mathbb{N} L ∈ N and C 0 , C 1 , δ > 0 C_0,C_1,\delta> 0 C 0 , C 1 , δ > 0 . Let Q Q Q be a weighted multigraph without loops of multiplicity at most L L L , with W Q ( v ) ≤ n W_Q(v) \le n W Q ( v ) ≤ n , and let C C C contain at most C 1 n C_1n C 1 n colors. Suppose
0 ≤ x e , c ≤ C 0 / n , ∑ c x e , c ≤ 1 , ( x e , c : e ∋ v ) ∈ K v for every v , c . 0 \le x_{e,c} \le C_0/n,\qquad\sum_c x_{e,c} \le1,\qquad(x_{e,c}:e \ni v) \in\mathcal{K}_v \quad\text{for every }v,c. 0 ≤ x e , c ≤ C 0 / n , c ∑ x e , c ≤ 1 , ( x e , c : e ∋ v ) ∈ K v for every v , c . Then, for sufficiently large n n n , a feasible partial coloring uses color c c c on e e e only when x e , c > 0 x_{e,c}>0 x e , c > 0 , and colors total weight at least
∑ e ∋ v w e ∑ c x e , c − δ n − O L , C 0 , C 1 , δ ( n 3 / 4 ) \sum_{e \ni v} w_e \sum_c x_{e,c} - \delta n - O_{L,C_0,C_1,\delta}(n^{3/4}) e ∋ v ∑ w e c ∑ x e , c − δ n − O L , C 0 , C 1 , δ ( n 3/4 ) at every vertex. The threshold and error constant are independent of the number of vertices.
Proof. Use the proof of Theorem 3.1, keeping every parallel edge as a separate edge. We give all changes where simplicity was used.
In the division into vertex groups, one source vertex contributes at most L L L to a row, while its sum over rows is still at most n n n . Divide the rows by L L L before applying Proposition A.4 and then multiply back. The error is still O L ( n log n ) O_L(\sqrt{n\log n}) O L ( n log n ) .
The list at a source u u u now contributes the sum over its at most L L L edges to a given target v v v . Its ordinary-slot contribution is O ( L / n ) O(L/n) O ( L / n ) ; its contribution to an error row is O ( ∑ e : e = u v w e ) O(\sum_{e:e=uv} w_e) O ( ∑ e : e = uv w e ) . Increase the fixed scaling constant B 0 B_0 B 0 in (C.10) by a factor of L L L . The total contributions over all target rows are still O L ( n 2 ) O_L(n^2) O L ( n 2 ) for the scaled load rows and O L ( n ) O_L(n) O L ( n ) for the error rows, because sums over incident edges still use the bound W Q ( u ) ≤ n W_Q(u) \le n W Q ( u ) ≤ n . Thus the Harris–Srinivasan bounds, the induction on the vertex groups, and the O ( n 3 / 4 ) O(n^{3/4}) O ( n 3/4 ) total-error bound hold with constants depending on L L L .
The variance calculation is for one edge at a time, using independent colors, and is unchanged. The deletion of edges inside vertex groups also remains valid: there are no loops, and all edges joining the same two vertices are kept or deleted together.
In the construction of three-element sets, job–slot pairs have the same bounds as before. A pair of ordinary slots can now belong to options for at most L L L original edges, giving O ( L N / n ) O(LN/n) O ( L N / n ) copies. A pair of extra slots can likewise belong to at most L L L original edges, giving O ( L N n − 4 / 3 ) O(LNn^{-4/3}) O ( L N n − 4/3 ) copies. Consequently the largest pair count is still O L ( N n − 2 / 3 ) O_L(Nn^{-2/3}) O L ( N n − 2/3 ) . With N = ⌈ n ⌉ 6 N=\lceil n\rceil^6 N = ⌈ n ⌉ 6 , this is o ( D 1 − ζ ) o(D^{1-\zeta}) o ( D 1 − ζ ) for every fixed 0 < ζ < 1 / 9 0<\zeta<1/9 0 < ζ < 1/9 , exactly as required in the original proof. The job degrees, the slot degrees, the rounding of small edges, and the final weight estimates do not use simplicity. This proves the stated extension.
Coloring from Harmonic Charge
An edge of weight 1 / ( k + 1 ) < w ≤ 1 / k 1/(k+1)<w\le1/k 1/ ( k + 1 ) < w ≤ 1/ k has harmonic charge 1 / k 1/k 1/ k and can be grouped with k − 1 k-1 k − 1 edges from the same class. Each full packet then has total charge one and total weight at most one. We color the full packets using Kőnig’s theorem and insert the remaining edges using Lemma D.1 and the bounded-multiplicity rounding theorem from Section E.1.
Lemma E.2. For an edge weight 0 < w ≤ 1 0 < w \le1 0 < w ≤ 1 , put
a ( w ) = 1 ⌊ 1 / w ⌋ , A ( G ) = max v ∈ V ∑ e ∋ v a ( w e ) . a(w) = \frac{1}{\lfloor1/w \rfloor}, \qquad A(G) = \max_{v \in V} \sum_{e \ni v} a(w_e). a ( w ) = ⌊ 1/ w ⌋ 1 , A ( G ) = v ∈ V max e ∋ v ∑ a ( w e ) . Every bipartite weighted multigraph G G G with W G ( v ) ≤ n W_G(v) \le n W G ( v ) ≤ n at every vertex satisfies
χ w ′ ( G ) ≤ A ( G ) + o ( n ) . \chi'_w(G) \le A(G) + o(n). χ w ′ ( G ) ≤ A ( G ) + o ( n ) . More precisely, for every η > 0 \eta> 0 η > 0 there is N ( η ) N(\eta) N ( η ) such that the number of colors is at most A ( G ) + η n A(G) + \eta n A ( G ) + η n whenever n ≥ N ( η ) n \ge N(\eta) n ≥ N ( η ) . The threshold is independent of the number of vertices, the number of parallel edges, and the smallest weight.
Proof. Group the very small edges. The empty graph is immediate. Notice that w ≤ a ( w ) ≤ 2 w w \le a(w) \le2w w ≤ a ( w ) ≤ 2 w , so A ( G ) ≤ 2 n A(G) \le2n A ( G ) ≤ 2 n . Fix 0 < ε < 1 0 < \varepsilon< 1 0 < ε < 1 . Choose an integer T T T large enough that
b = 1 / T ≤ min { 1 / 4 , ε / 8 } . b = 1/T \le\min\{1/4, \varepsilon/8\}. b = 1/ T ≤ min { 1/4 , ε /8 } . Both b b b and T T T stay fixed while n n n tends to infinity.
For each endpoint pair, group its original edges of weight below b b b into packets of weight in [ b , 2 b ) [b, 2b) [ b , 2 b ) , leaving at most one tiny packet of weight below b b b . Keep every original edge of weight at least b b b separately. Give each non-tiny object of weight w w w charge a ( w ) a(w) a ( w ) ; give each tiny packet charge w / ( 1 − b ) w/(1-b) w / ( 1 − b ) . Grouping preserves the weighted degree and can later be undone without changing any color load. Figure 10 shows this step.
Figure 10. Collect small parallel edges until their total first reaches b b b . Every completed packet has weight below 2 b 2b 2 b , and at most one tiny remainder is left between each pair. The original edge weights may be arbitrarily small; b b b is a fixed grouping threshold.
At each vertex, the increase in total charge is at most 4 b n 4bn 4 bn . Indeed, a completed small-edge packet of weight w < 2 b w < 2b w < 2 b has
a ( w ) < w 1 − w ≤ ( 1 + 4 b ) w , a(w) < \frac{w}{1-w} \le(1+4b)w, a ( w ) < 1 − w w ≤ ( 1 + 4 b ) w , where the last inequality uses b ≤ 1 / 4 b \le1/4 b ≤ 1/4 . A tiny packet also has charge at most ( 1 + 4 b ) w (1+4b)w ( 1 + 4 b ) w . The original edges forming these packets had total charge at least their total weight. Thus the increase is at most 4 b 4b 4 b times their original total weight, which is at most 4 b n 4bn 4 bn . The charges of the other original edges stay unchanged.
Form full packets and color them. Within each endpoint pair and each non-tiny class k = ⌊ 1 / w ⌋ ∈ { 1 , … , T } k = \lfloor1/w \rfloor\in\{1,\ldots,T\} k = ⌊ 1/ w ⌋ ∈ { 1 , … , T } , combine exactly k k k objects at a time. Regard every full group as one edge of a multigraph H H H . Its weight is at most one, and its charge is exactly one. Let R R R consist of the ungrouped non-tiny objects and the tiny packets. It has multiplicity at most
L = 1 + T ( T − 1 ) / 2. L = 1 + T(T-1)/2. L = 1 + T ( T − 1 ) /2.
There is no class-1 remainder, so every edge of R R R has weight at most 1 / 2 1/2 1/2 . Retain its charge
q e = { a ( w e ) , w e ≥ b , w e / ( 1 − b ) , w e < b , Q v = ∑ e ∈ E R ( v ) q e . q_e =
\begin{cases}
a(w_e), & w_e \ge b,\\
w_e/(1-b), & w_e < b,
\end{cases}
\qquad
Q_v = \sum_{e\in E_R(v)} q_e. q e = { a ( w e ) , w e / ( 1 − b ) , w e ≥ b , w e < b , Q v = e ∈ E R ( v ) ∑ q e .
In particular, w e ≤ q e ≤ 1 / 2 w_e \le q_e \le1/2 w e ≤ q e ≤ 1/2 , and
d H ( v ) + Q v ≤ A ( G ) + 4 b n ≤ A ( G ) + ε n / 2. (26) d_H(v) + Q_v \le A(G) + 4bn \le A(G) + \varepsilon n/2. \tag*{(26)} d H ( v ) + Q v ≤ A ( G ) + 4 bn ≤ A ( G ) + ε n /2. (26)
Let K K K be the least even integer at least A ( G ) + ε n A(G) + \varepsilon n A ( G ) + ε n . For large n n n , K ≤ 4 n K \le4n K ≤ 4 n . König’s theorem gives a proper K K K -coloring of H H H . Its missing-color counts satisfy
f v = K − d H ( v ) ≥ Q v + ε n / 2. f_v = K - d_H(v) \ge Q_v + \varepsilon n/2. f v = K − d H ( v ) ≥ Q v + ε n /2.
Make room for the remaining edges. Apply Lemma D.1 to R R R with charges q e q_e q e , using size parameter 3 n 3n 3 n . Indeed, Q v ≤ A ( G ) + 4 b n ≤ 3 n Q_v \le A(G) + 4bn \le3n Q v ≤ A ( G ) + 4 bn ≤ 3 n , f v ≥ ( ε / 6 ) ( 3 n ) f_v \ge(\varepsilon/6)(3n) f v ≥ ( ε /6 ) ( 3 n ) , K ≤ 2 ( 3 n ) K \le2(3n) K ≤ 2 ( 3 n ) , and the total charge between any pair is at most L / 2 L/2 L /2 . The lemma gives fractions supported on the common missing colors, with x e , c = O ε ( 1 / n ) x_{e,c} = O_\varepsilon(1/n) x e , c = O ε ( 1/ n ) , ∑ c x e , c ≤ 1 \sum_c x_{e,c} \le1 ∑ c x e , c ≤ 1 , and
∑ e ∈ E R ( v ) q e x e , c ≤ Q v f v + o ( 1 ) , ∑ e ∈ E R ( v ) q e ( 1 − ∑ c x e , c ) = o ( n ) . \sum_{e\in E_R(v)} q_e x_{e,c} \le\frac{Q_v}{f_v} + o(1),
\qquad
\sum_{e\in E_R(v)} q_e\left(1-\sum_c x_{e,c}\right)=o(n). e ∈ E R ( v ) ∑ q e x e , c ≤ f v Q v + o ( 1 ) , e ∈ E R ( v ) ∑ q e ( 1 − c ∑ x e , c ) = o ( n ) .
All constants may depend on ε \varepsilon ε and its chosen T T T , but not on the graph or its smallest weight. Also Q v / f v ≤ 1 − ε / 8 Q_v/f_v \le1-\varepsilon/8 Q v / f v ≤ 1 − ε /8 , because f v ≤ K ≤ 4 n f_v \le K \le4n f v ≤ K ≤ 4 n .
Check the local bin condition. We verify that these fractions are averages of feasible sets at one vertex and one color. For 2 ≤ k ≤ T 2 \le k \le T 2 ≤ k ≤ T , let R k ( v ) R_k(v) R k ( v ) be the non-tiny edges at v v v with ⌊ 1 / w e ⌋ = k \lfloor1/w_e\rfloor= k ⌊ 1/ w e ⌋ = k , and put
p k = max { 1 k ∑ e ∈ R k ( v ) x e , c , max e ∈ R k ( v ) x e , c } . p_k=\max\left\{\frac{1}{k}\sum_{e\in R_k(v)}x_{e,c},\max_{e\in R_k(v)}x_{e,c}\right\}. p k = max ⎩ ⎨ ⎧ k 1 e ∈ R k ( v ) ∑ x e , c , e ∈ R k ( v ) max x e , c ⎭ ⎬ ⎫ .
For tiny edges let
p 0 = max { ∑ e ∈ E R ( v ) : w e < b w e 1 − b x e , c , max e ∈ E R ( v ) : w e < b x e , c } . p_0=\max\left\{\sum_{e\in E_R(v):\,w_e<b}\frac{w_e}{1-b}x_{e,c},\max_{e\in E_R(v):\,w_e<b}x_{e,c}\right\}. p 0 = max ⎩ ⎨ ⎧ e ∈ E R ( v ) : w e < b ∑ 1 − b w e x e , c , e ∈ E R ( v ) : w e < b max x e , c ⎭ ⎬ ⎫ .
Maxima over empty sets are zero. The sum of these probabilities is at most the local charge load plus T max e x e , c T\max_e x_{e,c} T max e x e , c , hence is at most one for sufficiently large n n n . Choose case k k k with probability p k p_k p k , case zero with probability p 0 p_0 p 0 , and the empty set with the remaining probability. In case k k k , Lemma A.8 supplies a set of at most k k k edges with conditional inclusion probabilities x e , c / p k x_{e,c}/p_k x e , c / p k . In case zero, these conditional probabilities have weighted sum at most 1 − b 1-b 1 − b and every item has weight below b b b . Lemma A.9 , with r = 1 r=1 r = 1 , therefore supplies a distribution on sets of weight at most one with these conditional inclusion probabilities. This proves the local condition required by Lemma E.1.
Choose whole edges and finish. Because q e ≥ w e q_e \ge w_e q e ≥ w e , the total original weight not proposed at each vertex is o ( n ) o(n) o ( n ) . Apply Lemma E.1 with any fixed error parameter δ > 0 \delta> 0 δ > 0 . It colors all but weight at most δ n + o ( n ) \delta n + o(n) δ n + o ( n ) at every vertex. Its colors are missing from H H H at both ends, so the two colorings fit together. All remaining edges have weight at most 1 / 2 1/2 1/2 . Lemma A.2 colors them with at most 2 δ n + o ( n ) + 1 2\delta n + o(n) + 1 2 δ n + o ( n ) + 1 additional colors. Expanding the groups and packets gives
χ w ′ ( G ) ≤ A ( G ) + ( ε + 2 δ ) n + o ( n ) . \chi'_{w}(G) \le A(G) + (\varepsilon+ 2\delta)n + o(n). χ w ′ ( G ) ≤ A ( G ) + ( ε + 2 δ ) n + o ( n ) .
Choose ε , δ \varepsilon,\delta ε , δ sufficiently small compared with the given η \eta η , then choose T T T , and finally take n n n sufficiently large. Every choice depends only on η \eta η . This proves the stated uniform bound.
Constructing the Harmonic Local Distributions
Fix a vertex v v v and a color, and use the classes, threshold b b b , and probabilities p k , p 0 p_k,p_0 p k , p 0 from the proof of Lemma E.2 . Abbreviate R k ( v ) R_k(v) R k ( v ) by R k R_k R k and the proposed fractions by x e x_e x e . The class probabilities sum to at most one; the remaining probability chooses the empty set. We construct the conditional distributions with polynomial support.
For p k > 0 p_k>0 p k > 0 , the vector ( x e / p k : e ∈ R k ) (x_e/p_k : e \in R_k) ( x e / p k : e ∈ R k ) has coordinates at most one and sum at most k k k . The second part of Lemma A.9 supplies the required distribution on sets of at most k k k items; their weights are at most 1 / k 1/k 1/ k , so they fit. For p 0 > 0 p_0>0 p 0 > 0 , the conditional tiny-item vector has weight at most 1 − b 1-b 1 − b . Use the first part of the lemma with r = 1 r=1 r = 1 . In each case the unconditional inclusion probability of e e e is exactly x e x_e x e . There are only a fixed number of classes, and the total support size is polynomial. The same bounded-load construction applies whenever the proof uses fractions of load at most r − b r-b r − b for items of weight at most b b b . The resulting local distributions have explicit polynomial support and can be constructed from the proposed fractions. For the packet constructions, use these local distributions and those in Section A.6.
The Harmonic Bound
Let
r 1 = 1 , r j + 1 = r j ( r j + 1 ) , h ∞ = ∑ j ≥ 1 1 r j = 1.691030206757 … r_1 = 1,\qquad r_{j+1} = r_j(r_j+1),\qquad h_\infty= \sum_{j\geq1}\frac{1}{r_j}=1.691030206757\ldots r 1 = 1 , r j + 1 = r j ( r j + 1 ) , h ∞ = j ≥ 1 ∑ r j 1 = 1.691030206757 …
The constant h ∞ h_\infty h ∞ is the supremum of the harmonic charge that fits in one unit bin. This is the classical harmonic weight bound of Lee and Lee [26 Theorem 1 and Corollary 1] ; see also [13 ] . For completeness, we prove the upper bound needed here.
Lemma E.3. Put a ( w ) = 1 / ⌊ 1 / w ⌋ a(w)=1/\lfloor1/w\rfloor a ( w ) = 1/ ⌊ 1/ w ⌋ . Every finite list of positive weights with sum at most one has total a a a -charge at most h ∞ h_\infty h ∞ .
Proof. For every positive integer t t t ,
a ( w ) ≤ t + 1 t w ( 0 < w ≤ 1 / t ) . a(w) \leq\frac{t+1}{t}w \qquad(0<w\leq1/t). a ( w ) ≤ t t + 1 w ( 0 < w ≤ 1/ t ) . Indeed, k = ⌊ 1 / w ⌋ ≥ t k=\lfloor1/w\rfloor\geq t k = ⌊ 1/ w ⌋ ≥ t and 1 / k < ( ( k + 1 ) / k ) w ≤ ( ( t + 1 ) / t ) w 1/k<((k+1)/k)w\leq((t+1)/t)w 1/ k < (( k + 1 ) / k ) w ≤ (( t + 1 ) / t ) w .
Start with remaining total weight at most 1 / r 1 = 1 1/r_1=1 1/ r 1 = 1 . At step j j j , suppose the remaining total is at most 1 / r j 1/r_j 1/ r j . If an item exceeds 1 / ( r j + 1 ) 1/(r_j+1) 1/ ( r j + 1 ) , it has charge exactly 1 / r j 1/r_j 1/ r j . Remove it. The new total is less than 1 / r j − 1 / ( r j + 1 ) = 1 / r j + 1 1/r_j-1/(r_j+1)=1/r_{j+1} 1/ r j − 1/ ( r j + 1 ) = 1/ r j + 1 , so the next step applies. Otherwise all remaining items have weight at most 1 / ( r j + 1 ) 1/(r_j+1) 1/ ( r j + 1 ) . Their total charge is at most
r j + 2 r j + 1 1 r j + 1 = 1 r j + 1 r j + 1 . \frac{r_j+2}{r_j+1}\frac{1}{r_{j+1}}=\frac{1}{r_j}+\frac{1}{r_{j+1}}. r j + 1 r j + 2 r j + 1 1 = r j 1 + r j + 1 1 . Including the earlier removed items, this is at most h ∞ h_\infty h ∞ . The procedure must stop, since each step that continues removes an item from a finite list. An empty remainder also satisfies the bound. □ \square □
Theorem E.4. Every bipartite weighted multigraph G G G satisfies
χ w ′ ( G ) ≤ ( h ∞ + o ( 1 ) ) bp ( G ) . \chi'_w(G)\leq(h_\infty+o(1))\,\operatorname{bp}(G). χ w ′ ( G ) ≤ ( h ∞ + o ( 1 )) bp ( G ) . The error is independent of graph order, multiplicity, and minimum weight. For rational weights and each fixed accuracy, the coloring can be found in expected polynomial time.
Proof. Put n = bp ( G ) n = \operatorname{bp}(G) n = bp ( G ) . Pack each vertex’s incident edges into n n n bins. Lemma E.3 gives incident charge at most h ∞ n h_{\infty}n h ∞ n . The harmonic-charge coloring lemma (Lemma E.2 ) colors the graph using at most its largest incident charge plus o ( n ) o(n) o ( n ) colors. Its error is uniform even for arbitrarily small weights, and its construction is algorithmic. This proves the result.
The Five-Thirds Bound
Theorem E.5. Every bipartite weighted multigraph G G G satisfies
χ w ′ ( G ) ≤ ( 5 3 + o ( 1 ) ) bp ( G ) . \chi'_{w}(G) \le\left(\frac{5}{3}+o(1)\right)\operatorname{bp}(G). χ w ′ ( G ) ≤ ( 3 5 + o ( 1 ) ) bp ( G ) . The error is independent of the number of vertices, the multiplicities, and the smallest edge weight.
The improvement comes from coloring a small fraction of two compatible weight ranges separately. This reduces the harmonic charge of the remaining edges to at most 3 / 2 3/2 3/2 per original bin, while the selected edges use only 1 / 6 1/6 1/6 of a color per bin asymptotically.
Proof. Put n = bp ( G ) n = \operatorname{bp}(G) n = bp ( G ) and consider the two ranges
A = ( 1 / 2 , 5 / 8 ] , B = ( 1 / 3 , 3 / 8 ] . A = (1/2,5/8], \qquad B = (1/3,3/8]. A = ( 1/2 , 5/8 ] , B = ( 1/3 , 3/8 ] .
An A A A -edge and a B B B -edge fit together, as do two B B B -edges. At each vertex, n n n local bins contain at most n n n edges from A A A and at most 2 n 2n 2 n edges from A ∪ B A \cup B A ∪ B .
Selecting a sixth of each range. Choose one sixth of each range, to within one edge at every vertex. In the graph of one range, divide the incidences at each vertex into groups of six and one possible smaller group. Split the vertex into one copy per group. The resulting graph is bipartite and has maximum degree six. Properly color it with six colors by Kőnig’s theorem, and keep any one color. Every full group contributes one selected edge; the smaller group contributes zero or one. Apply this construction separately to A A A and B B B .
Let F F F be the selected union and put K = ⌈ n / 6 ⌉ + 1 K = \lceil n/6\rceil+ 1 K = ⌈ n /6 ⌉ + 1 . At every vertex, F F F has at most K K K incident A A A -edges and at most 2 K 2K 2 K incident edges in total. Split each vertex into two copies, put all its A A A -edges at the first copy, and distribute its B B B -edges so that each copy has degree at most K K K . Properly K K K -color the graph of copies. After joining the copies back together, each color has at most two edges at a vertex, with at most one from A A A . Every such pair fits, so F F F needs at most n / 6 + O ( 1 ) n/6 + O(1) n /6 + O ( 1 ) colors.
Figure 11. Splitting each vertex into two copies allows these pairs. Both have total weight at most one; singleton and empty colors are also allowed.
Charge the remaining edges. Define
q ( w ) = { 5 6 a ( w ) , w ∈ A ∪ B , a ( w ) , otherwise . q(w) =
\begin{cases}
\frac{5}{6}a(w), & w \in A \cup B,\\
a(w), & \text{otherwise}.
\end{cases} q ( w ) = { 6 5 a ( w ) , a ( w ) , w ∈ A ∪ B , otherwise .
The discounted charge satisfies
0 < w ≤ 1 2 ⟹ q ( w ) ≤ 4 3 w . (27) 0 < w \le\frac{1}{2} \quad\Longrightarrow\quad q(w) \le\frac{4}{3}w. \tag*{(27)} 0 < w ≤ 2 1 ⟹ q ( w ) ≤ 3 4 w . (27)
For w ≤ 1 / 3 w \le1/3 w ≤ 1/3 , put k = ⌊ 1 / w ⌋ ≥ 3 k = \lfloor1/w \rfloor\ge3 k = ⌊ 1/ w ⌋ ≥ 3 ; then a ( w ) = 1 / k ≤ ( 4 / 3 ) w a(w) = 1/k \le(4/3)w a ( w ) = 1/ k ≤ ( 4/3 ) w . For 1 / 3 < w ≤ 3 / 8 1/3 < w \le3/8 1/3 < w ≤ 3/8 , the discounted charge is 5 / 12 ≤ ( 4 / 3 ) w 5/12 \le(4/3)w 5/12 ≤ ( 4/3 ) w . For 3 / 8 < w ≤ 1 / 2 3/8 < w \le1/2 3/8 < w ≤ 1/2 , it is 1 / 2 ≤ ( 4 / 3 ) w 1/2 \le(4/3)w 1/2 ≤ ( 4/3 ) w .
Every original unit bin now has charge at most 3 / 2 3/2 3/2 . If it has no edge heavier than 1 / 2 1/2 1/2 , equation (E.2) gives charge at most 4 / 3 4/3 4/3 . Otherwise let h h h be the weight of its unique edge heavier than $1/2. The two possibilities give
h ≤ 5 / 8 : q ( h ) + ∑ w ≠ h q ( w ) ≤ 5 6 + 4 3 ( 1 − h ) ≤ 3 2 , h > 5 / 8 : q ( h ) + ∑ w ≠ h q ( w ) ≤ 1 + 4 3 ( 1 − h ) ≤ 3 2 . \begin{aligned}
h \le5/8:\quad&q(h) + \sum_{w \ne h} q(w) \le\frac{5}{6} + \frac{4}{3}(1-h) \le\frac{3}{2},\\
h > 5/8:\quad&q(h) + \sum_{w \ne h} q(w) \le1 + \frac{4}{3}(1-h) \le\frac{3}{2}.
\end{aligned} h ≤ 5/8 : h > 5/8 : q ( h ) + w = h ∑ q ( w ) ≤ 6 5 + 3 4 ( 1 − h ) ≤ 2 3 , q ( h ) + w = h ∑ q ( w ) ≤ 1 + 3 4 ( 1 − h ) ≤ 2 3 .
Here the sum means the other items in this bin, with multiplicities.
Let R = G − F R = G - F R = G − F . Selecting a sixth of A A A removes a sixth of its charge, to within one at each vertex. Selecting a sixth of B B B does the same, to within 1 / 2 1/2 1/2 . Consequently,
∑ e ∈ E ( R ) , e ∋ v a ( w e ) ≤ ∑ e ∋ v q ( w e ) + 3 2 ≤ 3 2 n + 3 2 . \sum_{\substack{e \in E(R),\\ e \ni v}} a(w_e) \le\sum_{e \ni v} q(w_e) + \frac{3}{2} \le\frac{3}{2}n + \frac{3}{2}. e ∈ E ( R ) , e ∋ v ∑ a ( w e ) ≤ e ∋ v ∑ q ( w e ) + 2 3 ≤ 2 3 n + 2 3 .
The harmonic-charge lemma colors R R R with ( 3 / 2 + o ( 1 ) ) n (3/2 + o(1))n ( 3/2 + o ( 1 )) n colors, since W R ( v ) ≤ n W_R(v) \le n W R ( v ) ≤ n . Use fresh colors for R R R and combine the two colorings:
χ w ′ ( G ) ≤ n 6 + 3 n 2 + o ( n ) = ( 5 3 + o ( 1 ) ) n . \chi'_w(G) \le\frac{n}{6} + \frac{3n}{2} + o(n) = \left(\frac{5}{3} + o(1)\right)n. χ w ′ ( G ) ≤ 6 n + 2 3 n + o ( n ) = ( 3 5 + o ( 1 ) ) n .
All constant losses above are independent of the graph, so the uniform error bound follows from that of the harmonic-charge lemma.
The Bound with Coefficient 1.62
We now combine several compatible selections of edges. Write a ( w ) = 1 / ⌊ 1 / w ⌋ a(w) = 1/\lfloor1/w \rfloor a ( w ) = 1/ ⌊ 1/ w ⌋ and A ( F ) = max v ∑ e ∋ v , e ∈ F a ( w e ) A(F) = \max_{v} \sum_{e \ni v,\ e \in F} a(w_e) A ( F ) = max v ∑ e ∋ v , e ∈ F a ( w e ) for an edge set F F F . By Lemma E.2 , every bipartite weighted multigraph F F F of weighted degree at most n n n satisfies
χ w ′ ( F ) ≤ A ( F ) + o ( n ) , (28) \chi'_w(F) \le A(F) + o(n), \tag*{(28)} χ w ′ ( F ) ≤ A ( F ) + o ( n ) , (28)
with a uniform error term. We will apply this bound to the remainder after the selections. The first lemma ensures that the selections can be made simultaneously on whole edges while controlling their counts and the remainder charge at each vertex. With error at most four, it is a special case of [4 Theorem 10] : the elements are allowed edge-label pairs, a basis of the partition matroid chooses one label per edge, and each element contributes at most one to each of two endpoint constraints. The direct proof below gives the strict error bound stated here. The same constraint-dropping method appears for edge-count decompositions in [FS08, Section 3.
Lemma E.6. Let G G G be a weighted multigraph, and suppose each edge e e e has finitely many possible labels, including a remainder label 0 0 0 , with probabilities p e , j p_{e,j} p e , j summing to one. For each positive label j j j , its eligible edges are divided into sets H j , S j H_j, S_j H j , S j . One can assign exactly one allowed label to each physical edge so that, at every vertex, each selected H j H_j H j count, each selected S j S_j S j count, and the remainder harmonic charge differs from its prescribed expectation by less than four. The assignment is computable in polynomial time when the edge weights and prescribed probabilities are rational.
Proof. Use variables x e , j x_{e,j} x e , j , initially equal to p e , j p_{e,j} p e , j , and keep ∑ j x e , j = 1 \sum_j x_{e,j}=1 ∑ j x e , j = 1 for each edge. Also keep one equation for each quantity in the statement. Repeatedly move to a vertex of the current feasible polytope and fix every variable that is zero or one. An unfixed edge has at least two fractional variables. If there are M M M fractional variables, at most M / 2 M/2 M /2 edge equations remain. Every fractional variable occurs in at most two endpoint equations besides its edge equation, and its coefficient there is at most one: it is either a count coefficient or a ( w e ) a(w_e) a ( w e ) . Hence the endpoint equations contain at most 2 M 2M 2 M fractional-variable appearances. If every endpoint equation contained at least five such variables, there would be at most 2 M / 5 2M/5 2 M /5 endpoint equations, for fewer than M M M equations altogether. This contradicts extremality of a point with M M M fractional variables. Drop an endpoint equation containing at most four fractional variables and repeat. Once dropped, its final value can change by less than four; equations retained to the end hold exactly. The edge equations are never dropped, so every edge receives one label. Each iteration fixes a variable or drops an equation, so the process terminates after polynomially many iterations. The existence argument applies to real probabilities. For rational input, every linear program has rational data of polynomial encoding length, which gives the claimed running time.
The next lemma uses the vertex-splitting and König-coloring method from Lemma A.2 for two compatible weight ranges.
Lemma E.7. Let the edge set of a bipartite multigraph J J J be partitioned into H , S H,S H , S , with H H H -weights in ( 1 / 2 , h ] (1/2,h] ( 1/2 , h ] and S S S -weights in ( 0 , b ] (0,b] ( 0 , b ] . If 2 b ≤ 1 2b\le1 2 b ≤ 1 and h + b ≤ 1 h+b\le1 h + b ≤ 1 , then J J J has a feasible coloring with
L = max v max { d H ( v ) , ⌈ d H ( v ) + d S ( v ) 2 ⌉ } . L=\max_v\max\left\{d_H(v),\left\lceil\frac{d_H(v)+d_S(v)}{2}\right\rceil\right\}. L = v max max { d H ( v ) , ⌈ 2 d H ( v ) + d S ( v ) ⌉ } . colors, constructible in polynomial time.
Proof. Make two copies of each vertex. Put all H H H incidences at the first copy and distribute S S S incidences so each copy has degree at most L L L ; the first has room since d H ( v ) ≤ L d_H(v)\le L d H ( v ) ≤ L , and total room is 2 L 2L 2 L . Make the choices independently at the two endpoints of each edge. The copied graph remains bipartite and has maximum degree L L L . König’s edge-coloring theorem gives a proper L L L -coloring. After identifying copies, a color has at most two edges at a vertex. If one is in H H H , the other is in S S S ; otherwise both are in S S S . The two compatibility inequalities make both cases feasible.
Lemma E.8. Let G G G be a bipartite weighted multigraph, and fix finitely many selections, indexed by j j j . Selection j j j has a positive rational cost f j f_j f j , a heavy range H j ⊆ ( 1 / 2 , h j ] H_j\subseteq(1/2,h_j] H j ⊆ ( 1/2 , h j ] , a small range S j ⊆ ( 0 , b j ] S_j\subseteq(0,b_j] S j ⊆ ( 0 , b j ] , and a nonnegative function ρ j \rho_j ρ j on S j S_j S j , where 2 b j ≤ 1 2b_j\le1 2 b j ≤ 1 and h j + b j ≤ 1 h_j+b_j\le1 h j + b j ≤ 1 . Suppose every unit bin B B B satisfies
∣ { e ∈ B : w e ∈ H j } ∣ + ∑ e ∈ B w e ∈ S j ρ j ( w e ) ≤ 2. (29) \lvert\{e\in B:w_e\in H_j\}\rvert+\sum_{\substack{e\in B\\w_e\in S_j}}\rho_j(w_e)\le2. \tag*{(29)} ∣{ e ∈ B : w e ∈ H j }∣ + e ∈ B w e ∈ S j ∑ ρ j ( w e ) ≤ 2. (29) An edge of weight w w w is assigned probability f j f_j f j for selection j j j if w ∈ H j w\in H_j w ∈ H j , probability f j ρ j ( w ) f_j\rho_j(w) f j ρ j ( w ) if w ∈ S j w\in S_j w ∈ S j , and zero otherwise; write the resulting probability as p j ( w ) p_j(w) p j ( w ) . Assume ∑ j p j ( w ) ≤ 1 \sum_j p_j(w)\le1 ∑ j p j ( w ) ≤ 1 for all w w w . Set
q ( w ) = a ( w ) ( 1 − ∑ j p j ( w ) ) . q(w)=a(w)\left(1-\sum_j p_j(w)\right). q ( w ) = a ( w ) ( 1 − j ∑ p j ( w ) ) . If every unit bin has q q q -charge at most Q Q Q , then
χ w ′ ( G ) ≤ ( Q + ∑ j f j + o ( 1 ) ) bp ( G ) . \chi'_w(G)\le\left(Q+\sum_j f_j+o(1)\right)\operatorname{bp}(G). χ w ′ ( G ) ≤ ( Q + j ∑ f j + o ( 1 ) ) bp ( G ) . The error is uniform in graph order, multiplicity, and minimum weight.
Proof. Put n = bp ( G ) n = \operatorname{bp}(G) n = bp ( G ) and apply Lemma E.6 to all edges. Since each vertex has an n n n -bin packing and each bin has at most one heavy edge, the expected selected H j H_j H j count is at most f j n f_j n f j n . Equation (E.4) similarly bounds the expected number of edges assigned to selection j j j by 2 f j n 2f_j n 2 f j n . After rounding, let H j ′ H'_j H j ′ and S j ′ S'_j S j ′ be the subgraphs of edges assigned to selection j j j whose weights lie in H j H_j H j and S j S_j S j , respectively. Then
d H j ′ ( v ) ≤ f j n + 4 , d H j ′ ( v ) + d S j ′ ( v ) < 2 f j n + 8. d_{H'_j}(v) \le f_j n + 4,\qquad d_{H'_j}(v) + d_{S'_j}(v) < 2f_j n + 8. d H j ′ ( v ) ≤ f j n + 4 , d H j ′ ( v ) + d S j ′ ( v ) < 2 f j n + 8.
Lemma E.7 colors selection j j j with at most ⌈ f j n ⌉ + 4 \lceil f_j n\rceil+ 4 ⌈ f j n ⌉ + 4 fresh colors. The prescribed remainder charge at each vertex is ∑ e ∋ v q ( w e ) ≤ Q n \sum_{e \ni v} q(w_e) \le Qn ∑ e ∋ v q ( w e ) ≤ Q n , so balanced labeling gives A ( R ) < Q n + 4 A(R) < Qn + 4 A ( R ) < Q n + 4 for the remainder R R R . Its weighted degree is at most n n n , and (E.3) colors it with Q n + 4 + o ( n ) Qn + 4 + o(n) Q n + 4 + o ( n ) fresh colors. Summing the disjoint palettes proves the claim.
For a selection whose small edges lie in harmonic class k ≥ 2 k \ge2 k ≥ 2 , take H = ( 1 / 2 , h ] H = (1/2,h] H = ( 1/2 , h ] , S = ( 1 / ( k + 1 ) , b ] S = (1/(k+1),b] S = ( 1/ ( k + 1 ) , b ] with b ≤ 1 / k b \le1/k b ≤ 1/ k , and ρ ( w ) = 2 / k \rho(w) = 2/k ρ ( w ) = 2/ k . A bin without an H H H edge has at most k k k selected small edges. With an H H H edge it has at most ⌊ k / 2 ⌋ \lfloor k/2\rfloor ⌊ k /2 ⌋ , so (E.4) holds in both cases. The three selections used below are all of this form.
The Three Selections and Their Charge
The following three compatible selections give the charge estimate for Theorem E.10 .
A row selects a heavy edge with probability f f f and a small edge with probability 2 f / k 2f/k 2 f / k . Every
Table 1 (PDF p. 70). Three compatible selections with total cost 7 / 30 7/30 7/30 .
row satisfies h + b = 1 h+b=1 h + b = 1 and b < 1 / 2 b<1/2 b < 1/2 , and the total selection probability at any weight is at most 1 / 20 + 1 / 10 + 1 / 12 = 7 / 30 1/20+1/10+1/12=7/30 1/20 + 1/10 + 1/12 = 7/30 . Let p ( w ) p(w) p ( w ) be this total probability and put q ( w ) = a ( w ) ( 1 − p ( w ) ) q(w)=a(w)(1-p(w)) q ( w ) = a ( w ) ( 1 − p ( w )) , where a ( w ) = 1 / ⌊ 1 / w ⌋ a(w)=1/\lfloor1/w\rfloor a ( w ) = 1/ ⌊ 1/ w ⌋ .
Lemma E.9. Every unit bin has total q q q -charge at most 104 / 75 104/75 104/75 .
Proof. We compare the remaining charge with a fixed multiple of the actual weight. The weight in one bin is at most one, so this part is easy to sum. Only the positive excess above that multiple requires a case check. Very small items have no positive excess; among the larger items, the bin capacity limits how many can appear together. Put τ = 14 / 13 \tau=14/13 τ = 14/13 and define the excess
e ( w ) = max { q ( w ) − τ w , 0 } . e(w)=\max\{q(w)-\tau w,0\}. e ( w ) = max { q ( w ) − τ w , 0 } .
For any bin B B B , this definition gives
∑ e ∈ B q ( w e ) ≤ 14 13 ∑ e ∈ B w e + ∑ e ∈ B e ( w e ) ≤ 14 13 + ∑ e ∈ B e ( w e ) . \sum_{e\in B}q(w_e)\le\frac{14}{13}\sum_{e\in B}w_e+\sum_{e\in B}e(w_e)\le\frac{14}{13}+\sum_{e\in B}e(w_e). e ∈ B ∑ q ( w e ) ≤ 13 14 e ∈ B ∑ w e + e ∈ B ∑ e ( w e ) ≤ 13 14 + e ∈ B ∑ e ( w e ) .
Our task is therefore to bound the last sum. The selected weight ranges lower the charge of some medium and heavy items, which is why their excesses must be checked separately. The following bounds follow by substituting the three selection probabilities. On each interval where q q q is constant, its excess above τ w \tau w τ w decreases with w w w ; it therefore suffices to check the left endpoints of those intervals.
For smaller weights, the harmonic bound a ( w ) ≤ ( 1 + 1 / t ) w a(w) \le(1+1/t)w a ( w ) ≤ ( 1 + 1/ t ) w whenever w ≤ 1 / t w \le1/t w ≤ 1/ t gives
e ( w ) ≤ max { 0 , 1 / t − 1 / 13 } w ( w ≤ 1 / t ) . (30) e(w) \le\max\{0,1/t-1/13\}w \qquad(w \le1/t). \tag*{(30)} e ( w ) ≤ max { 0 , 1/ t − 1/13 } w ( w ≤ 1/ t ) . (30)
We use this with t = 5 , 6 , 12 , 13 t=5,6,12,13 t = 5 , 6 , 12 , 13 , giving slopes 8 / 65 8/65 8/65 , 7 / 78 7/78 7/78 , 1 / 156 1/156 1/156 , and zero, respectively. If the bin has no heavy item, the preceding bounds give e ( w ) ≤ w / 5 e(w) \le w/5 e ( w ) ≤ w /5 for every item. Its total charge is therefore at most 14 / 13 + 1 / 5 < 104 / 75 14/13+1/5 < 104/75 14/13 + 1/5 < 104/75 .
Now suppose the bin has a heavy item. According to its range in the first column of the table, the remaining light items have total weight less than C = 1 / 2 C=1/2 C = 1/2 , 5 / 12 5/12 5/12 , or 3 / 8 3/8 3/8 , respectively. We claim that for each of these three capacities their total excess is at most
E ( C ) : = 8 65 C + 1 50 . (31) E(C) := \frac{8}{65}C+\frac{1}{50}. \tag*{(31)} E ( C ) := 65 8 C + 50 1 . (31)
There are three possibilities for the largest remaining weight.
If it exceeds 1 / 3 1/3 1/3 , that item contributes at most α \alpha α and the others have total weight below C − 1 / 3 C-1/3 C − 1/3 . Using (E.5) gives the second column below.
Otherwise, if it exceeds 1 / 4 1/4 1/4 , that item contributes at most β \beta β . For C = 1 / 2 C=1/2 C = 1/2 , if another item exceeds 1 / 5 1/5 1/5 , it contributes at most γ \gamma γ and leaves total weight below 1 / 20 < 1 / 13 1/20 < 1/13 1/20 < 1/13 , whose excess is zero. If there is no such item, the remaining excess is at most ( 8 / 65 ) ( 1 / 4 ) ≤ γ (8/65)(1/4) \le\gamma ( 8/65 ) ( 1/4 ) ≤ γ . This gives β + γ \beta+\gamma β + γ in either case. For the other two capacities, the weight left after the largest item is below 1 / 6 1/6 1/6 or 1 / 8 1/8 1/8 , so the slope 7 / 78 7/78 7/78 applies. These bounds give the third column.
Table 5.
Each entry in the middle columns is at most the last entry of its row.
Finally, if every remaining item has weight at most 1 / 4 1/4 1/4 , let m m m be the number exceeding 1 / 5 1/5 1/5 . Since C ≤ 1 / 2 C \le1/2 C ≤ 1/2 , we have m ≤ 2 m \le2 m ≤ 2 . The other items use the slope 8 / 65 8/65 8/65 , so their total excess is at most
m γ + 8 65 ( C − m 5 ) = 8 65 C + m 100 ≤ E ( C ) . m\gamma+\frac{8}{65}\left(C-\frac{m}{5}\right)=\frac{8}{65}C+\frac{m}{100}\le E(C). mγ + 65 8 ( C − 5 m ) = 65 8 C + 100 m ≤ E ( C ) .
This proves (E.6) in every case.
Write h ( C ) h(C) h ( C ) for the heavy-item bound corresponding to capacity C C C . The three rows satisfy
h ( C ) + 8 65 C = 113 390 . h(C)+\frac{8}{65}C=\frac{113}{390}. h ( C ) + 65 8 C = 390 113 .
The bin’s total q q q -charge is consequently at most
14 13 + h ( C ) + E ( C ) = 14 13 + 113 390 + 1 50 = 104 75 . \frac{14}{13}+h(C)+E(C)=\frac{14}{13}+\frac{113}{390}+\frac{1}{50}=\frac{104}{75}. 13 14 + h ( C ) + E ( C ) = 13 14 + 390 113 + 50 1 = 75 104 .
The Resulting Coloring Bound
Theorem E.10. Every bipartite weighted multigraph G G G satisfies
χ w ′ ( G ) ≤ ( 1.62 + o ( 1 ) ) bp ( G ) . \chi^{\prime}_w(G) \le(1.62 + o(1))\,\operatorname{bp}(G). χ w ′ ( G ) ≤ ( 1.62 + o ( 1 )) bp ( G ) . Equivalently, for every η > 0 \eta> 0 η > 0 there is a constant C η C_{\eta} C η , independent of graph order, multiplicity, and minimum positive weight, such that χ w ′ ( G ) ≤ ( 1.62 + η ) bp ( G ) + C η \chi^{\prime}_w(G) \le(1.62 + \eta)\,\operatorname{bp}(G) + C_{\eta} χ w ′ ( G ) ≤ ( 1.62 + η ) bp ( G ) + C η . For rational weights and fixed η > 0 \eta> 0 η > 0 , such a coloring can be found by a randomized algorithm in expected polynomial time.
Proof. Put n = bp ( G ) n = \operatorname{bp}(G) n = bp ( G ) and use the three selections in Table 1. Their costs sum to F = 1 / 20 + 1 / 10 + 1 / 12 = 7 / 30 F = 1/20 + 1/10 + 1/12 = 7/30 F = 1/20 + 1/10 + 1/12 = 7/30 . Each row satisfies h + b = 1 h + b = 1 h + b = 1 and b < 1 / 2 b < 1/2 b < 1/2 , and its selection probability at any weight is at most its cost. Thus the total probability is at most 7 / 30 < 1 7/30 < 1 7/30 < 1 . Lemma E.9 shows that the remainder charge of every unit bin is at most Q = 104 / 75 Q = 104/75 Q = 104/75 . Applying Lemma E.8 gives
χ w ′ ( G ) ≤ ( 7 30 + 104 75 + o ( 1 ) ) n = ( 81 50 + o ( 1 ) ) n . \chi^{\prime}_w(G) \le\left(\frac{7}{30} + \frac{104}{75} + o(1)\right)n = \left(\frac{81}{50} + o(1)\right)n. χ w ′ ( G ) ≤ ( 30 7 + 75 104 + o ( 1 ) ) n = ( 50 81 + o ( 1 ) ) n .
The selections partition the original edges, and their additive rounding errors contribute only O ( 1 ) O(1) O ( 1 ) colors. The remaining error comes from (E.3).
Algorithm E.1 (The bipartite 1.62 construction). Input: a weighted bipartite multigraph and a desired accuracy. Choose the packing and coloring accuracies small enough for the desired final error.
Find approximate local packings as in Section A.7 and let n n n be the largest number of bins used.
Assign the three selection labels and the remainder label by Lemma E.6, using the probabilities in Table 1.
Color each selected subgraph by Lemma E.7 , using a separate palette for each selection.
Color the remainder by Lemma E.2 with a fresh palette. Return the union of these colorings.
The label assignment and the three selected colorings take polynomial time; the harmonic remainder coloring takes expected polynomial time.
Bin-Packing Bounds for General Multigraphs
This appendix gives the proofs for § 6.2 . The first packet bound introduces the fractional bundle costs. We then prove the endpoint-label extension of rounding and the local inequalities needed for the 1.999 bound. The construction and its implementation follow in the same appendix.
A First Bound for General Multigraphs
The bipartite arguments color packets by König’s theorem; for general multigraphs, dense odd vertex sets create an additional obstruction. We first show that controlling triangles already gives a bound of ( 5 4 h ∞ + o ( 1 ) ) bp ( G ) (\frac{5}{4}h_\infty+o(1))\operatorname{bp}(G) ( 4 5 h ∞ + o ( 1 )) bp ( G ) . The construction also provides the preparation and rounding steps used in the stronger bound of Theorem F.6 .
We use three related terms in these constructions. A bundle contains all edges on one original pair of endpoints. An object is an edge, or a group of parallel edges, treated as one weighted item during preprocessing. A packet is a collection of objects on one pair whose total current weight is at most one; its objects receive the same color. Grouping replaces several edges by an object, whereas packing collects objects into packets.
Theorem F.1. Every weighted multigraph G G G without loops satisfies
χ w ′ ( G ) ≤ ( 5 4 h ∞ + o ( 1 ) ) bp ( G ) , 5 4 h ∞ = 2.113787758446 … \chi'_w(G) \leq\left(\frac{5}{4}h_\infty+o(1)\right)\operatorname{bp}(G), \qquad\frac{5}{4}h_\infty=2.113787758446\ldots χ w ′ ( G ) ≤ ( 4 5 h ∞ + o ( 1 ) ) bp ( G ) , 4 5 h ∞ = 2.113787758446 … More precisely, for each ε > 0 \varepsilon>0 ε > 0 there is C ε C_\varepsilon C ε such that at most ( 5 4 h ∞ + ε ) bp ( G ) + C ε (\frac{5}{4}h_\infty+\varepsilon)\operatorname{bp}(G)+C_\varepsilon ( 4 5 h ∞ + ε ) bp ( G ) + C ε colors suffice. The constant is independent of the number of vertices, parallel multiplicities, and the smallest edge weight. For rational weights and explicitly listed edges, each fixed accuracy has a randomized algorithm with expected polynomial running time.
Before giving the proof, we explain the coefficient 5 / 4 5/4 5/4 . We pack parallel edges into packets of weight at most one and properly color the resulting multigraph. Its maximum degree is at most ( h ∞ + o ( 1 ) ) bp ( G ) (h_\infty+o(1))\operatorname{bp}(G) ( h ∞ + o ( 1 )) bp ( G ) . The first lemma below bounds the number of packets inside every triangle by ( 2 + o ( 1 ) ) bp ( G ) (2+o(1))\operatorname{bp}(G) ( 2 + o ( 1 )) bp ( G ) . For an odd set of s ≥ 5 s\geq5 s ≥ 5 vertices, degree counting loses at most the factor s / ( s − 1 ) ≤ 5 / 4 s/(s-1)\leq5/4 s / ( s − 1 ) ≤ 5/4 . These estimates bound the fractional chromatic index of the packet multigraph, and an ordinary edge-coloring theorem converts that bound into a proper coloring. Finally, the charge left at each vertex is smaller than the number of missing colors there, allowing us to insert almost all remaining edges into the same palette.
Packing Two Collections
For a finite collection A A A of item types with prescribed counts, write F ( A ) F(A) F ( A ) for its fractional count packing cost . A pattern is a list of nonnegative integer type counts of total weight at most one. Assign nonnegative masses to these patterns so that their average counts equal the prescribed counts; F ( A ) F(A) F ( A ) is the least total mass. Patterns may repeat a type. Actual packets constructed later will use distinct available edges. An ordinary packing is one allowed choice, so F ( A ) F(A) F ( A ) is at most the ordinary bin-packing number.
Lemma F.2. For any two collections A , B A,B A , B , put a = F ( A ) a=F(A) a = F ( A ) and b = F ( B ) b=F(B) b = F ( B ) . Then
F ( A + B ) ≥ min { a / 2 + b , a + b / 2 } . F(A+B)\geq\min\{a/2+b,\ a+b/2\}. F ( A + B ) ≥ min { a /2 + b , a + b /2 } .
Consequently, for three collections A , B , C A,B,C A , B , C ,
F ( A ) + F ( B ) + F ( C ) ≤ 2 max { F ( A + B ) , F ( A + C ) , F ( B + C ) } . F(A)+F(B)+F(C)\leq2\max\{F(A+B),F(A+C),F(B+C)\}. F ( A ) + F ( B ) + F ( C ) ≤ 2 max { F ( A + B ) , F ( A + C ) , F ( B + C )} .
Proof. Take a fractional packing of A + B A+B A + B of total mass T T T . In each bin, keep the A A A items together as one packet and the B B B items as another. An A A A -heavy bin has an A A A packet heavier than 1 / 2 1/2 1/2 ; define B B B -heavy similarly. No bin is both. Write ℓ \ell ℓ , m m m , z z z for the masses of A A A -heavy, B B B -heavy, and remaining bins, interchanging the names if necessary so that ℓ ≥ m \ell\ge m ℓ ≥ m .
Pair all B B B -heavy mass with the same amount of A A A -heavy mass. In one such pair let the packet weights be ( a 0 , b 0 ) (a_0,b_0) ( a 0 , b 0 ) and ( c 0 , d 0 ) (c_0,d_0) ( c 0 , d 0 ) , where a 0 , d 0 > 1 / 2 a_0,d_0 > 1/2 a 0 , d 0 > 1/2 . If a 0 ≤ d 0 a_0 \le d_0 a 0 ≤ d 0 , then a 0 + c 0 ≤ 1 a_0+c_0 \le1 a 0 + c 0 ≤ 1 , so the two A A A packets fit together. If a 0 ≥ d 0 a_0 \ge d_0 a 0 ≥ d 0 , the two B B B packets fit together. Thus at least one collection costs one bin per unit paired mass. For the other collection, keep its heavy packet in one bin and put two copies of its small packet in a bin of mass 1 / 2 1/2 1/2 . Its cost is at most 3 / 2 3/2 3/2 .
Let p ∈ [ 0 , m ] p \in[0,m] p ∈ [ 0 , m ] be the paired mass for which the A A A packets are put together. An unpaired A A A -heavy bin costs one for A A A and 1 / 2 1/2 1/2 for B B B ; a remaining bin costs 1 / 2 1/2 1/2 for each, by doubling its packets. The separate packing costs are therefore at most
A ′ = ℓ + m 2 − p 2 + z 2 , B ′ = ℓ 2 + m 2 + p 2 + z 2 . A'=\ell+\frac{m}{2}-\frac{p}{2}+\frac{z}{2},\qquad B'=\frac{\ell}{2}+\frac{m}{2}+\frac{p}{2}+\frac{z}{2}. A ′ = ℓ + 2 m − 2 p + 2 z , B ′ = 2 ℓ + 2 m + 2 p + 2 z .
Empty packets can be omitted. Since
A ′ / 2 + B ′ = ℓ + 3 m / 4 + p / 4 + 3 z / 4 ≤ T , A'/2+B'=\ell+3m/4+p/4+3z/4\le T, A ′ /2 + B ′ = ℓ + 3 m /4 + p /4 + 3 z /4 ≤ T ,
and the displayed minimum is increasing in both arguments and symmetric in them, the first assertion follows. For the second, rename the three costs so that a ≥ b ≥ c a\ge b\ge c a ≥ b ≥ c . The first assertion gives F ( A + B ) ≥ a / 2 + b ≥ ( a + b + c ) / 2. F(A+B)\ge a/2+b\ge(a+b+c)/2. F ( A + B ) ≥ a /2 + b ≥ ( a + b + c ) /2.
Coloring Packets and Inserting the Remaining Edges
We use two standard results about ordinary multigraph edge coloring. A fractional proper coloring assigns nonnegative masses to matchings, covering each edge by total mass at least one; its minimum total mass is denoted by χ f ′ ( H ) \chi'_f(H) χ f ′ ( H ) . Edmonds’ matching theorem [11 ] gives
χ f ′ ( H ) = max { Δ ( H ) , max S ⊆ V ( H ) ∣ S ∣ ≥ 3 o d d 2 ∣ E H ( S ) ∣ ∣ S ∣ − 1 } . (32) \chi'_f(H)=\max\left\{\Delta(H),\max_{\substack{S\subseteq V(H)\\ |S|\ge3\ \mathrm{odd}}}\frac{2|E_H(S)|}{|S|-1}\right\}. \tag*{(32)} χ f ′ ( H ) = max ⎩ ⎨ ⎧ Δ ( H ) , S ⊆ V ( H ) ∣ S ∣ ≥ 3 odd max ∣ S ∣ − 1 2∣ E H ( S ) ∣ ⎭ ⎬ ⎫ . (32)
Here E H ( S ) E_H(S) E H ( S ) consists of edges with both endpoints in S S S . The following result converts this fractional bound into a proper coloring with a lower-order additive error.
Proposition F.3 (Sanders and Steurer [35 ] ). A loopless multigraph H H H has a proper coloring with at most
χ f ′ ( H ) + 9 χ f ′ ( H ) / 2 \chi'_f(H)+\sqrt{9\chi'_f(H)/2} χ f ′ ( H ) + 9 χ f ′ ( H ) /2 colors. For explicitly listed edges, such a coloring can be found deterministically in time
O ( ∣ E ( H ) ∣ Δ ( H ) ( ∣ V ( H ) ∣ + Δ ( H ) ) ) . O\left(|E(H)|\sqrt{\Delta(H)}\left(|V(H)|+\Delta(H)\right)\right). O ( ∣ E ( H ) ∣ Δ ( H ) ( ∣ V ( H ) ∣ + Δ ( H ) ) ) .
This is Theorem 2.23 of [35 ] . Its error depends only on the fractional chromatic index, not on the number of vertices. For each fixed η > 0 \eta>0 η > 0 the bound is also ( 1 + η ) χ f ′ ( H ) + O η ( 1 ) (1+\eta)\chi'_f(H)+O_\eta(1) ( 1 + η ) χ f ′ ( H ) + O η ( 1 ) .
Lemma F.4. Fix an integer T ≥ 4 T \ge4 T ≥ 4 , put b = 1 / T b = 1/T b = 1/ T , and fix L ∈ N L \in\mathbb{N} L ∈ N and ρ , C > 0 \rho, C > 0 ρ , C > 0 . Let H H H have a proper coloring with an even number K ≤ C n K \le Cn K ≤ C n of colors. Let R R R be a weighted multigraph on the same vertices, of multiplicity at most L L L . Give an edge of R R R charge
q e = { a ( w e ) , w e ≥ b , w e / ( 1 − b ) , w e < b , Q R ( v ) = ∑ e ∈ E R ( v ) q e . q_e =
\begin{cases}
a(w_e), & w_e \ge b,\\
w_e/(1-b), & w_e < b,
\end{cases}
\qquad
Q_R(v) = \sum_{e \in E_R(v)} q_e. q e = { a ( w e ) , w e / ( 1 − b ) , w e ≥ b , w e < b , Q R ( v ) = e ∈ E R ( v ) ∑ q e . If K − d H ( v ) ≥ Q R ( v ) + ρ n K-d_H(v) \ge Q_R(v) + \rho n K − d H ( v ) ≥ Q R ( v ) + ρ n at every vertex, then for each ζ > 0 \zeta> 0 ζ > 0 , after two-color path switches in H H H , R R R can be colored using colors missing in the resulting coloring of H H H , together with at most ζ n + O b , L , ρ , C , ζ ( 1 ) \zeta n + O_{b,L,\rho,C,\zeta}(1) ζ n + O b , L , ρ , C , ζ ( 1 ) new colors. For rational inputs and fixed constants, the algorithm has expected polynomial running time.
Proof. Write f v = K − d H ( v ) f_v = K-d_H(v) f v = K − d H ( v ) . The charges dominate weights, their sum at a vertex is at most C n Cn C n , and their sum on any pair is at most L L L . After multiplying its size parameter by a fixed constant, Lemma D.1 gives fractions supported on common missing colors such that x e , c = O ( 1 / n ) x_{e,c} = O(1/n) x e , c = O ( 1/ n ) , ∑ c x e , c ≤ 1 \sum_c x_{e,c} \le1 ∑ c x e , c ≤ 1 , and
∑ e ∈ E R ( v ) q e x e , c ≤ Q R ( v ) / f v + o ( 1 ) ≤ 1 − ρ / C + o ( 1 ) . \sum_{e \in E_R(v)} q_e x_{e,c} \le Q_R(v)/f_v + o(1) \le1-\rho/C+o(1). e ∈ E R ( v ) ∑ q e x e , c ≤ Q R ( v ) / f v + o ( 1 ) ≤ 1 − ρ / C + o ( 1 ) .
The total uncovered weight at each vertex is o ( n ) o(n) o ( n ) .
To apply the rounding lemma, we must realize these fractions as inclusion probabilities of feasible sets at each vertex. Use the class probabilities and conditional distributions from Section E.3, now allowing k = 1 k=1 k = 1 as well as 2 ≤ k ≤ T 2 \le k \le T 2 ≤ k ≤ T . The same cardinality construction applies to k = 1 k=1 k = 1 : it chooses at most one edge. The tiny class still uses the load bound 1 − b 1-b 1 − b . The fixed charge margin gives
∑ k = 0 T p k ≤ ∑ e ∈ E R ( v ) q e x e , c + ( T + 1 ) max e x e , c ≤ 1 \sum_{k=0}^{T} p_k \le\sum_{e \in E_R(v)} q_e x_{e,c} + (T+1)\max_e x_{e,c} \le1 k = 0 ∑ T p k ≤ e ∈ E R ( v ) ∑ q e x e , c + ( T + 1 ) e max x e , c ≤ 1
for large n n n . Use the empty set for the remaining probability. Lemma E.1, again with its size parameter rescaled by a fixed constant, leaves weighted degree at most δ n + o δ ( n ) \delta n + o_\delta(n) δ n + o δ ( n ) , for any fixed δ > 0 \delta> 0 δ > 0 . Choose δ < ζ / 8 \delta< \zeta/8 δ < ζ /8 . Lemma A.1 then uses at most ζ n \zeta n ζ n additional colors for large n n n ; bounded n n n is absorbed into the additive constant. The rational constructions in Sections D.3, E.3 and C.4 implement the mixing, local distributions, and bounded-multiplicity rounding in expected polynomial time. All constants are uniform in graph order and minimum weight.
Proof of the General Bound
Proof of Theorem F.1 . Put n = bp ( G ) n = \operatorname{bp}(G) n = bp ( G ) ; the empty graph is immediate. Choose a sufficiently large integer T ≥ 4 T \ge4 T ≥ 4 and put b = 1 / T b = 1/T b = 1/ T . On each parallel bundle, group edges lighter than b b b into objects of weight in [ b , 2 b ) [b, 2b) [ b , 2 b ) , leaving at most one object of weight below b b b . Edges of weight at least b b b stay as individual objects. Expanding an object after coloring preserves feasibility.
The objects at each vertex fit in at most
n ′ = ⌈ n 1 − 2 b ⌉ + 1 n' = \left\lceil\frac{n}{1-2b} \right\rceil+ 1 n ′ = ⌈ 1 − 2 b n ⌉ + 1
bins. To see this, keep the original edges of weight at least b b b in their original n n n bins and insert the new objects greedily. Each new object weighs less than 2 b 2b 2 b . Whenever a new bin is opened, all earlier bins have load greater than 1 − 2 b 1-2b 1 − 2 b , and the total load is at most n n n .
Next fix 0 < σ < 1 0 < \sigma< 1 0 < σ < 1 . In a bundle containing m m m objects of weight at least b b b , sort them by decreasing weight and set q = ⌊ σ m ⌋ q = \lfloor\sigma m \rfloor q = ⌊ σ m ⌋ . If q = 0 q = 0 q = 0 , leave them unchanged. Otherwise set aside the first q q q objects, divide the rest into consecutive groups of at most q q q , and round each weight up to the largest in its group. There are at most D = ⌈ 2 / σ ⌉ + 2 D = \lceil2/\sigma\rceil+ 2 D = ⌈ 2/ σ ⌉ + 2 non-tiny types per bundle: if q > 0 q > 0 q > 0 , then q > σ m / 2 q > \sigma m/2 q > σ m /2 , while q = 0 q = 0 q = 0 implies m < 1 / σ m < 1/\sigma m < 1/ σ . The rounded object at position j > q j > q j > q is no heavier than the original object at position j − q j - q j − q . This is an injection on each bundle, so the retained graph P P P still fits in n ′ n' n ′ bins at each vertex. The set-aside objects have total weight at most σ n / b \sigma n/b σ n / b at a vertex.
Give retained objects the charges in Lemma F.4 . Lemma E.3 bounds the original incident charge by h ∞ n h_\infty n h ∞ n . Grouping tiny edges adds at most 4 b n 4bn 4 bn to it: a new object of weight w < 2 b w < 2b w < 2 b has charge at most w / ( 1 − 2 b ) ≤ ( 1 + 4 b ) w w/(1 - 2b) \le(1 + 4b)w w / ( 1 − 2 b ) ≤ ( 1 + 4 b ) w , while the original charge was at least its total weight. The tiny remainder obeys the same bound. The rank injection cannot increase total charge. Thus
Q P ( v ) ≤ ( h ∞ + 4 b ) n . (33) Q_P(v) \le(h_\infty+ 4b)n. \tag*{(33)} Q P ( v ) ≤ ( h ∞ + 4 b ) n . (33)
Solve the fractional count-packing problem on each bundle of P P P . Choose an optimum solution supported on at most D + 1 D + 1 D + 1 patterns, one per possible type constraint. A tiny type may have a very small weight; its pattern set is finite, and there is at most one actual tiny object in that bundle. From a pattern of mass λ \lambda λ , form ⌊ λ ⌋ \lfloor\lambda\rfloor ⌊ λ ⌋ packets using distinct available objects. The demand equalities ensure that enough objects of each type exist. The resulting ordinary multigraph is H H H ; write R R R for the objects left over. Since a pattern contains at most 1 / b 1/b 1/ b non-tiny objects,
multiplicity ( R ) ≤ ⌈ D + 1 b ⌉ + 1. \operatorname{multiplicity}(R) \le\left\lceil\frac{D + 1}{b} \right\rceil+ 1. multiplicity ( R ) ≤ ⌈ b D + 1 ⌉ + 1.
Every packet used has total charge at least one. Indeed, the dual packing problem assigns a price p t p_t p t to each type, with total price at most one in every pattern. Prices can be chosen nonnegative: replace negative prices by zero, using the constraint for the pattern with those items deleted. The pattern containing ⌊ 1 / w t ⌋ \lfloor1/w_t \rfloor ⌊ 1/ w t ⌋ copies of type t t t gives p t ≤ a ( w t ) p_t \le a(w_t) p t ≤ a ( w t ) . For a tiny type, a ( w t ) ≤ w t / ( 1 − b ) a(w_t) \le w_t/(1 - b) a ( w t ) ≤ w t / ( 1 − b ) as well. Equality of primal and dual optima makes the total price exactly one on every positive pattern. Therefore
d H ( v ) + Q R ( v ) ≤ Q P ( v ) ≤ ( h ∞ + 4 b ) n . (34) d_H(v) + Q_R(v) \le Q_P(v) \le(h_\infty+ 4b)n. \tag*{(34)} d H ( v ) + Q R ( v ) ≤ Q P ( v ) ≤ ( h ∞ + 4 b ) n . (34)
For a triangle, let A , B , C A, B, C A , B , C be its three retained bundles. Each pair fits into n ′ n' n ′ local bins. Lemma F.2 gives F ( A ) + F ( B ) + F ( C ) ≤ 2 n ′ F(A) + F(B) + F(C) \le2n' F ( A ) + F ( B ) + F ( C ) ≤ 2 n ′ . The number of actual packets on a bundle is at most its fractional cost, so the triangle has at most 2 n ′ 2n' 2 n ′ packet edges. For every odd vertex set S S S of size s ≥ 5 s \ge5 s ≥ 5 ,
2 ∣ E H ( S ) ∣ s − 1 ≤ s s − 1 Δ ( H ) ≤ 5 4 ( h ∞ + 4 b ) n . \frac{2|E_H(S)|}{s - 1} \le\frac{s}{s - 1}\Delta(H) \le\frac{5}{4}(h_\infty+ 4b)n. s − 1 2∣ E H ( S ) ∣ ≤ s − 1 s Δ ( H ) ≤ 4 5 ( h ∞ + 4 b ) n .
Equation (F.1) now gives
χ f ′ ( H ) ≤ max { 2 n ′ , 5 4 ( h ∞ + 4 b ) n } . \chi'_f(H) \le\max\{2n', \tfrac{5}{4}(h_\infty+ 4b)n\}. χ f ′ ( H ) ≤ max { 2 n ′ , 4 5 ( h ∞ + 4 b ) n } .
Since 5 4 h ∞ > 2 \frac{5}{4}h_\infty> 2 4 5 h ∞ > 2 , Proposition F.3 and an even-palette adjustment give a proper coloring with
K = ( 5 4 h ∞ + O ( b ) + η ) n + O b , η ( 1 ) K = \left(\frac{5}{4}h_\infty+ O(b) + \eta\right)n + O_{b,\eta}(1) K = ( 4 5 h ∞ + O ( b ) + η ) n + O b , η ( 1 )
colors for any fixed η > 0 \eta> 0 η > 0 . Add unused colors if needed to ensure K ≥ 5 4 ( h ∞ + 4 b ) n K \ge\frac{5}{4}(h_\infty+ 4b)n K ≥ 4 5 ( h ∞ + 4 b ) n . By (F.3), the number missing at each vertex exceeds its residual charge by at least h ∞ n / 4 h_\infty n/4 h ∞ n /4 . Lemma F.4 colors R R R with these colors and ζ n + O b , σ , ζ ( 1 ) \zeta n + O_{b,\sigma,\zeta}(1) ζ n + O b , σ , ζ ( 1 ) extra colors, for any fixed ζ > 0 \zeta> 0 ζ > 0 . The set-aside objects cost at most 4 σ n / b + 1 4\sigma n/b + 1 4 σ n / b + 1 further colors by Lemma A.1 .
Choose b b b , then η \eta η , then σ \sigma σ and ζ \zeta ζ sufficiently small in terms of the requested ϵ \epsilon ϵ . The total is ( 5 4 h ∞ + ϵ ) n + C ϵ (\frac{5}{4}h_\infty+ \epsilon)n + C_\epsilon ( 4 5 h ∞ + ϵ ) n + C ϵ . All choices depend only on ϵ \epsilon ϵ . Small n n n are absorbed into C ϵ C_\epsilon C ϵ by the same greedy bound. Finally expand all packets and objects. This proves the theorem.
Algorithm F.1 (The packet bound for general multigraphs). Input: a weighted multigraph without loops and a desired accuracy. Choose the parameters in the order specified in the proof.
Group tiny edges, set aside the prescribed largest objects on each bundle, and round retained weights by rank.
Use the polynomial-size bundle programs described below to form integer packets.
Properly color the packet multigraph by the Sanders–Steurer algorithm and add unused colors to obtain the required even palette.
Apply the missing-color and rounding constructions of Lemma F.4 , then greedily color the remaining objects with fresh colors.
Expand all packets and grouped objects. Check each vertex-color load and return the resulting coloring.
Computing the Bundle Packings
For fixed accuracy, the D D D non-tiny types admit only constantly many count vectors a a a of load ℓ ( a ) ≤ 1 \ell(a) \le1 ℓ ( a ) ≤ 1 . If a tiny type has weight t t t , set k a = ⌊ ( 1 − ℓ ( a ) ) / t ⌋ k_a = \lfloor(1-\ell(a))/t\rfloor k a = ⌊( 1 − ℓ ( a )) / t ⌋ . It suffices to keep the two patterns ( a , 0 ) (a,0) ( a , 0 ) and ( a , k a ) (a,k_a) ( a , k a ) : every ( a , k ) (a,k) ( a , k ) with 0 ≤ k ≤ k a 0 \le k \le k_a 0 ≤ k ≤ k a is a convex combination of these two patterns with the same total mass. The reduced linear program therefore has the same optimum. Its size is constant for fixed accuracy, and even a large k a k_a k a has polynomial binary encoding length. Flooring a basic solution forms only packets that can be filled with the listed objects.
The algorithm uses the approximate local packings from Section A.7, so it does not need to compute bp ( G ) \operatorname{bp}(G) bp ( G ) exactly. Their error is absorbed into the requested accuracy. Rational upper approximations to h ∞ h_\infty h ∞ follow from its recurrence; the tail after 1 / r j 1/r_j 1/ r j is at most 2 / r j + 1 2/r_{j+1} 2/ r j + 1 . Packet formation and ordinary coloring are polynomial; the missing-color construction has expected polynomial running time. Together these give the claimed fixed-accuracy algorithm for the packet bound.
Rounding While Keeping Endpoint Labels
Lemma F.5 (Endpoint labels in bounded-multiplicity rounding). Fix integers L L L , h ≥ 1 h \ge1 h ≥ 1 , constants C 0 , C 1 ≥ 1 C_0,C_1 \ge1 C 0 , C 1 ≥ 1 , and δ , η > 0 \delta,\eta> 0 δ , η > 0 . In Lemma E.1, give each incidence ( e , z ) (e,z) ( e , z ) a fixed label ℓ z ( e ) \ell_z(e) ℓ z ( e ) from a set L z L_z L z of at most h h h labels. Suppose that, for every vertex z z z and color c c c , the vector ( x e , c : e ∋ z ) (x_{e,c}:e \ni z) ( x e , c : e ∋ z ) is the mean of a distribution on feasible sets, each of which contains edges of at most one label at z z z . Let π z , c , a \pi_{z,c,a} π z , c , a be the probability that this distribution chooses label a a a , assigning the empty set a null label if necessary, and put Π z , a = ∑ c π z , c , a \Pi_{z,a}=\sum_c\pi_{z,c,a} Π z , a = ∑ c π z , c , a . Then the partial coloring in Lemma E.1 may be chosen so that, in addition to its stated weight and support conclusions, each color used at z z z contains edges of at most one label, and
# { c : color c uses label a at z } ≤ Π z , a + η m + O L , C 0 , C 1 , h , δ , η ( n 3 / 4 ) ( a ∈ L z ) . \#\{c:\text{ color }c\text{ uses label }a\text{ at }z\}\leq\Pi_{z,a}+\eta m+O_{L,C_0,C_1,h,\delta,\eta}(n^{3/4})\qquad(a\in L_z). # { c : color c uses label a at z } ≤ Π z , a + η m + O L , C 0 , C 1 , h , δ , η ( n 3/4 ) ( a ∈ L z ) . The threshold and error constant do not depend on the number of vertices. The conclusion also holds when the edge deletion in the proof of Lemma E.1 is performed first and the local distributions are then restricted to the surviving edges. If the local distributions are rational and supplied with polynomial support, the partial coloring can be found in expected polynomial time for fixed parameters.
Proof. Use the proof of Lemma E.1, with the following decorations and one additional local test. At ( z , c ) (z,c) ( z , c ) , first draw a label a a a with probability π z , c , a \pi_{z,c,a} π z , c , a and condition the feasible-set distribution on that label. Apply Lemma C.1 to this conditional distribution, with a small compression parameter α > 0 \alpha>0 α > 0 chosen for the requested output error δ \delta δ . If π z , c , a > 0 \pi_{z,c,a}>0 π z , c , a > 0 , multiply all its profile probabilities and assigned fractions by π z , c , a \pi_{z,c,a} π z , c , a , and decorate every resulting profile, including its two repair profiles and empty profile, with a a a . Omit zero-probability labels. Add a null-labeled empty profile if needed. Thus the total profile probability is one, the unconditional assigned fraction of e e e is ( 1 − α ) x e , c (1-\alpha)x_{e,c} ( 1 − α ) x e , c , and an assigned fraction for e e e appears only in a profile decorated with ℓ z ( e ) \ell_z(e) ℓ z ( e ) . There are at most h M ( β , α ) + 1 hM(\beta,\alpha)+1 h M ( β , α ) + 1 decorated profiles, independently of n n n . The conditional fractions may be large when π z , c , a \pi_{z,c,a} π z , c , a is small; this causes no change to the proof because every unconditional assigned fraction is at most ( 1 − α ) x e , c = O ( 1 / n ) (1-\alpha)x_{e,c}=O(1/n) ( 1 − α ) x e , c = O ( 1/ n ) .
Smooth the decorated-profile probabilities exactly as in the proof of Theorem 3.1: with M ∗ M_\ast M ∗ the common bounded decorated alphabet, put λ ′ = ( 1 − θ ) λ + θ / M ∗ \lambda'=(1-\theta)\lambda+\theta/M_\ast λ ′ = ( 1 − θ ) λ + θ / M ∗ . This preserves the option support: smoothing changes selection probabilities, not the assigned fractions. For the independent original list at z z z , let C z , a C_{z,a} C z , a count colors whose selected profile is decorated with a a a . Then
E C z , a ≤ ( 1 − θ ) Π z , a + θ ∣ C ∣ ≤ Π z , a + θ C 1 n . \mathbb{E}C_{z,a}\le(1-\theta)\Pi_{z,a}+\theta|\mathcal{C}|\le\Pi_{z,a}+\theta C_1n. E C z , a ≤ ( 1 − θ ) Π z , a + θ ∣ C ∣ ≤ Π z , a + θ C 1 n .
Put t = ⌈ n 3 / 4 ⌉ t=\lceil n^{3/4}\rceil t = ⌈ n 3/4 ⌉ . Independence across colors gives
Var ( C z , a ) ≤ ∣ C ∣ / 4 , Pr { C z , a > E C z , a + t } ≤ ∣ C ∣ 4 t 2 , \operatorname{Var}(C_{z,a})\le|\mathcal{C}|/4,\qquad\Pr\{C_{z,a}>\mathbb{E}C_{z,a}+t\}\le\frac{|\mathcal{C}|}{4t^2}, Var ( C z , a ) ≤ ∣ C ∣/4 , Pr { C z , a > E C z , a + t } ≤ 4 t 2 ∣ C ∣ ,
where the second inequality is Chebyshev’s inequality. In the group-by-group choice of vertex lists, retain at each vertex its usual list with progress value Q z ( k ) ≤ ⌈ n 3 / 4 ⌉ Q_z^{(k)}\le\lceil n^{3/4}\rceil Q z ( k ) ≤ ⌈ n 3/4 ⌉ only if it also passes these at most h h h label-count tests. The tests depend on that vertex’s list alone. Under the original list law the discarded probability at a vertex is at most
p k ′ = p k + h ∣ C ∣ 4 t 2 = p k + O ( n − 1 / 2 ) = o ( 1 ) . (35) p'_k=p_k+\frac{h|\mathcal{C}|}{4t^2}=p_k+O(n^{-1/2})=o(1). \tag*{(35)} p k ′ = p k + 4 t 2 h ∣ C ∣ = p k + O ( n − 1/2 ) = o ( 1 ) . (35)
Consequently every nonnegative row expectation in the Harris–Srinivasan step increases by at most the same 1 / ( 1 − o ( 1 ) ) 1/(1-o(1)) 1/ ( 1 − o ( 1 )) factor. The load and progress calculations, the O ( n 3 / 4 ) O(n^{3/4}) O ( n 3/4 ) error, and both large- and small-edge rounding go through unchanged. This is a per-vertex conditioning argument; it does not use a union bound over all vertices.
Every colored edge uses an option with positive assigned fraction at both ends. Its color therefore selects a decorated profile with the edge’s fixed incidence label. All edges of one color at a vertex have the same label. The later edge normalization and both whole-edge roundings only delete options, so they cannot add a used label or increase a label count. The retained-list test gives C z , a ≤ Π z , a + θ C 1 n + t C_{z,a}\le\Pi_{z,a}+\theta C_1n+t C z , a ≤ Π z , a + θ C 1 n + t . Choose θ \theta θ small enough that θ C 1 < η \theta C_1<\eta θ C 1 < η ; the other fixed accuracy parameters can then be chosen as in the original rounding proof. This proves the assertion. Restricting a local random feasible set after group deletion preserves its label and the same argument applies. The implementation is given in Section F.4.
A Bound Below Two for General Multigraphs
The construction in Section F.1 treats triangles separately and bounds larger odd sets by degree counting. To improve the coefficient below two, we must also account for dense sets of five vertices. We select disjoint dense blocks, contract them, and restore their internal edges after coloring the quotient.
Theorem F.6. Every weighted loopless multigraph G G G satisfies
χ w ′ ( G ) ≤ ( 1.999 + o ( 1 ) ) bp ( G ) . \chi'_{\mathrm{w}}(G)\le(1.999+o(1))\,\operatorname{bp}(G). χ w ′ ( G ) ≤ ( 1.999 + o ( 1 )) bp ( G ) .
Equivalently, for every ε > 0 \varepsilon> 0 ε > 0 there is a constant C ε C_{\varepsilon} C ε , independent of graph order, multiplicity, and minimum positive weight, such that
χ w ′ ( G ) ≤ ( 1.999 + ε ) bp ( G ) + C ε . \chi'_{w}(G) \le(1.999 + \varepsilon)\operatorname{bp}(G) + C_{\varepsilon}. χ w ′ ( G ) ≤ ( 1.999 + ε ) bp ( G ) + C ε .
For rational weights and explicitly listed edges, such a coloring can be found by a randomized algorithm with expected polynomial running time for every fixed ε > 0 \varepsilon> 0 ε > 0 .
The main difficulty is restoring a contracted set without conflicting with its external colors. We record the original endpoint used by each external color and require the internal pattern in that color to avoid this endpoint. A local price inequality shows that the resulting restricted palettes still suffice. The proof first establishes the local estimates and the contraction rule, then combines them with the packet and rounding constructions of Section F.1.
We use the following constants:
A = 57 40 , R = 7 10 , M = 17 10 , c = 39 20 , κ = 1999 1000 . A = \frac{57}{40}, \qquad R = \frac{7}{10}, \qquad M = \frac{17}{10}, \qquad c = \frac{39}{20}, \qquad\kappa= \frac{1999}{1000}. A = 40 57 , R = 10 7 , M = 10 17 , c = 20 39 , κ = 1000 1999 .
Here A A A bounds the harmonic charge of a bin containing only light items, R R R bounds the light items sharing a bin with a heavy item, and M M M bounds an arbitrary bin. The constant c c c is the local five-vertex price bound, and κ \kappa κ is the coefficient in the theorem. We will use the strict inequalities
4 κ − ( 2 A + 3 M ) = 23 500 > 0 , κ − 7 M 6 = 47 3000 > 0. (36) 4\kappa- (2A + 3M) = \frac{23}{500} > 0, \qquad\kappa- \frac{7M}{6} = \frac{47}{3000} > 0. \tag*{(36)} 4 κ − ( 2 A + 3 M ) = 500 23 > 0 , κ − 6 7 M = 3000 47 > 0. (36)
Three Bin Estimates
Write τ ( w ) = a ( w ) = 1 / ⌊ 1 / w ⌋ \tau(w) = a(w) = 1/\lfloor1/w \rfloor τ ( w ) = a ( w ) = 1/ ⌊ 1/ w ⌋ for the harmonic charge. If w ≤ 1 / j w \le1/j w ≤ 1/ j , then τ ( w ) ≤ ( 1 + 1 / j ) w \tau(w) \le(1 + 1/j)w τ ( w ) ≤ ( 1 + 1/ j ) w . The following elementary estimates replace an estimate involving the full harmonic constant.
Lemma F.7. A unit bin containing only items of weight at most 1 / 2 1/2 1/2 has total τ \tau τ -charge at most A A A . Items of total weight below 1 / 2 1/2 1/2 have τ \tau τ -charge at most 25 / 36 < R 25/36 < R 25/36 < R . Every unit bin has τ \tau τ -charge at most $61/36 < M.
Proof. For a light-only bin, at most two items exceed 1 / 3 1/3 1/3 . With at most one, the charge is at most 25 / 18 25/18 25/18 . With two, their charge is one and their complement weighs below 1 / 3 1/3 1/3 . If the complement has no item above 1 / 4 1/4 1/4 , its charge is at most 5 / 12 5/12 5/12 ; otherwise it has one such item of charge 1 / 3 1/3 1/3 , and its remaining load is below 1 / 12 1/12 1/12 with charge at most 13 / 144 13/144 13/144 . This gives 1 + 1 / 3 + 13 / 144 = 205 / 144 < 57 / 40 = A 1 + 1/3 + 13/144 = 205/144 < 57/40 = A 1 + 1/3 + 13/144 = 205/144 < 57/40 = A .
For load below 1 / 2 1/2 1/2 , if no item exceeds 1 / 3 1/3 1/3 , the charge is at most 2 / 3 2/3 2/3 . Otherwise the unique item above 1 / 3 1/3 1/3 contributes 1 / 2 1/2 1/2 , and the remainder has load below 1 / 6 1/6 1/6 . Since τ ( w ) ≤ ( 7 / 6 ) w \tau(w) \le(7/6)w τ ( w ) ≤ ( 7/6 ) w for w ≤ 1 / 6 w \le1/6 w ≤ 1/6 , its charge is at most 7 / 36 7/36 7/36 . Thus the total charge is at most 25 / 36 25/36 25/36 . A whole bin is either light-only or contains one heavy item followed by such a remainder.
The margin M − 61 / 36 = 1 / 180 M - 61/36 = 1/180 M − 61/36 = 1/180 also covers tiny external objects charged at w / ( 1 − b ) w/(1-b) w / ( 1 − b ) rather than τ ( w ) \tau(w) τ ( w ) : the increase in one local bin is at most b / ( 1 − b ) < 1 / 180 b/(1-b) < 1/180 b / ( 1 − b ) < 1/180 when b ≤ 1 / 200 b \le1/200 b ≤ 1/200 .
Lemma F.8. Let G G G be a weighted multigraph. Fix an integer T 0 ≥ 4 T_0 \ge4 T 0 ≥ 4 , put b = 1 / T 0 b = 1/T_0 b = 1/ T 0 , and fix 0 < σ < 1 0 < \sigma< 1 0 < σ < 1 . With n = bp ( G ) n = \operatorname{bp}(G) n = bp ( G ) , there is a retained object graph P P P and a set-aside collection such that every retained star fits in
N = ⌈ n 1 − 2 b ⌉ + 1 N = \left\lceil\frac{n}{1 - 2b} \right\rceil+ 1 N = ⌈ 1 − 2 b n ⌉ + 1
bins, every original pair has at most D = ⌈ 2 / σ ⌉ + 2 D = \lceil2/\sigma\rceil+ 2 D = ⌈ 2/ σ ⌉ + 2 non-tiny types and one tiny object, and the set-asides have weighted degree at most σ n / b \sigma n/b σ n / b . On each original pair the retained objects yield whole packets whose number is at most the pair’s fractional count-packing cost. Objects not used by packets have multiplicity at most ⌈ ( D + 1 ) / b ⌉ + 1 \lceil(D + 1)/b \rceil+ 1 ⌈( D + 1 ) / b ⌉ + 1 per original pair. Every used packet has harmonic charge at least one. Expanding objects and packets back to their original edges preserves feasibility.
Proof. Apply the grouping, rank rounding, and packet construction from the proof of Theorem F.1 , with T = T 0 T = T_0 T = T 0 and n ′ = N n' = N n ′ = N . That construction gives the displayed local-bin bound, the bound D D D on the number of types, the set-aside weight, and the residual multiplicity. Flooring an optimal fractional packing gives no more whole packets than its cost, and expansion preserves feasibility. For the harmonic-charge assertion, choose optimal nonnegative dual prices. The price of a type of weight w w w is at most τ ( w ) \tau(w) τ ( w ) , because ⌊ 1 / w ⌋ \lfloor1/w \rfloor ⌊ 1/ w ⌋ copies fit in one bin. Every pattern with positive mass has total dual price one, so every used packet has harmonic charge at least one. □ \square □
The Five-Vertex Price Inequality
We work with the fractional count-packing model of Section F.1. A type specifies one original pair and one positive item weight; patterns may repeat types. On five vertices let x x x be a demand whose star at each vertex is the mean of feasible integer star patterns. Write t e t_e t e for the separate fractional bin cost of pair e e e , T = ∑ e t e T = \sum_e t_e T = ∑ e t e , and C = p ⋅ x C = p \cdot x C = p ⋅ x for a nonnegative type price vector p p p , normalized so that every feasible whole pattern has price at most one. Let β e \beta_e β e be the largest price of a packet using pair e e e alone.
These prices are a way to test whether the whole demand fits in a given amount of palette. The normalization says that one color can carry price at most one. The quantity t e t_e t e measures how much palette pair e e e needs when packed separately, whereas β e \beta_e β e measures the largest price that one packet on that pair can carry. They play different roles: large T T T will force many heavy items, and the β e \beta_e β e will help us bound their total price.
Lemma F.9. If T ≥ 2 κ T \ge2\kappa T ≥ 2 κ , then C ≤ c = 39 / 20 C \le c = 39/20 C ≤ c = 39/20 .
The proof has two steps. First, density forces enough heavy items to occur in the local star distributions. We then distribute the light-item prices between their endpoints and bound the resulting local prices by three explicit model configurations.
Proof of Lemma F.9. Write H e H_e H e for the mean number of heavy items, of weight above 1 / 2 1/2 1/2 , on pair e e e , and d H ( v ) = ∑ e ∋ v H e d_H(v) = \sum_{e \ni v} H_e d H ( v ) = ∑ e ∋ v H e . A star contains at most one heavy item, so d H ( v ) ≤ 1 d_H(v) \le1 d H ( v ) ≤ 1 . Packing type t t t alone in ⌊ 1 / w t ⌋ \lfloor1/w_t \rfloor ⌊ 1/ w t ⌋ -copy gives t e ≤ ∑ t τ ( w t ) x t t_e \le\sum_t \tau(w_t)x_{t} t e ≤ ∑ t τ ( w t ) x t . Averaging over the local bin laws and using Lemma F.7 gives, at every vertex v v v , charge at most A + ( M − A ) d H ( v ) A + (M - A)d_H(v) A + ( M − A ) d H ( v ) . Summing over the five vertices counts each pair charge twice, so
2 T ≤ 5 A + 2 ( M − A ) ∑ e H e . 2T \le5A + 2(M - A)\sum_e H_e. 2 T ≤ 5 A + 2 ( M − A ) e ∑ H e .
Indeed, a heavy-free star contributes at most A A A , and a star containing a heavy item contributes at most M M M . Thus the preceding inequality is just the average of these two bounds. If ∑ e H e < 3 / 2 \sum_e H_e < 3/2 ∑ e H e < 3/2 , its right-hand side would be less than 5 A + 3 ( M − A ) = 2 A + 3 M < 4 κ 5A + 3(M - A) = 2A + 3M < 4\kappa 5 A + 3 ( M − A ) = 2 A + 3 M < 4 κ , whereas 2 T ≥ 4 κ 2T \ge4\kappa 2 T ≥ 4 κ . Consequently ∑ e H e ≥ 3 / 2 \sum_e H_e \ge3/2 ∑ e H e ≥ 3/2 . This lower bound on heavy mass is the saving that we will use throughout the price argument.
Reducing the pair prices. Packets on disjoint pairs fit together; hence β e + β f ≤ 1 \beta_e+\beta_f\le1 β e + β f ≤ 1 when e e e and f f f are disjoint. Put a = max e β e a=\max_e\beta_e a = max e β e . If a ≤ 6 / 11 a\le6/11 a ≤ 6/11 , a light-only star has price at most A a Aa A a . Pair endpoint states containing the same heavy type. For each heavy type t t t on u v uv uv , the states containing t t t have total mass x t x_t x t at both endpoints, since both local distributions realize the same demand and a feasible star contains at most one heavy item. Couple the conditional endpoint distributions for this type and give the resulting paired states total mass x t x_t x t ; omit types with x t = 0 x_t=0 x t = 0 . Keep the entire packet of smaller weight on its pair and both off-pair parts; at any third vertex the two off-pair loads are each below 1 / 2 1/2 1/2 , so the merged pattern is feasible. The paired price is at most 1 + a 1+a 1 + a . After pairing, the heavy states use at most ( 1 + a ) / 2 (1+a)/2 ( 1 + a ) /2 price per endpoint state, averaged over the two endpoints, and a light-only state uses at most A a Aa A a . There is one unit of state mass at each of the five vertices, and their total price is 2 C 2C 2 C . Consequently
C ≤ 5 2 max { A a , 1 + a 2 } ≤ 171 88 < c . C\le\frac{5}{2}\max\left\{Aa,\frac{1+a}{2}\right\}\le\frac{171}{88}<c. C ≤ 2 5 max { A a , 2 1 + a } ≤ 88 171 < c .
Assume a ≥ 6 / 11 a\ge6/11 a ≥ 6/11 and name a maximum pair 01. Order the other three 0-spokes so that β 02 ≥ β 03 ≥ β 04 \beta_{02}\ge\beta_{03}\ge\beta_{04} β 02 ≥ β 03 ≥ β 04 , and put s = 1 − a s=1-a s = 1 − a , x = max ( s , β 02 ) x=\max(s,\beta_{02}) x = max ( s , β 02 ) , and y = max ( s , β 03 ) y=\max(s,\beta_{03}) y = max ( s , β 03 ) . The disjoint-packet inequalities bound the ten pair prices by
For example, pair 12 is disjoint from 03, so β 12 ≤ min { a , 1 − β 03 } = 1 − y \beta_{12}\le\min\{a,1-\beta_{03}\}=1-y β 12 ≤ min { a , 1 − β 03 } = 1 − y . Pairs 13 and 14 are disjoint from 02, giving β 13 , β 14 ≤ min { a , 1 − β 02 } = 1 − x \beta_{13},\beta_{14}\le\min\{a,1-\beta_{02}\}=1-x β 13 , β 14 ≤ min { a , 1 − β 02 } = 1 − x . The remaining pairs 23, 24, 34 are disjoint from 01 and have price at most 1 − a = s 1-a=s 1 − a = s . This vector is the convex combination of three simple arrays: S 0 S_0 S 0 prices all four 0-spokes at a a a , S 1 S_1 S 1 prices all four 1-spokes at a a a , and Q Q Q prices triangle 012 at a a a ; every other pair has price s s s . The coefficients of S 0 , S 1 , Q S_0,S_1,Q S 0 , S 1 , Q are
λ 0 = y − s 2 a − 1 , λ 1 = a − x 2 a − 1 , λ Q = x − y 2 a − 1 . (37) \lambda_0=\frac{y-s}{2a-1},\qquad\lambda_1=\frac{a-x}{2a-1},\qquad\lambda_Q=\frac{x-y}{2a-1}. \tag*{(37)} λ 0 = 2 a − 1 y − s , λ 1 = 2 a − 1 a − x , λ Q = 2 a − 1 x − y . (37)
They are nonnegative and sum to one, because s ≤ y ≤ x ≤ a s\le y\le x\le a s ≤ y ≤ x ≤ a and a − s = 2 a − 1 > 0 a-s=2a-1>0 a − s = 2 a − 1 > 0 . To check the decomposition, pair 01 has price a a a in all three arrays, pair 02 has price a a a in S 0 , Q S_0,Q S 0 , Q and s s s in S 1 S_1 S 1 , and pairs 03, 04 have price a a a only in S 0 S_0 S 0 . Their averages are therefore a , x , y a,x,y a , x , y , respectively. The other entries follow in the same way. We have reduced a vector with ten coordinates to two star-shaped arrays and one triangle-shaped array. The individual arrays need not bound the original prices; it is their displayed average that does so.
A common bound for the three models. We next derive an inequality that applies to all three arrays. For upper pair prices m e ≥ β e m_e\ge\beta_e m e ≥ β e , choose nonnegative endpoint shares with z u e + z v e = 2 m e z_{ue}+z_{ve}=2m_e z u e + z v e = 2 m e . Give a heavy item its full price at each end and a light item on e e e the multiplier z v e / m e z_{ve}/m_e z v e / m e at end v v v ; zero-price terms are omitted. This only changes where light-item price is charged: its two multipliers sum to two. Heavy-item price is also counted twice, so the sum of the five local means is 2 C 2C 2 C . We are free to choose the shares so that the local bounds become easier to satisfy.
There are two kinds of local state to bound: a light-only star at one vertex, and a pair of endpoint states containing the same heavy item. Choose h 0 = h 1 = h h_0=h_1=h h 0 = h 1 = h and h 2 = h 3 = h 4 = 0 h_2=h_3=h_4=0 h 2 = h 3 = h 4 = 0 , where h = 0 h=0 h = 0 for a < 3 / 4 a<3/4 a < 3/4 and h = 1 / 2 h=1/2 h = 1/2 for a ≥ 3 / 4 a\ge3/4 a ≥ 3/4 , and define
B v = h v + top 1 ( z v e − h v m e ) + + ( A − 1 ) top 2 ( z v e − h v m e ) + , B_v=h_v+\operatorname{top}_1(z_{ve}-h_vm_e)_+ +(A-1)\operatorname{top}_2(z_{ve}-h_vm_e)_+, B v = h v + top 1 ( z v e − h v m e ) + + ( A − 1 ) top 2 ( z v e − h v m e ) + ,
D v = max e ∋ v ( z v e − m e ) + , J v = max e ∋ v z v e , D_v=\max_{e\ni v}(z_{ve}-m_e)_+,\qquad J_v=\max_{e\ni v}z_{ve}, D v = e ∋ v max ( z v e − m e ) + , J v = e ∋ v max z v e ,
q u v G = 1 + m u v + R ( D u + D v ) , q u v S = 2 m u v + R ( J u + J v ) . q^G_{uv}=1+m_{uv}+R(D_u+D_v),\qquad q^S_{uv}=2m_{uv}+R(J_u+J_v). q uv G = 1 + m uv + R ( D u + D v ) , q uv S = 2 m uv + R ( J u + J v ) .
The top i \operatorname{top}_i top i are the i i i th largest positive entries among the pairs incident to v v v , padded with zero. The quantity B v B_v B v will bound the price of a light-only state. The quantity D v D_v D v records the largest positive difference between an endpoint share and its pair price; J v J_v J v records the largest endpoint share. They give two bounds for a heavy pair: q G q^{G} q G combines the two stars into a feasible pattern, while q S q^{S} q S bounds their heavy items and light remainders separately.
Fix a light-only star pattern at v v v , and let p e p_e p e be the total price of its items on pair e e e . Put r e = p e / m e r_e=p_e/m_e r e = p e / m e when m e > 0 m_e>0 m e > 0 and r e = 0 r_e=0 r e = 0 otherwise; if m e = 0 m_e=0 m e = 0 , both p e p_e p e and z v e z_{ve} z v e are zero. Thus r e r_e r e is the price on one pair, measured in units of its allowed packet price m e m_e m e ; it is not its total weight. Each pair packet has price at most β e ≤ m e \beta_e\le m_e β e ≤ m e . Also, each type t t t on e e e has price at most m e τ ( w t ) m_e\tau(w_t) m e τ ( w t ) , since ⌊ 1 / w t ⌋ \lfloor1/w_t\rfloor ⌊ 1/ w t ⌋ copies fit in one packet. Hence
0 ≤ r e ≤ 1 , ∑ e ∋ v r e ≤ A , ∑ e ∋ v m e r e = ∑ e ∋ v p e ≤ 1. 0\le r_e\le1,\qquad\sum_{e\ni v}r_e\le A,\qquad\sum_{e\ni v}m_er_e=\sum_{e\ni v}p_e\le1. 0 ≤ r e ≤ 1 , e ∋ v ∑ r e ≤ A , e ∋ v ∑ m e r e = e ∋ v ∑ p e ≤ 1.
The first inequality says that the items on one pair form a packet. The second uses the harmonic-charge bound for a light-only star. The third uses the fact that the entire star is itself a feasible pattern, of price at most one. Since h v ≥ 0 h_v\ge0 h v ≥ 0 , its local price satisfies
∑ e ∋ v z v e r e ≤ h v + ∑ e ∋ v ( z v e − h v m e ) + r e ≤ B v . \sum_{e\ni v}z_{ve}r_e\le h_v+\sum_{e\ni v}(z_{ve}-h_vm_e)_+r_e\le B_v. e ∋ v ∑ z v e r e ≤ h v + e ∋ v ∑ ( z v e − h v m e ) + r e ≤ B v .
For the final inequality, the sum is maximized by putting one unit on the largest positive coefficient and at most A − 1 A-1 A − 1 on the second largest, since 1 ≤ A ≤ 2 1\le A\le2 1 ≤ A ≤ 2 . The parameter h v h_v h v allows us to use the third constraint as well: we first pay h v h_v h v for ∑ m e r e ≤ 1 \sum m_er_e\le1 ∑ m e r e ≤ 1 , and then apply the first two constraints to the remaining coefficients. The choice h = 1 / 2 h=1/2 h = 1/2 will be useful only in the final range of a a a .
For a heavy type on u v uv uv , couple its two endpoint states by type. Let π u , π v \pi_u,\pi_v π u , π v be the prices of their entire central packets and O u , O v O_u,O_v O u , O v those of their off-central parts. Keeping the entire central packet of smaller weight and both off-central parts gives a feasible pattern. At u u u and v v v , replacing the central packet by the lighter one cannot increase either load. At any other vertex, each of the two off-central contributions is below 1 / 2 1/2 1/2 , because its original star contained a heavy item. This explains the feasibility even when the two central packets have different light items. Its central price is at least min ( π u , π v ) \min(\pi_u,\pi_v) min ( π u , π v ) , hence min ( π u , π v ) + O u + O v ≤ 1 \min(\pi_u,\pi_v)+O_u+O_v\le1 min ( π u , π v ) + O u + O v ≤ 1 . Since each central packet costs at most m u v m_{uv} m uv , the sum of the two original star prices is at most 1 + m u v 1+m_{uv} 1 + m uv . Replacing unit light coefficients by endpoint shares adds at most R ( D u + D v ) R(D_u+D_v) R ( D u + D v ) : each light remainder has harmonic charge at most R R R , and on any incident pair the coefficient increase is at most ( z v e − m e ) + (z_{ve}-m_e)_+ ( z v e − m e ) + . This proves q u v G q^G_{uv} q uv G even when the two conditional central packets differ. Alternatively each heavy item has price at most m u v m_{uv} m uv , and each endpoint’s entire light remainder contributes at most R J v RJ_v R J v , proving q u v S q^S_{uv} q uv S . Thus, for any choice of either bound on each pair,
2 C ≤ F ( m , z ; H ) : = ∑ v ( 1 − d H ( v ) ) B v + ∑ u v H u v q u v . (38) 2C\le F(m,z;H):=\sum_v(1-d_H(v))B_v+\sum_{uv}H_{uv}q_{uv}. \tag*{(38)} 2 C ≤ F ( m , z ; H ) := v ∑ ( 1 − d H ( v )) B v + uv ∑ H uv q uv . (38)
Here 1 − d H ( v ) 1-d_H(v) 1 − d H ( v ) is exactly the probability that the star at v v v has no heavy item. The remaining states are paired by their heavy type and charged through H u v q u v H_{uv}q_{uv} H uv q uv . Thus every local state is accounted for once in F F F . A budget P v ≥ B v P_v\ge B_v P v ≥ B v covers a light-only state at v v v . When q u v ≤ P u + P v − ν q_{uv}\le P_u+P_v-\nu q uv ≤ P u + P v − ν , the two endpoint budgets cover the paired heavy states with ν \nu ν to spare. Since the total heavy mass is at least 3 / 2 3/2 3/2 , these savings add up to at least 3 / 2 3\nobreak/2 3 /2 . Precisely, if P v ≥ B v P_v\ge B_v P v ≥ B v and ν ≥ 0 \nu\ge0 ν ≥ 0 satisfy P u + P v − ν ≥ q u v P_u+P_v-\nu\ge q_{uv} P u + P v − ν ≥ q uv , then
F ( m , z ; H ) ≤ ∑ v P v − 3 2 ν . (39) F(m,z;H)\le\sum_v P_v-\frac{3}{2}\nu. \tag*{(39)} F ( m , z ; H ) ≤ v ∑ P v − 2 3 ν . (39)
This is weak linear programming duality in a particularly simple form. The local state masses satisfy ( 1 − d H ( v ) ) + ∑ e ∋ v H e = 1 (1-d_H(v))+\sum_{e\ni v}H_e=1 ( 1 − d H ( v )) + ∑ e ∋ v H e = 1 at every vertex. The number P v P_v P v is a budget for this unit of state mass: P v ≥ B v P_v\ge B_v P v ≥ B v covers a light-only state, and P u + P v − ν ≥ q u v P_u+P_v-\nu\ge q_{uv} P u + P v − ν ≥ q uv covers a paired heavy state. The multiplier ν \nu ν uses the global constraint ∑ e H e ≥ 3 / 2 \sum_e H_e\ge3/2 ∑ e H e ≥ 3/2 . No optimization algorithm is needed: any displayed budgets satisfying these inequalities prove an upper bound. Directly substituting the inequalities makes the cancellation visible:
F ( m , z ; H ) ≤ ∑ v ( 1 − d H ( v ) ) P v + ∑ u v H u v ( P u + P v − ν ) = ∑ v P v − ν ∑ e H e ≤ ∑ v P v − 3 2 ν . \begin{aligned}
F(m,z;H)&\le\sum_v(1-d_H(v))P_v+\sum_{uv}H_{uv}(P_u+P_v-\nu)\\
&=\sum_vP_v-\nu\sum_eH_e\le\sum_vP_v-\frac{3}{2}\nu.
\end{aligned} F ( m , z ; H ) ≤ v ∑ ( 1 − d H ( v )) P v + uv ∑ H uv ( P u + P v − ν ) = v ∑ P v − ν e ∑ H e ≤ v ∑ P v − 2 3 ν .
The rest of the proof supplies these budgets for the three model arrays. Each check has only two forms: a vertex inequality P v ≥ B v P_v\ge B_v P v ≥ B v , and a pair inequality P u + P v − ν ≥ q u v P_u+P_v-\nu\ge q_{uv} P u + P v − ν ≥ q uv .
For the star model S 0 S_0 S 0 , split each high spoke into root share 2 a − 1 / 2 2a-1/2 2 a − 1/2 and leaf share 1 / 2 1/2 1/2 ; split a low pair equally at s s s . The shares for S 1 S_1 S 1 are symmetric. In Q Q Q split every pair equally. Average these shares with (F.6). With fixed h h h , both B v B_v B v and either q G , q S q^G,q^S q G , q S are convex in ( m , z ) (m,z) ( m , z ) : the top-two expression is a nonnegative combination of the largest entry and the sum of the two largest entries, since 1 ≤ A ≤ 2 1\le A\le2 1 ≤ A ≤ 2 . All model bounds below use the same actual H H H . We only have to account explicitly for one pair on which different models choose different heavy-state bounds.
To see why convexity is enough, the coefficients 1 − d H ( v ) 1-d_H(v) 1 − d H ( v ) and H u v H_{uv} H uv in F F F are nonnegative. If the same choice of q G q^G q G or q S q^S q S is made on a pair in every model, the value at the averaged array is at most the average of the three model values. We can therefore average their numerical upper bounds without solving a new problem for the original ten pair prices. In the first range, pair 34 uses different choices in the star and triangle models; we will bound that one additional error explicitly.
The choices of heavy-state bounds are summarized below. Every unlisted pair uses q G q^G q G . Here R = 7 / 10 R=7/10 R = 7/10 ; the budget formulas and their checks are given in the corresponding cases.
Table 1 (PDF p. 83).
The triangle model uses the same budgets in all three ranges:
P 0 = P 1 = P 2 = A a , P 3 = P 4 = M s + ν / 2 , ν = ( 2 A − 1 ) a − 1. P_0=P_1=P_2=Aa,\qquad P_3=P_4=Ms+\nu/2,\qquad\nu=(2A-1)a-1. P 0 = P 1 = P 2 = A a , P 3 = P 4 = M s + ν /2 , ν = ( 2 A − 1 ) a − 1.
The star budgets for S 1 S_1 S 1 are obtained from those for S 0 S_0 S 0 by exchanging vertices 0 and 1. At a = R a=R a = R , either of the first two constructions applies. Only the first range needs the separate averaging correction on pair 34.
The range 6 / 11 ≤ a ≤ R 6/11\le a\le R 6/11 ≤ a ≤ R First let 6 / 11 ≤ a ≤ R 6/11\le a\le R 6/11 ≤ a ≤ R . In both stars use q G q^G q G everywhere. Put
B 0 = A ( 2 a − 1 / 2 ) , B = 1 / 2 + ( A − 1 ) s , q H = 1 + a + R ( a − 1 / 2 ) , q L = 1 + s . B_0=A(2a-1/2),\qquad B=1/2+(A-1)s,\qquad q_H=1+a+R(a-1/2),\qquad q_L=1+s. B 0 = A ( 2 a − 1/2 ) , B = 1/2 + ( A − 1 ) s , q H = 1 + a + R ( a − 1/2 ) , q L = 1 + s .
Potential q L / 2 q_L/2 q L /2 at every leaf, max ( B 0 , q H − q L / 2 ) \max(B_0,q_H-q_L/2) max ( B 0 , q H − q L /2 ) at the root, and ν = 0 \nu=0 ν = 0 satisfy all rows. Here B 0 B_0 B 0 is the root’s light-state bound and B B B is the common leaf bound. Every pair through the root has heavy-state bound q H q_H q H , and every pair of leaves has bound q L q_L q L . The leaf budgets cover their light states because
q L / 2 − B = ( 3 / 2 − A ) s = 3 s / 40 ≥ 0. q_L/2-B=(3/2-A)s=3s/40\ge0. q L /2 − B = ( 3/2 − A ) s = 3 s /40 ≥ 0.
Two leaf budgets sum to q L q_L q L , while the root budget was chosen to cover both B 0 B_0 B 0 and the remaining amount q H − q L / 2 q_H-q_L/2 q H − q L /2 on a high pair. Thus these few inequalities check all five vertices and all ten pairs. Their objective is
S ( a ) = max { 17 a 20 + 263 80 , a 5 + 73 20 } ≤ 1553 400 < 39 10 . (40) S(a)=\max\left\{\frac{17a}{20}+\frac{263}{80},\frac{a}{5}+\frac{73}{20}\right\}\leq\frac{1553}{400}<\frac{39}{10}. \tag*{(40)} S ( a ) = max { 20 17 a + 80 263 , 5 a + 20 73 } ≤ 400 1553 < 10 39 . (40)
For the triangle model Q Q Q , use q S q^{S} q S only on pair 34 and q G q^{G} q G elsewhere. Give the three triangle vertices the same budget P H P_H P H and the two outside vertices the same budget P O P_O P O :
P H = A a , P O = M s + ν / 2 , ν = ( 2 A − 1 ) a − 1. P_H=Aa,\qquad P_O=Ms+\nu/2,\qquad\nu=(2A-1)a-1. P H = A a , P O = M s + ν /2 , ν = ( 2 A − 1 ) a − 1.
The choice of ν \nu ν makes the high-pair constraint an equality; the choice of P O P_O P O does the same for the outside pair. There are only three different pair constraints:
Table 6 (PDF p. 84).
The light bounds are A a Aa A a inside the triangle and A s As A s outside it. Thus P H P_H P H covers the first, and P O − A s = ( 26 a − 9 ) / 40 > 0 P_O-As=(26a-9)/40>0 P O − A s = ( 26 a − 9 ) /40 > 0 covers the second. Also ν ≥ 0 \nu\geq0 ν ≥ 0 for a ≥ 6 / 11 a\geq6/11 a ≥ 6/11 . Substituting these budgets into (F.8) gives the objective
Q ( a ) = 39 10 − a 20 < 39 10 . (41) Q(a)=\frac{39}{10}-\frac{a}{20}<\frac{39}{10}. \tag*{(41)} Q ( a ) = 10 39 − 20 a < 10 39 . (41)
We can now combine the star and triangle bounds. Every pair uses the same heavy-state bound in all three models except 34: the stars use q G q^{G} q G , while the triangle uses q S q^{S} q S . The minimum of these two convex functions need not be convex, so this pair requires a separate calculation. Write q = λ Q q=\lambda_Q q = λ Q , μ = max ( λ 0 , λ 1 ) \mu=\max(\lambda_0,\lambda_1) μ = max ( λ 0 , λ 1 ) , and σ = min ( λ 0 , λ 1 ) \sigma=\min(\lambda_0,\lambda_1) σ = min ( λ 0 , λ 1 ) . At the averaged shares, D 3 = D 4 = 0 D_3=D_4=0 D 3 = D 4 = 0 and J 3 = J 4 = s + ( a − 1 / 2 ) μ J_3=J_4=s+(a-1/2)\mu J 3 = J 4 = s + ( a − 1/2 ) μ . If E = ( 1 − q ) ( 1 + s ) + q ( 2 M s ) E=(1-q)(1+s)+q(2Ms) E = ( 1 − q ) ( 1 + s ) + q ( 2 M s ) , b 0 = ( 12 a − 7 ) / 5 b_0=(12a-7)/5 b 0 = ( 12 a − 7 ) /5 , and d = R − a ≥ 0 d=R-a\geq0 d = R − a ≥ 0 , direct subtraction gives
q 34 G − E = q b 0 , q 34 S − E = ( 1 − q ) d − R ( 2 a − 1 ) σ . q^{G}_{34}-E=qb_0,\qquad q^{S}_{34}-E=(1-q)d-R(2a-1)\sigma. q 34 G − E = q b 0 , q 34 S − E = ( 1 − q ) d − R ( 2 a − 1 ) σ .
The quantity E E E is exactly the average bound already paid for on pair 34. Either of the two displayed differences is therefore an upper bound on the additional amount needed at the averaged shares; we may use whichever is smaller. If b 0 ≤ 0 b_0\leq0 b 0 ≤ 0 , there is no loss and the bounds S ( a ) , Q ( a ) ≤ 39 / 10 S(a),Q(a)\leq39/10 S ( a ) , Q ( a ) ≤ 39/10 suffice. Otherwise a > 7 / 12 a>7/12 a > 7/12 , and the loss is at most ( 1 − q ) d (1-q)d ( 1 − q ) d , since H 34 ≤ 1 H_{34}\leq1 H 34 ≤ 1 . Moreover,
S ( a ) + d = max { 319 80 − 3 a 20 , 87 20 − 4 a 5 } ≤ 39 10 . S(a)+d=\max\left\{\frac{319}{80}-\frac{3a}{20},\frac{87}{20}-\frac{4a}{5}\right\}\leq\frac{39}{10}. S ( a ) + d = max { 80 319 − 20 3 a , 20 87 − 5 4 a } ≤ 10 39 .
Indeed both expressions decrease with a a a ; at a = 7 / 12 a=7/12 a = 7/12 they equal 39 / 10 39/10 39/10 and 233 / 60 233/60 233/60 , respectively. Since Q ( a ) ≤ 39 / 10 Q(a)\leq39/10 Q ( a ) ≤ 39/10 , the combined bound is
2 C ≤ ( 1 − q ) S ( a ) + q Q ( a ) + ( 1 − q ) d ≤ 39 10 . 2C\leq(1-q)S(a)+qQ(a)+(1-q)d\leq\frac{39}{10}. 2 C ≤ ( 1 − q ) S ( a ) + q Q ( a ) + ( 1 − q ) d ≤ 10 39 .
The range R ≤ a < 3 / 4 R\leq a<3/4 R ≤ a < 3/4 In this interval we can avoid the preceding exceptional-pair calculation. Use q S q^{S} q S on 23, 24, 34 in all three models and q G q^{G} q G elsewhere. Since 2 s + R ≤ 1 + s 2s+R\leq1+s 2 s + R ≤ 1 + s , the preceding triangle certificate remains valid. In S 0 S_0 S 0 set
q M = 2 s + R , P B = max ( B , q M / 2 ) , P A = q L − P B , P 0 = max ( B 0 , q H − P B ) . q_M=2s+R,\qquad P_B=\max(B,q_M/2),\qquad P_A=q_L-P_B,\qquad P_0=\max(B_0,q_H-P_B). q M = 2 s + R , P B = max ( B , q M /2 ) , P A = q L − P B , P 0 = max ( B 0 , q H − P B ) .
Take P 1 = P A P_1=P_A P 1 = P A , P 2 = P 3 = P 4 = P B P_2=P_3=P_4=P_B P 2 = P 3 = P 4 = P B , and ν = 0 \nu=0 ν = 0 . The root is vertex 0; leaf 1 has budget P A P_A P A , and the other three leaves have budget P B P_B P B . The latter need to cover both their light bound B B B and half of the bound q M q_M q M on pairs among 2, 3, 4. This explains the maximum defining P B P_B P B . Since P B ≤ q L / 2 P_B \le q_L/2 P B ≤ q L /2 , we have P A ≥ P B ≥ B P_A \ge P_B \ge B P A ≥ P B ≥ B . The pairs 1 j 1j 1 j , for j ∈ { 2 , 3 , 4 } j \in\{2,3,4\} j ∈ { 2 , 3 , 4 } , are covered exactly by P A + P B = q L P_A+P_B=q_L P A + P B = q L . Finally the root’s maximum covers its light state and every root pair, since the smallest leaf budget is P B P_B P B . The inequalities used here are 2 B ≤ q L 2B \le q_L 2 B ≤ q L and q M ≤ q L q_M \le q_L q M ≤ q L ; the latter is just a ≥ R a \ge R a ≥ R . The objective
max ( B 0 + q L + 2 P B , q H + q L + P B ) \max(B_0+q_L+2P_B,\ q_H+q_L+P_B) max ( B 0 + q L + 2 P B , q H + q L + P B )
is convex in a a a , with endpoint values 1553 / 400 1553/400 1553/400 at R R R and 311 / 80 311/80 311/80 at 3 / 4 3/4 3/4 , both below 39 / 10 39/10 39/10 . The S 1 S_1 S 1 certificate is symmetric. Evaluating these formulas at a = 3 / 4 a=3/4 a = 3/4 bounds the preceding interval; the next case supplies the certificate at a = 3 / 4 a=3/4 a = 3/4 itself.
The range 3 / 4 ≤ a ≤ 1 3/4 \le a \le1 3/4 ≤ a ≤ 1
Finally let 3 / 4 ≤ a ≤ 1 3/4 \le a \le1 3/4 ≤ a ≤ 1 and s = 1 − a s=1-a s = 1 − a . Use q S q^S q S on 23, 24, 34 in all three models. In S 0 S_0 S 0 the light bounds are
B 0 = 1 2 + A − 3 A 2 s , B A = 1 2 + A 2 s , B B = 1 2 + ( A − 1 ) s . B_0=\frac{1}{2}+A-\frac{3A}{2}s,\qquad B_A=\frac{1}{2}+\frac{A}{2}s,\qquad B_B=\frac{1}{2}+(A-1)s. B 0 = 2 1 + A − 2 3 A s , B A = 2 1 + 2 A s , B B = 2 1 + ( A − 1 ) s .
Set
ν = min { B 0 + B B − q H , 2 B B − ( 2 s + R ) } , ( P 0 , P 1 , P 2 , P 3 , P 4 ) = ( B 0 , B A + ν , B B , B B , B B ) . \nu=\min\{B_0+B_B-q_H,\ 2B_B-(2s+R)\},\qquad(P_0,P_1,P_2,P_3,P_4)=(B_0,B_A+\nu,B_B,B_B,B_B). ν = min { B 0 + B B − q H , 2 B B − ( 2 s + R )} , ( P 0 , P 1 , P 2 , P 3 , P 4 ) = ( B 0 , B A + ν , B B , B B , B B ) .
The change from the preceding interval is that h 0 = h 1 = 1 / 2 h_0=h_1=1/2 h 0 = h 1 = 1/2 . It uses the fact that a feasible light star has total price at most one to improve the bound at the root. Using the same h v h_v h v in S 0 S_0 S 0 and S 1 S_1 S 1 lets us average the two models; the other three leaf bounds are unchanged. We can now take a positive ν \nu ν , obtaining a saving from each heavy pair.
The two terms defining ν \nu ν are 3 / 40 − s / 80 3/40-s/80 3/40 − s /80 and 3 / 10 − 23 s / 20 3/10-23s/20 3/10 − 23 s /20 , both nonnegative for 0 ≤ s ≤ 1 / 4 0 \le s \le1/4 0 ≤ s ≤ 1/4 . Their definitions check two of the pair classes directly:
Table 1 (PDF p. 85).
The last row follows from B A + B B − q L = 11 s / 80 ≥ 0 B_A+B_B-q_L=11s/80 \ge0 B A + B B − q L = 11 s /80 ≥ 0 . For the remaining pair 01, the left-hand side is B 0 + B A B_0+B_A B 0 + B A , which is at least B 0 + B B B_0+B_B B 0 + B B because B A − B B = ( 1 − A / 2 ) s ≥ 0 B_A-B_B=(1-A/2)s \ge0 B A − B B = ( 1 − A /2 ) s ≥ 0 . All vertex budgets cover their light bounds as well, since ν ≥ 0 \nu\ge0 ν ≥ 0 . The objective is
∑ v P v − 3 2 ν = max { 311 80 − 23 s 160 , 151 40 + 17 s 40 } ≤ 311 80 < 39 10 . \sum_v P_v-\frac{3}{2}\nu=\max\left\{\frac{311}{80}-\frac{23s}{160},\frac{151}{40}+\frac{17s}{40}\right\}\le\frac{311}{80}<\frac{39}{10}. v ∑ P v − 2 3 ν = max { 80 311 − 160 23 s , 40 151 + 40 17 s } ≤ 80 311 < 10 39 .
The S 1 S_1 S 1 argument swaps 0 and 1. For Q Q Q , the preceding triangle budgets still work. At vertices 0, 1, the new light bound is 1 / 2 + A a / 2 ≤ A a 1/2+Aa/2 \le Aa 1/2 + A a /2 ≤ A a , since A a ≥ 1 Aa \ge1 A a ≥ 1 in this interval; the other vertex bounds are unchanged. Thus choose P H = A a P_H=Aa P H = A a on 0, 1, 2, P O = M s + ν / 2 P_O=Ms+\nu/2 P O = M s + ν /2 on 3, 4, and ν = ( 2 A − 1 ) a − 1 \nu=(2A-1)a-1 ν = ( 2 A − 1 ) a − 1 . The cross-pair slack is at least s / 5 s/5 s /5 ; the triangle and outer rows hold with equality. Its objective is
2 A a + 2 M s + 1 + a 2 = 39 10 − a 20 ≤ 39 10 . 2Aa+2Ms+\frac{1+a}{2}=\frac{39}{10}-\frac{a}{20}\le\frac{39}{10}. 2 A a + 2 M s + 2 1 + a = 10 39 − 20 a ≤ 10 39 .
The common-model convexity and (F.8) now give 2 C ≤ 39 / 10 2C \le39/10 2 C ≤ 39/10 , hence C ≤ 39 / 20 C \le39/20 C ≤ 39/20 , in every range, as required.
Contracting Dense Sets
Only triangles and five-vertex sets can violate the target odd-set bound: larger odd sets already satisfy it by degree counting. The following lemma shows that all necessary contractions can be chosen at once.
Lemma F.10. Let t u v ∈ [ 0 , 1 ] t_{uv} \in[0,1] t uv ∈ [ 0 , 1 ] be pair costs with incident sum at most M M M at each vertex and cost at most two in every triangle. Call a five-set dense if its internal cost exceeds 2 κ 2\kappa 2 κ , and a triangle dense if its internal cost exceeds κ \kappa κ . Select every dense five-set, then every dense triangle disjoint from them, and contract these sets simultaneously, discarding internal pairs. The selected sets are disjoint. In the quotient every vertex has degree cost at most M M M , and every odd set S S S has internal cost at most κ ( ∣ S ∣ − 1 ) / 2 \kappa(|S|-1)/2 κ ( ∣ S ∣ − 1 ) /2 .
Proof. For a vertex set U U U , write t ( U ) t(U) t ( U ) for the sum of costs on pairs inside U U U , and ∂ t ( U ) \partial t(U) ∂ t ( U ) for the sum on pairs with exactly one endpoint in U U U . Summing the degree bounds over U U U gives
2 t ( U ) + ∂ t ( U ) ≤ ∣ U ∣ M . 2t(U) + \partial t(U) \le|U|M. 2 t ( U ) + ∂ t ( U ) ≤ ∣ U ∣ M .
Thus a set with large internal cost has little cost leaving it. We first show that the selected sets are disjoint, and then use their small boundary costs to check the quotient.
The dense five-sets are disjoint Suppose two distinct dense five-sets U , V U,V U , V overlap. Their combined internal cost is greater than 4 κ 4\kappa 4 κ , with pairs in U ∩ V U \cap V U ∩ V counted twice. If they meet in one vertex, no pair is counted twice, and degree counting on their nine-vertex union bounds this cost by 9 M / 2 < 4 κ 9M/2 < 4\kappa 9 M /2 < 4 κ , a contradiction.
If they meet in j ∈ { 2 , 3 , 4 } j \in\{2,3,4\} j ∈ { 2 , 3 , 4 } vertices, the degrees of the common vertices account for all pairs touching the intersection, including both copies of every pair inside it. This contributes at most j M jM j M . The only uncounted pairs lie inside U ∖ V U \setminus V U ∖ V or V ∖ U V \setminus U V ∖ U . The resulting bounds are
Table 1 (PDF p. 86).
The first row uses the triangle hypothesis, and the second uses the unit bound on each pair. Since M < 2 M<2 M < 2 , all three bounds are at most 2 M + 4 = 37 / 5 < 4 κ 2M+4=37/5<4\kappa 2 M + 4 = 37/5 < 4 κ . Hence no two dense five-sets overlap.
The remaining dense triangles are disjoint A dense five-set has boundary cost
∂ t ( U ) < 5 M − 4 κ = 63 125 < M 3 . \partial t(U) < 5M - 4\kappa= \frac{63}{125} < \frac{M}{3}. ∂ t ( U ) < 5 M − 4 κ = 125 63 < 3 M .
A triangle crossing its boundary contains two boundary pairs and one other pair. The other pair costs at most one, so a dense crossing triangle would need boundary cost greater than κ − 1 = 999 / 1000 > 63 / 125 \kappa-1=999/1000>63/125 κ − 1 = 999/1000 > 63/125 . This is impossible. A dense triangle contained in a selected five-set needs no separate contraction.
It remains to compare dense triangles outside the five-sets. Two sharing just one vertex have combined cost at most M + 2 M+2 M + 2 : the common vertex accounts for at most M M M , and the two opposite pairs account for at most one each. Two sharing an edge have combined cost at most 2 M 2M 2 M , by summing degrees at the two common vertices. Both bounds are at most 2 κ 2\kappa 2 κ , contradicting density. The selected triangles are therefore disjoint, and each has
∂ t ( U ) < 3 M − 2 κ ≤ 2 M 3 . \partial t(U) < 3M - 2\kappa\le\frac{2M}{3}. ∂ t ( U ) < 3 M − 2 κ ≤ 3 2 M .
After contraction, the degree cost of a block is exactly its former boundary cost. Ordinary vertices keep degree cost at most M M M ; three-blocks have degree cost below 2 M / 3 2M/3 2 M /3 , and five-blocks below M / 3 M/3 M /3 .
Triangles in the quotient We check the four possibilities according to the blocks present.
(i) No block. A dense triangle on three ordinary vertices would already have been selected, so its cost is at most κ \kappa κ .
(ii) One five-block and two ordinary vertices. The pairs touching the block cost less than M / 3 M/3 M /3 altogether, and the pair between the ordinary vertices costs at most one. The total is less than M / 3 + 1 ≤ κ M/3+1\le\kappa M /3 + 1 ≤ κ .
(iii) One three-block and two ordinary vertices. If this quotient triangle had cost greater than κ \kappa κ , expand the block. Its internal triangle also costs greater than κ \kappa κ , so the resulting original five-set would have cost greater than 2 κ 2\kappa 2 κ . It would have been selected before the three-block, a contradiction.
(iv) At least two blocks. Sum the three quotient degrees and divide by two. Using 2 M / 3 2M/3 2 M /3 for each of two blocks and M M M for the third vertex gives cost at most 7 M / 6 < κ 7M/6<\kappa 7 M /6 < κ .
Larger odd sets in the quotient A five-set with no block was already tested in the original graph. One containing a block has internal cost less than
2 M / 3 + 4 M 2 = 7 M 3 < 2 κ . \frac{2M/3+4M}{2}=\frac{7M}{3}<2\kappa. 2 2 M /3 + 4 M = 3 7 M < 2 κ .
Here we used the weaker boundary bound 2 M / 3 2M/3 2 M /3 , valid for either kind of block. Finally, for odd ∣ S ∣ ≥ 7 |S|\ge7 ∣ S ∣ ≥ 7 , every quotient degree is at most M M M , so
t ( S ) ≤ ∣ S ∣ M 2 = ∣ S ∣ ∣ S ∣ − 1 M ∣ S ∣ − 1 2 ≤ 7 M 6 ∣ S ∣ − 1 2 < κ ∣ S ∣ − 1 2 . t(S)\le\frac{|S|M}{2}=\frac{|S|}{|S|-1}M\frac{|S|-1}{2}\le\frac{7M}{6}\frac{|S|-1}{2}<\kappa\frac{|S|-1}{2}. t ( S ) ≤ 2 ∣ S ∣ M = ∣ S ∣ − 1 ∣ S ∣ M 2 ∣ S ∣ − 1 ≤ 6 7 M 2 ∣ S ∣ − 1 < κ 2 ∣ S ∣ − 1 .
The last step is (F.5). Singletons have no internal pairs, which completes the odd-set check.
Restoring a Dense Block
Work in the normalized local model, in which each star is an average of feasible integer star patterns and palettes are measured by their mass. For a triangle, let 0 ≤ t i ≤ 1 0\le t_i\le1 0 ≤ t i ≤ 1 be the cost of the bundle opposite vertex i i i , and suppose that κ < T = ∑ i t i ≤ 2 \kappa<T=\sum_i t_i\le2 κ < T = ∑ i t i ≤ 2 . The external colors labeled i i i form a reserved class of mass 0 ≤ q i ≤ M − T + t i 0\le q_i\le M-T+t_i 0 ≤ q i ≤ M − T + t i in which only bundle i i i may be used. The restriction has a simple meaning: an external edge already uses vertex i i i , but an internal packet on the opposite pair does not touch i i i . We first place as much of that bundle as the reserved class permits, then combine portions of the three bundles in colors that have no external restriction. Put s = T − M > 0 s=T-M>0 s = T − M > 0 ; the budget inequality implies t i ≥ s > 0 t_i\ge s>0 t i ≥ s > 0 . Since q i ≤ t i − s ≤ ( 1 − s ) t i q_i\le t_i-s\le(1-s)t_i q i ≤ t i − s ≤ ( 1 − s ) t i , a fraction q i / t i q_i/t_i q i / t i of bundle i i i fits in its reserved class while leaving at least an s s s fraction of the bundle. Here a fraction of a bundle means the same fraction of each of its type demands and of its fractional packing. In particular, it has the corresponding fraction of the bundle’s packing cost.
Figure 12. Each external color at a contracted set records the original vertex it uses. When restoring a color labeled v i v_i v i , the internal pattern avoids v i v_i v i . The two external colors shown are distinct; the grey internal edges have not yet been colored.
For the common s s s fraction of the three bundles, take an s / 2 s/2 s /2 multiple of each of the three feasible star packings. Each bundle then appears twice, so this uses palette mass 3 s / 2 3s/2 3 s /2 and covers exactly the required demand. These star packings may use all three vertices and are assigned to unreserved colors. The other 1 − s 1-s 1 − s fraction of each bundle is packed separately, with the designated fraction already in its reserved class. Thus the reserved classes are included in, rather than added to, the separate-packing cost ( 1 − s ) T (1-s)T ( 1 − s ) T . Packing the other fractions separately, including those placed in reserved classes, uses total palette mass at most
T − s T + 3 2 s ≤ 1 + M 2 < κ . T-sT+\frac{3}{2}s \le1+\frac{M}{2}<\kappa. T − s T + 2 3 s ≤ 1 + 2 M < κ .
The quadratic expression increases on T ≤ 2 T\le2 T ≤ 2 , since its derivative is M + 5 / 2 − 2 T ≥ M − 3 / 2 > 0 M+5/2-2T\ge M-3/2>0 M + 5/2 − 2 T ≥ M − 3/2 > 0 ; its value at T = 2 T=2 T = 2 is 1 + M / 2 1+M/2 1 + M /2 . Empty patterns fill unused colors.
For a five-block, let q v q_v q v be its external endpoint budget and d v = ∑ e ∋ v t e d_v=\sum_{e\ni v}t_e d v = ∑ e ∋ v t e . A color labeled v v v is available for internal patterns avoiding v v v . The next lemma measures how much this restriction can cost. After normalizing the best unrestricted pattern to have price one, the best pattern avoiding v v v has price r v ≤ 1 r_v\le1 r v ≤ 1 . Reserving q v q_v q v colors for such patterns can therefore lose at most q v ( 1 − r v ) q_v(1-r_v) q v ( 1 − r v ) in this price calculation. We must bound the internal demand price and all these losses together.
Lemma F.11. Consider a demand on five vertices whose star at each vertex is the mean of feasible integer star patterns, as in Lemma F.9. Suppose T = ∑ e t e ≥ 2 κ T=\sum_e t_e\ge2\kappa T = ∑ e t e ≥ 2 κ , every internal triangle has cost at most two, and the nonnegative external budgets satisfy d v + q v ≤ M d_v+q_v\le M d v + q v ≤ M . For every nonnegative price vector, let C C C be the demand price when the maximum whole-pattern price is normalized to one, and let r v r_v r v be the maximum price of a pattern avoiding v v v . Then
C + ∑ v q v ( 1 − r v ) ≤ κ − 1 1000 . (42) C+\sum_v q_v(1-r_v)\le\kappa-\frac{1}{1000}. \tag*{(42)} C + v ∑ q v ( 1 − r v ) ≤ κ − 1000 1 . (42) Consequently, a palette of mass κ \kappa κ fractionally packs the internal demand when a disjoint class of mass q v q_v q v is reserved for patterns avoiding each v v v .
Proof. We introduce a sixth vertex ∞ \infty ∞ to record the endpoint restrictions using ordinary matchings. If a matching uses the edge ∞ v \infty v ∞ v , all of its internal edges avoid v v v ; its internal packets can therefore share an external color labeled v v v . The artificial edge will be charged the lost price 1 − r v 1-r_v 1 − r v . We give these edges larger amounts than their actual budgets, so that the resulting matching inequality bounds the loss strongly enough. Choosing the artificial edge amounts Put q = 5 M − 2 T ≥ ∑ v q v = : Q q = 5M - 2T \ge\sum_v q_v =: Q q = 5 M − 2 T ≥ ∑ v q v =: Q and λ = max ( 2 , T / 2 ) \lambda= \max(2,T/2) λ = max ( 2 , T /2 ) . If q = 0 q = 0 q = 0 , all q v q_v q v vanish and Lemma F.9 gives C ≤ c < κ − 1 / 1000 C \le c < \kappa- 1/1000 C ≤ c < κ − 1/1000 . The inequality Q ≤ q Q \le q Q ≤ q comes from summing d v + q v ≤ M d_v + q_v \le M d v + q v ≤ M over the five vertices, since ∑ v d v = 2 T \sum_v d_v = 2T ∑ v d v = 2 T . Thus q q q is an upper bound on the total external budget, whether or not every vertex uses its full allowance.
Otherwise set k = 1 + ( λ − M ) / q > 1 k = 1 + (\lambda- M)/q > 1 k = 1 + ( λ − M ) / q > 1 . On the five internal vertices and a new vertex ∞ \infty ∞ , assign amount t e t_e t e to each internal pair and k q v kq_v k q v to ∞ v \infty v ∞ v . The choice of k k k gives ( k − 1 ) q = λ − M (k - 1)q = \lambda- M ( k − 1 ) q = λ − M : it uses the gap between M M M and λ \lambda λ to increase all the external budgets by the same factor.
Checking the matching inequalities We claim that these edge amounts can be covered by matchings of total mass λ \lambda λ . After division by λ \lambda λ , Edmonds’ matching-polytope theorem requires degree at most one and internal amount at most ( ∣ S ∣ − 1 ) / 2 (|S| - 1)/2 ( ∣ S ∣ − 1 ) /2 for every odd vertex set S S S . On six vertices the only nontrivial odd-set sizes are three and five, so the following list is exhaustive.
Each original vertex has degree d v + k q v ≤ M + ( k − 1 ) q v ≤ M + ( k − 1 ) Q ≤ λ d_v + kq_v \le M + (k - 1)q_v \le M + (k - 1)Q \le\lambda d v + k q v ≤ M + ( k − 1 ) q v ≤ M + ( k − 1 ) Q ≤ λ . At the new vertex the degree is
k Q ≤ q + λ − M = λ + 4 M − 2 T ≤ λ − 1. kQ \le q + \lambda- M = \lambda+ 4M - 2T \le\lambda- 1. k Q ≤ q + λ − M = λ + 4 M − 2 T ≤ λ − 1.
For the last inequality, 2 T ≥ 4 κ > 4 M + 1 2T \ge4\kappa> 4M + 1 2 T ≥ 4 κ > 4 M + 1 .
(i) A triangle avoiding ∞ \infty ∞ has cost at most 2 ≤ λ 2 \le\lambda 2 ≤ λ by hypothesis.
(ii) A triangle containing ∞ \infty ∞ has one internal pair, of cost at most one: restrict a feasible local star distribution to that pair to obtain a packing of mass one. Its two artificial edges have combined amount at most k Q kQ k Q . Its total is at most λ \lambda λ .
(iii) The five-set avoiding ∞ \infty ∞ is the whole original block. Its cost is T ≤ 2 λ T \le2\lambda T ≤ 2 λ by the choice of λ \lambda λ .
(iv) A five-set containing ∞ \infty ∞ omits one original vertex, say v v v . Its internal amount is T − d v + k ( Q − q v ) T - d_v + k(Q - q_v) T − d v + k ( Q − q v ) . Summing the other four budget inequalities gives
Q − q v ≤ 4 M − 2 T + d v . Q - q_v \le4M - 2T + d_v. Q − q v ≤ 4 M − 2 T + d v .
because the sum of their internal degrees is 2 T − d v 2T - d_v 2 T − d v . Consequently its amount is at most
T − d v + k ( Q − q v ) ≤ T + k ( 4 M − 2 T ) + ( k − 1 ) d v ≤ T + k ( 5 M − 2 T ) − M = λ + 3 M − T ≤ 2 λ . \begin{aligned}
T - d_v + k(Q - q_v) \le T + k(4M - 2T) + (k - 1)d_v \\
&\le T + k(5M - 2T) - M \\
&= \lambda+ 3M - T \le2\lambda.
\end{aligned} T − d v + k ( Q − q v ) ≤ T + k ( 4 M − 2 T ) + ( k − 1 ) d v ≤ T + k ( 5 M − 2 T ) − M = λ + 3 M − T ≤ 2 λ .
The second line uses d v ≤ M d_v \le M d v ≤ M and k > 1 k > 1 k > 1 . For the equality, 5 M − 2 T = q 5M - 2T = q 5 M − 2 T = q and k q = q + λ − M kq = q + \lambda- M k q = q + λ − M ; for the final inequality, T + λ ≥ 3 T / 2 ≥ 3 κ > 3 M T + \lambda\ge3T/2 \ge3\kappa> 3M T + λ ≥ 3 T /2 ≥ 3 κ > 3 M .
Edmonds’ theorem therefore supplies the claimed matching cover.
Charging the reserved colors Let β e \beta_e β e be the maximum internal packet price and put Z = ∑ v q v ( 1 − r v ) Z = \sum_v q_v(1 - r_v) Z = ∑ v q v ( 1 − r v ) . Price edge e e e by β e \beta_e β e and edge ∞ v \infty v ∞ v by 1 − r v 1 - r_v 1 − r v . A matching without an artificial edge has price at most one, since its internal packets are on disjoint pairs and together form a feasible whole pattern. A matching using ∞ v \infty v ∞ v has internal packet price at most r v r_v r v , since all those packets avoid v v v . Adding its artificial price 1 − r v 1 - r_v 1 − r v again gives at most one.
The cover of mass λ \lambda λ thus gives
∑ e t e β e + k Z ≤ λ . \sum_e t_e\beta_e + kZ \le\lambda. e ∑ t e β e + k Z ≤ λ .
A fractional packing of pair e e e reproduces its type demand using mass t e t_e t e , and each of its packets has price at most β e \beta_e β e . Summing over pairs yields C ≤ ∑ e t e β e C \le\sum_e t_e\beta_e C ≤ ∑ e t e β e , so C + k Z ≤ λ C+kZ \le\lambda C + k Z ≤ λ . Combining this with C ≤ c C \le c C ≤ c gives
C + Z ≤ ( 1 − 1 k ) C + λ k ≤ F : = c + λ − c k . C+Z \le\left(1-\frac{1}{k}\right)C+\frac{\lambda}{k}\le F:=c+\frac{\lambda-c}{k}. C + Z ≤ ( 1 − k 1 ) C + k λ ≤ F := c + k λ − c .
Both inputs are needed here: the five-vertex price lemma bounds the unrestricted internal demand by c c c , while the matching cover bounds the additional cost of respecting endpoint labels.
The numerical margin For 2 κ ≤ T ≤ 4 2\kappa\le T \le4 2 κ ≤ T ≤ 4 , we have q ≤ 63 / 125 < 3 / 5 q \le63/125 < 3/5 q ≤ 63/125 < 3/5 and 2 − M = 3 / 10 2-M=3/10 2 − M = 3/10 . Hence k > 3 / 2 k>3/2 k > 3/2 and
F < c + 2 3 ( 2 − c ) = 119 60 < κ − 1 1000 . F<c+\frac{2}{3}(2-c)=\frac{119}{60}<\kappa-\frac{1}{1000}. F < c + 3 2 ( 2 − c ) = 60 119 < κ − 1000 1 .
For T ≥ 4 T\ge4 T ≥ 4 , write λ = ( 5 M − q ) / 4 \lambda=(5M-q)/4 λ = ( 5 M − q ) /4 and k = ( M + 3 q ) / ( 4 q ) k=(M+3q)/(4q) k = ( M + 3 q ) / ( 4 q ) . Then
( κ − F ) ( M + 3 q ) = q 2 − 553 1000 q + 833 10000 = ( q − 7 25 ) 2 + 7 q 1000 + 49 10000 . (\kappa-F)(M+3q)=q^2-\frac{553}{1000}q+\frac{833}{10000}=\left(q-\frac{7}{25}\right)^2+\frac{7q}{1000}+\frac{49}{10000}. ( κ − F ) ( M + 3 q ) = q 2 − 1000 553 q + 10000 833 = ( q − 25 7 ) 2 + 1000 7 q + 10000 49 .
Here q ≤ 1 / 2 q\le1/2 q ≤ 1/2 and M + 3 q ≤ 16 / 5 M+3q\le16/5 M + 3 q ≤ 16/5 , so κ − F ≥ 49 / 32000 > 1 / 1000 \kappa-F\ge49/32000>1/1000 κ − F ≥ 49/32000 > 1/1000 . Finally, for every nonnegative price vector the reserved palette has maximum price κ − ∑ v q v + ∑ v q v r v = κ − Z \kappa-\sum_v q_v+\sum_v q_vr_v=\kappa-Z κ − ∑ v q v + ∑ v q v r v = κ − Z . Indeed, its unrestricted class has mass κ − Q \kappa-Q κ − Q and can use patterns of price at most one; the class labeled v v v has mass q v q_v q v and can use patterns of price at most r v r_v r v . These are exactly the separate class constraints in the fractional packing program. The inequality just proved says that the demand price C C C is less than this available price for every normalized nonnegative choice of type prices. The strict dual inequality proves fractional feasibility by finite linear programming duality. Nonnegative prices suffice because deleting items preserves feasibility.
Proof of the Bound
Proof of Theorem F.6 . The empty graph is immediate. Put n = bp ( G ) n=\operatorname{bp}(G) n = bp ( G ) and choose a sufficiently large integer T 0 ≥ 200 T_0\ge200 T 0 ≥ 200 , with b = 1 / T 0 b=1/T_0 b = 1/ T 0 small enough for the desired ε \varepsilon ε . Fix also 0 < σ < 1 0<\sigma<1 0 < σ < 1 , to be chosen sufficiently small after b b b . Apply the grouping, rank rounding, and packet preparation of Lemma F.8 . The retained objects fit at every vertex in
N = ⌈ n 1 − 2 b ⌉ + 1 N=\left\lceil\frac{n}{1-2b}\right\rceil+1 N = ⌈ 1 − 2 b n ⌉ + 1
bins; each original pair has a bounded number of non-tiny types and at most one tiny remainder object. The set-asides have O ( σ n / b ) O(\sigma n/b) O ( σ n / b ) weighted degree. On each original pair put t u v = F ( P u v ) / N t_{uv}=F(P_{uv})/N t uv = F ( P uv ) / N . Projection of local bins gives t u v ≤ 1 t_{uv}\le1 t uv ≤ 1 ; the two-collection packing lemma gives triangle cost at most two. The charge estimate of Lemma F.7 gives incident pair cost below M M M .
For a block B B B and v ∈ B v\in B v ∈ B , let q v q_v q v be the charge of retained external objects incident with v v v , divided by N N N . Charge a tiny external object by w / ( 1 − b ) w/(1-b) w / ( 1 − b ) . In each local bin, keep each internal neighbor projection together and external objects separately. The margin after Lemma F.7 gives
∑ u ∈ B ∖ { v } t u v + q v ≤ M . (43) \sum_{u\in B\setminus\{v\}}t_{uv}+q_v\le M. \tag*{(43)} u ∈ B ∖ { v } ∑ t uv + q v ≤ M . (43)
Select the blocks by Lemma F.10 . Form integer packets separately on each original pair, then contract the blocks once and delete internal packets from the quotient. The quotient packet multigraph has fractional ordinary chromatic index at most κ N \kappa N κ N , by the matching-polytope formula and Lemma F.10 . The ordinary multigraph coloring theorem gives a proper coloring with ( κ + o ( 1 ) ) N (\kappa+o(1))N ( κ + o ( 1 )) N colors, uniformly in graph order. Pad the palette to at least ⌈ κ N ⌉ \lceil\kappa N\rceil ⌈ κ N ⌉ colors, then add at most one further unused color to make its size even. Residual multiplicity on a quotient pair is at most 25 ( ⌈ ( D + 1 ) / b ⌉ + 1 ) 25(\lceil(D+1)/b\rceil+1) 25 (⌈( D + 1 ) / b ⌉ + 1 ) , since two blocks contain at most 25 original pairs. Packet count plus residual charge at an ordinary quotient vertex is at most M N MN M N . At a three-block it is at most ( 3 M − 2 κ ) N (3M-2\kappa)N ( 3 M − 2 κ ) N , and at a five-block at most ( 5 M − 4 κ ) N (5M-4\kappa)N ( 5 M − 4 κ ) N , by (F.12) and their density. Each of these constants is strictly below κ \kappa κ , supplying the fixed missing-color margin needed in the next step.
Write H H H for the properly colored quotient packet graph and R R R for the remaining external objects. A quotient vertex B B B is an original vertex or a contracted block of at most five vertices. Every packet incidence at B B B has its original endpoint v ∈ B v\in B v ∈ B as a fixed label. The packet coloring is proper, and a two-color path switch only recolors entire packet edges, so each packet color at B B B has exactly one original endpoint label. Let P v P_v P v be the number of packet colors with label v v v , and let Q R , v = ∑ e ∈ R : ℓ B ( e ) = v q e Q_{R,v}=\sum_{e\in R:\ell_B(e)=v}q_e Q R , v = ∑ e ∈ R : ℓ B ( e ) = v q e . The packet charge inequality, applied to retained external objects at their original endpoint, gives
P v + Q R , v ≤ q v N . (44) P_v+Q_{R,v}\le q_vN. \tag*{(44)} P v + Q R , v ≤ q v N . (44)
Apply Lemma D.1 to R R R , using a fixed rescaling of its size parameter so that the bounded-multiplicity charges satisfy its hypotheses. Its fractions are supported only on colors missing from H H H at both endpoints, satisfy x e , c = O ( 1 / N ) x_{e,c}=O(1/N) x e , c = O ( 1/ N ) and ∑ c x e , c ≤ 1 \sum_c x_{e,c}\le1 ∑ c x e , c ≤ 1 , and have the fixed charge margin needed below. At ( B , c ) (B,c) ( B , c ) , let I v , k I_{v,k} I v , k contain the residual edges with endpoint label v ∈ B v\in B v ∈ B and harmonic size class k k k , where k = 0 k=0 k = 0 denotes the tiny class. There are J = T 0 + 1 J=T_0+1 J = T 0 + 1 classes. We construct a random local set by choosing the pair ( v , k ) (v,k) ( v , k ) with joint probability p v , k p_{v,k} p v , k and then sampling a subset conditional on that pair. For k ≥ 1 k\ge1 k ≥ 1 , set
p v , k = max { k − 1 ∑ e ∈ I v , k x e , c , max e ∈ I v , k x e , c } . p_{v,k}=\max\left\{k^{-1}\sum_{e\in I_{v,k}}x_{e,c},\max_{e\in I_{v,k}}x_{e,c}\right\}. p v , k = max ⎩ ⎨ ⎧ k − 1 e ∈ I v , k ∑ x e , c , e ∈ I v , k max x e , c ⎭ ⎬ ⎫ .
and use the analogous tiny-class probability
p v , 0 = max { ∑ e ∈ I v , 0 q e x e , c , max e ∈ I v , 0 x e , c } . p_{v,0}=\max\left\{\sum_{e\in I_{v,0}}q_ex_{e,c},\max_{e\in I_{v,0}}x_{e,c}\right\}. p v , 0 = max ⎩ ⎨ ⎧ e ∈ I v , 0 ∑ q e x e , c , e ∈ I v , 0 max x e , c ⎭ ⎬ ⎫ .
Use probability zero for an empty class and the empty set, with the null label, for the remaining probability. The displayed probabilities sum to at most one, as verified below. Conditional subset decompositions are those of Lemmas A.8 and A.9 . Each chosen set is feasible, contains only edges with label v v v , and the resulting distribution has inclusion probability x e , c x_{e,c} x e , c for every edge. The probability of label v v v is bounded by
π B , c , v = ∑ k = 0 T 0 p v , k ≤ ∑ e : ℓ B ( e ) = v q e x e , c + J max e ∈ E R ( B ) x e , c . (45) \pi_{B,c,v}=\sum_{k=0}^{T_0}p_{v,k}
\le\sum_{e:\ell_B(e)=v}q_ex_{e,c}+J\max_{e\in E_R(B)}x_{e,c}. \tag*{(45)} π B , c , v = k = 0 ∑ T 0 p v , k ≤ e : ℓ B ( e ) = v ∑ q e x e , c + J e ∈ E R ( B ) max x e , c . (45)
The total class probability at ( B , c ) (B,c) ( B , c ) is at most ∑ e ∈ E R ( B ) q e x e , c + 5 J max e x e , c < 1 \sum_{e\in E_R(B)}q_ex_{e,c}+5J\max_e x_{e,c}<1 ∑ e ∈ E R ( B ) q e x e , c + 5 J max e x e , c < 1 for all large N N N , because the missing-color margin is fixed. Empty probability receives the null label. Summing (F.14) over the O ( N ) O(N) O ( N ) palette colors and using ∑ c x e , c ≤ 1 \sum_c x_{e,c}\le1 ∑ c x e , c ≤ 1 yields Π B , v ≤ Q R , v + O ( 1 ) \Pi_{B,v}\le Q_{R,v}+O(1) Π B , v ≤ Q R , v + O ( 1 ) , uniformly in graph order.
Apply Lemma F.5 to R R R with these distributions, using size parameter 5 N 5N 5 N , at most five labels, and accuracy parameters divided by five. Indeed, each contracted block contains at most five original vertices, so W R ( B ) ≤ 5 N W_R(B)\le5N W R ( B ) ≤ 5 N ; the multiplicity is bounded and the other constants change only by fixed factors. It gives a partial residual coloring in the old palette, using only missing colors, such that every color at B B B has at most one original endpoint label and
# { old-palette external colors at B labeled v } ≤ P v + Q R , v + η N + O ( N 3 / 4 ) ≤ q v N + η N + O ( N 3 / 4 ) . (46) \#\{\text{old-palette external colors at } B \text{ labeled } v\} \le P_v+Q_{R,v}+\eta N+O(N^{3/4}) \le q_vN+\eta N+O(N^{3/4}). \tag*{(46)} # { old-palette external colors at B labeled v } ≤ P v + Q R , v + η N + O ( N 3/4 ) ≤ q v N + η N + O ( N 3/4 ) . (46)
The packet colors and residual colors in this count are disjoint, because residual support consists of packet-missing colors. Uncolored residual objects, internal remainders, and rank set-asides are colored later with fresh colors disjoint from the old palette; those fresh colors are not reserved for internal patterns. Thus (F.15) is exactly the count needed to restore each block. Choosing η \eta η small relative to the fixed palette and price margins gives the claimed q v N + δ N + o δ ( N ) q_vN+\delta N+o_\delta(N) q v N + δ N + o δ ( N ) bound after renaming the accuracy parameter.
Restore the disjoint blocks using the original full costs and the reserved label classes. After scaling by N N N , the fractional construction for a triangle uses palette mass at most ( 1 + M / 2 ) N < κ N (1+M/2)N<\kappa N ( 1 + M /2 ) N < κ N ; a five-block uses palette mass κ N \kappa N κ N by Lemma F.11. For either kind of block, keep the external coloring fixed. If its actual class labeled v v v has m v m_v m v colors, reserve exactly r v ∗ = min { m v , ⌊ q v N ⌋ } r_v^*=\min\{m_v,\lfloor q_vN\rfloor\} r v ∗ = min { m v , ⌊ q v N ⌋} of them and apply the palette argument with the smaller budget q v ′ = r v ∗ / N ≤ q v q'_v=r_v^*/N\le q_v q v ′ = r v ∗ / N ≤ q v . Reducing a budget preserves its hypotheses and only increases the available internal patterns. When constructing the internal packing, temporarily treat the omitted colors as unreserved. If an internal pattern is assigned to one of these colors, move that pattern to a fresh color before combining the internal and external colorings. The label excess therefore costs at most 5 δ N + o δ ( N ) + O ( 1 ) 5\delta N+o_\delta(N)+O(1) 5 δ N + o δ ( N ) + O ( 1 ) fresh colors per block. These fresh colors are used only on internal edges, so the same palette can be reused by all disjoint blocks.
It remains to turn the fractional internal packings into assignments of the original objects. First omit each block’s at most ten tiny remainder objects for cleanup. Extend non-tiny prices by zero when applying the full-demand inequality; deleting tiny items changes neither the maximum pattern price nor the maximum price avoiding a specified vertex. The density condition is used for the original full demand, before the tiny objects are omitted. There are only accuracy-dependent boundedly many remaining types and patterns per block. Floor the masses in a basic feasible internal pattern solution and fill its slots with distinct actual objects. Only boundedly many internal objects per original vertex remain. Internal patterns in a color labeled v v v avoid v v v , so they are compatible with all external objects of that color.
We color the remaining external objects, the bounded internal remainders, and the objects set aside during rank grouping with fresh palettes. The greedy cleanup lemma bounds their total cost by an arbitrarily small multiple of n n n plus an accuracy-dependent constant, uniformly in graph order. Choose b b b , then the rank parameter σ \sigma σ , then δ \delta δ and the remaining fixed accuracies sufficiently small in terms of ε \varepsilon ε . Since N = n / ( 1 − 2 b ) + O ( 1 ) N=n/(1-2b)+O(1) N = n / ( 1 − 2 b ) + O ( 1 ) , the total is ( κ + ε ) n + C ε (\kappa+\varepsilon)n+C_\varepsilon ( κ + ε ) n + C ε . Bounded n n n is covered by the same greedy bound. Restoring the original weights and expanding packets and grouped objects can only decrease color loads.
Algorithm F.2 (The general 1.999 construction). Input: a weighted multigraph without loops and a desired accuracy. Choose the parameters in the order specified in the proof.
Find approximate local packings as in Section A.7. Group and round each original parallel bundle as in Lemma F.8 .
Compute the fractional bundle costs and use them to select the dense five-sets and triangles. Form whole packets on each original pair, then contract the selected blocks and remove their internal packets.
Color the quotient packets. Insert residual external objects while recording one original endpoint per block and color, using the retained-list sampler of Section F.4.
Set aside each block’s tiny internal remainder objects for cleanup. Solve the bounded internal pattern programs in the reserved palettes and round their pattern masses down. Color the internal remainders, including the tiny objects, and excess-label patterns with fresh colors reused across disjoint blocks; greedily color the remaining external objects and preprocessing set-asides with another fresh palette.
Expand every packet and grouped object. Check each vertex-color load and return the resulting coloring.
Every step has expected polynomial running time for each fixed accuracy.
Keeping Endpoint Labels in Polynomial Time
The extra requirement in Lemma F.5 is a count test on a vertex’s own list. We can therefore use the sampler in Section C.4 with a few more rejection tests; we never enumerate complete lists. The rational class-choice and bounded-load decompositions give local distributions of polynomial support. Conditioning on an endpoint label, compressing, and smoothing them gives a bounded number of decorated profiles with rational probabilities of polynomial encoding length, for fixed parameters.
For each vertex z z z and label a a a , compute the rational mean
μ z , a = ∑ c ∈ C ∑ P : label ( P ) = a λ z , c , P ′ . \mu_{z,a} = \sum_{c\in C} \sum_{P:\,\operatorname{label}(P)=a} \lambda'_{z,c,P}. μ z , a = c ∈ C ∑ P : label ( P ) = a ∑ λ z , c , P ′ .
Draw the profiles at different colors independently. Accept the list if its usual progress test passes and its label counts satisfy C z , a ≤ μ z , a + t C_{z,a} \le\mu_{z,a} + t C z , a ≤ μ z , a + t for every a a a , where t = ⌈ n 3 / 4 ⌉ t = \lceil n^{3/4}\rceil t = ⌈ n 3/4 ⌉ . Computing the means, counting labels, and evaluating progress all take polynomial time with rational arithmetic. By (F.4), the rejection probability is at most the computable rational number p k ′ = o ( 1 ) p'_k = o(1) p k ′ = o ( 1 ) . Thus, for sufficiently large n n n , an accepted list takes at most two draws in expectation.
No two vertices in the current group are adjacent. Acceptance at one vertex depends only on its own list and the earlier groups, so these samplers give independent lists with exactly the required conditioned distributions. The Harris–Srinivasan procedure in Section C.4 needs only these independent samples and the coefficients of the current assignment. It does not need the acceptance probabilities or the normalizing constants of the conditioned distributions. In its mean bounds, replace 1 − p k 1-p_k 1 − p k by 1 − p k ′ 1-p'_k 1 − p k ′ : a load row uses m k / ( 1 − p k ′ ) m_k/(1-p'_k) m k / ( 1 − p k ′ ) , and an error row with unchanged contribution C C C uses ( Q v − 1 / 2 − C + 1 / n ) / ( 1 − p k ′ ) (Q_v^{-1/2}-C+1/n)/(1-p'_k) ( Q v − 1/2 − C + 1/ n ) / ( 1 − p k ′ ) , with the same scaling as before. The extra O ( n − 1 / 2 ) O(n^{-1/2}) O ( n − 1/2 ) in p k ′ p'_k p k ′ is smaller than the existing O ( n − 1 / 2 log n ) O(n^{-1/2}\sqrt{\log n}) O ( n − 1/2 log n ) bound on p k p_k p k , so the load and progress estimates keep their stated orders. The row tests and subset sampler are unchanged. This proves the expected polynomial running time in Lemma F.5 . The later option matching and small-edge rounding preserve labels because they only remove options.
The other steps of the 1.999 construction Use Section A.7 to find local packings and let B B B be their maximum bin count, padding with empty bins. For each fixed ξ > 0 \xi> 0 ξ > 0 ,
B ≤ ( 1 + ξ ) bp ( G ) + O ξ ( 1 ) . B \le(1+\xi)\operatorname{bp}(G) + O_{\xi}(1). B ≤ ( 1 + ξ ) bp ( G ) + O ξ ( 1 ) .
Run the construction with N = ⌈ B / ( 1 − 2 b ) ⌉ + 1 N = \lceil B/(1-2b)\rceil+ 1 N = ⌈ B / ( 1 − 2 b )⌉ + 1 . Its estimates require actual local packings with this bin bound, so this substitution preserves every charge and density inequality. Choosing ξ \xi ξ and b b b small enough absorbs the factor ( 1 + ξ ) / ( 1 − 2 b ) (1+\xi)/(1-2b) ( 1 + ξ ) / ( 1 − 2 b ) into the requested accuracy. In particular, N N N is at most a constant times the number of input edges plus an accuracy-dependent constant. Enumerating all triangles and five-sets takes O ( ∣ V ( G ) ∣ 5 ) O(|V(G)|^5) O ( ∣ V ( G ) ∣ 5 ) tests. The bundle programs, packet coloring, and missing-color mixing have the implementations already given. The preceding labeled sampler handles the residual external objects.
For internal restoration, first remove the at most ten tiny objects in a block, as in the proof. At most 10 D 10D 10 D types remain, all of weight at least b b b . A feasible internal pattern has at most ⌊ 5 / ( 2 b ) ⌋ \lfloor5/(2b)\rfloor ⌊ 5/ ( 2 b )⌋ objects: summing its vertex-load bounds counts each object twice. Thus all its integer type vectors can be listed in a number depending only on accuracy. There are at most six palette classes: one unrestricted class and at most five endpoint classes. List the allowed patterns in each class and solve the resulting constant-size rational linear program. The palette argument proves it feasible. Flooring the class-pattern masses uses no more than the available integer number of colors in any class and leaves only boundedly many objects per block. Assign actual objects to the remaining slots and perform the stated cleanup and expansion. All numbers have polynomial encoding length, and every operation is polynomial for fixed accuracy. Together these steps give the running-time claim in Theorem F.6 .