### 2017

## Rainbow paths and trees in properly-colored

## graphs

### Isaac Clarence Wass

*Iowa State University*

### Follow this and additional works at:

### https://lib.dr.iastate.edu/etd

### Part of the

### Mathematics Commons

This Thesis is brought to you for free and open access by the Iowa State University Capstones, Theses and Dissertations at Iowa State University Digital Repository. It has been accepted for inclusion in Graduate Theses and Dissertations by an authorized administrator of Iowa State University Digital Repository. For more information, please contactdigirep@iastate.edu.

### Recommended Citation

*Wass, Isaac Clarence, "Rainbow paths and trees in properly-colored graphs" (2017). Graduate Theses and Dissertations. 15454.*

by

Isaac Clarence Wass

A thesis submitted to the graduate faculty

in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE

Major: Mathematics

Program of Study Committee: Steve Butler, Major Professor

Sung-Yell Song Michael Young

The student author and the program of study committee are solely responsible for the content of this thesis. The Graduate College will ensure this thesis is globally accessible

and will not permit alterations after a degree is conferred.

Iowa State University Ames, Iowa

2017

DEDICATION

To my family, especially my parents Warren and Jan, who have always supported me and my love for mathematics.

TABLE OF CONTENTS

CHAPTER LIST OF FIGURES . . . v

ACKNOWLEDGEMENTS . . . vi

ABSTRACT . . . vii

CHAPTER 1. INTRODUCTION . . . 1

1.1 Notation and Terminology . . . 1

CHAPTER 2. RAINBOW PATHS AND STARS . . . 2

2.1 Rainbow Paths . . . 2

2.2 The Existence of a Rainbow Path . . . 3

2.3 Rainbow Stars . . . 4

CHAPTER 3. GRAPHS WITH CHROMATIC NUMBER AT MOST 5 . . . 6

3.1 Graphs with Chromatic Number 4 . . . 6

3.2 Graphs with Chromatic Number 5 . . . 7

3.3 The Existence of Any Rainbow Path . . . 8

CHAPTER 4. GRAPHS WITH ARBITRARY CHROMATIC NUMBER . . 9

4.1 The Rainbow Path Algorithm . . . 9

4.2 The Rainbow Path Theorem . . . 12

4.3 Notes on Implementing Algorithm4.1.1 . . . 13

CHAPTER 5. CHAPTER FURTHER PATH RESULTS . . . 14

5.1 A Criterion for the Chromatic Number . . . 14

CHAPTER 6. RAINBOW TREES . . . 17

6.2 The Rainbow Tree Theorem . . . 21

6.3 Another Criterion for the Chromatic Number . . . 21

CHAPTER 7. PROPER COLORINGS USING EXTRA COLORS . . . 23

7.1 Bipartite Graphs . . . 23

7.2 Non-bipartite Graphs . . . 25

CHAPTER 8. OPEN PROBLEMS AND POSSIBLE RESEARCH DIREC-TIONS . . . 26

LIST OF FIGURES

Figure 4.1 D, the digraph representing Algorithm4.1.1 . . . 10

Figure 5.1 H4, properly 4-colored . . . 15

Figure 5.2 H4, with coloring C . . . 15

ACKNOWLEDGEMENTS

First off, thanks to Dr. Dalibor Froncek for not only introducing me to the wondrous realm of discrete math (especially graph theory) during my undergraduate days, but also for recommending Iowa State University as a graduate school – so far, ISU has been a fantastic fit! Much thanks goes to my advisor Dr. Steve Butler as well. His wisdom in advising, his passion in teaching and his guidance in research are greatly appreciated.

Thanks to the ISU math department staff, especially to Melanie and Ellen in the office and to Rod the systems specialist – you all keep the math department running smoothly like a well-oiled machine, despite the wrenches that get thrown in!

Thanks to the ISU math department faculty – it’s always a pleasure to learn new mathe-matics and see how all the material is interconnected. Hopefully someday I can teach the next generation of math majors as well as you do.

A big thank-you to my fellow graduate students, especially O’Neill, Mike, Vicente, Max, Beth and Armando, who have all been great friends both on and off ISU campus – the time spent studying and socializing was time well spent.

And finally, thanks to Alex Neal Riasanovsky for discussing Gy´arf´as’s paper [2] with me. Simply knowing about the material in that paper provided me the determination to prove some of the stronger results in this thesis.

ABSTRACT

A graph G is properly k-colored if the colors {1, 2, . . . , k} are assigned to each vertex such that u and v have different colors if uv is an edge and each color is assigned to some vertex. A rainbow k-path, a rainbow k-star and a rainbow k-tree is a path, star or tree, respectively, on k vertices such that each vertex is a different color. We prove several results about the existence of rainbow paths, stars and trees in properly colored graphs, as well as their uses in proving various criteria about a graph’s chromatic number. In particular, any graph G properly colored with the minimum number of colors χ(G) always contains every possible rainbow χ(G)-tree.

CHAPTER 1. INTRODUCTION

When first learning about graph vertex colorings, one might notice, for small integer values of k, that graphs with chromatic number k always seems to contain a path on k vertices such that every vertex in the path is a different color. This leads one to wonder – can one always find such a path? This paper sets out to answer this question in the affirmative, and more.

1.1 Notation and Terminology

Let [k] := {i ∈ N | 1 ≤ i ≤ k} when k is an integer.

A graph G is simple if (v, v) /∈ E(G) for all v ∈ V (G) and if for every pair of distinct vertices u, v, there is either no edge between them, or exactly one edge between them. A graph G is called finite if V (G) is finite, nonempty if V (G) is nonempty, and connected if for every pair of distinct vertices u, v there exists a path from u to v. For this paper, all graphs are simple, finite, nonempty and connected.

For all k ∈ N, denote Kk for the complete graph on k vertices, denote Pk for the path graph on k vertices, and denote Sk for the star graph on k vertices (also known as the complete bipartite graph K1,k−1).

A vertex coloring of G is a map h : V (G) → [k] where h(v) is the color assigned to vertex v. For this paper we will shorten “vertex coloring” to just “coloring”. A k-coloring of G is a coloring of G that uses precisely k colors.

A coloring of G is proper if (u, v) ∈ E(G) implies that h(u) 6= h(v). Intuitively, a coloring is proper if adjacent vertices have different colors.

For any graph G, the chromatic number of G, denoted by χ(G), is the minimum number of colors needed to properly color G. That is, G can be properly colored with χ(G) colors, but a smaller number of colors will not permit a proper coloring of G.

CHAPTER 2. RAINBOW PATHS AND STARS 2.1 Rainbow Paths

We begin with the definition of a rainbow k-path, the center of discussion in this paper. Definition 2.1.1. A rainbow k-path is a colored Pk graph where every vertex is a different color. If G is a graph properly colored with at least k colors, we say that G contains a rainbow k-path if and only if there is a path subgraph Pk of G such that Pk is a rainbow k-path.

At this point it is not important what order the colors in the rainbow k-path appear in, nor what the actual colors are — the colors in the rainbow k-path can be any subset of the colors used in the coloring of G, and they can appear in any order.

First, a few quick results to familiarize ourselves with the definition.

Remark 2.1.2. If G contains a rainbow k-path, then G contains a rainbow i-path for all i ∈ [k]. Indeed, the desired rainbow i-path is contained in the given rainbow k-path.

Theorem 2.1.3. A properly-colored Kk has a rainbow k-path.

Proof. Since χ(Kk) = k, then every vertex of Kkis a different color. Let P be any Hamiltonian path of Kk. Then P is a path on k vertices where each vertex is a different color. Thus P is a rainbow k-path contained in Kk.

Corollary 2.1.4. If G is a properly colored graph that contains a k-clique, then G contains a rainbow k-path.

Proof. By definition a k-clique of G induces Kk as a subgraph, so the corollary follows directly from Theorem 2.1.3.

2.2 The Existence of a Rainbow Path

Since G can contain a rainbow k-path only if G is colored with at least k colors, then it is interesting to find rainbow k-paths when G is colored with precisely k colors (naturally we must set k ≥ χ(G)). Further, it is easy to create a rainbow k-path when k is large enough (especially when k far exceeds the maximum vertex degree), since a large enough k allows us to color an arbitrary Pk in the graph first and still have enough freedom to finish the proper coloring. Thus, the most restrictive (and most interesting) cases occur when k is close to χ(G).

The case k = χ(G) is the main focus of this thesis.

Claim (The Weak Rainbow Path Theorem). If G is a graph and k = χ(G), then any proper k-coloring of G contains a rainbow k-path of some color order.

It is easy to see that this is true for small cases.

Theorem 2.2.1 (wRPC-1, wRPC-2). The Weak Rainbow Path Theorem is true for k = 1, 2. Proof. If k = 1 then χ(G) = 1, and since G is connected then G = K1.

If k = 2 then χ(G) = 2, so G is a connected graph on at least 2 vertices. Thus G contains an edge, which is a 2-clique.

Thus wRPC-1 and wRPC-2 follow respectively from Theorem 2.1.3and its corollary. Theorem 2.2.2 (wRPC-3). The weak Rainbow Path Theorem is true for k = 3.

Proof. Since k > 2, then G is not bipartite. Thus G contains an odd cycle. Consider Cn, an odd cycle on n vertices that is contained in G. Since G is properly 3-colored, then Cn is properly 3-colored. Let c1, c2 and c3 be these colors.

Since Cnis an odd cycle, χ(Cn) = 3, so Cncontains all three colors used to color G. Suppose Cn does not contain a rainbow 3-path. Let Cn = v1v2v3. . . vnv1. Without loss of generality, let v1 be colored c1 and v2 be colored c2. Since Cn does not contain a rainbow 3-path, then v3 cannot be colored c3, and so must be colored c1. Similarly, v4 must be colored c2, v5 must be colored c1, and so on until vn. Since vn is adjacent to v1, then vn must be colored c2. Then n is even, contradicting Cn being an odd cycle. Thus Cn contains a rainbow 3-path, and so G contains a rainbow 3-path.

2.3 Rainbow Stars

Fortunately, wRPC-3 can be proved more elegantly if we first create the following definition, along with a subsequent criterion.

Definition 2.3.1. A rainbow k-star is an Sk graph where every vertex is a different color. If G is a graph properly colored with at least k colors, we say that G contains a rainbow k-star if and only if there is a star subgraph Sk of G such that Sk is a rainbow k-star.

An i-rainbow k-star is a rainbow k-star where the internal vertex has color i. With this new definiton, we craft the following criterion for properly-colored graphs. The Rainbow Star Criterion (RSC). If G is a graph and k = χ(G), and G is properly colored with colors 1 through k, then for every i ∈ [k], G contains an i-rainbow k-star.

Proof. For k = 1, G = K1 = K1,0, so trivially we are done.

For k > 1, suppose by contradiction that G is a graph properly colored with colors 1 through k = χ(G), but that for some i ∈ [k], G does not contain an i-rainbow k-star. Without loss of generality, let i = k.

Let T = {v ∈ V (G) | v is color k}. Since G does not contain a k-rainbow k-star, then for every v ∈ T , v is a vertex of color k such that there exists some color j ∈ [k − 1] with the property that no vertex in the neighborhood of v is color j. Thus we may recolor v with color j. Further, since v is not in the neighborhood of any other vertex in T , then this reasoning can be applied to every vertex in T .

The result is a proper coloring of G that uses only k − 1 colors. This implies χ(G) ≤ k − 1, contradicting k = χ(G). Thus for every i ∈ [k], G contains an i-rainbow k-star.

This criterion allows us to immediately prove wRPC-3.

Alternate proof for wRPC-3. Since k = 3, then χ(G) = 3. By RSC, G must contain a rainbow 3-star. Since S3= P3, this rainbow 3-star is also a rainbow 3-path.

Further, the Rainbow Star Criterion has another application – consider the following crite-rion for a graph’s chromatic number:

Corollary 2.3.2. Let G be a graph with k = χ(G). Then G contains at least k vertices of degree at least k − 1.

This criterion can be proved using greedy coloring, albeit by contradiction.

Proof. Let G have n vertices and chromatic number k, but suppose by contradiction that G has fewer than k vertices of degree at least k − 1.

Order the vertices of G from highest degree to lowest:

V (G) = {v1, v2, . . . , vn} with deg(vi) ≥ deg(vi+1) for i ∈ [n − 1].

We will show that we can properly color G with k − 1 colors.

Color vertex vi with color i for all i ∈ [k − 1]. We now color the rest of the vertices in order. For every j such that k ≤ j ≤ n, we have that deg(vj) < k − 1. Then vj has at most k − 2 neighbors that have already been colored. However, this still leaves one color left with which we can color vj, so every vertex can be colored differently from its neighbors. Then we have obtained a proper (k − 1)-coloring of G. However, this contradicts χ(G) = k, so G must have had at least k vertices of degree at least k − 1.

On the other hand, the Rainbow Star Criterion provides a direct proof that is immediate. Alternate proof using RSC. Properly k-color G. By RSC, for each color i there is an i-rainbow k-star. The central vertex for each such rainbow star must have degree at least k − 1. Since there are at least k such stars, then G contains at least k vertices of degree at least k − 1.

CHAPTER 3. GRAPHS WITH CHROMATIC NUMBER AT MOST 5 3.1 Graphs with Chromatic Number 4

With preliminaries established, we can proceed to prove stronger results. First, case k = 4: Theorem 3.1.1 (wRPC-4). The weak Rainbow Path Conjecture is true for k = 4.

Proof. Let G be a graph with chromatic number 4, properly colored using c1, c2, c3 and c4. Define T = {v ∈ V (G) | v is the internal vertex of a c3-rainbow 4-star}, and let U be a vertex subset of V (G) that is initially empty. By RSC, T is nonempty.

Consider some x ∈ T , so x is c3 and is adjacent to some c2 vertex y. There are two cases regarding the neighborhood of y:

Case 1: Every vertex in the neighborhood of y is color c3 or c4.

Then recolor y to c1 and add y to U . Note that if y was the only c2 vertex adjacent to x, then x is no longer adjacent to a c2 vertex. Thus x is no longer the internal vertex of a c3-rainbow 4-star, and so is removed from set T .

Case 2: There exists a vertex z in the neighborhood of y that is color c1.

Since x ∈ T , then x is adjacent to some c4 vertex w. Then wxyz is a path on four vertices where each vertex is a different color.

Apply the above process on all vertices in T until either Case 2 occurs or T becomes an empty set. The process will indeed terminate, because even though Case 1 may add new vertices to T , there are only finitely many c2 vertices to recolor. If all c2 vertices are recolored to c1, then no c3 vertex can be next to a c2 vertex, so T is empty.

Suppose Case 2 occurs. The only recolored vertices are c1 vertices that belong to U . However, v ∈ U if and only if v is c1 and every vertex in the neighborhood of v is c3 or c4. Observe that z is c1 but that y is a c2 vertex in the neighborhood of z. Then z /∈ U , so wxyz is a rainbow 4-path in the original coloring of G, as desired.

Suppose Case 2 never occurs, and that instead T is now an empty set. Then G no longer contains any c3-rainbow 4-stars. Thus by RSC we can recolor all c3 vertices to either c1, c2 or c4, giving a proper 3-coloring of G, contradicting χ(G) = 4.

Thus Case 2 must occur eventually, and so G contains a rainbow 4-path.

3.2 Graphs with Chromatic Number 5

Now, in a similar fashion to the previous proof, we now consider the case k = 5: Theorem 3.2.1 (wRPC-5). The Weak Rainbow Path Conjecture is true for k = 5.

Proof. Let G be a graph with chromatic number 5, properly colored using c1, c2, c3, c4 and c5. Define T = {u ∈ V (G) | u is the internal vertex of a c3-rainbow 5-star}, and let U1 and U2 be vertex subsets of V (G) that are initially empty. By RSC, T is nonempty.

Consider some x ∈ T , so x is c3 and is adjacent to some c2 vertex y and some c4 vertex w. There are three cases regarding the neighborhoods of w and y:

Case 1: Every vertex in the neighborhood of y is c3, c4 or c5.

Then recolor y to c1 and add y to U1. Note that if y was the only c2 vertex adjacent to x, then x is no longer adjacent to a c2 vertex. Thus x is no longer the internal vertex of a c3-rainbow 5-star, and so is removed from set T .

Case 2: Every vertex in the neighborhood of w is c3, c1 or c2.

Then recolor w to c5 and add w to U2. Note that if w was the only c4 vertex adjacent to x, then x is no longer adjacent to a c4 vertex. Thus x is no longer the internal vertex of a c3-rainbow 5-star, and so is removed from set T .

Case 3: There exists a vertex z in the neighborhood of y that is c1, and there exists a vertex v in the neighborhood of w that is c5.

Since x ∈ T , then x is adjacent to some c4 vertex w. Then vwxyz is a path on five vertices where each vertex is a different color.

Apply the above process on all vertices in T until either Case 3 occurs or T becomes an empty set. The process will indeed terminate, because even though Case 1 and Case 2 may add new vertices to T , there are only finitely many c2 or c4 vertices to recolor. If all c2 vertices

are recolored to c1, or all c4 vertices are recolored to c5, then no c3 vertex can be the internal vertex of a rainbow 5-star, so T is empty.

Suppose Case 3 occurs. The only recolored vertices are c1 vertices that belong to U1 and c5 vertices that belong to U2. However, u ∈ U1 if and only if u is c1 and every vertex in the neighborhood of u is c3, c4 or c5. Since z is c1 but y is a c2 vertex in the neighborhood of z, then z /∈ U1. Similarly, u ∈ U2 if and only if u is c5 and every vertex in the neighborhood of u is c3, c2 or c1. Since v is c5 but w is a c4 vertex in the neighborhood of v, then v /∈ U2. The implication is that vwxyz is a rainbow 5-path in the original coloring of G, as desired.

Suppose Case 3 never occurs, and that instead T is now an empty set. Then G no longer contains any c3-rainbow 5-stars. Thus by RSC we can recolor all c3 vertices to either c1, c2, c4 or c5, giving a proper 4-coloring of G, contradicting χ(G) = 5.

Thus Case 3 must occur eventually, and so G contains a rainbow 5-path.

3.3 The Existence of Any Rainbow Path

Perhaps one of the more fascinating results of these theorems is that, for k ∈ [5], not only is there a rainbow k-path in the k-chromatic graph, but a rainbow k-path exists with any color order desired. Though this is trivial for k = 1, 2, RSC guarantees the existence of any i-rainbow 3-star, and so any color is possible for the internal vertex. For k = 4, 5, the choice of colors in the algorithm were arbitrary – T could have been a set of c5 vertices, for example. This encourages a stronger form of the theorem:

Claim (The (Strong) Rainbow Path Theorem). If G is a graph and k = χ(G), then any proper k-coloring of G contains rainbow k-paths of every possible color order.

Theorem 3.3.1. The (Strong) Rainbow Path Theorem is true for cases k = 1 through k = 5. Proof. Trivial for cases k = 1 and k = 2.

Case k = 3 follows from RSC.

Cases k = 4 and k = 5 follow from the proofs for Theorems 3.1.1 and 3.2.1by noting that the choice of colors used in the algorithms were arbitrary.

CHAPTER 4. GRAPHS WITH ARBITRARY CHROMATIC NUMBER 4.1 The Rainbow Path Algorithm

The Rainbow Path Theorem is in fact true for all positive integers. To prove it, we will adapt the proof technique for Theorems 3.1.1and3.2.1 to construct an algorithm.

Algorithm 4.1.1 (Rainbow Path Algorithm).

Input: A connected, simple, finite graph G, properly colored using colors 1,2,. . . ,k. Output: Either G, properly colored using colors 2, 3, . . . , k, or

a path v1v2· · · vk such that each vi is color i in G’s original coloring. Step 0: Start the algorithm. Let i be a counter variable.

Step 1: Does there exist a vertex of color 1? If so, then

• Step 1a: Let v_{1} be a vertex of color 1.
• Step 1b: Set i = 1. Proceed to Step 2.
If not, then

• Step 1x: Output G with its current coloring. Proceed to Step X. Step 2: Is i equal to k?

If so, then

• Step 2x: Output path v1v2. . . vk. Proceed to Step X. If not, then proceed to Step 3.

Step 3: Does vi have a neighbor of color i + 1? If so, then

• Step 3a: Let vi+1be a neighbor of vi of color i + 1. • Step 3b: Set i = i + 1. Return to Step 2.

If not, then

• Step 3c: Recolor vi with color i + 1. Proceed to Step 4. Step 4: Is i equal to 1?

If so, then return to Step 1. If not, then

• Step 4a: Set i = i − 1. Return to Step 2. Step X: Terminate the algorithm.

It will be helpful later to view the steps of the algorithm as a digraph D (illustrated in Figure 4.1). Each vertex in the digraph represents a step or substep, and each arc represents how the algorithm can move between steps. When evaluating the algorithm on a graph G, define the traffic through a vertex as the number of times the algorithm evaluates that step or substep. For example, since the algorithm starts at Step 0 and proceeds to Step 1, and since no other step redirects the algorithm back to Step 0, then the traffic at Step 0 is always equal to 1. As another example, the algorithm will terminate if and only if Step X has traffic equal to 1, and the algorithm will fail to terminate if there exists a cycle in the diagraph where each vertex has traffic equal to infinity.

0 1 1a 1b 1x 2 2x 3 3a 3b 3c 4 4a X

Figure 4.1 D, the digraph representing Algorithm 4.1.1

We will soon prove that this algorithm is correct in the sense that it does terminate, and that the output is indeed as indicated.

Remark 4.1.1. If Algorithm4.1.1 outputs a coloring of G, then the coloring is proper and in colors 2, 3, . . . , k.

color i, then G is properly colored at each step. That is, G being properly colored is invariant under the algorithm. Thus if Algorithm4.1.1outputs G with a new coloring, then that coloring is indeed proper. Further, it is colored with colors 2 through k, since Step 1x (the step that outputs G with a new coloring) only occurs when G contains no vertices of color 1.

Lemma 4.1.2. Algorithm 4.1.1 can recolor a vertex only a finite number of times.

Proof. This follows from observing that the index of a vertex’s color can only increase. Since there are only k colors, then each vertex can be recolored at most k − 1 times.

Lemma 4.1.3. Algorithm 4.1.1 terminates.

Proof. Suppose by contradiction that Algorithm4.1.1does not terminate when evaluating some graph G. Then there exists a cycle C contained in D where each vertex in C has traffic equal to infinity. From Figure 4.1we can see that C must pass through Step 2, and that C contains either Step 3b or Step 3c.

Case 1: C does not contain Step 3c.

Then Step 3c has finite traffic, so Step 3b has infinite traffic. From Figure 4.1 we can see that if Step 3c has finite traffic, then Step 4a must also have finite traffic. Thus i is incremented an infinite number of times, but decremented only a finite number of times. However, this im-plies that the algorithm reaches Step 2 with i = k at some point, leading to the termination of the algorithm. This contradicts our assumption that Algorithm 4.1.1does not terminate while evaluating G.

Case 2: C contains Step 3c.

Then Step 3c has infinite traffic. By Lemma 4.1.2 we have that every vertex is recolored only a finite number of times. Since Step 3c is executed an infinite number of times, then Algorithm 4.1.1 must recolor an infinite number of vertices. This contradicts our assumption that G is finite.

Theorem 4.1.4. Algorithm 4.1.1 is correct. That is, it terminates, and the resulting output is indeed as indicated.

Proof. From Lemma 4.1.3we have that the algorithm terminates, and from Remark 4.1.1we have that if the output is a coloring of G, then it is indeed a proper coloring in colors 2, 3, . . . , k. Thus it remains to show that if the output is a path, then the path is indeed a rainbow k-path of G.

Each vi is color i after Algorithm4.1.1 recolors the vertices of G. Thus it suffices to show that each vi was not recolored. Clearly v1 is not a recolored vertex, since the algorithm never recolors a vertex to color 1. Let vj+1 be the vertex of minimal index that was recolored. Then j ≥ 1. Since vj+1 was recolored then vj+1 was color j at some point during the algorithm. However, j + 1 was minimal, so vj was color j in the original coloring. This implies that vj and vj+1 were adjacent vertices of color j at some point during the algorithm, contradicting G being properly colored at each step. Thus vj+1 must be color j + 1 in the original coloring, and so each vi was not recolored.

Thus v1v2. . . vk is indeed a rainbow k-path of G, settling the proof.

4.2 The Rainbow Path Theorem

With this algorithm, proving the Rainbow Path Theorem is straightforward.

Theorem 4.2.1 (Rainbow Path Theorem). If G is a graph and k = χ(G), then any proper k-coloring of G contains rainbow k-paths of every possible color order.

Proof. Let G be a graph that is properly colored with k = χ(G) colors. Without loss of generality, let the desired color order of the rainbow k-path be 1, 2, . . . , k.

Apply Algorithm4.1.1to G. Since G was properly colored with k = χ(G) colors, no proper (k − 1)-coloring of G exists. Since Algorithm 4.1.1 terminates, then the output must be a rainbow k-path of the desired order.

4.3 Notes on Implementing Algorithm 4.1.1

Algorithm 4.1.1 as stated is not a precise generalization of the technique used to prove Theorems 3.1.1 and 3.2.1 – those proofs started by finding rainbow k-stars (getting the first three vertices of the path immediately), but this algorithm instead checks every possible first vertex. Thus the algorithm can be optimized somewhat by first finding a rainbow k-star and then proceeding with the algorithm as normal from vertex v3.

If one wants a rainbow k-path, but does not care about the order of the colors, then perhaps the algorithm could be optimized further by choosing a particular color order – choose the color order c1, c2, . . . , ck such that |V1(G)| ≤ |V2(G)| ≤ · · · ≤ |VK(G)|, where Vi(G) denotes the vertices of G that are color ci. This reduces the possible bad vertex choices for lower values of i in the algorithm, and so should reduce the number of times the algorithm needs to recolor and backtrack.

CHAPTER 5. CHAPTER FURTHER PATH RESULTS 5.1 A Criterion for the Chromatic Number

Theorem 5.1.1 (Rainbow Path Criterion). Let G be a graph that permits a proper k-coloring. Then χ(G) = k if and only if every proper k-coloring of G contains a rainbow k-path of every color order.

Proof. Suppose G has a proper k-coloring. Then χ(G) ≤ k. Further, G must have at least k vertices (otherwise not all k colors can be used).

The sufficiency condition is precisely Theorem 4.2.1, so χ(G) = k implies every proper k-coloring of G contains a rainbow k-path of every color order.

For the converse, we proceed by contrapositive. Suppose that χ(G) 6= k. Then χ(G) ≤ k−1, and so there exists a proper (k − 1)-coloring of G. Let J be one such coloring. Since G has at least k vertices, then by pigeonhole principle there exists two vertices of the same color. Let x be one of these vertices, and without loss of generality, let x have color k − 1. Recolor x to color k to yield a new coloring J0.

Since x was not the only vertex of color k − 1, then J0is a proper k-coloring of G. However, J0 does not permit any rainbow k-path of the form v1v2. . . vk−1vk, where each vi is color i, since x is the only vertex of color k and no neighbor of x has color k − 1. Thus not every proper k-coloring of G contains rainbow k-paths of every color order.

The condition that every proper coloring has every possible rainbow path is quite strong – it is natural to see if we can weaken this condition. To show that χ(G) = k, is it sufficient to find just one proper coloring using k colors containing rainbow k-paths of every color order? Unfortunately, the answer is no, as the following proposition asserts.

Proposition 5.1.2. For every k > 1 there exists a graph Hk such that χ(Hk) = k and that Hk permits a proper (k + 1)-coloring which contains rainbow (k + 1)-paths of every color order.

Proof. Given k > 1, we construct Hk in the following manner: take k copies of Kk along with a vertex x and add one edge between x and each copy of Kk.

Claim. The graph Hk has chromatic number χ(Hk) = k.

Since Kk is a subgraph of Hk, then χ(H) ≥ k. To prove χ(Hk) ≤ k, observe that we may first color x with color 1, color its neighborhood with color k, and then color the rest of the graph using the colors 1 through k − 1, giving a proper k-coloring of Hk.

This coloring for H4 is illustrated in Figure5.1.

x

Figure 5.1 H4, properly 4-colored

x

Figure 5.2 H4, with coloring C

Claim. The graph Hk has a coloring C which permits rainbow (k + 1)-paths of any color order. Color x and its neighborhood so that x is the central vertex of a (k +1)-rainbow (k +1)-star, then color the rest of the graph using only colors 1 through k. Let C denote this coloring.

This coloring for H4 is illustrated in Figure5.2.

Fix c1, c2, . . . , ck+1 to be the desired color order. Then ci is color k + 1 for some i. Without
loss of generality, let i ≤ k+1_{2} . If i = 1, set v1 = x and set v2 to be the neighbor of x with color
c2. Then the rest of the path can be found in the copy of Kk containing v2.

If i > 1, then set vi = x and set vi−1 and vi+1 to be the neighbors of x with color ci−1 and ci+1 respectively. Then the two tail ends of the path may be found in the copies of Kk containing vi−1 and vi+1 respectively. Thus the coloring C permits rainbow (k + 1)-paths of any color order.

Thus Hk satisfies the proposition.

The graph Hkdemonstrates that, to show that a graph has chromatic number k, it is NOT sufficient to find one proper k-coloring containing rainbow k-paths of every color order.

CHAPTER 6. RAINBOW TREES

After working out the details for these proofs, discussion with a colleague revealed that much of this material is not new, at least to the Hungarian mathematicians.

In fact, it is considered a “folklore” result that for any graph G with chromatic number k, for any proper k-coloring of G, and for any tree T on k vertices with any proper k-coloring, that G contains a subgraph T0 such that T and T0 are isomorphic and their corresponding vertices are the same color. For example, Andr´as Gy´arf´as [2] published a paper citing the result in his problem of tree packing in n-chromatic graphs.

Of course, this result implies that G contains any rainbow k-path of any color order, since Pkis a tree on k vertices. As it stands, the folklore result and the Rainbow Path Theorem are both intriguing and not obvious – it would be interesting to see more applications of them.

At the least, the work up to this point independently verified the folklore result for stars and paths, and provides an explicit algorithm for finding rainbow k-paths. However, the Rainbow Path Algorithm can be adapted and generalized to find rainbow trees as well.

6.1 The Rainbow Tree Algorithm

Before giving the details of the Rainbow Tree Algorithm, we will first review some defini-tions, then construct a subroutine which will simplify the algorithm’s construction.

For a digraph D and vertex y ∈ V (D), let Nout(y) denote the set {z ∈ V (D) | yz ∈ E(D)}
and let Nin(y) denote the set {x ∈ V (D) | xy ∈ E(D)}. If z ∈ Nout(y) then z is an out-neighbor
of y. Note that for digraphs, xy 6= yx, since the direction of the arcs is important. Denote the
out-degree and in-degree of x by deg_{o}(x) = |Nout(x)| and degi(x) = |Nin(x)|, respectively.
Definition 6.1.1. A directed graph T is said to be an arborescence (or a directed rooted
tree) if there exists a vertex x ∈ V (T ) such that for all y ∈ V (T ) − {x} there is exactly one
directed path from x to y. We say that x is the root of T .

For other digraph theory terminology not defined here, refer to Diestel [1].

Note that every tree T and every vertex x induces an arborescence T0 such that x is the root of T0 and the underlying non-directed graph of T0is isomorphic to T . In fact, the following subroutine is simply an algorithm to explicitly construct the arborescence given T and x. Algorithm 6.1.1 (Arborescence Subroutine).

Input: A tree T on k vertices, and vertex v1∈ V (T ).

Output: An arborescence T0 with root u1 such that uiuj ∈ E(T0) implies i < j. Step 0: Start the algorithm and initialize:

• Let T0 be the graph containing only vertex u1.
• Let i and j be counter variables. Set i = 1 and j = 1.
Step 1: Does deg_{o}(ui) equal dego(vi)?

If so, then proceed to Step 2. If not, then

• Step 1a: Set j = j + 1.

• Step 1b: Add vertex u_{j} to V (T0).

• Step 1c: Add arc uiuj to E(T0). Repeat Step 1. Step 2: Is j equal to k?

If so, then

• Step 2x: Output tree T0 and root u1. Proceed to Step X. If not, then

• Step 2a: Set i = i + 1. Return to Step 1. Step X: Terminate the algorithm.

It is easy to verify that this subroutine is correct. At each step j counts how many vertices are in T0. Since i is the index of a vertex in T0 at all times, we have that i ≤ j ≤ k. If i = j when uj is added to T0, then j > i before Step 1a, a contradiction to i ≤ j. Thus we have i < j for all uiuj ∈ E(T0).

We have that i ≤ j ≤ k and that the degree of a vertex in T0 can never exceed k − 1. Every pass through Step 1 either increases j or increases i, so Step 2 cannot be executed infintely many times. Since every loop goes through Step 2, then Algorithm6.1.1must terminate. Since an edge is added precisely when a vertex is added, then |E(T0)| + 1 = |V (T0)|, so T0 has a tree for its underlying graph.

Finally, T0 is an arborescence by induction: every arc added flows away from the root, so there is a directed path from u1 to any other vertex.

We now construct the Rainbow Tree Algorithm: Algorithm 6.1.2 (Rainbow Tree Algorithm).

Input: A connected, simple, finite graph G, properly colored using colors 1, 2, . . . , k, and a tree T on vertices v1, v2, . . . , vk.

Output: Either G, properly colored using colors 2, 3, . . . , k, or T0, a tree isomorphic to T such that each ui corresponding to vi is color i in G’s original coloring. Step 0: Start the algorithm and initialize:

• Execute Algorithm6.1.1with tree T and vertex vi to obtain arborescence S on vertices u1, u2, . . . , uk.

• For each j ∈ [k], define the color list Cj = {` | uju`∈ E(S)}. • Let T0 be the empty graph. Proceed to Step 1.

Step 1: Does there exist a vertex of color 1? If so, then

• Step 1a: Let u1 be a vertex of color 1 in G. Add u1 to V (T0). • Step 1b: Set i = 1. Proceed to Step 2.

If not, then

• Step 1x: Output G with its current coloring. Proceed to Step X. Step 2: Is i equal to k?

If so, then

• Step 2x: Output T0. Proceed to Step X. If not, then proceed to Step 3.

Step 3: For each j ∈ Ci, does ui in G have an out-neighbor of color j? If so, then

• Step 3a: For each j ∈ Ci, if ui does not have a j-colored out-neighbor in V (T0) already, then let uj be an out-neighbor of ui in G.

• Step 3b: For each uj found in Step 3a, add uj to V (T0) and add uiuj to E(T0). • Step 3c: Set i = i + 1. Return to Step 2.

If not, then

• Step 3d: Recolor u_{i} in G with that color j.
• Step 3e: Delete u_{i} from T0. Proceed to Step 4.
Step 4: Is i equal to 1?

If so, then return to Step 1. If not, then

• Step 4a: Let ` satisfy u`ui∈ E(T0). Set i = `. Return to Step 2. Step X: Terminate the algorithm.

0 1 1a 1b 1x 2 2x 3 3a 3b 3c 3d 3e 4 4a X

Figure 6.1 D0, the digraph representing Algorithm 6.1.2

Remark 6.1.2. If Algorithm6.1.2 outputs a coloring of G, then the coloring is proper and in colors 2, 3, . . . , k.

Lemma 6.1.3. Algorithm 6.1.2 can recolor a vertex only a finite number of times. Lemma 6.1.4. Algorithm 6.1.2 terminates.

The proofs for these statements are identical to their counterparts from Chapter 4.

Theorem 6.1.5. Algorithm 6.1.2 is correct. That is, it terminates, and the resulting output is indeed as indicated.

Proof. The reasoning is similar to that used to prove Theorem4.1.4.

From Lemma 6.1.4we have that the algorithm terminates, and from Remark6.1.2we have that if the output is a coloring of G, then it is indeed a proper coloring in colors 2, 3, . . . , k. Thus it remains to show that if the output is a tree, then the tree is indeed isomorphic to T with each ui having color i in G.

Except for the initial vertex u1, a vertex is added to T0 precisely when an edge is added to T0. Thus |E(T0)| + 1 = |V (T0)| and so T0 is a tree. Since Nout(ui) = |Ci| = Nout(vi) then T0

is isomorphic to T . Clearly each ui is color i after Algorithm 6.1.2recolors the vertices of G. Thus it suffices to show that each ui was not recolored. Clearly u1 is not a recolored vertex, since the algorithm never recolors a vertex to color 1. Let u` be the vertex of minimal index that was recolored. Then ` > 1. Since u` was recolored then u` was color j some point during the algorithm, where ` ∈ Cj. Since ` ∈ Cj, then uju`is an arc in T0. However, ` was of minimal index. Since j < ` then uj was originally color j. This implies that uj and u` were adjacent vertices of color j at some point during the algorithm, contradicting G being properly colored at each step. Thus u` must be color ` in the original coloring, and so each ui was not recolored.

Thus T0 is indeed a tree isomorphic to T with each ui being color i in G.

6.2 The Rainbow Tree Theorem

With this algorithm, we can simply prove the Rainbow Tree Theorem.

Theorem 6.2.1 (Rainbow Tree Theorem). Let G be a graph, let k = χ(G), and let T be a tree on k vertices with vertices v1, v2, . . . , vk. Let C = {c1, c2, · · · , ck} be a permutation of the ordered list {1, 2, . . . , k}. Then any proper k-coloring of G contains a rainbow tree T0 such that vi has color ci.

Proof. Let G be a graph that is properly colored with k = χ(G) colors. Without loss of generality, let ci= i. Apply Algorithm6.1.2to G. Since G was properly colored with k = χ(G) colors, no proper (k −1)-coloring of G exists. Since Algorithm6.1.2terminates, then the output must be the desired rainbow tree.

6.3 Another Criterion for the Chromatic Number

Theorem 6.3.1 (Rainbow Tree Criterion). Let G be a graph that permits a proper k-coloring. Then χ(G) = k if and only if every proper k-coloring of G contains every possible rainbow k-tree.

The proof is essentially identical to the Rainbow Path Criterion. Further, to show that χ(G) = k, is it still insufficient to find just one proper coloring using k colors containing rainbow k-trees of every color order. In fact, Hk provides the counterexample for this as well.

It is very interesting to note that the Rainbow Tree Criterion (RTC) is stronger than the Rainbow Path Criterion (RPC) in the forward direction, but RPC is stronger than RTC in the reverse direction!

CHAPTER 7. PROPER COLORINGS USING EXTRA COLORS

There are examples where k > χ(G) such that there exists proper k-colorings of G with no rainbow k-paths being present in G. As such, an interesting problem to investigate are the cases where k = χ(G) + ` for some positive integer `.

7.1 Bipartite Graphs

Naturally we first consider graphs with chromatic number 2 (since χ(G) = 1 implies G = K1, which cannot be properly k-colored for k > 1). That is, we consider bipartite graphs.

Lemma 7.1.1. Any properly 3-colored Pk contains a rainbow 3-path. Proof. Since Pk is properly 3-colored then k ≥ 3. We proceed by induction.

The lemma is clearly true for k = 3, establishing base case. Suppose for the inductive hypothesis that every properly 3-colored Pn contains a rainbow 3-path for some integer n at least 3. Consider any properly 3-colored Pn+1 graph.

Let u and v be the leaf vertices of the path graph, and let cu and cv be the colors of u and v, respectively. Note that cu and cv could be the same color.

Suppose u is the only vertex of color cu, and suppose v is the only vertex of color cv. Then deleting u and v yields a path on at least two vertices that is properly 1-colored, a contradiction. Thus without loss of generality there are at least two vertices of color cu.

Then deleting u yields a properly 3-colored Pn graph, which by the inductive hypothesis contains a rainbow 3-path. Thus every properly 3-colored Pn+1 graph contains a rainbow 3-path, proving the inductive step.

Theorem 7.1.2. Any properly 3-colored bipartite graph contains a rainbow 3-path.

Proof. Let G be properly 3-colored. Since G is bipartite, then the vertex set V (G) may parti-tioned into independent sets X and Y . Since there are three colors and two vertex partitions,

then by pigeonhole principle there must be a partition that has vertices of at least two of the colors. Without loss of generality, let u and v be vertices in X of different colors.

Since G is connected then there is a path P from u to v. Since u and v belong to the same partition then this path P must contain an odd number of vertices. Add edge uv to the graph. Then P + uv is an odd cycle. Since u and v were different colors, then G + uv is still properly colored – in particular, P + uv is a properly colored odd cycle, and so must be properly 3-colored. Thus P in the original graph is properly 3-colored, and so by Lemma7.1.1

G contains a rainbow 3-path.

Note that a properly 3-colored bipartite graph might not have a rainbow 3-path of every color order. The simplest counterexample is a properly 3-colored P3 – if the vertices of P3 are colored c1c2c3 in order, then clearly it contains no rainbow 3-path with color order c1c3c2.

However, the guarantee of a rainbow k-path no longer holds on bipartite graphs when k > 3: Proposition 7.1.3. Let k > 3 and let G be a bipartite graph. If the vertices of G can be partitioned into independent vertex sets X and Y such that X is nonempty and |Y | ≥ k − 1, then there is a proper k-coloring on G such that G cannot contain a rainbow k-path.

Proof. Let X and Y be partitions of V (G) that satisfy the hypothesis. Color all vertices in X with color c1, and color Y with the remaining colors. Since Y contains at least k − 1 vertices, then G has been properly k-colored.

Since k > 3, we note that any k-path in G must have at least two vertices in X. However, all vertices in X are color c1, so every k-path in G contains at most k − 1 colors. Thus G cannot contain a rainbow k-path.

This result can be generalized to a larger number of bipartite graphs:

Proposition 7.1.4. Let k > 3 and let G be a bipartite graph on at least k vertices. Suppose there exists a positive integer ` ≤ k/2 − 1 such that the vertices of G can be partitioned into independent vertex sets X and Y with |X| ≥ ` ≥ 1 and |Y | ≥ k − `. Then there is a proper k-coloring on G such that G cannot contain a rainbow k-path.

Proof. Let X and Y be partitions of V (G) that satisfy the hypothesis. Color the vertices in X with colors c1, c2, . . . , c`, and color Y with the remaining colors. Since X contains at least ` vertices and Y contains at least k − ` vertices, then G has been properly k-colored.

Note that any k-path in G must have at least bk_{2}c vertices in X. Then any k-path in G
must have at least ` + 1 vertices in X. However, all vertices in X are only one of ` colors, so by
pigeonhole principle every k-path in G contains two vertices in X of the same color. That is,
every k-path in G contains at most k − 1 colors. Thus G cannot contain a rainbow k-path.

7.2 Non-bipartite Graphs

As noted earlier, if G is a graph with χ(G) = 1 then G = K1 and so cannot be properly k-colored for any k > 1. Thus we are considering graphs with chromatic number three or larger. Proposition 7.2.1. Let G be a graph with chromatic number ` > 2. Suppose k ≥ ` + 2. If the diameter of G is at least k + 1, then there exists a proper k-coloring of G that contains no rainbow k-paths.

Proof. Let G satisfy the hypothesis. Since the diameter of G is at least k + 1, then G contains at least k + 2 vertices. Let x, y be vertices of G such that the distance between x and y is at least k + 1. Let x be the only vertex of color ck, and let y be the only vertex of color ck−1. We have k − 2 ≥ χ colors remaining, and G − {x, y} is a graph on k vertices, so we may properly (k − 2)-color the rest of the graph. We now have a properly k-colored G. However, since the distance between x and y is at least k + 1, then no path on k vertices can contain both x and y. Thus any k-path has at most k − 1 colors, so G cannot contain a rainbow k-path.

CHAPTER 8. OPEN PROBLEMS AND POSSIBLE RESEARCH DIRECTIONS

Question 1. Can the Rainbow Star Criterion, the Rainbow Path Criterion, or the Rainbow Tree Criterion be used to prove other results?

As it stands, these criteria seem either too weak or too specialized.

Question 2. Can the Rainbow Path Criterion or the Rainbow Tree Criterion be strengthened by weakening the sufficiency condition?

For example, if NG is a set of proper k-colorings of G where each coloring contains rainbow k-paths of any color order, and MG denotes the set of all proper k-colorings of G, what is the smallest pG= |NG|/|MG| that can guarantee χ(G) = k?

Clearly pG is well-defined and nonzero by Theorem 5.1.1, and Proposition5.1.2 illustrates
that |NG| = 1 is insufficient (that is, pG > _{q} 1

G(k), where qG(x) is the chromatic polynomial of G). One can show that Hk permits (k + 1)kk· k!kproper (k + 1)-colorings in total, so the ratio of colorings that permit rainbow (k + 1)-paths of any color order is at least k!k−2k, which is quite small for large k. In fact, for k = 3 this ratio is a paltry 0.823%, and a computation shows that precisely 6 out of 48 colorings of H2 = P5 permit rainbow 3-paths of any order!

The rapidly shrinking ratio for Hk suggests that for graphs with a large number of vertices, pG need not be that large of a ratio. Of course, this is just an off-the-cuff guess.

Question 3. For integer k ≥ 1, what conditions are necessary to guarantee that a graph with chromatic number ` has a rainbow (k + `)-path?

Question 4. Are there analogous results for directed graphs?

That is, given a properly k-colored digraph D where k = χ(D), what conditions guarantee a transitive rainbow path on k vertices? This is another possible direction for further research. There need not be transitive rainbow paths of every color order, since one can construct a complete graph where some vertex v has in-degree equal to 0. Thus v must be the first vertex in every rainbow path, and so only rainbow transitive paths that start with v’s color can be found in the graph. However, at least one transitive path can always be found in the complete graph, so there will always be at least one transitive rainbow k-path in Kk.

It is also easy to show that every bipartite graph has a transitive rainbow 2-path, and that for any odd number n at least 5 there exists a properly 3-colored digraph D with underlying graph Cn that contains no transitive rainbow 3-paths.

BIBLIOGRAPHY

[1] Reinhard Diestel, Graph Theory, 4th Edition, Springer, New York, 2010.

[2] Andr´as Gy´arf´as, Packing trees into n-chromatic graphs, Discussiones Mathematicae Graph Theory 34 (2014), 199–201.