\hideLIPIcs

CISPA Helmholtz Center for Information Security, [email protected]://orcid.org/0000-0002-1368-3205 Department of Computer Science, RWTH Aachen University, [email protected] Department of Computer Science, ETH Zurich, [email protected]://orcid.org/0000-0002-9024-1558 Department of Computer Science, Comenius University, [email protected]://orcid.org/0000-0003-1121-1009 Department of Computer Science, ETH Zurich, [email protected] Department of Computer Science, RWTH Aachen University, [email protected] Department of Computer Science, ETH Zurich, [email protected]://orcid.org/0009-0003-8754-5301 \CopyrightCC-BY \ccsdesc[500]Theory of computation Adversary models \relatedversion

Tree Coloring: Random Order and Predictions

Fabian Frei    Matthias Gehnen    Dennis Komm    Rastislav Královič    Richard Královič    Peter Rossmanith    Moritz Stocker
Abstract

Coloring is a notoriously hard problem, and even more so in the online setting, where each arriving vertex has to be colored immediately and irrevocably. Already on trees, which are trivially two-colorable, it is impossible to achieve anything better than a logarithmic competitive ratio. We show how to undercut this bound by a double-logarithmic factor in the slightly relaxed online model where the vertices arrive in random order. We then also analyze algorithms with predictions, showing how well we can color trees with machine-learned advice of varying reliability. We further extend our analysis to all two-colorable graphs and provide matching lower bounds in both cases. Finally, we demonstrate how the two mentioned approaches, both of which diminish the often unjustified pessimism of the classical online model, can be combined to yield even better results.

keywords:
online graph coloring, competitive ratio, random order, predictions

1 Introduction

We consider the well-known online coloring problem. A simple graph (i.e., a graph without weights, orientation, or multi-edges) is presented to an algorithm vertex by vertex, and each edge is revealed as soon as both endpoints are revealed. Both the input graph and its order n𝑛nitalic_n are unknown to the algorithm, which must assign to each presented vertex a color, immediately and irrevocably. As usual for coloring, it is not allowed for neighboring vertices to have the same color. The goal is to minimize the number of colors used by the algorithm.

Computing the competitive ratio [6] is the classical way to analyze online algorithms. The competitive ratio is essentially the approximation ratio in an online setting; it measures the ratio between the cost of the online algorithm’s solution and an ideal solution that could have been computed had the entire input been known from the beginning. A competitive analysis is inherently a worst-case analysis. We can thus imagine the graph being revealed to the algorithm by an adversary that tries to maximize the number of colors used by the algorithm, which in turn tries to minimize it.

A useful albeit slightly outdated survey on online coloring was written by Kierstead [15], a more recent one is found in Komm’s textbook [16].

Throughout this paper, log\logroman_log denotes the binary logarithm, and we identify colors with the natural numbers ={1,2,3,}123\mathds{N}=\{1,2,3,\dots\}blackboard_N = { 1 , 2 , 3 , … }.

All bipartite graphs, and thus all trees, can be colored with two colors. (Bipartite graphs are exactly the 2222-colorable graphs, in fact.) This is of course easy if the complete instance is available but far from feasible in the online setting. It has been long known, for example, that deterministic online algorithms can be forced to use at least logn+1𝑛1\log n+1roman_log italic_n + 1 colors, even when instances are restricted to trees; for more details, see the papers be Bean [3] and Gyárfás and Lehel [14]. This yields a lower bound of (logn+1)/2𝑛12(\log n+1)/2( roman_log italic_n + 1 ) / 2 on the competitive ratio of any deterministic online algorithm. In 1989, Lovász et al. [18] presented a deterministic algorithm, referred to as CBip, that uses 2logn2𝑛2\log n2 roman_log italic_n colors on bipartite graphs. There is an almost matching lower bound of 2logn102𝑛102\log n-102 roman_log italic_n - 10 due to Gutowski et al. [13].

Arguably the most straightforward online algorithm to color any kind of graph is FirstFit, which implements the simply greedy first-fit strategy of assigning the smallest color to the presented vertex that maintains a valid coloring. For bipartite graphs, this strategy is exponentially worse than that of CBip, but both algorithms perform equally well on trees. Moreover, Li et al. [17] presented a new model, in which the number of connected components of an adversarial graph must be bounded after the reveal of each vertex. In this model, FirstFit even outperforms CBip on trees.

In this paper, we study coloring under two different lenses.

First, we consider the random-order model, where the power of the adversary is significantly restricted in that the vertices are revealed to the algorithm in random order. In other words, while the adversary decides which graph is presented, the vertex order is not under its control but chosen uniformly at random. More details about the random-order model can, e.g., be found in Chapter 11, written by Gupta and Singla [12], of the textbook “Beyond the Worst-Case Analysis of Algorithms.​” We show that FirstFit performs significantly better in this model, using 𝒪(logn/(loglogn))𝒪𝑛𝑛\mathcal{O}(\log n/(\log\log n))caligraphic_O ( roman_log italic_n / ( roman_log roman_log italic_n ) ) colors in expectation. A similar setting of adversarially chosen instances with randomized presentation is also investigated by Burjons et al. [8]. In their model, the adversary prepares a number of hard instances that are all known to the algorithm, but the presented instance is then selected randomly from the set of instances.

Second, we analyze online coloring by algorithms with predictions. Representing one approach to analyze the power of machine learning, the prediction model has garnered plenty of attention recently. Applied to coloring, the idea is that the algorithm receives together with each vertex a prediction stating to which color this vertex has in a fixed optimal solution. As known from the behaviour of artifical intelligence, these predictions do not necessarily have to be correct, however. Three desirable properties of algorithms dealing with this uncertainty are consistency, robustness, and smoothness: An algorithm is consistent if it is optimal for completely correct predictions, it is robust if it yields a decent competitive ratio even for predictions that are completely wrong, and it is smooth if the competitive ratio always increases with the prediction quality. The prediction model (also known as the model of machine-learned or untrusted advice) was introduced by Lykouris and Vassilvitskii [19] and Purohit et al. [20] in 2018 and generalized by Angelopoulos et al. [1]. It is based on the concept of online algorithms with advice, which was introduced a decade earlier [5, 9, 10], and has also been applied to coloring [4, 11, 21]. There is a useful survey on algorithms with advice by Boyar et al. [7]. More recently, Antoniadis et al. [2] analyzed the FirstFit algorithm in this model on general graphs. The approach we use is specifically oriented towards trees and, more generally, bipartite graphs, for which we can show stronger results.

After analyzing the two models of random order (Section 2) and predictions (Section 3) separately, we finally combine the two approaches in Section 4 by investigating coloring if the vertices of an adversarially chosen instance are presented in random order but still come with a prediction on what color should be chosen.

2 The Random-Order Model

In the random-order model, the order in which the vertices of the adversarially chosen tree T𝑇Titalic_T are revealed is chosen uniformly at random, which gives quite some advantage to the algorithm. The simple algorithm FirstFit, which colors a vertex with the smallest color that is not already taken by one of its neighbors, uses at most logn+1𝑛1\log n+1roman_log italic_n + 1 colors on a tree if the order of the vertices is adversarially chosen. Since any tree can be colored with two colors, this corresponds to a competitive ratio of at most (logn+1)/2𝑛12(\log n+1)/2( roman_log italic_n + 1 ) / 2. In this section, we will provide an upper bound of 𝒪(logn/(loglogn))𝒪𝑛𝑛\mathcal{O}(\log n/(\log\log n))caligraphic_O ( roman_log italic_n / ( roman_log roman_log italic_n ) ) for the competitive ratio of FirstFit in the random-order model.

We start with two technical lemmata.

Lemma 2.1.

Let T=(V,E)𝑇𝑉𝐸T=(V,E)italic_T = ( italic_V , italic_E ) be any tree. Let vV𝑣𝑉v\in Vitalic_v ∈ italic_V be a vertex of T𝑇Titalic_T and let c(v)𝑐𝑣c(v)italic_c ( italic_v ) be the color assigned to v𝑣vitalic_v by FirstFit. Then

:Prob[v:c(v)]n2!.\forall\ell\colon\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[\exists v% \colon c(v)\geq\ell}\right]\leq\frac{n^{2}}{\ell!}\;.∀ roman_ℓ : roman_Prob [ ∃ italic_v : italic_c ( italic_v ) ≥ roman_ℓ ] ≤ divide start_ARG italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG roman_ℓ ! end_ARG .
Proof 2.2.

We first show that Prob[c(v)]n/!Probdelimited-[]𝑐𝑣𝑛\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[c(v)\geq\ell}\right]\leq n% /\ell!roman_Prob [ italic_c ( italic_v ) ≥ roman_ℓ ] ≤ italic_n / roman_ℓ ! for all vV𝑣𝑉v\in Vitalic_v ∈ italic_V and 11\ell\geq 1roman_ℓ ≥ 1. The statement of the lemma then follows from a standard union bound over all vertices. To show this, we consider a fixed vertex v𝑣vitalic_v with c(v)𝑐𝑣c(v)\geq\ellitalic_c ( italic_v ) ≥ roman_ℓ. For each edge (x,y)𝑥𝑦(x,y)( italic_x , italic_y ) of T𝑇Titalic_T we assign an orientation xy𝑥𝑦x\rightarrow yitalic_x → italic_y if x𝑥xitalic_x arrived earlier than y𝑦yitalic_y. We denote by Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT the subtree of T𝑇Titalic_T consisting of edges pointing towards v𝑣vitalic_v.

Claim 1.

There is a path in Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ending in v𝑣vitalic_v that contains at least \ellroman_ℓ vertices.

Proof 2.3.

We prove this by induction on \ellroman_ℓ. For =11\ell=1roman_ℓ = 1, the path (v)𝑣(v)( italic_v ) is clearly sufficient. Now let >11\ell>1roman_ℓ > 1 and assume that the claim holds for all 1<1superscript1\leq\ell^{\prime}<\ell1 ≤ roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT < roman_ℓ. If c(v)=𝑐𝑣c(v)=\ellitalic_c ( italic_v ) = roman_ℓ, v𝑣vitalic_v must be connected to a vertex vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT of color 11\ell-1roman_ℓ - 1 that arrived previously, so the edge (vv)superscript𝑣𝑣(v^{\prime}\rightarrow v)( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT → italic_v ) is contained in Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT and Tvsubscript𝑇superscript𝑣T_{v^{\prime}}italic_T start_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT is a subtree of Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT that does not contain v𝑣vitalic_v. By the induction hypothesis, there is a path (v1,,v1=v)subscript𝑣1subscript𝑣1superscript𝑣(v_{1},\dots,v_{\ell-1}=v^{\prime})( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT = italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) in Tvsubscript𝑇superscript𝑣T_{v^{\prime}}italic_T start_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, which can be extended to the path (v1,,v,v)subscript𝑣1superscript𝑣𝑣(v_{1},\dots,v^{\prime},v)( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_v ) containing \ellroman_ℓ vertices in Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. This proves 1.

Now consider any vertex at the beginning of such a path, so any vertex w𝑤witalic_w of T𝑇Titalic_T that has a distance from v𝑣vitalic_v of at least 11\ell-1roman_ℓ - 1. Let (w=w1,w2,,w=v)formulae-sequence𝑤subscript𝑤1subscript𝑤2subscript𝑤superscript𝑣(w=w_{1},w_{2},\ldots,w_{\ell^{\prime}}=v)( italic_w = italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_w start_POSTSUBSCRIPT roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_v ) be the (non-oriented) path in T𝑇Titalic_T from w𝑤witalic_w to v𝑣vitalic_v containing superscript\ell^{\prime}\geq\ellroman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≥ roman_ℓ vertices. Vertex w𝑤witalic_w belongs to Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT only if all the edges of this path are oriented towards v𝑣vitalic_v. There is a single order in which the vertices of this path must arrive; and there are !superscript\ell^{\prime}!roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ! possible orderings of these vertices, each occurring with the same probability. Thus, the probability that w𝑤witalic_w belongs to Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT is 1/!1/!1superscript11/\ell^{\prime}!\leq 1/\ell!1 / roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ! ≤ 1 / roman_ℓ ! and since there are at most n𝑛nitalic_n such vertices w𝑤witalic_w, we can apply a union bound to show that Prob[c(v)]n/!Probdelimited-[]𝑐𝑣𝑛\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[c(v)\geq\ell}\right]\leq n% /\ell!roman_Prob [ italic_c ( italic_v ) ≥ roman_ℓ ] ≤ italic_n / roman_ℓ ! for all vV𝑣𝑉v\in Vitalic_v ∈ italic_V.

Lemma 2.4.

Let ce𝑐ec\geq\mathrm{e}italic_c ≥ roman_e with ee\mathrm{e}roman_e being Euler’s number, and let c(logn)/(loglogn)𝑐𝑛𝑛\ell\geq c\cdot(\log n)/(\log\log n)roman_ℓ ≥ italic_c ⋅ ( roman_log italic_n ) / ( roman_log roman_log italic_n ). Then

!nc(1logee)n0.469c.superscript𝑛𝑐1eesuperscript𝑛0.469𝑐\ell!\geq n^{c\cdot\mathopen{}\mathclose{{}\left(1-\frac{\log\mathrm{e}}{% \mathrm{e}}}\right)}\geq n^{0.469\cdot c}\;.roman_ℓ ! ≥ italic_n start_POSTSUPERSCRIPT italic_c ⋅ ( 1 - divide start_ARG roman_log roman_e end_ARG start_ARG roman_e end_ARG ) end_POSTSUPERSCRIPT ≥ italic_n start_POSTSUPERSCRIPT 0.469 ⋅ italic_c end_POSTSUPERSCRIPT .
Proof 2.5.

By Stirling’s formula,

!2log(/e)superscript2e\ell!\geq 2^{\ell\cdot\log(\ell/\mathrm{e})}roman_ℓ ! ≥ 2 start_POSTSUPERSCRIPT roman_ℓ ⋅ roman_log ( roman_ℓ / roman_e ) end_POSTSUPERSCRIPT. Our conditions on c𝑐citalic_c and \ellroman_ℓ imply that

log(e)clogn(1logloglognloglogn),e𝑐𝑛1𝑛𝑛\ell\cdot\log\mathopen{}\mathclose{{}\left(\frac{\ell}{\mathrm{e}}}\right)\geq c% \cdot\log n\cdot\mathopen{}\mathclose{{}\left(1-\frac{\log\log\log n}{\log\log n% }}\right)\;,roman_ℓ ⋅ roman_log ( divide start_ARG roman_ℓ end_ARG start_ARG roman_e end_ARG ) ≥ italic_c ⋅ roman_log italic_n ⋅ ( 1 - divide start_ARG roman_log roman_log roman_log italic_n end_ARG start_ARG roman_log roman_log italic_n end_ARG ) ,

and since (logloglogn)/(loglogn)𝑛𝑛(\log\log\log n)/(\log\log n)( roman_log roman_log roman_log italic_n ) / ( roman_log roman_log italic_n ) is bounded from above by (loge)/eee(\log\mathrm{e})/\mathrm{e}( roman_log roman_e ) / roman_e, it follows that

!2clogn(1logee)=nc(1logee).superscript2𝑐𝑛1eesuperscript𝑛𝑐1ee\ell!\geq 2^{c\cdot\log n\cdot\mathopen{}\mathclose{{}\left(1-\frac{\log% \mathrm{e}}{\mathrm{e}}}\right)}=n^{c\cdot\mathopen{}\mathclose{{}\left(1-% \frac{\log\mathrm{e}}{\mathrm{e}}}\right)}\;.roman_ℓ ! ≥ 2 start_POSTSUPERSCRIPT italic_c ⋅ roman_log italic_n ⋅ ( 1 - divide start_ARG roman_log roman_e end_ARG start_ARG roman_e end_ARG ) end_POSTSUPERSCRIPT = italic_n start_POSTSUPERSCRIPT italic_c ⋅ ( 1 - divide start_ARG roman_log roman_e end_ARG start_ARG roman_e end_ARG ) end_POSTSUPERSCRIPT .
Theorem 2.6.

Let c2e/(eloge)4.262𝑐2eee4.262c\geq 2\mathrm{e}/(\mathrm{e}-\log\mathrm{e})\approx 4.262italic_c ≥ 2 roman_e / ( roman_e - roman_log roman_e ) ≈ 4.262. The expected number of colors used by FirstFit in the random-order model on trees is at most

clognloglogn+3.𝑐𝑛𝑛3c\cdot\frac{\log n}{\log\log n}+3\;.italic_c ⋅ divide start_ARG roman_log italic_n end_ARG start_ARG roman_log roman_log italic_n end_ARG + 3 .
Proof 2.7.

Let X𝑋Xitalic_X denote a random variable that corresponds to the number of colors used, and let s:=(clogn)/(loglogn)assign𝑠𝑐𝑛𝑛s:=\lceil(c\cdot\log n)/(\log\log n)\rceilitalic_s := ⌈ ( italic_c ⋅ roman_log italic_n ) / ( roman_log roman_log italic_n ) ⌉. The expected number of colors used is

𝔼[X]𝔼delimited-[]𝑋\displaystyle\mathds{E}\mathopen{}\mathclose{{}\left[X}\right]blackboard_E [ italic_X ] =1Prob[X=]=1sProb[X=]+>sProb[X=]absentsubscript1Probdelimited-[]𝑋subscript1𝑠Probdelimited-[]𝑋subscript𝑠Probdelimited-[]𝑋\displaystyle=\sum_{\ell\geq 1}\ell\cdot\mathop{\mathrm{Prob}}\mathopen{}% \mathclose{{}\left[X=\ell}\right]=\sum_{1\leq\ell\leq s}\ell\cdot\mathop{% \mathrm{Prob}}\mathopen{}\mathclose{{}\left[X=\ell}\right]+\sum_{\ell>s}\ell% \cdot\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[X=\ell}\right]= ∑ start_POSTSUBSCRIPT roman_ℓ ≥ 1 end_POSTSUBSCRIPT roman_ℓ ⋅ roman_Prob [ italic_X = roman_ℓ ] = ∑ start_POSTSUBSCRIPT 1 ≤ roman_ℓ ≤ italic_s end_POSTSUBSCRIPT roman_ℓ ⋅ roman_Prob [ italic_X = roman_ℓ ] + ∑ start_POSTSUBSCRIPT roman_ℓ > italic_s end_POSTSUBSCRIPT roman_ℓ ⋅ roman_Prob [ italic_X = roman_ℓ ]
s+>sProb[X=].absent𝑠subscript𝑠Probdelimited-[]𝑋\displaystyle\leq s+\sum_{\ell>s}\ell\cdot\mathop{\mathrm{Prob}}\mathopen{}% \mathclose{{}\left[X=\ell}\right]\,.≤ italic_s + ∑ start_POSTSUBSCRIPT roman_ℓ > italic_s end_POSTSUBSCRIPT roman_ℓ ⋅ roman_Prob [ italic_X = roman_ℓ ] .

We state the following simple claim.

Claim 2.

For any s1𝑠1s\geq 1italic_s ≥ 1,

s1!2s!.subscript𝑠12𝑠\sum_{\ell\geq s}\frac{1}{\ell!}\leq\frac{2}{s!}\;.∑ start_POSTSUBSCRIPT roman_ℓ ≥ italic_s end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG roman_ℓ ! end_ARG ≤ divide start_ARG 2 end_ARG start_ARG italic_s ! end_ARG .
Proof 2.8.

We have

s1!=1s!0s!(+s)!=1s!0i=11i+s1s!012=2s!,subscript𝑠11𝑠subscript0𝑠𝑠1𝑠subscript0superscriptsubscriptproduct𝑖11𝑖𝑠1𝑠subscript01superscript22𝑠\sum_{\ell\geq s}\frac{1}{\ell!}=\frac{1}{s!}\cdot\sum_{\ell\geq 0}\frac{s!}{(% \ell+s)!}=\frac{1}{s!}\cdot\sum_{\ell\geq 0}\prod_{i=1}^{\ell}\frac{1}{i+s}% \leq\frac{1}{s!}\cdot\sum_{\ell\geq 0}\frac{1}{2^{\ell}}=\frac{2}{s!}\;,∑ start_POSTSUBSCRIPT roman_ℓ ≥ italic_s end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG roman_ℓ ! end_ARG = divide start_ARG 1 end_ARG start_ARG italic_s ! end_ARG ⋅ ∑ start_POSTSUBSCRIPT roman_ℓ ≥ 0 end_POSTSUBSCRIPT divide start_ARG italic_s ! end_ARG start_ARG ( roman_ℓ + italic_s ) ! end_ARG = divide start_ARG 1 end_ARG start_ARG italic_s ! end_ARG ⋅ ∑ start_POSTSUBSCRIPT roman_ℓ ≥ 0 end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT divide start_ARG 1 end_ARG start_ARG italic_i + italic_s end_ARG ≤ divide start_ARG 1 end_ARG start_ARG italic_s ! end_ARG ⋅ ∑ start_POSTSUBSCRIPT roman_ℓ ≥ 0 end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG 2 start_POSTSUPERSCRIPT roman_ℓ end_POSTSUPERSCRIPT end_ARG = divide start_ARG 2 end_ARG start_ARG italic_s ! end_ARG ,

which proves 2.

Since X=𝑋X=\ellitalic_X = roman_ℓ implies that there is a vertex v𝑣vitalic_v with c(v)𝑐𝑣c(v)\geq\ellitalic_c ( italic_v ) ≥ roman_ℓ, we can bound the probability Prob[X=]Prob[v:c(v)]\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[X=\ell}\right]\leq\mathop{% \mathrm{Prob}}\mathopen{}\mathclose{{}\left[\exists v\colon c(v)\geq\ell}\right]roman_Prob [ italic_X = roman_ℓ ] ≤ roman_Prob [ ∃ italic_v : italic_c ( italic_v ) ≥ roman_ℓ ]. This in turn is bounded by Lemma 2.1, which, together with 2, implies that

𝔼[X]𝔼delimited-[]𝑋\displaystyle\mathds{E}\mathopen{}\mathclose{{}\left[X}\right]blackboard_E [ italic_X ] s+>sn2!=s+n2s1!s+2n2s!.absent𝑠subscript𝑠superscript𝑛2𝑠superscript𝑛2subscript𝑠1𝑠2superscript𝑛2𝑠\displaystyle\leq s+\sum_{\ell>s}\ell\cdot\frac{n^{2}}{\ell!}=s+n^{2}\cdot\sum% _{\ell\geq s}\frac{1}{\ell!}\leq s+\frac{2n^{2}}{s!}\;.≤ italic_s + ∑ start_POSTSUBSCRIPT roman_ℓ > italic_s end_POSTSUBSCRIPT roman_ℓ ⋅ divide start_ARG italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG roman_ℓ ! end_ARG = italic_s + italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ ∑ start_POSTSUBSCRIPT roman_ℓ ≥ italic_s end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG roman_ℓ ! end_ARG ≤ italic_s + divide start_ARG 2 italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_s ! end_ARG .

Finally, we can apply Lemma 2.4 and get

𝔼[X]s+2n2c(1logee)s+2clognloglogn+3𝔼delimited-[]𝑋𝑠2superscript𝑛2𝑐1ee𝑠2𝑐𝑛𝑛3\mathds{E}\mathopen{}\mathclose{{}\left[X}\right]\leq s+2n^{2-c\cdot\mathopen{% }\mathclose{{}\left(1-\frac{\log\mathrm{e}}{\mathrm{e}}}\right)}\leq s+2\leq c% \cdot\frac{\log n}{\log\log n}+3blackboard_E [ italic_X ] ≤ italic_s + 2 italic_n start_POSTSUPERSCRIPT 2 - italic_c ⋅ ( 1 - divide start_ARG roman_log roman_e end_ARG start_ARG roman_e end_ARG ) end_POSTSUPERSCRIPT ≤ italic_s + 2 ≤ italic_c ⋅ divide start_ARG roman_log italic_n end_ARG start_ARG roman_log roman_log italic_n end_ARG + 3

by our choice of s𝑠sitalic_s.

3 Algorithms with Predictions

In this section, we study online coloring of trees in the predictions model, which also reduces the overwhelming power of the adversary in the classical worst-case model, just like the random-order model already analyzed in Section 2. However, it does so in a completely orthogonal way. In the predictions model, there is no random order anymore; the adversary fully controls the order in which vertices are revealed. The algorithm does receive, however, from an oracle a powerful advice bit (a “prediction”) along with each vertex revealed. This bit tells the algorithm which color the revealed vertex has in a fixed 2222-coloring of the tree. This in turn allows the algorithm to reconstruct an optimal solution, of course, as long as the advice is flawless (this is the property commonly called consistency for prediction algorithms). The main goal of the predictions model is to examine what happens if the provided string of advice bits contains errors due to inaccurate predictions, for example if the advice is provided by some machine learning algorithm.

3.1 Bounds for Trees with Predictions

We restate our prediction model more formally. An unknown tree T𝑇Titalic_T is revealed to an algorithm vertex by vertex. Say that it is a tree on the n𝑛nitalic_n vertices v1,,vnsubscript𝑣1subscript𝑣𝑛v_{1},\dots,v_{n}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, revealed in this order (n𝑛nitalic_n is not known to the algorithm). The edges are revealed immediately when both endpoints have been revealed. Alongside each revealed vertex visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, the algorithm receives an advice bit p(vi)𝑝subscript𝑣𝑖p(v_{i})italic_p ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ), which is determined as follows. An oracle chooses a fixed optimal coloring for T𝑇Titalic_T (that is, a 2222-coloring) and sets p(vi)=1superscript𝑝subscript𝑣𝑖1p^{\ast}(v_{i})=1italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 1 if visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT has the first of the two colors, and p(vi)=0superscript𝑝subscript𝑣𝑖0p^{\ast}(v_{i})=0italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 0 otherwise. If the prediction is correct (that is, does not contain any errors), the algorithm receives the advice bits p(vi)=p(vi)𝑝subscript𝑣𝑖superscript𝑝subscript𝑣𝑖p(v_{i})=p^{*}(v_{i})italic_p ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) for all i{1,,n}𝑖1𝑛i\in\{1,\dots,n\}italic_i ∈ { 1 , … , italic_n }. But there might be, for some parameter k𝑘kitalic_k, up to k𝑘kitalic_k indices from {1,,n}1𝑛\{1,\dots,n\}{ 1 , … , italic_n } such that p(vi)p(vi)𝑝subscript𝑣𝑖superscript𝑝subscript𝑣𝑖p(v_{i})\neq p^{\ast}(v_{i})italic_p ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ≠ italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ).

3.1.1 An Upper Bound for Trees with Prediction

Consider the algorithm AdviceFirstFit that gradually chooses a coloring c:T:𝑐𝑇c\colon T\to\mathds{N}italic_c : italic_T → blackboard_N (where ={1,2,3,}123\mathds{N}=\{1,2,3,\dots\}blackboard_N = { 1 , 2 , 3 , … }) as follows. If the newly revealed vertex visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is currently isolated in the graph T[v1,,vi]𝑇subscript𝑣1subscript𝑣𝑖T[v_{1},\dots,v_{i}]italic_T [ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] revealed so far, then the algorithm completely relies on the advice and colors visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT according to the parity of the delivered bit; that is, it assigns c(vi)=1𝑐subscript𝑣𝑖1c(v_{i})=1italic_c ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 1 if p(vi)=1𝑝subscript𝑣𝑖1p(v_{i})=1italic_p ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 1 and c(vi)=2𝑐subscript𝑣𝑖2c(v_{i})=2italic_c ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 2 if p(vi)=0𝑝subscript𝑣𝑖0p(v_{i})=0italic_p ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 0. In the other case, that is, if visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is connected to an already revealed vertex, then the algorithm ignores the advice bit and considers instead the revealed neighborhood of visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, which we may denote by Ni=N(vi){v1,,vi1}subscript𝑁𝑖𝑁subscript𝑣𝑖subscript𝑣1subscript𝑣𝑖1N_{i}=N(v_{i})\cap\{v_{1},\dots,v_{i-1}\}italic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_N ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ∩ { italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT }, and assigns to visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT the lowest remaining color, that is, c(vi)=min({c(v)vNi}c(v_{i})=\min(\mathds{N}\setminus\{c(v)\mid\,v\in N_{i}\}italic_c ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = roman_min ( blackboard_N ∖ { italic_c ( italic_v ) ∣ italic_v ∈ italic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT }).

Theorem 3.1.

For k=0𝑘0k=0italic_k = 0 (that is, error-free advice), AdviceFirstFit colors the given tree optimally. For k1𝑘1k\geq 1italic_k ≥ 1 errors, it uses at most logk+3𝑘3\log k+3roman_log italic_k + 3 colors. Independent of k𝑘kitalic_k, it uses at most logn+3log3logn+1.415𝑛33𝑛1.415\log n+3-\log 3\approx\log n+1.415roman_log italic_n + 3 - roman_log 3 ≈ roman_log italic_n + 1.415 colors on a tree with n𝑛nitalic_n vertices.

Proof 3.2.

We consider any fixed 2-coloring of the tree and fix p(v)superscript𝑝𝑣p^{*}(v)italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v ) for all vertices v𝑣vitalic_v according to this coloring. Denote by I()𝐼I(\ell)italic_I ( roman_ℓ ) the minimal number of advice bits that AdviceFirstFit ignores (because it comes along with a vertex neighboring an already revealed vertex) while coloring any node of any tree with the color 11\ell\geq 1roman_ℓ ≥ 1. Analogously, denote by F()𝐹F(\ell)italic_F ( roman_ℓ ) the minimum number of advice bits that are not ignored (because the revealed vertex is currently isolated) but faulty (i.e., p(v)p(v)𝑝𝑣superscript𝑝𝑣p(v)\neq p^{*}(v)italic_p ( italic_v ) ≠ italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v )) when AdviceFirstFit colors a node of a tree with the color \ellroman_ℓ. Since any nontrivial tree requires at least two colors even with perfect advice, we have F(1)=F(2)=I(1)=I(2)=0𝐹1𝐹2𝐼1𝐼20F(1)=F(2)=I(1)=I(2)=0italic_F ( 1 ) = italic_F ( 2 ) = italic_I ( 1 ) = italic_I ( 2 ) = 0. Since perfect advice always results in a 2222-coloring, we have F(3)1𝐹31F(3)\geq 1italic_F ( 3 ) ≥ 1. And since the algorithm only uses colors greater than 2222 if it ignores at least one advice bit, we have I(3)1𝐼31I(3)\geq 1italic_I ( 3 ) ≥ 1. We now prove that F()23𝐹superscript23F(\ell)\geq 2^{\ell-3}italic_F ( roman_ℓ ) ≥ 2 start_POSTSUPERSCRIPT roman_ℓ - 3 end_POSTSUPERSCRIPT and I()23𝐼superscript23I(\ell)\geq 2^{\ell-3}italic_I ( roman_ℓ ) ≥ 2 start_POSTSUPERSCRIPT roman_ℓ - 3 end_POSTSUPERSCRIPT for 33\ell\geq 3roman_ℓ ≥ 3 by induction over \ellroman_ℓ.

Let 44\ell\geq 4roman_ℓ ≥ 4 and assume by induction that I()23𝐼superscriptsuperscript2superscript3I(\ell^{\prime})\geq 2^{\ell^{\prime}-3}italic_I ( roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ≥ 2 start_POSTSUPERSCRIPT roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT - 3 end_POSTSUPERSCRIPT and F()23𝐹superscriptsuperscript2superscript3F(\ell^{\prime})\geq 2^{\ell^{\prime}-3}italic_F ( roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ≥ 2 start_POSTSUPERSCRIPT roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT - 3 end_POSTSUPERSCRIPT for any 3<3superscript3\leq\ell^{\prime}<\ell3 ≤ roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT < roman_ℓ. Assume that AdviceFirstFit colors at least one vertex of some given tree with the color \ellroman_ℓ. Let visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT be the first such node. Its neighborhood must contain vertices w1,w2,,w1subscript𝑤1subscript𝑤2subscript𝑤1w_{1},w_{2},\dots,w_{\ell-1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_w start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT that have previously received the colors 1,2,,11211,2,\dots,\ell-11 , 2 , … , roman_ℓ - 1. Among all connected components of the subgraph T[v1,,vi1]𝑇subscript𝑣1subscript𝑣𝑖1T[v_{1},\dots,v_{i-1}]italic_T [ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i - 1 end_POSTSUBSCRIPT ] that are already revealed right before the visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT appears, denote one containing wjsubscript𝑤𝑗w_{j}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT by Tjsubscript𝑇𝑗T_{j}italic_T start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT. Each connected component Tjsubscript𝑇𝑗T_{j}italic_T start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is of course still a tree, and each wjsubscript𝑤𝑗w_{j}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is in its own component: because wsubscript𝑤w_{\ell}italic_w start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT is adjacent to all of them, having two neighbors in the same connected component would create a cycle. It follows that separate advice bits are provided alongside the vertices of each component. Since Tjsubscript𝑇𝑗T_{j}italic_T start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT contains a vertex of color j𝑗jitalic_j, among the advice bits delivered together with the vertices of Tjsubscript𝑇𝑗T_{j}italic_T start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT there must be at least I(j)𝐼𝑗I(j)italic_I ( italic_j ) ignored ones and F(j)𝐹𝑗F(j)italic_F ( italic_j ) heeded but faulty ones.

Additionally, we observe that the color of either w1subscript𝑤1w_{1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT or w2subscript𝑤2w_{2}italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is wrong because they are both neighbors of visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT in the completed tree and thus any optimal solution uses the same color for w1subscript𝑤1w_{1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and w2subscript𝑤2w_{2}italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. This implies that at least one faulty bit was used for a vertex in T1subscript𝑇1T_{1}italic_T start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (the component of w1subscript𝑤1w_{1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT) or T2subscript𝑇2T_{2}italic_T start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT (the component of w2subscript𝑤2w_{2}italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT), which eventually led to the wrong color for w1subscript𝑤1w_{1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT or w2subscript𝑤2w_{2}italic_w start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. It follows that the number of faulty but heeded bits in T𝑇Titalic_T is at least

F()F(1)++F(3)+1.𝐹𝐹1𝐹31F(\ell)\geq F(\ell-1)+\dots+F(3)+1\;.italic_F ( roman_ℓ ) ≥ italic_F ( roman_ℓ - 1 ) + ⋯ + italic_F ( 3 ) + 1 .

We also know that the advice bit for visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is ignored because it is colored by >22\ell>2roman_ℓ > 2, which implies

I()I(1)++I(3)+1.𝐼𝐼1𝐼31I(\ell)\geq I(\ell-1)+\dots+I(3)+1\;.italic_I ( roman_ℓ ) ≥ italic_I ( roman_ℓ - 1 ) + ⋯ + italic_I ( 3 ) + 1 .

By induction, we obtain

F()24++20+1=23.𝐹superscript24superscript201superscript23F(\ell)\geq 2^{\ell-4}+\dots+2^{0}+1=2^{\ell-3}\;.italic_F ( roman_ℓ ) ≥ 2 start_POSTSUPERSCRIPT roman_ℓ - 4 end_POSTSUPERSCRIPT + ⋯ + 2 start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT + 1 = 2 start_POSTSUPERSCRIPT roman_ℓ - 3 end_POSTSUPERSCRIPT .

and

I()24++20+1=23.𝐼superscript24superscript201superscript23I(\ell)\geq 2^{\ell-4}+\dots+2^{0}+1=2^{\ell-3}\;.italic_I ( roman_ℓ ) ≥ 2 start_POSTSUPERSCRIPT roman_ℓ - 4 end_POSTSUPERSCRIPT + ⋯ + 2 start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT + 1 = 2 start_POSTSUPERSCRIPT roman_ℓ - 3 end_POSTSUPERSCRIPT .

We conclude that for a fixed number of k𝑘kitalic_k errors, the largest color that AdviceFirstFit uses is at most logk+3𝑘3\log k+3roman_log italic_k + 3.

Now recall that the analysis on the number of “faults” in the advice string was based on a fixed 2-coloring of the tree. Flipping every bit of a correct advice string for an optimal coloring results in another such advice string for the same solution with the two colors swapped. We can thus assume without loss of generality that at most half of the bits whose advice was followed to color the tree are faulty (by switching the optimal solution that we consider to decide which bits are faulty). The number of ignored advice bits remains unchanged; it is still equal to the number of vertices that are not isolated upon their reveal. The total number of vertices in the graph is therefore at least 2F()+I()3232𝐹𝐼3superscript232\cdot F(\ell)+I(\ell)\geq 3\cdot 2^{\ell-3}2 ⋅ italic_F ( roman_ℓ ) + italic_I ( roman_ℓ ) ≥ 3 ⋅ 2 start_POSTSUPERSCRIPT roman_ℓ - 3 end_POSTSUPERSCRIPT. For a tree on n𝑛nitalic_n vertices, the algorithm thus uses at most logn+3log3logn+1.4151𝑛33𝑛1.4151\log n+3-\log 3\leq\log n+1.4151roman_log italic_n + 3 - roman_log 3 ≤ roman_log italic_n + 1.4151 colors.

3.1.2 A Lower Bound for Trees with Predictions

We now provide a perfectly matching lower bound on the number of colors required to color graphs of up to n𝑛nitalic_n vertices with a consistent algorithm.

Theorem 3.3.

There is no consistent prediction algorithm using fewer than logn+3log3logn+1.415𝑛33𝑛1.415\log n+3-\log 3\approx\log n+1.415roman_log italic_n + 3 - roman_log 3 ≈ roman_log italic_n + 1.415 colors on trees.

Proof 3.4.

We will first consider how such an algorithm colors isolated vertices. Consider the case where an algorithm

3.2 Generalization to Bipartite Graphs

In this section we consider the generalization of our problems for trees to general bipartite graphs, which is a natural choice since these are precisely the two-colorable graphs. The algorithm CBip always colors a vertex with the smallest color that is not in the opposite partition of the connected component of that vertex when it is revealed [18]. In the model without predictions, this algorithm is (asymptotically) the best possible [13, 18]. We will extend CBip to an algorithm AdviceCBip that makes use of predictions.

3.2.1 Upper Bounds for Bipartite Graphs with Predictions

For upper bounds on the number of colors needed on bipartite graphs, we consider the algorithm AdviceCBip that receives the vertices v1,,vnsubscript𝑣1subscript𝑣𝑛v_{1},\dots,v_{n}italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT of graph G𝐺Gitalic_G and an advice bit p(vi)𝑝subscript𝑣𝑖p(v_{i})italic_p ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) for each vertex visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT one after the other. If the vertex visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is isolated in the graph G[v1,,vi]𝐺subscript𝑣1subscript𝑣𝑖G[v_{1},\dots,v_{i}]italic_G [ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ], the algorithm colors visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT according to the parity of the advice bit, so c(vi)=1𝑐subscript𝑣𝑖1c(v_{i})=1italic_c ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 1 if p(vi)=1𝑝subscript𝑣𝑖1p(v_{i})=1italic_p ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 1, and c(vi)=2𝑐subscript𝑣𝑖2c(v_{i})=2italic_c ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 2 if p(vi)=0𝑝subscript𝑣𝑖0p(v_{i})=0italic_p ( italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) = 0. If not, it looks at the connected component of G[v1,,vi]𝐺subscript𝑣1subscript𝑣𝑖G[v_{1},\dots,v_{i}]italic_G [ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] containing visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. This component can be partitioned into two independent sets. AdviceCBip then colors visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT with the smallest color that is not represented in the independent set that does not contain visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT.

We now provide two different upper bounds, the first one depending on the number of errors in the provided prediction, the second one depending on the order of the input graph.

Theorem 3.5.

If there are no errors in the prediction, AdviceCBip colors bipartite graphs optimally. If there are at most k1𝑘1k\geq 1italic_k ≥ 1 errors, AdviceCBip uses at most 2logk+42𝑘42\cdot\log k+42 ⋅ roman_log italic_k + 4 colors.

Proof 3.6.

Let F()𝐹F(\ell)italic_F ( roman_ℓ ) be the number of errors in the advice string of a bipartite graph needed for the algorithm AdviceCBip to color at least one of its vertices with the color \ellroman_ℓ. Clearly F(1)=F(2)=0𝐹1𝐹20F(1)=F(2)=0italic_F ( 1 ) = italic_F ( 2 ) = 0. We now prove that F()2/22𝐹superscript222F(\ell)\geq\lceil 2^{\ell/2-2}\rceilitalic_F ( roman_ℓ ) ≥ ⌈ 2 start_POSTSUPERSCRIPT roman_ℓ / 2 - 2 end_POSTSUPERSCRIPT ⌉ for 33\ell\geq 3roman_ℓ ≥ 3 by induction on \ellroman_ℓ. We have F(3)1𝐹31F(3)\geq 1italic_F ( 3 ) ≥ 1 and F(4)1𝐹41F(4)\geq 1italic_F ( 4 ) ≥ 1 since no vertex will be colored by any other color than 1111 or 2222 if the advice string is correct (it can be easily checked that in fact F(3)=F(4)=1𝐹3𝐹41F(3)=F(4)=1italic_F ( 3 ) = italic_F ( 4 ) = 1). For 55\ell\geq 5roman_ℓ ≥ 5, assume that AdviceCBip colors at least one node with the color \ellroman_ℓ. Let vi=wsubscript𝑣𝑖subscript𝑤v_{i}=w_{\ell}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_w start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT be the first such node. Let SS¯subscript𝑆¯subscript𝑆S_{\ell}\cup\bar{S_{\ell}}italic_S start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ∪ over¯ start_ARG italic_S start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT end_ARG be a partition of the connected component of G[v1,,vi]𝐺subscript𝑣1subscript𝑣𝑖G[v_{1},\dots,v_{i}]italic_G [ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] that contains visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, such that viSsubscript𝑣𝑖subscript𝑆v_{i}\in S_{\ell}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_S start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT. There must be vertices w¯1,,w¯1subscript¯𝑤1subscript¯𝑤1\bar{w}_{1},\dots,\bar{w}_{\ell-1}over¯ start_ARG italic_w end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , over¯ start_ARG italic_w end_ARG start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT in S¯subscript¯𝑆\bar{S}_{\ell}over¯ start_ARG italic_S end_ARG start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT such that w¯jsubscript¯𝑤𝑗\bar{w}_{j}over¯ start_ARG italic_w end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is colored with color j𝑗jitalic_j for all 1j11𝑗11\leq j\leq\ell-11 ≤ italic_j ≤ roman_ℓ - 1. Now consider the moment when vi=w¯1subscript𝑣superscript𝑖subscript¯𝑤1v_{i^{\prime}}=\bar{w}_{\ell-1}italic_v start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = over¯ start_ARG italic_w end_ARG start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT, i<isuperscript𝑖𝑖i^{\prime}<iitalic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT < italic_i was revealed and let T1T¯1subscript𝑇1subscript¯𝑇1T_{\ell-1}\cup\bar{T}_{\ell-1}italic_T start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT ∪ over¯ start_ARG italic_T end_ARG start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT be a partition of the connected component of G[v1,,vi]𝐺subscript𝑣1subscript𝑣superscript𝑖G[v_{1},\dots,v_{i^{\prime}}]italic_G [ italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] that contains visubscript𝑣superscript𝑖v_{i^{\prime}}italic_v start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT, such that viT¯1subscript𝑣superscript𝑖subscript¯𝑇1v_{i^{\prime}}\in\bar{T}_{\ell-1}italic_v start_POSTSUBSCRIPT italic_i start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∈ over¯ start_ARG italic_T end_ARG start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT. There must be vertices w1,,w2subscript𝑤1subscript𝑤2w_{1},\dots,w_{\ell-2}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_w start_POSTSUBSCRIPT roman_ℓ - 2 end_POSTSUBSCRIPT in T1Ssubscript𝑇1subscript𝑆T_{\ell-1}\subseteq S_{\ell}italic_T start_POSTSUBSCRIPT roman_ℓ - 1 end_POSTSUBSCRIPT ⊆ italic_S start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT such that wjsubscript𝑤𝑗w_{j}italic_w start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT is colored with color j𝑗jitalic_j for all 1j21𝑗21\leq j\leq\ell-21 ≤ italic_j ≤ roman_ℓ - 2. Now assume w.l.o.g. that w2subscript𝑤2w_{\ell-2}italic_w start_POSTSUBSCRIPT roman_ℓ - 2 end_POSTSUBSCRIPT is revealed after w¯2subscript¯𝑤2\bar{w}_{\ell-2}over¯ start_ARG italic_w end_ARG start_POSTSUBSCRIPT roman_ℓ - 2 end_POSTSUBSCRIPT. Clearly, when w2subscript𝑤2w_{\ell-2}italic_w start_POSTSUBSCRIPT roman_ℓ - 2 end_POSTSUBSCRIPT is revealed, w2subscript𝑤2w_{\ell-2}italic_w start_POSTSUBSCRIPT roman_ℓ - 2 end_POSTSUBSCRIPT and w¯2subscript¯𝑤2\bar{w}_{\ell-2}over¯ start_ARG italic_w end_ARG start_POSTSUBSCRIPT roman_ℓ - 2 end_POSTSUBSCRIPT were in different connected components, otherwise they could not have received the same color. Hence AdviceCBip colored a vertex with color 22\ell-2roman_ℓ - 2 in two separate bipartite graphs with disjoint advice strings. By induction, there must be at least F(2)𝐹2F(\ell-2)italic_F ( roman_ℓ - 2 ) errors in each advice string, and hence at least 2F(2)2𝐹22\cdot F(\ell-2)2 ⋅ italic_F ( roman_ℓ - 2 ) errors in the advice string for G𝐺Gitalic_G. Thus

F()2F(2)22(2)/22=22/232/22.𝐹2𝐹22superscript22222superscript223superscript222F(\ell)\geq 2\cdot F(\ell-2)\geq 2\cdot\lceil 2^{(\ell-2)/2-2}\rceil=2\cdot% \lceil 2^{\ell/2-3}\rceil\geq\lceil 2^{\ell/2-2}\rceil\;.italic_F ( roman_ℓ ) ≥ 2 ⋅ italic_F ( roman_ℓ - 2 ) ≥ 2 ⋅ ⌈ 2 start_POSTSUPERSCRIPT ( roman_ℓ - 2 ) / 2 - 2 end_POSTSUPERSCRIPT ⌉ = 2 ⋅ ⌈ 2 start_POSTSUPERSCRIPT roman_ℓ / 2 - 3 end_POSTSUPERSCRIPT ⌉ ≥ ⌈ 2 start_POSTSUPERSCRIPT roman_ℓ / 2 - 2 end_POSTSUPERSCRIPT ⌉ .

So for any fixed number of k𝑘kitalic_k errors, the largest color that AdviceCBip uses to color the graph is at most 2logk+42𝑘42\cdot\log k+42 ⋅ roman_log italic_k + 4.

We now provide for the same algorithm AdviceCBip an upper bound on the number of used colors depending on the number of vertices of the input graph.

Theorem 3.7.

On a bipartite graph with n𝑛nitalic_n vertices, AdviceCBip uses at most 2log(n)1.642𝑛1.642\cdot\log(n)-1.642 ⋅ roman_log ( italic_n ) - 1.64 colors for any n1500𝑛1500n\geq 1500italic_n ≥ 1500.

Proof 3.8.

Denote by N()𝑁N(\ell)italic_N ( roman_ℓ ) the minimal number of vertices a graph must contain for AdviceCBip to color at least one of its vertices with the color \ellroman_ℓ. We will first show that N()52(3)/22𝑁5superscript2322N(\ell)\geq 5\cdot 2^{(\ell-3)/2}-2italic_N ( roman_ℓ ) ≥ 5 ⋅ 2 start_POSTSUPERSCRIPT ( roman_ℓ - 3 ) / 2 end_POSTSUPERSCRIPT - 2 for odd 33\ell\geq 3roman_ℓ ≥ 3, and that N()22/2+12𝑁2superscript2212N(\ell)\geq 2\cdot 2^{\ell/2+1}-2italic_N ( roman_ℓ ) ≥ 2 ⋅ 2 start_POSTSUPERSCRIPT roman_ℓ / 2 + 1 end_POSTSUPERSCRIPT - 2 for even 44\ell\geq 4roman_ℓ ≥ 4. Clearly, N(3)3=52(33)/22𝑁335superscript23322N(3)\geq 3=5\cdot 2^{(3-3)/2}-2italic_N ( 3 ) ≥ 3 = 5 ⋅ 2 start_POSTSUPERSCRIPT ( 3 - 3 ) / 2 end_POSTSUPERSCRIPT - 2, since AdviceCBip will always color the second vertex of a graph with either 1111 or 2222. We also have N(4)6=24/2+12𝑁46superscript24212N(4)\geq 6=2^{4/2+1}-2italic_N ( 4 ) ≥ 6 = 2 start_POSTSUPERSCRIPT 4 / 2 + 1 end_POSTSUPERSCRIPT - 2 because for any vertex to be assigned color 4444, there must be vertices of color 1111, 2222 and 3333 on the opposite shore of the connected component, which in turn implies that there are vertices of color 1111 and 2222 on the shore where to vertex of color 4444 lies, a total of at least 6666 vertices. We now argue by induction on \ellroman_ℓ. Assume that AdviceCBip colors a vertex of some bipartite graph with the color 55\ell\geq 5roman_ℓ ≥ 5. As seen in the proof of Theorem 3.5, AdviceCBip must have colored two disjoint bipartite graphs with at least 22\ell-2roman_ℓ - 2 colors each, and additionally there must be at least one vertex of color 11\ell-1roman_ℓ - 1 and on vertex of color \ellroman_ℓ. This implies that

N()2N(2)+2.𝑁2𝑁22N(\ell)\geq 2\cdot N(\ell-2)+2\;.italic_N ( roman_ℓ ) ≥ 2 ⋅ italic_N ( roman_ℓ - 2 ) + 2 .

By induction, we have for even \ellroman_ℓ,

N()2(2(2)/2+12)+2=2(2/22)+2=2/2+12,𝑁2superscript2221222superscript2222superscript2212N(\ell)\geq 2\cdot(2^{(\ell-2)/2+1}-2)+2=2\cdot(2^{\ell/2}-2)+2=2^{\ell/2+1}-2\;,italic_N ( roman_ℓ ) ≥ 2 ⋅ ( 2 start_POSTSUPERSCRIPT ( roman_ℓ - 2 ) / 2 + 1 end_POSTSUPERSCRIPT - 2 ) + 2 = 2 ⋅ ( 2 start_POSTSUPERSCRIPT roman_ℓ / 2 end_POSTSUPERSCRIPT - 2 ) + 2 = 2 start_POSTSUPERSCRIPT roman_ℓ / 2 + 1 end_POSTSUPERSCRIPT - 2 ,

and for odd \ellroman_ℓ,

N()2(52(5)/22)+2=52(3)/24+2=52(3)/22.𝑁25superscript252225superscript232425superscript2322N(\ell)\geq 2\cdot(5\cdot 2^{(\ell-5)/2}-2)+2=5\cdot 2^{(\ell-3)/2}-4+2=5\cdot 2% ^{(\ell-3)/2}-2\;.italic_N ( roman_ℓ ) ≥ 2 ⋅ ( 5 ⋅ 2 start_POSTSUPERSCRIPT ( roman_ℓ - 5 ) / 2 end_POSTSUPERSCRIPT - 2 ) + 2 = 5 ⋅ 2 start_POSTSUPERSCRIPT ( roman_ℓ - 3 ) / 2 end_POSTSUPERSCRIPT - 4 + 2 = 5 ⋅ 2 start_POSTSUPERSCRIPT ( roman_ℓ - 3 ) / 2 end_POSTSUPERSCRIPT - 2 .

Since 52(3)/2=(5/8)2/2<22/2=2/2+15superscript23258superscript222superscript22superscript2215\cdot 2^{(\ell-3)/2}=(5/\sqrt{8})\cdot 2^{\ell/2}<2\cdot 2^{\ell/2}=2^{\ell/2% +1}5 ⋅ 2 start_POSTSUPERSCRIPT ( roman_ℓ - 3 ) / 2 end_POSTSUPERSCRIPT = ( 5 / square-root start_ARG 8 end_ARG ) ⋅ 2 start_POSTSUPERSCRIPT roman_ℓ / 2 end_POSTSUPERSCRIPT < 2 ⋅ 2 start_POSTSUPERSCRIPT roman_ℓ / 2 end_POSTSUPERSCRIPT = 2 start_POSTSUPERSCRIPT roman_ℓ / 2 + 1 end_POSTSUPERSCRIPT, we can further conclude that for all 33\ell\geq 3roman_ℓ ≥ 3, N()52(3)/22𝑁5superscript2322N(\ell)\geq 5\cdot 2^{(\ell-3)/2}-2italic_N ( roman_ℓ ) ≥ 5 ⋅ 2 start_POSTSUPERSCRIPT ( roman_ℓ - 3 ) / 2 end_POSTSUPERSCRIPT - 2. In particular, for a fixed n𝑛nitalic_n, AdviceCBip will color any bipartite graph on n𝑛nitalic_n vertices using at most 2log(n+2)+32log(5)2𝑛23252\cdot\log(n+2)+3-2\cdot\log(5)2 ⋅ roman_log ( italic_n + 2 ) + 3 - 2 ⋅ roman_log ( 5 ) colors, which is less than 2logn1.642𝑛1.642\cdot\log n-1.642 ⋅ roman_log italic_n - 1.64 for all n1500𝑛1500n\geq 1500italic_n ≥ 1500.

3.2.2 Lower Bounds for Bipartite Graphs with Predictions

We mainly recall here the lower bound of 2logn102𝑛102\log n-102 roman_log italic_n - 10 colors for bipartite graphs due to Gutowski et al. [13], which neatly complemented the upper bound of the logn𝑛\log nroman_log italic_n-competitive deterministic algorithm CBip by Lovász et al. [18]. In the following lemma, we improve the upper bound slightly by an improved analysis for CBip and show that a consistent algorithm with predictions cannot beat CBip on all instances.

Proposition 3.9.

The algorithm CBip uses at most 2logn1.9992𝑛1.9992\cdot\log n-1.9992 ⋅ roman_log italic_n - 1.999 colors on graphs with n5770𝑛5770n\geq 5770italic_n ≥ 5770 vertices, and a consistent algorithm with predictions cannot perform better than CBip on all graphs.

Proof 3.10.

For the deterministic algorithm CBip we can see as in the proof of Theorem 3.7 that for graphs to be colored in \ellroman_ℓ colors, 2/2+12superscript22122^{\ell/2+1}-22 start_POSTSUPERSCRIPT roman_ℓ / 2 + 1 end_POSTSUPERSCRIPT - 2 vertices are needed if \ellroman_ℓ is even and 32(1)/223superscript21223\cdot 2^{(\ell-1)/2}-23 ⋅ 2 start_POSTSUPERSCRIPT ( roman_ℓ - 1 ) / 2 end_POSTSUPERSCRIPT - 2 vertices are needed if \ellroman_ℓ is odd, so at least 2/2+12superscript22122^{\ell/2+1}-22 start_POSTSUPERSCRIPT roman_ℓ / 2 + 1 end_POSTSUPERSCRIPT - 2 vertices are needed in either case. For a fixed number n𝑛nitalic_n of vertices, this implies that CBip requires at most 2log(n+2)22𝑛222\cdot\log(n+2)-22 ⋅ roman_log ( italic_n + 2 ) - 2 colors, which is at most 2logn1.9992𝑛1.9992\cdot\log n-1.9992 ⋅ roman_log italic_n - 1.999 for n5770𝑛5770n\geq 5770italic_n ≥ 5770 and 2logn2+ε2𝑛2𝜀2\cdot\log n-2+\varepsilon2 ⋅ roman_log italic_n - 2 + italic_ε for any ε>0𝜀0\varepsilon>0italic_ε > 0 and n𝑛nitalic_n large enough. To show that a consistent prediction algorithm cannot beat CBip, it suffices to show with the argument from the proof of Theorem 3.3 that any consistent algorithm can be forced to use three colors on an instance with three vertices, while CBip only ever uses two colors on such instances, independent of the order in which the vertices are presented.

4 Algorithms with Predictions in the Random-Order Model

We now combine the two ways of diminishing the overly pessimistic assumptions of the classical online coloring model by considering an adversary that has no control over the order in which vertices arrive, and an algorithm that receives predictions of the type described in Section 3.

Let T𝑇Titalic_T be an arbitrary tree. We have a prediction function that assigns a 1-bit prediction p(v)𝑝𝑣p(v)italic_p ( italic_v ) to every vertex v𝑣vitalic_v of T𝑇Titalic_T. We fix consider a fixed 2222-coloring of T𝑇Titalic_T and denote by p(v){0,1}superscript𝑝𝑣01p^{*}(v)\in\{0,1\}italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v ) ∈ { 0 , 1 } the parity of the color of v𝑣vitalic_v in that coloring. We assume that p(v)𝑝𝑣p(v)italic_p ( italic_v ) approximates p(v)superscript𝑝𝑣p^{*}(v)italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v ) with k𝑘kitalic_k errors. We assume that vertices of T𝑇Titalic_T arrive in random order together with their predictions. The predictions thus do not depend on the random order of vertices. We analyze the algorithm ParityFirstFit, which colors a vertex v𝑣vitalic_v with the smallest possible color that has the same parity as p(v)𝑝𝑣p(v)italic_p ( italic_v ). Let c(v)𝑐𝑣c(v)italic_c ( italic_v ) be the color assigned to v𝑣vitalic_v by ParityFirstFit.

As in Section 2, for each edge (x,y)𝑥𝑦(x,y)( italic_x , italic_y ) of T𝑇Titalic_T we assign an orientation xy𝑥𝑦x\rightarrow yitalic_x → italic_y if x𝑥xitalic_x arrived earlier than y𝑦yitalic_y and denote by Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT the subtree of T𝑇Titalic_T consisting of edges pointing towards v𝑣vitalic_v.

Lemma 4.1.

Consider any Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT such that ParityFirstFit colors v𝑣vitalic_v with color \ellroman_ℓ. Then there exists a path in Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ending in v𝑣vitalic_v that contains at least (1)/414\lfloor(\ell-1)/4\rfloor⌊ ( roman_ℓ - 1 ) / 4 ⌋ vertices with incorrect predictions.

Proof 4.2.

We prove this claim by induction on \ellroman_ℓ. For 44\ell\leq 4roman_ℓ ≤ 4, we have (1)/4=0140\lfloor(\ell-1)/4\rfloor=0⌊ ( roman_ℓ - 1 ) / 4 ⌋ = 0, so the path (v)𝑣(v)( italic_v ) is sufficient. Now assume by induction that the claim holds for 1<1superscript1\leq\ell^{\prime}<\ell1 ≤ roman_ℓ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT < roman_ℓ and suppose a vertex v𝑣vitalic_v is colored with c(v)=5𝑐𝑣5c(v)=\ell\geq 5italic_c ( italic_v ) = roman_ℓ ≥ 5. Then v𝑣vitalic_v must be connected to a previously revealed vertex vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT with c(v)=2𝑐superscript𝑣2c(v^{\prime})=\ell-2italic_c ( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = roman_ℓ - 2. Since v𝑣vitalic_v and vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT are connected and are colored with the same parity, either p(v)p(v)𝑝𝑣superscript𝑝𝑣p(v)\neq p^{*}(v)italic_p ( italic_v ) ≠ italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v ) or p(v)p(v)𝑝superscript𝑣superscript𝑝superscript𝑣p(v^{\prime})\neq p^{*}(v^{\prime})italic_p ( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ≠ italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ). The vertex vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT in turn must be connected to a vertex v′′vsuperscript𝑣′′𝑣v^{\prime\prime}\neq vitalic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ≠ italic_v with c(v′′)=4𝑐superscript𝑣′′4c(v^{\prime\prime})=\ell-4italic_c ( italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT ) = roman_ℓ - 4 and Tv′′subscript𝑇superscript𝑣′′T_{v^{\prime\prime}}italic_T start_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT is a subtree of Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT. By induction, there must be a path containing at least (5)/454\lfloor(\ell-5)/4\rfloor⌊ ( roman_ℓ - 5 ) / 4 ⌋ vertices with incorrect predictions in Tv′′subscript𝑇superscript𝑣′′T_{v^{\prime\prime}}italic_T start_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ending in v′′superscript𝑣′′v^{\prime\prime}italic_v start_POSTSUPERSCRIPT ′ ′ end_POSTSUPERSCRIPT. By extending this path with the vertices vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT and v𝑣vitalic_v, we can construct a path in Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT that contains at least (5)/4+1=(1)/454114\lfloor(\ell-5)/4\rfloor+1=\lfloor(\ell-1)/4\rfloor⌊ ( roman_ℓ - 5 ) / 4 ⌋ + 1 = ⌊ ( roman_ℓ - 1 ) / 4 ⌋ vertices with incorrect predictions ending in v𝑣vitalic_v.

Lemma 4.3.

For any color 77\ell\geq 7roman_ℓ ≥ 7, if there are a total of k𝑘kitalic_k vertices in T𝑇Titalic_T whose predictions are incorrect, then

Prob[v:c(v)]k234!.\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[\exists v:c(v)\geq\ell}% \right]\leq\frac{k^{2}}{\mathopen{}\mathclose{{}\left\lfloor\frac{\ell-3}{4}}% \right\rfloor!}\;.roman_Prob [ ∃ italic_v : italic_c ( italic_v ) ≥ roman_ℓ ] ≤ divide start_ARG italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG ⌊ divide start_ARG roman_ℓ - 3 end_ARG start_ARG 4 end_ARG ⌋ ! end_ARG .
Proof 4.4.

We first show that for any color 55\ell\geq 5roman_ℓ ≥ 5 and for any vertex vV𝑣𝑉v\in Vitalic_v ∈ italic_V

Prob[c(v)]k14!.Probdelimited-[]𝑐𝑣𝑘14\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[c(v)\geq\ell}\right]\leq% \frac{k}{\mathopen{}\mathclose{{}\left\lfloor\frac{\ell-1}{4}}\right\rfloor!}\,.roman_Prob [ italic_c ( italic_v ) ≥ roman_ℓ ] ≤ divide start_ARG italic_k end_ARG start_ARG ⌊ divide start_ARG roman_ℓ - 1 end_ARG start_ARG 4 end_ARG ⌋ ! end_ARG .

To prove this, consider a fixed vertex v𝑣vitalic_v such that c(v)5𝑐𝑣5c(v)\geq\ell\geq 5italic_c ( italic_v ) ≥ roman_ℓ ≥ 5. Due to Lemma 4.1, there must be a path (w1,,wr1,v)subscript𝑤1subscript𝑤𝑟1𝑣(w_{1},\dots,w_{r-1},v)( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_w start_POSTSUBSCRIPT italic_r - 1 end_POSTSUBSCRIPT , italic_v ) in Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT containing at least (1)/414\lfloor(\ell-1)/4\rfloor⌊ ( roman_ℓ - 1 ) / 4 ⌋ vertices whose predictions are incorrect. By shortening the path from the front, we can assume that p(w1)p(w1)𝑝subscript𝑤1superscript𝑝subscript𝑤1p(w_{1})\neq p^{*}(w_{1})italic_p ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ≠ italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ).

Now consider any vertex w1subscript𝑤1w_{1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT whose path to v𝑣vitalic_v in T𝑇Titalic_T contains r(1)/4𝑟14r\geq\lfloor(\ell-1)/4\rflooritalic_r ≥ ⌊ ( roman_ℓ - 1 ) / 4 ⌋ vertices. Then w1subscript𝑤1w_{1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is in Tvsubscript𝑇𝑣T_{v}italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT if and only if the vertices w1,,wr1,vsubscript𝑤1subscript𝑤𝑟1𝑣w_{1},\dots,w_{r-1},vitalic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_w start_POSTSUBSCRIPT italic_r - 1 end_POSTSUBSCRIPT , italic_v arrived in order. Since every order of these vertices is equally likely, we have

Prob[wTv]=1r!114!.Probdelimited-[]𝑤subscript𝑇𝑣1𝑟114\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[w\in T_{v}}\right]=\frac{1% }{r!}\leq\frac{1}{\mathopen{}\mathclose{{}\left\lfloor\frac{\ell-1}{4}}\right% \rfloor!}\;.roman_Prob [ italic_w ∈ italic_T start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ] = divide start_ARG 1 end_ARG start_ARG italic_r ! end_ARG ≤ divide start_ARG 1 end_ARG start_ARG ⌊ divide start_ARG roman_ℓ - 1 end_ARG start_ARG 4 end_ARG ⌋ ! end_ARG .

By a union bound over all vertices w1subscript𝑤1w_{1}italic_w start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT of T𝑇Titalic_T whose predictions are incorrect, we can see that

Prob[c(v)]k14!.Probdelimited-[]𝑐𝑣𝑘14\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[c(v)\geq\ell}\right]\leq% \frac{k}{\mathopen{}\mathclose{{}\left\lfloor\frac{\ell-1}{4}}\right\rfloor!}\;.roman_Prob [ italic_c ( italic_v ) ≥ roman_ℓ ] ≤ divide start_ARG italic_k end_ARG start_ARG ⌊ divide start_ARG roman_ℓ - 1 end_ARG start_ARG 4 end_ARG ⌋ ! end_ARG .

To prove the lemma, note that if there is a vertex vT𝑣𝑇v\in Titalic_v ∈ italic_T with c(v)7𝑐𝑣7c(v)\geq\ell\geq 7italic_c ( italic_v ) ≥ roman_ℓ ≥ 7, then v𝑣vitalic_v is connected to a vertex vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT with c(v)=25𝑐superscript𝑣25c(v^{\prime})=\ell-2\geq 5italic_c ( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) = roman_ℓ - 2 ≥ 5. Since v𝑣vitalic_v and vsuperscript𝑣v^{\prime}italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT were colored with the same parity, one of them must have received an incorrect prediction. In either case there is a vertex whose prediction was incorrect and that was colored with a color at least 22\ell-2roman_ℓ - 2.

Applying a union bound over all vertices vTsuperscript𝑣𝑇v^{\prime}\in Titalic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_T with incorrect predictions, we get that

Prob[v:c(v)]Prob[v:c(v)2,p(v)p(v)]k234!.\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[\exists v:c(v)\geq\ell}% \right]\leq\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[\exists v^{% \prime}:c(v^{\prime})\geq\ell-2,p(v^{\prime})\neq p^{*}(v^{\prime})}\right]% \leq\frac{k^{2}}{\mathopen{}\mathclose{{}\left\lfloor\frac{\ell-3}{4}}\right% \rfloor!}\;.roman_Prob [ ∃ italic_v : italic_c ( italic_v ) ≥ roman_ℓ ] ≤ roman_Prob [ ∃ italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT : italic_c ( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ≥ roman_ℓ - 2 , italic_p ( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ≠ italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ( italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) ] ≤ divide start_ARG italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG ⌊ divide start_ARG roman_ℓ - 3 end_ARG start_ARG 4 end_ARG ⌋ ! end_ARG .
Theorem 4.5.

Let c2eeloge4.262𝑐2eee4.262c\geq\frac{2\mathrm{e}}{\mathrm{e}-\log\mathrm{e}}\approx 4.262italic_c ≥ divide start_ARG 2 roman_e end_ARG start_ARG roman_e - roman_log roman_e end_ARG ≈ 4.262. The expected number of colors used by the algorithm ParityFirstFit on trees is at most

4clogkloglogk+71.4𝑐𝑘𝑘714c\cdot\frac{\log k}{\log\log k}+71\;.4 italic_c ⋅ divide start_ARG roman_log italic_k end_ARG start_ARG roman_log roman_log italic_k end_ARG + 71 .
Proof 4.6.

Let X𝑋Xitalic_X be the number of colors used and let

s:=4clogkloglogk+10.assign𝑠4𝑐𝑘𝑘10s:=\mathopen{}\mathclose{{}\left\lceil\frac{4c\cdot\log k}{\log\log k}+10}% \right\rceil\;.italic_s := ⌈ divide start_ARG 4 italic_c ⋅ roman_log italic_k end_ARG start_ARG roman_log roman_log italic_k end_ARG + 10 ⌉ .

The expected number of colors used is

𝔼[X]𝔼delimited-[]𝑋\displaystyle\mathds{E}\mathopen{}\mathclose{{}\left[X}\right]blackboard_E [ italic_X ] =1Prob[X=]absentsubscript1Probdelimited-[]𝑋\displaystyle=\sum_{\ell\geq 1}\ell\cdot\mathop{\mathrm{Prob}}\mathopen{}% \mathclose{{}\left[X=\ell}\right]= ∑ start_POSTSUBSCRIPT roman_ℓ ≥ 1 end_POSTSUBSCRIPT roman_ℓ ⋅ roman_Prob [ italic_X = roman_ℓ ]
=1sProb[X=]+l>slProb[X=]absentsubscript1𝑠Probdelimited-[]𝑋subscript𝑙𝑠𝑙Probdelimited-[]𝑋\displaystyle=\sum_{1\leq\ell\leq s}\ell\cdot\mathop{\mathrm{Prob}}\mathopen{}% \mathclose{{}\left[X=\ell}\right]+\sum_{l>s}l\cdot\mathop{\mathrm{Prob}}% \mathopen{}\mathclose{{}\left[X=\ell}\right]= ∑ start_POSTSUBSCRIPT 1 ≤ roman_ℓ ≤ italic_s end_POSTSUBSCRIPT roman_ℓ ⋅ roman_Prob [ italic_X = roman_ℓ ] + ∑ start_POSTSUBSCRIPT italic_l > italic_s end_POSTSUBSCRIPT italic_l ⋅ roman_Prob [ italic_X = roman_ℓ ]
s+>sProb[X=].absent𝑠subscript𝑠Probdelimited-[]𝑋\displaystyle\leq s+\sum_{\ell>s}\ell\cdot\mathop{\mathrm{Prob}}\mathopen{}% \mathclose{{}\left[X=\ell}\right]\;.≤ italic_s + ∑ start_POSTSUBSCRIPT roman_ℓ > italic_s end_POSTSUBSCRIPT roman_ℓ ⋅ roman_Prob [ italic_X = roman_ℓ ] .

Note that X=𝑋X=\ellitalic_X = roman_ℓ implies that v:c(v):𝑣𝑐𝑣\exists v:c(v)\geq\ell∃ italic_v : italic_c ( italic_v ) ≥ roman_ℓ. Thus Prob[X=]Prob[v:c(v)]\mathop{\mathrm{Prob}}\mathopen{}\mathclose{{}\left[X=\ell}\right]\leq\mathop{% \mathrm{Prob}}\mathopen{}\mathclose{{}\left[\exists v:c(v)\geq\ell}\right]roman_Prob [ italic_X = roman_ℓ ] ≤ roman_Prob [ ∃ italic_v : italic_c ( italic_v ) ≥ roman_ℓ ], which is bounded by Lemma 4.3, so

𝔼[X]𝔼delimited-[]𝑋\displaystyle\mathds{E}\mathopen{}\mathclose{{}\left[X}\right]blackboard_E [ italic_X ] s+>sk234!absent𝑠subscript𝑠superscript𝑘234\displaystyle\leq s+\sum_{\ell>s}\ell\cdot\frac{k^{2}}{\mathopen{}\mathclose{{% }\left\lfloor\frac{\ell-3}{4}}\right\rfloor!}≤ italic_s + ∑ start_POSTSUBSCRIPT roman_ℓ > italic_s end_POSTSUBSCRIPT roman_ℓ ⋅ divide start_ARG italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG ⌊ divide start_ARG roman_ℓ - 3 end_ARG start_ARG 4 end_ARG ⌋ ! end_ARG
=s+k2s+134!absent𝑠superscript𝑘2subscript𝑠134\displaystyle=s+k^{2}\cdot\sum_{\ell\geq s+1}\frac{\ell}{\mathopen{}\mathclose% {{}\left\lfloor\frac{\ell-3}{4}}\right\rfloor!}= italic_s + italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ ∑ start_POSTSUBSCRIPT roman_ℓ ≥ italic_s + 1 end_POSTSUBSCRIPT divide start_ARG roman_ℓ end_ARG start_ARG ⌊ divide start_ARG roman_ℓ - 3 end_ARG start_ARG 4 end_ARG ⌋ ! end_ARG
s+k2is2416i+14i!absent𝑠superscript𝑘2subscript𝑖𝑠2416𝑖14𝑖\displaystyle\leq s+k^{2}\cdot\sum_{i\geq\mathopen{}\mathclose{{}\left\lfloor% \frac{s-2}{4}}\right\rfloor}\frac{16i+14}{i!}≤ italic_s + italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ ∑ start_POSTSUBSCRIPT italic_i ≥ ⌊ divide start_ARG italic_s - 2 end_ARG start_ARG 4 end_ARG ⌋ end_POSTSUBSCRIPT divide start_ARG 16 italic_i + 14 end_ARG start_ARG italic_i ! end_ARG
=s+16k2is2411i!+14k2is241i!absent𝑠16superscript𝑘2subscript𝑖𝑠2411𝑖14superscript𝑘2subscript𝑖𝑠241𝑖\displaystyle=s+16k^{2}\cdot\sum_{i\geq\mathopen{}\mathclose{{}\left\lfloor% \frac{s-2}{4}}\right\rfloor-1}\frac{1}{i!}+14k^{2}\cdot\sum_{i\geq\mathopen{}% \mathclose{{}\left\lfloor\frac{s-2}{4}}\right\rfloor}\frac{1}{i!}= italic_s + 16 italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ ∑ start_POSTSUBSCRIPT italic_i ≥ ⌊ divide start_ARG italic_s - 2 end_ARG start_ARG 4 end_ARG ⌋ - 1 end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG italic_i ! end_ARG + 14 italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ ∑ start_POSTSUBSCRIPT italic_i ≥ ⌊ divide start_ARG italic_s - 2 end_ARG start_ARG 4 end_ARG ⌋ end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG italic_i ! end_ARG
s+30k2is2411i!absent𝑠30superscript𝑘2subscript𝑖𝑠2411𝑖\displaystyle\leq s+30k^{2}\cdot\sum_{i\geq\mathopen{}\mathclose{{}\left% \lfloor\frac{s-2}{4}}\right\rfloor-1}\frac{1}{i!}≤ italic_s + 30 italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ ∑ start_POSTSUBSCRIPT italic_i ≥ ⌊ divide start_ARG italic_s - 2 end_ARG start_ARG 4 end_ARG ⌋ - 1 end_POSTSUBSCRIPT divide start_ARG 1 end_ARG start_ARG italic_i ! end_ARG

By 2 we have

𝔼[X]s+60k21s64!,𝔼delimited-[]𝑋𝑠60superscript𝑘21𝑠64\mathds{E}\mathopen{}\mathclose{{}\left[X}\right]\leq s+60k^{2}\cdot\frac{1}{% \mathopen{}\mathclose{{}\left\lfloor\frac{s-6}{4}}\right\rfloor!}\;,blackboard_E [ italic_X ] ≤ italic_s + 60 italic_k start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ⋅ divide start_ARG 1 end_ARG start_ARG ⌊ divide start_ARG italic_s - 6 end_ARG start_ARG 4 end_ARG ⌋ ! end_ARG ,

and since

s64clogkloglogk𝑠64𝑐𝑘𝑘\mathopen{}\mathclose{{}\left\lfloor\frac{s-6}{4}}\right\rfloor\geq\frac{c\log k% }{\log\log k}⌊ divide start_ARG italic_s - 6 end_ARG start_ARG 4 end_ARG ⌋ ≥ divide start_ARG italic_c roman_log italic_k end_ARG start_ARG roman_log roman_log italic_k end_ARG

by our choice of s𝑠sitalic_s, we can invoke Lemma 2.4 to obtain

s64!kc(1logee).𝑠64superscript𝑘𝑐1ee\mathopen{}\mathclose{{}\left\lfloor\frac{s-6}{4}}\right\rfloor!\geq k^{c\cdot% \mathopen{}\mathclose{{}\left(1-\frac{\log\mathrm{e}}{\mathrm{e}}}\right)}\;.⌊ divide start_ARG italic_s - 6 end_ARG start_ARG 4 end_ARG ⌋ ! ≥ italic_k start_POSTSUPERSCRIPT italic_c ⋅ ( 1 - divide start_ARG roman_log roman_e end_ARG start_ARG roman_e end_ARG ) end_POSTSUPERSCRIPT .

Thus,

𝔼[X]s+60k2c(1logee)𝔼delimited-[]𝑋𝑠60superscript𝑘2𝑐1ee\mathds{E}\mathopen{}\mathclose{{}\left[X}\right]\leq s+60k^{2-c\cdot\mathopen% {}\mathclose{{}\left(1-\frac{\log\mathrm{e}}{\mathrm{e}}}\right)}blackboard_E [ italic_X ] ≤ italic_s + 60 italic_k start_POSTSUPERSCRIPT 2 - italic_c ⋅ ( 1 - divide start_ARG roman_log roman_e end_ARG start_ARG roman_e end_ARG ) end_POSTSUPERSCRIPT

and by our choice of c𝑐citalic_c we have

𝔼[X]s+604clogkloglogk+71.𝔼delimited-[]𝑋𝑠604𝑐𝑘𝑘71\mathds{E}\mathopen{}\mathclose{{}\left[X}\right]\leq s+60\leq 4c\cdot\frac{% \log k}{\log\log k}+71\;.blackboard_E [ italic_X ] ≤ italic_s + 60 ≤ 4 italic_c ⋅ divide start_ARG roman_log italic_k end_ARG start_ARG roman_log roman_log italic_k end_ARG + 71 .

5 Conclusion

We have analyzed the behavior of the FirstFit algorithm on trees in the random-order model and showed that its competitive ratio improves from Θ(logn)Θ𝑛\Theta(\log n)roman_Θ ( roman_log italic_n ) to 𝒪(logn/(loglogn))𝒪𝑛𝑛\mathcal{O}(\log n/(\log\log n))caligraphic_O ( roman_log italic_n / ( roman_log roman_log italic_n ) ). We further looked into algorithms with predictions for the colors of the vertices and provided consistent and smooth algorithms with a robustness that matches the best algorithms without predictions on trees and bipartite graphs, respectively. Lastly, we combined the random-order model with predictions and gave a consistent and smooth algorithm with a robustness of 𝒪(logn/(loglogn))𝒪𝑛𝑛\mathcal{O}(\log n/(\log\log n))caligraphic_O ( roman_log italic_n / ( roman_log roman_log italic_n ) ), which matches our algorithm without predictions.

The performance of algorithms such as FirstFit and CBip on bipartite graphs in the random-order model remains as an open problem. The most interesting question, however, is whether we can prove a matching lower bound for the improved competitive ratio in the random-order model.

References

  • [1] Spyros Angelopoulos, Christoph Dürr, Shendan Jin, Shahin Kamali, and Marc Renault. Online Computation with Untrusted Advice. In Proceedings of the 11th Innovations in Theoretical Computer Science Conference (ITCS 2020), volume 151 of Leibniz International Proceedings in Informatics (LIPIcs), pages 52:1–52:15, 2020.
  • [2] Antonios Antoniadis, Hajo Broersma, and Yang Meng. Online graph coloring with predictions. In Amitabh Basu, Ali Ridha Mahjoub, and Juan José Salazar González, editors, Combinatorial Optimization (ISCO 2024), pages 289–302. Springer Nature Switzerland, Cham, 2024. doi:10.1007/978-3-031-60924-4_22.
  • [3] Dwight R. Bean. Effective coloration. The Journal of Symbolic Logic, 41(2):469–480, 1976.
  • [4] Maria Paola Bianchi, Hans-Joachim Böckenhauer, Juraj Hromkovic, and Lucia Keller. Online coloring of bipartite graphs with and without advice. Algorithmica, 70(1):92–111, 2014.
  • [5] Hans-Joachim Böckenhauer, Dennis Komm, Rastislav Královič, Richard Královič, and Tobias Mömke. On the advice complexity of online problems. In Yingfei Dong, Ding-Zhu Du, and Oscar H. Ibarra, editors, Proceedings of the 20th International Symposium on Algorithms and Computation (ISAAC 2009), volume 5878 of Lecture Notes in Computer Science, pages 331–340. Springer-Verlag, Berlin, 2009.
  • [6] Allan Borodin and Ran El-Yaniv. Online Computation and Competitive Analysis. Cambridge University Press, Cambridge, 1998.
  • [7] Joan Boyar, Lene M. Favrholdt, Christian Kudahl, Kim S. Larsen, and Jesper W. Mikkelsen. Online algorithms with advice: A survey. ACM Comput. Surv., 50(2):19:1–19:34, 2017. doi:10.1145/3056461.
  • [8] Elisabet Burjons, Juraj Hromkovič, Xavier Muñoz, and Walter Unger. Graph coloring with advice and randomized adversary (extended abstract). In Proceedings of the 42nd International Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM 2016), volume 9587 of Lecture Notes in Computer Science. Springer-Verlag, Berlin, 2016. 229–240.
  • [9] Stefan Dobrev, Rastislav Královič, and Dana Pardubská. How much information about the future is needed? In Viliam Geffert, Juhani Karhumäki, Alberto Bertoni, Bart Preneel, Pavol Návrat, and Mária Bieliková, editors, Proceedings of the 34th Conference on Current Trends in Theory and Practice of Computer Science (SOFSEM 2008), volume 4910 of Lecture Notes in Computer Science, pages 247–258. Springer-Verlag, Berlin, 2008.
  • [10] Yuval Emek, Pierre Fraigniaud, Amos Korman, and Adi Rosén. Online computation with advice. In Susanne Albers, Alberto Marchetti-Spaccamela, Yossi Matias, Sotiris E. Nikoletseas, and Wolfgang Thomas, editors, Proceedings of the 36th International Colloquium on Automata, Languages and Programming (ICALP 2009), volume 5555 of Lecture Notes in Computer Science, pages 427–438. Springer-Verlag, Berlin, 2009.
  • [11] Michal Forišek, Lucia Keller, and Monika Steinová. Advice complexity of online coloring for paths. In Proceedings of the 6th International Conference on Language and Automata Theory and Applications (LATA 2012), volume 7183 of Lecture Notes in Computer Science, pages 228–239. Springer-Verlag, Berlin, 2012.
  • [12] Anupam Gupta and Sahil Singla. Random-order models. In Tim Roughgarden, editor, Beyond the Worst-Case Analysis of Algorithms, pages 234–258. Cambridge University Press, 2021. doi:10.1017/9781108637435.015.
  • [13] Grzegorz Gutowski, Jakub Kozik, Piotr Micek, and Xuding Zhu. Lower bounds for on-line graph colorings. In Hee-Kap Ahn and Chan-Su Shin, editors, Proceedings of the 25th International Symposium on Algorithms and Computation (ISAAC 2014), volume 8889 of Lecture Notes in Computer Science, pages 507–515. Springer-Verlag, Berlin, 2014.
  • [14] András Gyárfás and Jenö Lehel. On-line and first fit colorings of graphs. Journal of Graph Theory, 12(2):217–227, 1988.
  • [15] Henry A Kierstead. Recursive and on-line graph coloring. In Studies in Logic and the Foundations of Mathematics, volume 139, pages 1233–1269. Elsevier, 1998.
  • [16] Dennis Komm. An Introduction to Online Computation – Determinism, Randomization, Advice. Texts in Theoretical Computer Science. An EATCS Series. Springer, 2016. doi:10.1007/978-3-319-42749-2.
  • [17] Yaqiao Li, Vishnu V. Narayan, and Denis Pankratov. Online coloring and a new type of adversary for online graph problems. Algorithmica, 84(5):1232–1251, 2022. doi:10.1007/s00453-021-00920-w.
  • [18] László Lovász, Michael Saks, and William T. Trotter. An on-line graph coloring algorithm with sublinear performance ratio. Discrete Mathematics, 75(1–3):319–325, 1989.
  • [19] Thodoris Lykouris and Sergei Vassilvitskii. Competitive caching with machine learned advice. In Proceedings of the 35th International Conference on Machine Learning (ICML 2018), volume 80 of Proceedings of Machine Learning Research, pages 3302–3311. PMLR, 2018.
  • [20] Manish Purohit, Zoya Svitkina, and Ravi Kumar. Improving online algorithms via ML predictions. In Advances in Neural Information Processing Systems 31: Annual Conference on Neural Information Processing Systems 2018 (NeurIPS 2018), pages 9684–9693, 2018.
  • [21] Sebastian Seibert, Andreas Sprock, and Walter Unger. Advice complexity of the online coloring problem. In Proceedings of the 8th International Conference on Algorithms and Complexity (CIAC 2013), volume 7878 of Lecture Notes in Computer Science, pages 345–357. Springer-Verlag, Berlin, 2013.