
Citation 
 Permanent Link:
 http://digital.auraria.edu/AA00007337/00001
Material Information
 Title:
 Computational methods for graph choosability and applications to list coloring problems
 Creator:
 Nelsen, Luke L.
 Place of Publication:
 Denver, CO
 Publisher:
 University of Colorado Denver
 Publication Date:
 2019
 Language:
 English
Thesis/Dissertation Information
 Degree:
 Doctorate ( Doctor of philosophy)
 Degree Grantor:
 University of Colorado Denver
 Degree Divisions:
 Department of Mathematical and Statistical Sciences, CU Denver
 Degree Disciplines:
 Applied mathematics
 Committee Chair:
 Ferrara, Michael
 Committee Members:
 Hartke, Stephen
DeBiasio, Louis Jacobson, Michael Pfender, Florian
Record Information
 Source Institution:
 University of Colorado Denver
 Holding Location:
 Auraria Library
 Rights Management:
 Copyright Luke L Nelsen. Permission granted to University of Colorado Denver to digitize and display this item for nonprofit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.

Downloads 
This item has the following downloads:

Full Text 
COMPUTATIONAL METHODS FOR GRAPH CHOOSABILITY AND APPLICATIONS
TO LIST COLORING PROBLEMS by
LUKE L. NELSEN
B.S., Indiana Wesleyan University, 2012 M.A., Miami University, 2014
A thesis submitted to the Faculty of the Graduate School of the University of Colorado in partial fulfillment of the requirements for the degree of Doctor of Philosophy Applied Mathematics Program
2019
Â© Luke Nelsen 2019
This thesis for the Doctor of Philosophy degree by Luke L. Nelsen has been approved for the Applied Mathematics Program by
Michael Ferrara, Chair Stephen Hartke, Advisor Louis DeBiasio Michael Jacobson Florian Pfender
Date: August 3, 2019
Nelsen, Luke L. (Ph.D., Applied Mathematics)
Computational Methods for Graph Choosability and Applications to List Coloring Problems
Thesis directed by Associate Professor Stephen Hartke
ABSTRACT
A subcubic planar graph is a graph such that every vertex has degree at most 3 and which can be drawn in the plane without any edge crossings. The square of a graph G is the graph obtained from G by adding edges between pairs of vertices which have distance 2 in G. Wegner (1977) conjectured that the square of any subcubic planar graph has chromatic number at most 7, and Cranston and Kim (2008) asked if this conjecture could be extended to list coloring. We prove this stronger result, that the square of any subcubic planar graph has list chromatic number at most 7.
Our proof of the above result uses the discharging method and shows the /choosability of many reducible configurations. A graph G is /choosable for a function / : V(G) â€”> N if G admits an Lcoloring for every list assignment L with the property \L(v)\ > f(v) for each v G V(G). However, /choosability is a n^complete problem, which is higher than NPcomplete in the polynomial complexity hierarchy. Therefore, using computational methods to show /choosability is a challenge. To successfully show /choosability in our list coloring result, we develop and apply new methods, including the Combinatorial Nullstellensatz. Since showing /choosability is applicable to proof techniques in a variety of graph coloring problems, our programâ€™s practicality is of independent interest.
The form and content of this abstract are approved. I recommend its publication.
Approved: Stephen Hartke
IV
To my Lord and Savior Jesus Christ, who proves himself to me time and time again.
v
ACKNOWLEDGEMENTS
I am grateful to Stephen Hartke for many reasons. Not only have our projects been interesting to think about and exciting to complete, but he also modeled other important values of being a mathematician. I appreciate all his advice on career matters beyond the Ph.D., and his understanding during my difficult times helped me to not give up.
I would also like to extend my gratitude to the rest of my advisory committee for their efforts in guiding me through the program: Michael Ferrara, Louis DeBiasio, Michael Jacobson, and Florian Pfender. In addition to his support on my committee, I thank Michael Ferrara for always taking the time to give the best advice he can in all the matters that arise for a graduate studentâ€™s experience. I also thank Louis DeBiasio for introducing me to graph theory and starting me on a successful path to a doctorate degree in my first and very formative years as a graduate student.
I am grateful also to the Department of Mathematical and Statistical Sciences at the University of Colorado Denver for the financial support of the graduate assistantship. I appreciate all the faculty, staff, and peers who made the department a positive place to work for five years. In particular, Nathan Graber, Eric Sullivan, and Cat Graber deserve thanks for their endless patience while sharing an office with me.
Thank you also to my parents, whose encouragement and support allowed me to pursue academics fulltime from an early age.
Most of all, I am indebted to my wife Lauren. As a mathematician, she is outstanding. As a person, she is inspiring. As my dearest friend, she gives me the strength to keep going. She is the reason I made it here.
vi
TABLE OF CONTENTS
CHAPTER
I. INTRODUCTION........................................................... 1
II. BACKGROUND............................................................. 7
2.1 Background: The Discharging Method............................. 7
2.2 Background: List Coloring..................................... 10
2.3 Other Graph Coloring Results Using Computational Methods ... 13
III. COMPUTING FCHOOSABILITY........................................... 15
3.1 Introduction ................................................. 15
3.2 Tools for Determining /Choosability.......................... 16
3.2.1 Degeneracy and Greediness .............................. 16
3.2.2 The Combinatorial Nullstellensatz....................... 18
3.2.3 Searching All List Assignments.......................... 22
3.2.4 Other Tools for /Choosability ......................... 26
3.3 A New Tool for Determining /Choosability..................... 27
3.3.1 Preprocessing........................................... 27
3.3.2 Vetting the Colorability Classes........................ 30
3.3.3 Pruning during the BacktrackandSearch ............... 33
3.3.4 Ordering the Colorability Classes and Vertices.......... 35
3.4 Applying the Combinatorial Nullstellensatz.................... 37
3.5 Example Applications.......................................... 40
3.5.1 Small NonChromaticChoosable Graphs.................... 40
3.5.2 List Coloring Conjecture for Cubic Graphs............... 41
3.5.3 Non4Choosability of Planar Graphs..................... 42
3.6 Concluding Remarks............................................ 44
IV. SUBCUBIC PLANAR GRAPHS ARE 7SQUARECHOOSABLE........................ 48
4.1 Introduction ................................................. 48
vii
4.2 Properties of a Minimal Counterexample........................ 51
4.3 What It Means for a Configuration To Be Reducible............. 52
4.4 Showing Reducibility.......................................... 55
4.5 Generating Realizations for Configurations.................... 60
4.6 Discussion of the Target Set.................................. 67
4.7 Discharging................................................... 68
4.8 Concluding Remarks............................................ 80
REFERENCES.................................................................. 84
APPENDIX
A. Source Code for choosability .py................................... 88
B. Source Code for Lemma 4.17.......................................... 108
C. Source Code for Lemma 4.25.......................................... Ill
D. Source Code for Lemma 4.33.......................................... 113
E. Source Code for Lemma 4.34.......................................... 125
F. Source Code for checking_realizations.py........................... 129
G. Discussion of Code Implementation for Chapter IV................... 150
H. Reducible Configurations for Theorem 4.9........................... 157
viii
LIST OF TABLES
TABLE
3.1 Connected NonChromaticChoosable Graphs for Each Order up to 8 ... . 40
3.2 Cubic Graphs for Each Even Order up to 16............................ 42
3.3 Plane Triangulations with Minimum Degree at Least 4 for Each Order up to 24 43
4.1 Description of Appendices............................................ 50
4.2 The 76 reducible configurations used to prove Theorem 4.9. Each configu
ration is hyperlinked to a corresponding entry in the Appendix with more details......................................................... 61
4.3 Descriptions of Equivalent Configurations ................................. 68
4.4 The Discharging Rules................................................ 69
4.5 Possible Sublists of Small Faces around a Central Face............... 75
4.6 Blocks of Small Faces around a Central (15+)Face, with Charge Bounds . . 76
4.7 Summary of Cases Lemma 4.34.......................................... 80
IX
LIST OF FIGURES
FIGURE
3.1 An Example: The Paw Graph.................................................... 17
3.2 An Example: K%y3 with Small /Values......................................... 20
4.1 A Subcubic Planar Graph Which is Not 6SquareColorable...................... 49
4.2 Examples of Configurations Contained in a Subcubic Plane Graph............... 53
4.3 Examples of How the Configuration 8:48485458 Might Be Contained in a
Graph in Different Ways...................................................... 54
4.4 Three Different Realizations of 3:45 with the Same Core Subgraph ............ 56
4.5 A Realization of 3:57 with Stems of Different Degrees........................ 57
4.6 Two Realizations of 3:57, One of Which Has Close Stems....................... 58
4.7 A General Illustration of Lemma 4.17......................................... 59
4.8 Specific Illustrations of Lemma 4.17 60
4.9 Obtaining the Natural Core Subgraph for the Configuration 535 ............... 62
4.10 Obtaining Another Core Subgraph from the Natural Core Subgraph for the
Configuration 8:4* 5 *4* 4................................................... 63
4.11 Examples Showing that the Conditions in Observation 4.23 Are Necessary . 65
4.12 Example of Pulling Charge by Counting Multiplicity........................... 70
4.13 The Layout of Faces Considered in Lemma 4.30................................. 73
4.14 The Layout of Faces Considered in Case 3 of Lemma 4.30....................... 74
4.15 The Two Realizations of the Configuration 7:4*5*5 Which Are Not Core
Choosable.................................................................... 79
4.16 The Face Labeling Used in Lemma 4.34, and an Illustration of a Specific Case 79
x
CHAPTER I
INTRODUCTION
There are two main results of this dissertation. First, we develop a practical method for determining the /choosability of a concrete graph, along with an implementation programmed in Sage. Second, we prove the list coloring generalization of the subcubic case of Wegnerâ€™s Conjecture. Both of these results are contributions to the held of graph theory. In this introductory chapter, we contextualize these two results and then conclude with a brief description of the remaining contents.
A graph (or simple graph) is a nonempty set of vertices V together with a set E of pairs of vertices (edges). Graphs are useful combinatorial objects for modeling networks and other settings in which a set of objects has pairwise relationships. The held of graph theory, which studies these objects and their properties, is diverse in its questions and methods. Some of these proofs incorporate computational methods, as demonstrated by one of the most famous problems in graph theory: the Four Color Theorem.
The Four Color Theorem is, as the name suggests, a result regarding coloring graphs.
A proper coloring of a graph G is an assignment of colors to the vertices of G such that no edge of G is monochromatic. If there exists a proper coloring of G which uses a total of k colors, then we say that G is kcolorable. The chromatic number of a graph G is the minimum number of colors k such that G is fccolorable. Determining tight bounds on the chromatic number over classes of graphs is the focus of graph coloring problems. An example of such a class of graphs is the set of planar graphsâ€”graphs which can be drawn in the plane without any edges intersecting outside of vertex points. The Four Color Theorem states that every planar graph is 4colorable.
All existing proofs of the Four Color Theorem (see [6, 8, 7, 29, 49, 52]) use reducibility and discharging (colloquially referred to as the discharging method) and use computation to check numerous reducible configurations. Made especially well known by the Four Color Theoremâ€™s proof, these methods have been adopted to other coloring problems. As with
1
the Four Color Theorem, some of these proofs also utilize computation for verifying reducible configurations or discharging rules.
Verifying that a configuration is reducible is a matter of demonstrating that any precoloring from outside the configuration can be extended to the configuration itself. One direct method for doing so (appropriately called precoloring extension) is to generate all possible precolorings on the boundary outside the configuration and for each boundary precoloring find a compatible coloring on the configuration.
Another method is to appeal to a generalization of coloring called list coloring. For a function L which maps vertices to lists of colors, we say that a graph admits an Lcoloring if there is a proper coloring c such that c(v) E L(v) for each vertex v. A graph G is fchoosable for a function / : V(G) â€”> N if G admits an Lcoloring for every list assignment L with the property \L(v)\ > f(v) for each v E V(G). By counting for each vertex in a configuration the constraints that an arbitrary precoloring might impose on the vertex, a list size function / can be obtained from the problem in question. If the configuration is /choosable for this function /, then any precoloring can be extended.
Using the /choosable method has the additional benefit of applying to configurations for list coloring results. If a configuration is /choosable for the / obtained for a coloring statement, then the same extension argument shows that the configuration is reducible in the list version of the coloring statement. Unlike the coloring statement appealing to a more complex coloring variation, a list coloring statement can use the /choosable method of showing reducibility.
However, /choosability is a computationally complex problem. Graph coloring is an NPcomplete problem (see [42]), which means that there is no polynomial time algorithm unless P = NP. On the other hand, determining if a graph is /choosable is n^complete (see [26]), which is is strictly more difficult than NPcomplete unless the entire polynomial hierarchy above P collapses into NP. At first glance, it is not necessarily clear that /choosability is even a finite problem at all. To appreciate the complexity of the
2
/choosability problem, consider what the definition of â€œ/choosableâ€ requires: showing the existence of an Lcoloring for any list assignment L satisfying the list size condition. Hence showing /choosability requires solving very many distinct graph coloring problems. Therefore, using computational methods to show /choosability is a challenge, since the task to be completed grows very fast with the size of the graph and the values of /.
There are several tools for showing /choosability of graphs, but some are better suited for abstract applications to classes of graphs with specified structure. When targeting concrete graphs to hopefully become reducible configurations, the structure of these graphs and the list size functions needed for the problem might not fall into these categories. Additionally, most tools for showing /choosability provide only sufficient conditions and offer no further insight if the graph and list size function in question do not satisfy the conditions.
First Result. We develop and implement a practical tool for determining fchoosability. This tool (i) always definitively provides an answer of â€œyesâ€ or â€œnoâ€, and (ii) executes within a reasonable amount of time for graphs which arise in practice.
To successfully employ computation for showing /choosability in graph coloring problems, we develop and apply new computational methods. By using insights about list assignments and connected subgraphs, and by applying the Combinatorial Nullstellensatz not only to the entire graph but also to every connected subgraph of the original graph, we are able to greatly prune the search space. However, applying the Combinatorial Nullstellensatz requires searching over monomials whose variable powers majorize a fixed list to fold a monomial with nonzero coefficients. So applying the Combinatorial Nullstellensatz itself potentially requires searching an exponential number of objects. By finding a way to effectively apply the Combinatorial Nullstellensatz in situations which result in large search spaces, we are able to use our observations to show /choosability for many graphs in a tractable time frame.
Because of the relevance of /choosability, our methods are of independent interest. We
3
also use this tool to obtain the other major result of this dissertation, the list version of Wegnerâ€™s Conjecture.
Second Result. We prove that the square of every subcubic planar graph has list chromatic number at most 7. This bound is sharp.
A graph is subcubic if every vertex has degree at most 3. The square of a graph G is the graph obtained from G by adding edges between pairs of vertices which have distance 2 in G. In 1977, Wegner [61] conjectured that the square of any subcubic planar graph has chromatic number at most 7. After several decades, this conjecture was proved independently by Thomassen [58] and by Hartke, Jahanbekam, and Thomas [33]. In 2008, Cranston and Kim [19] proved that the square of every subcubic nonPetersen graph is 8choosable and asked if Wegnerâ€™s Conjecture can be extended to list coloring.
Although the list analog of Wegnerâ€™s Conjecture is a natural question, it is a difficult one. There has been recent work bounding the list chromatic number of squares of subcubic planar graphs which also have girth conditions, but no papers concerning this topic pose the unrestricted list version of the statement as a conjecture. A proof of the statement brings some challenges. With list coloring, standard coloring arguments which show that a minimal counterexample is 2 or 3connected do not apply since colors assigned to vertices cannot simply be permuted. Additionally, configurations in the standard coloring setting are sometimes shown to be reducible by precoloring extension with the assistance of placeholder structures (called reducers). These structures constrain the possible precolorings on the boundary of the configuration. However, such structures have no effect on the constraints imposed by arbitrary precolorings when using the /choosable method in the list coloring setting.
One might look to the two proofs of Wegnerâ€™s Conjecture to see if they can be adapted to the list version. The proof of Hartke, Jahanbekam, and Thomas [33] uses the discharging method and uses precoloring extension to verify the reducibility of 31 configurations. Some of these configurations require reducers, which means they cannot be
4
shown to be reducible in the list setting. Hence even if the remaining configurations can be shown to be /choosable for the appropriate /, there will need to be many more reducible configurations to compensate for the others. Due to the tendency of reducible configurations to be as small as possible while maintaining reducibility, these new configurations would be larger than the ones they replace. In the list setting, finding and showing these configurations to be reducible is significantly more difficult.
On the other hand, the proof of Thomassen [58] does not use the discharging method. Instead, the method relies on decomposing a cubic planar graph into two subgraphs. The decomposition guarantees that one of the subgraphs is (almost) 3colorable in the square of the original graph. The other subgraph is guaranteed to be (almost) planar in the square and thus is (almost) 4colorable in the square. Then, more arguments help attain a proper 7coloring in the square. However, the proof for the decomposition relies on permuting colors and on connectedness conditions, which are not available in the list setting. In the event that the argument could be patched with the removal of these components from an already tedious decomposition proof containing 24 terminal subcases, the result would not necessarily be tractable for human writing or reading.1
Despite the challenges of this problem, we answer the question in the affirmative by proving that the square of any subcubic planar graph is 7choosable. Our proof uses the discharging method and shows the /choosability of many reducible configurations using our program.
In Chapter II, we discuss more about the discharging method, list coloring, and graph coloring results using computation. In Chapter III, we describe some existing tools for determining /choosability. We then discuss our algorithm for determining /choosability and demonstrate our program with a few applications. Having developed our program, in Chapter IV we present our proof that all subcubic planar graphs are 7squarechoosable.
We also include several Appendices to supplement the Chapters. In addition to the
1 However, Thomassen made a decomposition conjecture which, if true, would be a significant step toward proving the list version of Wegnerâ€™s Conjecture.
5
commented source code for all related programs, we also include a table with details for all the reducible configurations for Theorem 4.9. We also include discussion of our practical implementation for some of the mathematical observations in Chapter IV.
For standard graph theory notation or terminology used in this dissertation not explicitly defined, we follow that of West [62],
6
CHAPTER II
BACKGROUND
2.1 Background: The Discharging Method
We provide a description of the discharging method using the Four Color Theorem as an illustration. Consider the following sketch of a proof of the Four Color Theorem: Suppose toward contradiction that not all planar graphs are four colorable (that is, have chromatic number at most four). If this is the case, then of all those counterexamples which are planar yet not four colorable, let G be one which is minimal with respect to subgraphs. That is, no proper subgraph of G is a counterexample. If we can prove the nonexistence of G, then this would imply that there are in fact no counterexamples at all, allowing us to conclude that the theorem is true.
We show that there is a set U of subgraphs which a minimal counterexample G cannot contain because they extend four colorings. If G contains such a subgraph U, then by the minimality of G we know that G â€” U is four colorable and thus that G is actually four colorableâ€”and therefore G is not a counterexample. We also show that G must contain some subgraph from U due to structural propertiesâ€”and therefore G cannot exist.
Such an approach, developed by mathematicians such as Birkhoff [10] and Heesch [36, 37], was ultimately the strategy used by Appel, Haken and Koch [6, 8] in the 1970s to prove the Four Color Theorem. Their proof, as sketched above, is an example of the discharging method. As it is an incredibly involved and tedious one1, the details of their proof do not serve as a particularly illuminating introduction to the discharging method. However, the outline of the Four Color Theoremâ€™s proof illustrates the general idea of reducibility and discharging quite well:
Let G be a minimal counterexample to the claim.
1. (Reducibility) Determine a set U of reducible configurationsâ€”substructures shown to not be contained by G due to its minimality.
1The revised publication [7] is 741 pages including the lists of reducible configurations and class check lists.
7
2. (Discharging) Show that U is a collection of unavoidable configurationsâ€”that in fact G must contain some element of U.
Considering a minimal counterexample (rather than any arbitrary counterexample) leverages information that we may not have otherwise had at our disposal. Taking the Four Color Theorem as an example, we immediately see that any proper subgraph of G must be four colorable. In this sense, G must itself be very close to being four colorable. For example, we can observe that every vertex of G must have degree at least four: otherwise, a vertex with three or fewer neighbors could be deleted from G, resulting in a four coloring of the smaller graph. But then the deleted vertex can be put back into the graph, and the four coloring can be properly extended to include the vertex. So a vertex with degree three or less is a reducible configuration, as its presence shows that G cannot be a minimal counterexample. Observations such as this show that the minimality of G can be valuable in obtaining reducible configurations. Showing such configurations are reducible is the â€œDeducibilityâ€ portion of the discharging method.
As demonstrated by the lowdegree vertex above, the minimality of our purported counterexample G often helps us find reducible configurations which are local in nature. However, concluding that G can nowhere contain any such configuration is a global statement about the graph. For example, knowing that a lowdegree vertex is a reducible configuration allows us to conclude globally that the minimum degree of G is at least four. If one could prove that planar graphs cannot have minimum degree at least four2, then a lowdegree vertex would be an unavoidable configuration and we would have proved the Four Color Theorem. In general, the discharging method shows that reducible configurations are unavoidable by doing the following:
1. Assign charges (real numbers) to objects in G in a way that guarantees a certain fixed total charge. When working with planar graphs, it is typical to apply Eulerâ€™s Formula to determine the fixed total charge. For example, by assigning a charge of 2 Hypothetically, since planar graphs can have minimum degree at least 4.
8
deg(u) â€” 6 to each vertex v and a charge of 2Â£(f) â€” 6 to each face / in a connected planar graph, the total charge is â€”12.
2. Apply a set of rules to the graph so that the charged objects give or take charge from each other (preserving the total charge). In the context of the Four Color Theorem, such rules would give positive charges from vertices of degree greater than six (â€œlargeâ€ vertices) or from faces of length greater than three (â€™â€™largeâ€ faces) to vertices of degree less than six (â€œsmallâ€ vertices).
3. After applying the rules, observe that the absence of configurations from U implies that the current total charge on the graph is different than what we had to begin withâ€”a contradiction. Again regarding our example, we conclude that having no configurations from U means that every vertex and face has charge at least zero, and thus that the total charge is nonnegative.
And so it must be the case that the set U is unavoidable. Developing appropriate rules for this process is the â€œDischargingâ€ portion of the discharging method.
As Appel and Haken discuss in [6], the discharging proof for the Four Color Theorem has a long history of refining the set of reducible configurations, of refining the discharging argument for the unavoidable configurations, and the interplay between these two parts of the argument. This refinement is often necessary when developing discharging proofs, and one sometimes finds that the set of reducible configurations grows in the process. In the case of Appel, Haken, and Kochâ€™s proof of the Four Color Theorem [8], the set of reducible configurations numbered 1482 and needed computational techniques to analyze.3 When Robertson, Sanders, Seymour, and Thomas [49] developed a more streamlined proof of the Four Color Theorem in 1995, they still had a set of 633 reducible configurations which needed to be verified by computer. Steinberger [52] presented a proof using a set of 2822 reducible configurations which included only the â€œmost basic type of reducible configurationâ€ and in doing so exchanged more computer time for simplicity of the
3 Originally, the set they checked contained 1936 members, but were able to to reduce the size down to 1834 and subsequently 1482 without losing unavoidability by the time of publication.
9
reducibility verification.
Despite initial hesitation to accept Appel and Hakenâ€™s proof of the Four Color Theoremâ€”especially prior to their followup publication [7]â€”their work has since become regarded as a valid mathematical proof, even with the necessary computerchecked portion. Gonthier [29] has gone as far as giving a formal program proof of the Four Color Theorem by verifying Robertson, Sanders, Seymour, and Thomasâ€™s proof with the Coq Proof Assistant.
For a more thorough introduction to the discharging method, we refer the reader to
[20]. For surveys on discharging results, we refer the reader to [14, 38].
2.2 Background: List Coloring
The chromatic number of a graph is the minimum k such that each vertex v can be assigned a color c(v) from the list {1,..., k} to obtain a proper coloring. In this sense, each vertex has a choice from a list of colorsâ€”and each vertex can choose from the same list,
{1,..., k}. This notion of coloring can be generalized by allowing the vertices to choose from different lists. Let L be a function which maps vertices to lists of size k. Is there a proper coloring c such that c(v) E L(v) for each vertex vl When vertices represent committees and edges represent two committees having a common member, this question is a formulation of a scheduling problem. Given each committeeâ€™s list of available meeting times, can meeting times be assigned to each committee such that no committee member is doublebooked? The list chromatic number concerns itself with the following version of the scheduling problem: what is the smallest number k such that if each committee gives at least k available meeting times, then meeting times can be assigned to each committee such that no committee member is doublebooked?
We say that a graph admits an Lcoloring for a list assignment L if there is a proper coloring c such that c(v) E L(v) for each vertex v. (For a specified L, we call such a coloring admissible.) We say that a graph is kchoosable if it admits an Lcoloring for every list assignment L with the property \L(v)\ > k for each vertex v. The list chromatic number
10
of a graph is the least k such that the graph is fcchoosable. Whereas the chromatic number of a graph G is denoted by x(G), the list chromatic number is denoted by xr(G). Finally, we say that a graph is /choosable for a function / : V(G) â€”^ M if it admits an Lcoloring for every list assignment L with the property \L(v)\ > f(v) for each vertex v.
Even in nonlist coloring problems, list coloring is relevant if some vertices are given preassigned colors. This is often the case when a strengthened induction hypothesis is used. It is also how configurations are shown to be reducible in induction proofs of coloring results. Upon deleting a configuration from a minimal counterexample, by minimality the remaining subgraph can be colored. If the coloring of the remaining subgraph can be extended to the deleted configuration, then the configuration is reducible. A graph G can be extended from a partial coloring on vertices A C V(G) to a fccoloring of the entire graph G if and only if G admits an Lcoloring when the lists of vertices in A are the preassigned colors (size 1) and L(v) = {1,..., k} for each remaining vertex v. Hence proving that a configuration is /choosable for a certain / is sufficient for showing that the configuration is reducible for a coloring problem.
There is a long history of generalizing coloring results to list coloring analogs. Planar graphs, for example, have a bounded behavior for both of these two graph parameters. Theorem 2.1 (AppelHakenKoch 1977 [6, 8]). Planar graphs are 4colorable.
Theorem 2.2 (Thomassen 1994 [55]). Planar graphs are 5choosable.
Theorem 2.3 (Grotzsch 1959 [30]). Planar graphs with no cycles of length 3 are
3colorable.
Theorem 2.4 (Thomassen 1995, 2003 [56, 57]). Planar graphs with no cycles of length 3 or f are 3choosable.
Theorem 2.5 (AlonTarsi 1992 [5]). Bipartite planar graphs are 3choosable.
It is also worth noting that both x(G) and xr(G) are always bounded above by A(G) + 1. The class of graphs which attain this bound are the same in both cases. Theorem 2.6 (Brooks 1941 [18]). If G is a connected graph with maximum degree A, then
11
x(G) < A if G is neither complete nor an odd cycle.
Theorem 2.7 (ErdosRubinTaylor 1979 [26]). If G is a connected graph with maximum degree A, then Xe(G) < A if G is neither complete nor an odd cycle.
As can be seen above, there are aspects in which coloring and list coloring seem to behave similarly. However, there are also aspects in which these two parameters differ. Theorem 2.8. The 2colorable graphs are those without any odd cycles.
Theorem 2.9 (ErdosRubinTaylor 1979 [26]). The 2choosable graphs are trees and the graphs which, when vertices of degree 1 have been successively deleted, have remaining as connected components even cycles and/or 02,2,2mgraphs.
Theorem 2.9 means that not all bipartite graphs are 2choosable. In fact, in the same paper it is also shown that the bipartite graph Km,m with m = (2fcAT1) is not fcchoosable. Hence the class of bipartite graphs has unbounded list chromatic number. This shows that in some cases, the list chromatic number captures a very different aspect of graphs than the chromatic number does.
There is one final and critical distinction we must make from a complexity standpoint. For a review of the terminology regarding the polynomial hierarchy, see Garey and Johnson [28].
Theorem 2.10 (Karp 1972 [42]). CHROMATIC NUMBER is NPcomplete. Theorem 2.11 (ErdosRubinTaylor 1979 [26]). /CHOOSABILITY is Hffcomplete.
The choosability problem remains n^complete even under significant restrictions. For example, it follows from Theorems 2.9 and 2.5 that the list chromatic number of a bipartite planar graph can be determined in polynomial time. Yet Gutner4 [31] showed that the problem of deciding whether a bipartite planar graph G is /choosable given / : V(G) â€”> {2, 3} is still n^complete. (Note that /CHOOSABILITY is a different problem from LIST CHROMATIC NUMBER.)
Despite that list coloring is an algorithmically difficult problem, in the context of 4Later, Gutner and Tarsi [32] attribute this result to Erdos, Rubin, and Taylor [26].
12
reducible configurations it often does not require an even more difficult problem for assistance. Reducible configurations for nonlist coloring problems are often shown to be /choosable for some /, which is using a more difficult type of coloring problem. However, showing this /choosability for the configuration is often sufficient to prove reducibility in the list coloring version of the problem as well, since the coloring extension argument is the same. Hence in the context of discharging proofs, fist coloring results may be as accessible as their nonlist counterparts if the difficulty barrier can be broken for the reducible configurations.
Sections 3.2.1 and 3.2.2 discuss common methods for proving /choosability for graphs.
There has been much more work in list coloring than has been mentioned here, as well as further generalizations of list coloring. We refer the reader to [2, 14, 20, 48] for surveys on these topics and to books [23, 62, 63] that contain sections on list coloring.
2.3 Other Graph Coloring Results Using Computational Methods
Proofs of some theorems other than the Four Color Theorem also have many reducible configurations. Sometimes, these may be able to be inspected in cases together by hand. For example, Borodin [13] verified â€œsome 450 reducible configurationsâ€5 to prove Griinbaumâ€™s conjecture on acyclic colorings of planar graphs. A major piece of this achievement is that one lemma (Lemma 9) simultaneously proves the reducibility of 400 configurations. In such cases when there are shared and easily recognizable properties of configurations, use of computers is not necessary. More recently, several projects have used configurations which are difficult to verify by hand, and we have collected them here. Some proofs do not use discharging but still make use of reducible configurations. In addition, these results span a range of coloring variants.
For example, Diemunsch, et al. [22] used computation to verify reducibility for their 4 configurations when bounding the colorblind index of a class of cubic graphs. They also used computation to verify a coloring extension property of a variable gadget in a separate 5 Quote from [20].
13
complexity result.
To obtain results for the strong chromatic index of graphs, DeOrsey, et al. [21] used a computer to verify reducibility for 38 of their configurations. Interestingly, they also used a computer to verify the reducibility of an additional configuration via the Combinatorial Nullstellensatz (see Section 3.2.2) by determining the coefficient of a certain monomial in the expansion of the graph polynomial.
Brimkov, et al. [17] used discharging to improve an injective choosability result on subcubic planar graphs. Their proof used computational techniques to verify reducibility for 25 families of reducible configurations by finding AlonTarsi orientations (see Section 3.2.2).
Hartke, Jahanbekam, and Thomas [33] proved the subcubic case of Wegnerâ€™s Theorem using a discharging argument for which the precoloring extension of the 31 reducible configurations was verified by computer using 100 days of total CPU running time.
Dvorak, et al. [24] used discharging to prove a cyclic coloring result towards a conjecture of Plummer and Toft. Their proof used computational methods to verify reducibility via precoloring extension for 33 of their 40 configurations, and also to verify the discharging rules for vertices and faces. In addition, the authors used a linear program to optimize the amounts of charge moved in the discharging rules [43].
Toward the Cyclic Coloring Conjecture, Hebdige and Kraiâ€™ [35] used a discharging argument with 193 reducible configurations and 103 discharging rules. They were able to verify the reducibility of all the configurations with six lemmas, but checked their proofs with computational methods. Additionally, they required computational resources to verify the final charges for 5 and 6faces.
In Chapter IV, we use a discharging argument in which we use computation to generate and verify 88 reducible configuration and to verify the final charge of faces with length between 7 and 14.
14
CHAPTER III
COMPUTING FCHOOSABILITY
3.1 Introduction
In this chapter, we present our program for determining if a graph is /choosable. We review other methods and discuss the aspects of our program which make it effective in practice despite the complexity barrier.
A coloring of a graph G is a function c on V(G). We say that c is proper if c(u) ^ c(v) for every edge uv in G. The chromatic number of a graph is the minimum k such that each vertex v can be assigned a color c(v) from the list {1,,k} to obtain a proper coloring. For a coloring c of a graph G, a color class is the set of all vertices receiving a given color. If i is a color, then the icolor class is {v G V(G) : c(v) = *}, the set of vertices receiving color i. If range(c) = {1,..., k} for some k G N, then c can be represented by the list Ai,..., Ak where each A* is the zcolor class. A proper coloring c on a proper subset of vertices is a partial coloring.
A list assignment L on a graph G is a function on V(G) which maps each vertex to a set of colors. We say that a graph admits an Lcoloring for a list assignment L if there is a proper coloring c of G such that c(v) G L(v) for each vertex v. When L is understood, we call such a coloring admissible. For a list assignment L on a graph G, a colorability class is the set of all vertices which have a given color in their list. If i is a color, then the icolorability class is {v G V(G) : i G L(v)}, the set of vertices with i in their list. If U L(v) = {1,..., k} for some k G N, then the list assignment L can be represented by the list Ai,..., Ak where each Ai is the zcolorability class. The multiplicity of a colorability class A in a list assignment L = A1;..., Ak is the number of indices i G {1,,k} such that Aj = A. We say that a list assignment L' = A[,, A'k, contains another list assignment L = A\,..., Ak if {Ai,..., A*,} C {A(,..., A'k,} (as multisets). A list assignment L = A\,..., Ak on a graph G is connected if the induced graph G[A*] is connected for each i e {1,... ,k}.
15
A list size function f on a graph G is a function / : V(G) â€”> N. Given a list size function /, we say that a list assignment L is ffull (or simply full, if / is understood) if \L(v) \ = f(v) for each vertex v. We say that L is an /partial (or simply partial) list assignment if \L(v)\ < f(v) for each vertex v and if L is not full. When / and the graph are understood, we say that a list assignment L is bad if it is full and the graph admits no Lcoloring. We say that a graph G is fchoosable if there exists an Lcoloring for every /full list assignment L of G. We say that a graph is kchoosable if it is /choosable for the constant list size function f{v) = k. The list chromatic number of a graph is the least k such that the graph is fcchoosable.
In Section 3.2, we discuss some of the tools used for showing /choosability. In Section 3.3, we describe our tool for determining /choosability. In Section 3.4, we describe our implementation for applying the Combinatorial Nullstellensatz so many times in our program. We conclude with some thoughts and questions in Section 3.6. The code for our program can be found in Appendix A. Our implementation uses SageMath [54],
3.2 Tools for Determining /Choosability
Our focus in this section will be on three methods for showing /choosability which we will incorporate into our own algorithm. After discussing these in Sections 3.2.1, 3.2.2 and 3.2.3, we will also mention other approaches to list coloring which have their own merits in Section 3.2.4.
3.2.1 Degeneracy and Greediness
When trying to prove that a specific graph is /choosable for a particular list size function /, the most common approach used in the literature is to choose an ordering of the vertices and observe the worstcase scenario under a greedy coloring which respects this ordering. For example, consider the paw graph G on vertices {w,x,y,z} and edges {wx,xy,xz,yz}. See Figure 3.1.
16
2
Figure 3.1: The paw graph. The list size of each vertex is given as a boxed number.
Let the function / be defined by f(w) = f(y) = 2, f(x) = 3, and f(z) = 1, and also consider the vertex ordering z,y,x,w. Upon coloring z, at most one color becomes unavailable from the lists of x and y; so y still has an available color and we choose that color. Then, x still has at least one available color, which we choose. Until coloring x, both colors in the list of w were available; after coloring x, at least one remains available to assign to w. Hence G is /choosable.
We say a graph G is hdegenerate for a function h : V(G) â€”> N if there exists a vertex ordering such that each vertex v has at most h(v) previous neighbors in the ordering.
When h is a constant function mapping to a value k, we write that G is kdegenerate.
From the above greedy coloring method, we make an observation.
Observation 3.1. Consider a graph G and a list size function f. If G is (/ â€” l)degenerate, then G is fchoosable.
It is often the case that a graph is /choosable but not (/ â€” 1)degenerate. However, greedy coloring can be strengthened with case analysis. For example, even cycles are not
1 degenerate but are close to being 1degenerate in the sense that every proper subgraph has minimum degree at most 1. Now consider the following proof that even cycles are
2 choosable. Let L be a list assignment on C2k such that \L(v) \ = 2 for each vertex v. If L is constant, then L has an admissible coloring since C2k is 2colorable. So suppose there exist adjacent vertices u,v such that L{u) \ L(v) yt 0, and assign u a color from
L{u) \L(v). By greedily coloring the remaining vertices cyclically about C2k from u to u, we obtain an Lcoloring.
17
Sometimes, greedy approaches with case analysis are not tractable for proving that a graph is /choosable for a given /. However, it is always worthwhile to use partial information about greedy coloring.
Observation 3.2. Consider a graph G and a list size function f such that f(v) > deg(w) for some uertex v. Then G is fchoosable if and only if G â€” v is f\G~vchoo.sable.
Observation 3.2 implies Observation 3.1, but more importantly it allows for preprocessing an input graph G and list size function /. If there are any vertices with large list sizes, we need only consider the graph remaining without them.
In light of the above observation, a natural question to ask is whether a graph is /choosable for the list size function defined by f(v) := degG(u). We call such a graph degreechoosable. A block of G is a maximal 2connected subgraph, and a Gallai tree is a connected graph for which every block is an odd cycle or a complete graph. The following theorem characterizes degreechoosable graphs.
Theorem 3.3 (ErdosRubinTaylor 1979 [26]). A connected graph is degreechoosable if and only if it is not a Gallai tree.
3.2.2 The Combinatorial Nullstellensatz
One of our primary tools, the Combinatorial Nullstellsatz, is derived from polynomial methods.
Theorem 3.4 (Combinatorial Nullstellensatz, see [3]). If Y\a=i a monomial with nonzero coefficient in a polynomial p hauing degree Ym=i A over a fie^ ^ ant^ > â€¢ â€¢ â€¢ > Sn
are sets with S) > A for 1 < i < n, then p(x) yt o for some x e S\ x â€¢ â€¢ â€¢ x Sn.
Let G be a graph with vertices V = {?q,..., vn} and edges E. The graph polynomial of G is defined by
Pg(x) = (xixj).
ViVjÂ£E
i
Given a list size function / on vertices v\,..., vn, we say that a monomial Y\a=i is fappropriate if U < f(vf) â€” 1 for all i.
18
Given a list assignment L and setting Si := L{vf) for each i, we have that x = (x\,..., xn) induces a Lcoloring (dehned by c{vf) = Xi for each 1 < i < n) if and only if Pg(x) yt 0. Hence the following is corollary to Theorem 3.4 (the Combinatorial Nullstellensatz).
Corollary 3.5 (AlonTarsi 1992 [5]). IfYlâ„¢= ^xf is a monomial of pc with nonzero coefficient and f is a function with f{vf) > U for 1 < i < n, then G is fchoosable.
To illustrate this we return to the example of the paw graph G in Figure 3.1. Letting x, w, y, z also be the variables for their respective vertices in the graph polynomial, we have
pG(^(w,x,y,z)^ = (w  x)(x  y)(x  z)(y  z)
= wx2y â€” wxy2 â€” x3y + x2y2 + wy2z + x2yz â€” xy2z
â€” wx2z + x3z â€” x2yz + wxz2 â€” wyz2 â€” x2z2 + xyz2.
Since the coefficient of the monomial w1x2y1zÂ° = wy2z is nonzero, we have that G is /choosable for any / with f(w) > 2, f{x) > 3, f(y) > 2, and f(z) > 1.
Corollary 3.5 is stated as an application to list coloring on vertices, but it is just as relevant to other coloring variants. By applying Corollary 3.5 to the appropriate conflict graph, the same method can be applied in other list coloring settings such as edge coloring, total coloring, or distance coloring. In all these cases, the respective polynomial is a product of factors corresponding to conflicts in the graph. DeOrsey, et al. [21] employed this method to a specific graph in the context of the strong chromatic index, using the computer algebra systems Magma and Sage to identify the coefficient of a monomial in a polynomial of degree 60.
While the Combinatorial Nullstellensatz is a useful tool, it also has shortcomings when applied to specific graphs we might encounter in our reducible configurations. For example, Corollary 3.5 provides a sufficient condition, but not a necessary one. If the coefficients of all /appropriate monomials in the polynomial expansion are zero, then we are given no
19
information regarding the /choosability of our graph. In the case of Corollary 3.5, this might occur when (J2veV f(v)) â€” n is at least the degree of the polynomial, but it is guaranteed to occur when the value is less. For example, consider the graph K3y3 and the function / defined by assigning 3 to one vertex of K3y3 and 2 to the remaining five vertices. See Figure 3.2. To apply Corollary 3.5, we need to identify a monomial nlLi xt such that U < fivi) â€” 1 for each i. However, our choice of / implies that any such monomial has degree at most 7, whereas Pk3,3 has degree 9. So the Combinatorial Nullstellensatz tells us nothing in this case, even though K3>3 is in fact /choosable. (This is shown by the method in Section 3.2.3.)
Figure 3.2: The complete balanced bipartite graph on 6 vertices. The list size of each vertex is given as a boxed number.
Although Corollary 3.5 provides only a sufficient condition, it is compatible with greedy coloring.
Lemma 3.6. Let G be a graph, let f be a list size function on G, and let v be a vertex of G. If all f\Gvappropriate monomials of pcv have coefficient 0, then all fappropriate monomials of pc have coefficient 0.
Proof. We denote by p [J([ xf~\ the coefficient of a monomial xf in a polynomial p. Label the vertices of G as v3,..., vn such that v = vn, and let S be the set of indices of the neighbors of vn. Observe that pG = Pgv â€¢ Ps, where ps := rites'^ â€” Xn)~
Now let niLi be an /appropriate monomial. Since rpc [rail xii] = Â°when ti > degG(ry) for some i, we assume that L < degG(ry) for all i. Define rn := tn, and let R be the set of (n â€” l)tuples (ri,..., rra_i) of nonnegative integers majorized by (t\,..., fâ€ž_i)
20
which sum to degG(ura) â€” tn. Observe that R represents the exponent lists in the expansion of ps [Xn1]) So we have
Pg l i = vg~v nâ€” 1 n*râ€˜ â– Ps 1 â€¢w Â£ ^  1
j=i (ji,...,rnâ€”i)(zR _i= 1 . \i=1 /
If all /Gt;appropriate monomials have coefficient 0 in pG~v, then pG [nr=i^]=o. â–¡
Hence if there is a greedy ordering of the vertices which shows that a graph is /choosable, then Corollary 3.5 will also show that the graph is /choosable. More importantly, using Observation 3.2 does not change the outcome of applying the Combinatorial Nullstellensatz.
A second shortcoming of Corollary 3.5 is that it does not apply to certain aspects of reducibility. Sometimes, an additional placeholder structure called a reducer is used in the induction step which gives the precoloring some additional constraints. The presence of reducers means that there are fewer precolorings to extend to the configuration, and thus the full measure of /choosability is not necessary to check reducibility in the standard coloring setting. However, the Combinatorial Nullstellensatz does not guarantee the existence of a point in a restricted domain, so it is unclear if polynomial methods can be effective with reducers.
A third shortcoming of the Combinatorial Nullstellensatz is the number of /appropriate monomials may be large. When (J2veV f(v)) â€” n is much larger than the degree of the graph polynomial, there are many /appropriate monomials that could feasibly appear in the expansion of the graph polynomial. Searching for an /appropriate monomial with nonzero coefficient in this case is computationally expensive. Our approach to this situation is described in Section 3.4.
Another tool, the AlonTarsi Theorem, is a restatement of Corollary 3.5 which observes that the monomial coefficient has a combinatorial interpretation for the graph G. A directed graph (or digraph) D is a circulation if dp(v) = dp(v) for every vertex v. A
21
circulation is even if its number of edges is even, likewise odd if the number of edges is odd. We denote by diff(D) the absolute difference between the number or even circulations and odd circulations spanning a digraph D. We say that a digraph D is /choosable if its underlying graph is /choosable.
Theorem 3.7 (AlonTarsi 1992 [5]). Let f(v) = 1 + df(v) for each vertex v in a digraph D. If diff(D) yt o, then D is fchoosable.
In [5], Theorem 3.7 is used to prove the noteworthy result that bipartite planar graphs are
3choosable. In such proofs, properties of graphs (such as being bipartite) can give insight into the circulations of classes of graphs.
Interestingly, Theorem 3.7 can also be implemented for concrete graphs. Brimkov, et al. [17] used computation to prove reducibility in an injective list coloring setting. They show some configurations to be reducible by a greedy coloring, and others by an AlonTarsi orientation. For the latter, the computer program searches for orientations D of the configuration which have diff(D) yt 0 and give the correct / for their purposes.
However, in our program we selectively expand the graph polynomial to find an appropriate monomial of nonzero coefficient. This approach seems more effective than an exhaustive search for orientations.
3.2.3 Searching All List Assignments
Another approach to /choosability is to fold Lcolorings for all /full list assignments L. First, it is worth pointing out that this is a finite problem (for finite graphs). Given an /full list assignment L, we have  (J L(v) \ < K, where K = f(v). So for any such list
assignment L, the universe of colors [J L(v) can be permuted to be from the set {1,..., K}. Hence the number of such list assignments up to relabeling is at most [Q < KK. So it is possible to generate each list assignment L using colors from {1,,K} and check to see if the graph admits an Lcoloring. However, the number of list assignments can be so enormously large that an exhaustive search is not feasible.
To prune the search space, we want to make observations during the search that can
22
help reduce the effort. The first way to do this is to consider only one list assignment among all equivalent list assignments. For example, permutating the colors of a list assignment is simply another form of relabeling, and so we want to prevent the generation of permuted list assignments.
Observation 3.8. Let L = A1}..., Ak be a list assignment of a graph G, and let tp : {1,..., k} â€”> {1,..., k} be a permutation. For each i G {1,..., k}, define A[ := A^, and consider the list assignment L1 = A\,..., A'k. Then G admits an Lcoloring if and only if it admits Lâ€™coloring.
So if we put a total ordering on all the possible colorability classes, then there is a canonical representative list assignment for all list assignments which are equivalent up to permuting colors.
Our notation expresses list assignments in terms of colorability classes rather than as lists defined at each vertex. Generating list assignments via vertex lists is possible, but does not help much for pruning the search space. As we will see, there are many benefits of generating list assignments by colorability classes. Next, we observe that only connected list assignments need to be searched.
Observation 3.9 (Stolee 2015 [53]). Let L = A1}..., Ak be a list assignment of a graph G, and suppose that G[Afc] is disconnected. Let A1 be the vertex set of one of the components of G[Ak\, and let A" := Ak \ A1. Consider the list assignment L' = A1}..., Ak_i, A', A". Then G admits an Lcoloring if and only if it admits and Lâ€™coloring. Hence for any list assignment of G, there is an equivalent connected list assignment vrith the same list sizes.
Thus we need consider only the list assignments which can be built out of colorability classes which induce connected subgraphs. By restricting the number of candidates for colorability classes, we restrict the number of list assignments generated. The search space described above can be explored via backtrackandsearch by building a list assignment as a stack of colorability classes. See Algorithm 1.
The backtrackandsearch described in Algorithm 1 can be modified in two ways to
23
Algorithm 1 Generate connected /full list assignments
1 procedure list_assignment_generator(G, /)
2 Â£<[] > the empty list
3 Let Ai,..., At be an ordered list of the (nonempty) subsets of G which induce con
nected subgraphs.
4 subgraphpointerstack [1] t> the list of length 1 containing the element 1
5 notfull V(G)
6 color 0
7 while True do
8 if notfull is nonempty and there is a subset Aj such that Aj C notfull and j >
subgraphpointerstack[color\ then
9 Define k to be the least value of j satisfying the â€œifâ€ condition above.
10 Append Ak to L.
11 Append k to subgraphpointerstack.
12 notfull the set of vertices v of G which appear in fewer than f{v) elements
of L
13 color color+1
14 else
15 if notfull = 0 then
16 yield L
17 end if
18 do while there is no subset Aj such that Aj C notfull and j > sub
graphpointerstack[color]
19 Pop the last element of L.
20 Pop the last element of subgraphpointerstack.
21 notfull the set of vertices v of G which appear in fewer than f(v)
elements of L
22 color colorâ€” 1
23 if color < 0 then
24 return > End generator.
25 end if
26 end while
27 subgraphpointerstack[color\ subgraphpointerstack[color} +1
28 end if
29 end while
30 end procedure
further prune the search space. First, we can change the generator to also yield partial list assignments. By adding a â€œyieldâ€ statement at the end of the â€œifâ€ block in Lines 813, the generator will yield partial list assignments. This is helpful because of the following observation.
24
Observation 3.10. If L and L' are list assignments such that L' contains L, then any Lcoloring is also an L'coloring.
In practice, many full list assignments have admissible colorings which do not use all the colors of the list assignment. By checking partial list assignments in the search process, if we encounter an admissible coloring before the list assignment is full then we know that every full list assignment containing the current partial list assignment has an admissible coloring. Therefore, we can tell the generator to go directly to Line 18.
The first modification leads to the second. Some partial list assignments are very similar and each vertex might have a large intersection between the lists prescribed by two list assignments. So it is likely that a coloring admissible for one partial list assignment is also admissible for another similar partial list assignment. By feeding information about our search to the generator when prompting it for another list assignment, we can leverage the closeness of each step of the list assignment generator. When the generator is told to backtrack from a partial list assignment because of an admissible coloring, the next partial list assignment yielded is likely to be identical to the previous one except at the last colorability class. With so much similarity between the two partial list assignments, there is a significant likelihood that the admissible coloring from the first is also an admissible coloring for the second. To check this, the â€œifâ€ statement at Line 8 can be modified to check (in the setting described by our search) that Aj does not contain the last color class of the previous admissible coloring.
With these modifications, small graphs with small list sizes can be tested for /choosability. For the example from Figure 3.2 in Section 3.2.2, the search process we have described can prove that K$y3 is /choosable where / is 3 on one vertex and 2 elsewhere.
By inspecting 9330 partial connected list assignments, the algorithm verifies that every /full list assignment has an admissible coloring on K$y3. Implemented on a 2.3 GHz Intel Core i5 processor, this search took 3.1 seconds. As mentioned earlier, it is impossible for the Combinatorial Nullstellensatz to tell us anything about this conclusion. A written
25
argument is possible, but the number of cases to consider is tedious for such a small graph.
So our computational tool fills a gap left by other methods for proving or determining /choosablility. However, even for slightly larger graphs or list sizes the approach described in this section quickly becomes intractable. As discussed in Section 3.3, we use this method as the basis for our new tool, but combine the usefulness of the Combinatorial Nullstellensatz to make it effective for practically relevant graphs.
3.2.4 Other Tools for /Choosability
There are other methods for proving choosability which we will not incorporate into our tool but are worth mentioning here. For example, the probabilistic method has many applications in graph coloring. Molloy and Reed [46] use the Lovasz Local Lemma to prove that fclist assignments which have the following property have admissible colorings: each color is seen by at most k/8 neighbors of any one vertex. Alon [4] used this technique to prove that the list chromatic number of graphs with average degree d is bounded below by (A â€” o(l)) lnd as d tends to infinity. However, it is not clear how to leverage probabilistic tools to improve our own method for graphs with low degree.
Another technique is the kernel method, which shows /choosability in terms of outdegree in orientations of the graph. Alon and Tarsi [5] use this method to prove that bipartite planar graphs are 3choosable. Galvin [27] also used the kernel method to prove that the list chromatic index of a bipartite graph is equal to its maximum degree. This result is the most significant progress made toward the List Coloring Conjecture (see Section 3.5.2) for a concrete class of graphs. We do not implement the kernel method as it seems to require more effort to find an orientation with kernelperfect subdigraphs than our method of directly inspecting the coefficients of monomials in the graph polynomial.
In more recent years, a Quantitative Combinatorial Nullstellensatz has been developed and applied as well (see [44, 50]). We originally considered using this tool, as it allows us to compute the coefficient of any desired monomial in the graph polynomial without directly expanding the polynomial. However, it is not clear if these methods can be adapted to
26
quickly search all /appropriate monomials instead of starting from scratch for each monomial. In the end, our methods for applying Corollary 3.5 worked best for our applications.
The following is a lemma which has been used in the literature to restrict the analysis of possible bad list assignments.
Lemma 3.11 (Small Pot Lemma (see [63])). If G is not kchoosable, then there is a bad klist assignment L such that  JL(u) < n Furthermore, the colors of\jL(v) can be represented by the lists of distinct uertices.
The Small Pot Lemma says that if there are bad list assignments, then there is one which uses a small pot of colors in its lists. As we discuss in our concluding remarks (Section 3.6), we wanted to incorporate a suitable version of the Small Pot Lemma but could not. The benefit of such a statement would be the corollary that a subsetâ€™s multiplicity in our search space would be bounded above by its size.
3.3 A New Tool for Determining /Choosability
We combine the methods in Sections 3.2.1, 3.2.2 and 3.2.3 to develop an effective tool for determining the /choosability of a concrete graph G for a specified list size function /. Algorithm 1 (with the modifications discussed in Section 3.2.3) will be the basis for our method. We make several changes to improve the efficacy of the search process.
3.3.1 Preprocessing
As a first step, we see if the input graph G\ and list size function / can be reduced according to Observation 3.2 and Lemma 3.6. We remove any vertex v which has f(v) > degGl(u) to obtain the graph G2. We repeat this process by removing any vertex v of G2 which has f(v) > degGa(u) until there are no such vertices remaining. Call our final graph after this process terminates G^. Then G is /choosable if and only if G^ is /Goochoosable. If G^ is the empty graph, then the ordering in which we removed the vertices of G is a greedy ordering.
As a second step, we check to see if G^ has any vertices v such that = 1. If so,
27
such a vertex v must be assigned the only color in its list in any admissible coloring. Although some list assignments will not assign vâ€™s color to the lists of all vâ€™s neighbors, some list assignments will.
Observation 3.12. Let G be a graph and f a list size function such that f(v) = 1 for some uertex v. Then G is fchoosable if and only if G â€” v is fchoosable, where
I /(rc) â€” 1 ifxeNG{v)
fix) = <
f{x) otherwise.
So if there is any vertex of G^ with an /value of 1, we delete it to obtain a graph G2 and a list size function /2 as described in Observation 3.12. We repeat this process by removing any vertex v of G2 which has /2(A) = 1 until there are no such vertices remaining. Call our final graph after this process terminates G, and the corresponding list assignment /. If / maps any vertex of G to a nonpositive integer, then the structure of the deleted vertices have shown that G^ is not /G^choosable. If G is empty, then the structure of the deleted vertices have shown that the worstcase list assignment has only one admissible coloring.
In this second step, Observation 3.12 can be generalized. For example, if a graph G has two adjacent twin vertices u and v such that f(u) = f(v) = 2, then some list assignments will assign the same two colors to the lists of u and v and to the list of all neighbors of u and v. So G is /choosable if and only if G â€” u â€” v is /choosable, where / is obtained from / by subtracting 2 for all neighbors of u and v. We do not check for any such structures, but such a check could be implemented.
As a third preprocessing step, we apply the Combinatorial Nullstellensatz (that is, Corollary 3.5) to G and /. We use the method described in Section 3.4 for our implementation. If there exists a monomial xlf with nonzero coefficient in pp. such that f(vi) > U for all vertices Vi of G, then G is /choosable and hence G is /choosable. Otherwise, we move on to our programâ€™s primary purpose, the backtrackandsearch.
28
It is worthwhile to remark that the first two preprocessing steps should take place before applying the Combinatorial Nullstellensatz. First we prove another lemma to demonstrate this. The reverse direction is true and proven similarly, but unnecessary for our purposes.
Lemma 3.13. Let G be a graph, let f be a list size function on G, and let v be a vertex of G such that f(v) = 1. Let f be as defined in Observation 3.12. If all fappropriate monomials of Pgv have coefficient 0, then all fappropriate monomials of pc have coefficient 0.
Proof. Label the vertices of G as V\,..., vn such that v = vn, and let S be the set of indices of the neighbors of vn. Using the notation from the proof of Lemma 3.6, observe that
PG â€”PGâ€”v ' â– En) â–
Let niLi^ be an /appropriate monomial. We assume that U < degG(?y) for all i. Since f(vn) = 1, we have tn = 0. Hence pc [a/f] = Pgv â€¢ (rites' x0 â€¢ Then we have Pg [nT=i xt\ = Pgv nr/ r â– (ntesr) > Where xs is the indicator function for the
set S. So niLi r has nonzero coefficient in pc if and only if YIi=i xi has nonzero coefficient in pcv â–¡
By Lemma 3.6 and Lemma 3.13, we know that if Corollary 3.5 shows that G is /choosable, then it also shows that G is /choosable. So if we fold no appropriate monomial with nonzero coefficient in pG, then we would not have found one in pG. Since any reductions from the first two preprocessing steps make the problem simpler, it is always desirable to apply them first.
For ease of notation, we refer to G and / as G and / in the following sections. The remaining search process assumes that any graph and list size function it is given has been preprocessed.
29
3.3.2 Vetting the Colorability Classes
We now describe the aspect of our implementation that most significantly prunes the search space of partial list assignments. Suppose we know that a nonempty set of vertices A is not a colorability class in any bad list assignment. Then we need not generate and check any list assignments for which A is a colorability class. In this case, Algorithm 1 can be modified in Line 3 so that A is removed from the list A\,..., At. Then the partial list assignment generator would not spend any time building partial list assignments which contain A and hence are not contained by any bad list list assignments. This observation demonstrates the usefulness of the following lemma.
Lemma 3.14. Consider some graph G and list size function f. Let A C V(G) and let I C A be an independent set of G, and define the list size function f on G â€” I as follows:
. ^ f f(v), v(Â£A f{v) = <
[/Wl, v e A\I.
If G â€” I is fchoosable, then euery ffull list assignment which has A as a colorability class has an admissible coloring.
Proof. Suppose G â€” I is /choosable and let L = A\,..., At, A be an /full list assignment. Consider the list assignment L' := A[,, A't where A' := Ai\ I for each i E {1,... , t}. Since L' is a /full list assignment on G â€” I, there is an L'coloring P = I\,..., It on G â€” I. Since / is an independent set in G, we can extend the coloring to c = I\,..., It, I to be an Lcoloring on G. â–¡
In our program, we check every nonempty subset of vertices which induces a connected subgraph of G to see if it contains an independent set / as described in Lemma 3.14. We remove any subsets containing such an independent set from the list Ai,... ,At in Line 3 of Algorithm 1, so that any remaining colorability classes are those which might possibly be
30
contained in a bad list assignment.
There are two remarks about this vetting process worth making here. First, to use Lemma 3.14 in our algorithm for determining if G is /choosable, we do not recursively call our program for the smaller problem of determining if G â€” I is /choosable. In the interest of a relatively fast check for Lemma 3.14, we only apply the Combinatorial Nullstellensatz via Corollary 3.5 using the implementation described in Section 3.4. If this application does not conclude that G â€” I is /choosable, then we move on. It is not clear whether any further efforts would be worthwhile.
Second, when looking for such an independent set in A we do not check every single independent set. Instead, we check only the independent sets which are maximal in A due to the following observation.
Observation 3.15. Let I and A be given for a graph G as in Lemma 3.If. Let I' be an independent set of G such that I C I' C A, and let f be defined similarly to f in Lemma 3.If. Since f = f\Gr, we have that if G â€” I is fchoosable, then G\ is f choosable.
Since we only use the Combinatorial Nullstellensatz to check for choosability in this setting, it is worth remarking that we can apply the Combinatorial Nullstellensatz to only the graphs G â€” I such that / is maximal as an independent set. The following corollary follows from Lemma 3.6 by successively deleting any vertices in I' \ I from G â€” I to obtain G â€” I'. Corollary 3.16. Consider some graph G and list size function f. Let A C V(G) and let I and I' be independent sets of G such that I C I' C A. Define f := f â€” xa on G â€” I and define f := f â€” xa on G â€” V. If all f'appropriate monomials of 'Pcr have coefficient 0, then all fappropriate monomials of pci have coefficient 0.
In practice, is is typical that a minority of the subsets remain in the list. Thus the number of list assignments to check is reduced to a small fraction of what it would be otherwise. Recalling the example of Figure 3.2, with the vetting process described our search encounters only 35 partial list assignments (compared to the original 9330).
31
Implemented on a 2.3 GHz Intel Core i5 processor, the search took 0.1 seconds. In fact, there are other cases in which there is no nonzero coefficient for an appropriate monomial in the graph polynomial, but every single subset is ruled out from the search process.
This vetting process is theoretically prohibitive because we store the remaining subsets in memory. However, if the number of subgraphs remaining after the vetting process is too large to store, then the search space will almost certainly also be too large to examine.
As the input graphs grow larger and denser, the number of connected induced subgraphs to vet grows quickly as well. Even though the vetting process makes such a significant difference in the search time, the overhead for applying Lemma 3.14 via the Combinatorial Nullstellensatz to each subset can be a significant task on its own. The following observation is useful for speeding up this initial vetting process.
Observation 3.17. Suppose there exists such an independent set I C A such that G â€” I is fchoosable for the f defined in Lemma 3.1 f. For any set A1 such that I C A1 C A, consider the list function f defined for A' in the same way as f. Since f(v) > f(v) for all vertices v of Gi, we have that G â€” I is fchoosable. Hence A' is not a colorability class in any bad list assignment, either.
Our program reduces the overhead of the vetting process by storing each pair (/, A) that yields a successful application of Lemma 3.14. Then, before applying the lemma to a new subset A1, it checks to see if / C A1 C A for any stored pair (I, A). If so, then by Observation 3.17 we can remove A1 from the list of subsets. In this case, there is no need to store (/, A1) since it provides no new information. If A1 is not sandwiched between any stored pair, then we proceed with Lemma 3.14 as usual.
The effectiveness of Observation 3.17 is heavily dependent on the ordering in which the subsets are considered. For this reason, we generate the subsets in the reverse of colexicographic order. Thus, for any two sets A and B such that A D B, the set A comes before B. This maximizes the possible benefit of Observation 3.17.
The resulting reduction in overhead can be seen in an example from Chapter IV. For
32
this graph G on 15 vertices and 44 edges and the list size function / with outputs [5, 6, 6, 6, 6, 5, 5, 3, 4, 3, 2, 3, 3, 2, 3], we found that G is not /choosable. The running time for vetting all the nonempty subsets which induce connected subgraphs of G by applying the Combinatorial Nullstellensatz to each was 6 minutes, 58 seconds on a 2.3 GHz Intel Core i5 processor. However, the running time when using Observation 3.17 was 42 seconds. Of the 22,749 nonempty subsets which induce connected subgraphs of G, only 339 (I, A) pairs were stored and 22,344 subsets were skipped because of a stored pair. This left only 66 subsets which could be part of a bad list assignment, and then finding a bad list assignment took 11 seconds.
Regardless of using Observation 3.17 to reduce the overhead, the examples above show that examining the search space would be hopeless without vetting all subsets which induce connected subgraphs. In fact, we also use the Combinatorial Nullstellensatz during the search as well.
3.3.3 Pruning during the BacktrackandSearch
The enormous savings gained by vetting the subsets before feeding them to the partial list assignment generator can be extended to dynamic pruning during the backtrackandsearch. We use the following lemma, which is a generalization of Lemma 3.14.
Lemma 3.18. Consider some graph G and list size function f. Let L = A1}..., At be an f partial list assignment, and let c = fi,..., It be an Lcoloring on the set I := (J fi. Define the list size function f on G â€” I by f(v) = f(v) â€” {z : v E Ai\I}\. If G â€” I is fchoosable, then euery ffull list assignment containing L has an admissible coloring. Proof. Suppose G â€” I is /choosable and let L' = A\,..., At, At+1,..., As be an /full list assignment on G containing L. Consider the list assignment L := At+1,... ,AS where Ai := Ai\I for each i E {t + 1,..., s}. Since L is a /full list assignment on G â€” I, there is an Lcoloring c = fi+i, ...,/onG/. Then c U c = h,..., Is is an Lcoloring on G. â–¡
Suppose the search for a bad list assignment has arrived at a partial list assignment
33
L = Ai,..., At and that there exists a partial Lcoloring c such that G â€” I is /choosable as in Lemma 3.18. Then we can backtrack immediately, since there is no full list assignment containing our current partial list assignment. In our program, we apply a measure of how full the current partial list assignment is and set a threshold which can be changed by the user (â€œinprocessâ€). If the measure falls above the given threshold, then we do not check any colorings for Lemma 3.18. Our heuristic reasoning is the following: Since L is fairly full, it is more likely to have an admissible coloring on the entire graph, which is faster to check directly. Using Lemma 3.18 for list assignments which are more full will be more timeconsuming since the number of partial Lcolorings grows quickly with the â€œfullnessâ€ of a list assignment, and we would apply the Combinatorial Nullstellensatz for each one.
If the measure falls below our given threshold, we search for a coloring that satisfies Lemma 3.18. As with vetting the colorability classes, we apply the Combinatorial Nullstellensatz to each candidate coloring because we can do so relatively quickly. We also do not check every single partial coloring, but only those for which each successive color class is maximal with respect to the available vertices. If we find no satisfactory partial Lcoloring, then we continue with the check for an Lcoloring of the entire graph. This followup check is not always redundant. If there does exist an Lcoloring of the entire graph, then it will likely be found by our previous search to satisfy Lemma 3.18. However, the search for the full coloring might find a coloring not found by the search for colorings satisfying Lemma 3.18 since there exist graphs the only proper colorings of which have no maximal color classes.
So by applying the Combinatorial Nullstellensatz quickly for list assignment which are not so full, we can prune large parts of the search while still in the low levels of the search space. Our measure of list assignment â€œfullnessâ€ is arbitrary and tuned to our purposes for Chapter IV, but it can be easily changed. The current measure of fullness is the number of colorability classes in partial list assignment.
Recalling the example of Figure 3.2, we applied the inprocess pruning described above
34
at every step. Our search encountered only 3 partial list assignments, compared to the original 9330 without the subset vetting and the 35 with the subset vetting. Implemented on a 2.3 GHz Intel Core i5 processor, the search took 0.1 seconds.
3.3.4 Ordering the Colorability Classes and Vertices
Next to the significant pruning via the Combinatorial Nullstellensatz before and during the dynamic backtrackandsearch, the next most influential aspect to the performance of our program is the order in which we explore the search space. Based on the modifications to Algorithm 1 we have discussed so far, the single item that affects the order of the search space is the order of the colorability classes in Line 3. For a subset of vertices A, the maximum multiplicity of A is the greatest k such that the program does not find a coloring when applying Lemma 3.18 to the list assignment A, A, ...,A using the Combinatorial
k times
Nullstellensatz. For each subset remaining after the initial vetting, the program applies Lemma 3.18 until it determines the maximum multiplicity.
We found the following ordering to be the most effective in our tests: Order the subsets from least to greatest in terms of maximum multiplicity, and then from least to greatest in terms of size. Our heuristic reasoning for this order is as follows: We want to order the subsets from least to greatest in terms of â€œlikelihood of being in a bad list assignment.â€ In other words, we want to place the subsets which are likeliest to contribute to pruning the search space earlier in the ordering. Since subsets with lesser maximum multiplicity have already demonstrated that they are likely to prune the search space when put into a list assignment with themselves, we assume that they are likely to prune the search space when placed in a list assignment with other colorability classes as well. Since smaller subsets result in higher values of the list size function / defined in Lemma 3.18, we assume that they are more likely to result in a successful application of the lemma. Our program has an option (â€œrevâ€) to reverse this ordering in the event the user wishes to find a bad list assignment quickly instead of move through the entire search space quickly. Since it is not clear that this reverse method is effective even when there does exist a bad list assignment,
35
the program defaults to the ordering described above.
The above ordering seems to be optimal, but it does prevent a certain modification to the dynamic search. Just as we use the top color class when we find a coloring on the entire graph to save time when considering the next partial list assignment, a similar observation about the top colorability class could be applied during the search process to possibly save time from applying Lemma 3.18. However, such an observation would rarely be applicable in our case. During the initial vetting process, we use Observation 3.17 and colexicographic order on the subsets to reduce the number of times we apply the Combinatorial Nullstellensatz. Unlike the colexicographic order during the initial vetting, however, our ordering on the potential colorability classes during the search process limits the helpfulness of this observation. If A appears in the colorability class ordering described in this section, then there are very few, if any, subsets of A which follow A in the ordering. Hence with this ordering it is unlikely that the top colorability class of the next partial list assignment is a subset of the current list asignmentâ€™s top colorability class. In our program, we do not make any effort to save information about an application of the Combinatorial Nullstellensatz.
We also make an additional modification to Algorithm 1 that affects the ordering of the search space. Instead of always choosing the earliest subset Aj satisfying the â€œifâ€ statement in Line 8, we choose the earliest subset which satisfies the â€œifâ€ statement and an additional condition. Because this selection changes the ordering in which the next colorability class is chosen at each step of the generation, we store copies of the list Ai,... ,At which are trimmed at each forward step. The additional condition we use in our selection of a colorability class is the containment of a certain vertex. At each step, we choose this vertex based on how many colorability classes it is in currently. We have two methods for vertex prioritization, â€œEâ€ and â€œLâ€, which can be chosen by the user via the option â€œLAschemeâ€. The â€œEâ€ rule always selects the leastindexed vertex which is in notfull. The â€œLâ€ rule considers the vertices in notfull which are in the fewest number of
36
current colorability classes and selects the leastindexed of these. Whichever vertex is chosen by the rule, the program insists that it be in the next colorability class; if there are no available subsets containing that vertex, then we backtrack since there are no full list assignments containing our current one.
The two rules have different heuristics in mind. The â€œEâ€ rule tries to fill up the lists of earlierindexed vertices as soon as possible, because (as we mention in the following paragraph) these vertices are contained in the fewest number of subsets A1}... ,At. Hence filling up these vertices first results in less branching in our space earlier in the search, which should optimize the pruning of our space. The â€œLâ€ rule tries to fill up the lists of vertices evenly so that all vertices have as few colors in their lists as soon as possible. The idea is that this will help find a coloring of the entire graph more quickly and help keep the search from spending too much time in the deeper levels of the space. In practice, we found that the â€œEâ€ rule was more effective for our purposes in Chapter IV, and so it is the default rule.
Since our two selection rules described above depend on the indexing of vertices, our vertex ordering also affects the effectiveness of the search. To minimize the branching of the search space in the earlier stages of the search, we want as few options as possible for colorability classes containing earlierindexed vertices. So we order the vertices accordingly after the subsets have been vetted as described in Section 3.3.2. The first vertex is one which is in the least number of subsets remaining after the vetting, and the second vertex is one which is in the least number of remaining subsets not already containing the first vertex. Each successive vertex is one which is in the fewest subsets of those not containing the previous vertices.
3.4 Applying the Combinatorial Nullstellensatz
The practicality of our program is contingent on the repeated application of the Combinatorial Nullstellensatz. When applying Corollary 3.5 to a graph G with n vertices and e edges, the graph polynomial pc is a homogeneous polynomial of degree e of n
37
variables. If / is a list size function such that f(v) < e + n, then there is no monomial n xf in pc with nonzero coefficient such that U < fi for all i. If f(v) = e + n, then there is only one possible monomial in pc we need to check, the monomial In either of
these cases, we are either finished immediately or can quickly expand the polynomial to fold one coefficient. However, as f(v) grows larger than e + n, the number of monomials in pG to check grows exponentially. On the one hand, the relatively large /values heuristically mean a higher likelihood of being /choosable, and the large number of monomials with exponent lists majorized by / heuristically means a higher chance of at least one such monomial with nonzero coefficient. On the other hand, checking the coefficients of all the possible monomials is a large task when e is large and ^ f(v) is larger than e + n, and there is no guarantee of a nonzero coefficient existing even if G is /choosable.
When e is large (larger than 30, for example), expanding the entire graph polynomial is out of the question for our applications simply because of memory constraints. Since we do not need the entire polynomial to determine the coefficients of some monomials, this expansion is avoidable. If we need to fold the coefficient of only one monomial [jxf, then we can selectively expand the polynomial variablebyvariable. In this case, expand all the factors containing aq and extract the coefficient of a/1, which will itself be a polynomial of the variables aq,..., xn. Then expand all the remaining factors of pc containing aq (multiplying by the previously extracted coefficient of a/1) and extract the coefficient of x22. Continuing in this fashion, the final scalar coefficient of xwill in fact be the coefficient of Wx1?. So long as the expansion at each step is not too large, memory will not be an issue.
Once the variables which have been expanded correspond to a vertex cover in the graph, then the entire graph polynomial has been expanded. Hence the ordering of vertices directly influences the memory required for expansion at each step. The number of factors expanded for the next variable ay is the number of edges incident with the vertex ay which are not incident to any vertex Vj with j < i. Then, some of this information is discarded
38
according to the coefficient extraction. Generally, some information is kept in storage for future vertex variables. The graph parameter which most directly corresponds to the maximum memory required during any expansion step is called the cutwidth. The cutwidth of an ordering v\,..., vn is the maximum number of edges between v\,Vi and vi+i,... ,vn over all i, and the cutwidth of the graph is the minimum cutwidth of any vertex ordering. Although determining the cutwidth of a graph is NPcomplete [47], there are lineartime algorithms for the fixedparameter version of the problem (see [11]).
However, memory is not the only consideration for the steps described above. We also desire that the time for the polynomial expansion itself be minimized over the entire search. Toward this goal, we want the vertices to be ordered in a way that minimizes the expansion work for the earlier variables. So not only do we want the cutwidth to be bounded for the ordering, but we also want the edge cuts to be even smaller than the cutwidth for the first stages of the expansion if possible. For our purposes, we order the vertices in a greedy way. We choose the first vertex to be one of minimum degree, and then we choose the next vertex to be one of minimum degree to the rest of the graph, and so forth.
Following the steps above for each monomial of degree e which is a factor of [Q 1
is tractable when f(v)) â€” n â€” e is small, but becomes an exponential problem as (S f(v)) â€” n â€” e grows. Instead of expanding for each monomial independently, we use a dynamic backtrackandsearch to prune the space of monomials. We start with the least monomial ordered by lexicographic ordering on the list of exponents H,..., tn, and begin expanding as described above. If at any point the extracted coefficient of a partial monomial â– â– â– xls is 0, we immediately backtrack. If ts < f(vs) â€” 1, we go back only one step. Instead of extracting the coefficient of we extract the coefficient of x*s+1 to arrive at the partial monomial â– â– â– x*s+1. If ts = f(vs) â€” 1 (or if a larger power of xs results in too large a degree for the partial monomial), we go back as many steps as necessary to fall into the above case before moving forward.
The approach described above helps keep each application of Corollary 3.5 relatively
39
quick for situations in which f(v)) â€” n â€” e is not too large.
3.5 Example Applications
To demonstrate the effectiveness of our program on moderatelysized graphs, we present three example applications. In each application, we generate and test all graphs from the class in question up to a certain order.
3.5.1 Small NonChromaticChoosable Graphs
A graph is chromaticchoosable if its chromatic number and list chromatic number are equal. Trees and cycles are chromaticchoosable, but not all bipartite graphs are. To demonstrate the difference between the chromatic number and the list chromatic number, the first canonical example most often provided in the literature in fd33. This graph is bipartite (and therefore 2colorable) but it is not 2choosable. It is not, however, the smallest nonchromaticchoosable graph with respect to the number of edges. There are proper subgraphs of fd3;3 which are also not 2choosable.
We found these graphs by generating all connected graphs on up to six vertices and using our tool to check if each graph is /choosable for the constant / defined by the chromatic number. Interestingly, the smallest graph is planar and thus is the smallest graph attaining the maximum list chromatic number for planar bipartite graphs (which is 3).
This graph can be shown to not be 2choosable with the same bad list assignment as fd33.
We also check the chromaticchoosability of all connected graphs of order up to 8. The number of connected nonchromaticchoosable graphs for each order are listed in Table 3.1.
Table 3.1: The number of (nonisomorphic) connected nonchromaticchoosable graphs for each order up to 8.
Order 2 3 4 5 6 7 8
# NonChromaticChoosable 0 0 0 0 4 15 102
# Connected 1 2 6 21 112 853 11117
Each of the nonchromaticchoosable graphs in Table 3.1 is bipartite and 3choosable.
40
One can see that iO,27 is not 3choosable by assigning the three vertices x, y, z in one part disjoint lists and by injectively assigning the 27 lists in L(x) x L(y) x L(z) to the vertices in the other part. In general, one can generalize the bad list assignment on iL3,27 1Â° show that Kn,nn is not nchoosable. On the other hand, degeneracy and case analysis with greedy arguments shows that any proper subgraph of Kn>nn is nchoosable.
This leads us to the following question.
Question 3.19. What is the smallest graph with chromatic number 3 which is not 3choosable?
3.5.2 List Coloring Conjecture for Cubic Graphs
The line graph of a graph G is the graph which has E(G) as its vertex set and {eie2 : e\ and e2 are incident edges of G} as its edge set. The following conjecture is famous.
Conjecture 3.20 (List Coloring Conjecture (see [12])). If a graph is a line graph, then it is chromaticchoosable.
The List Coloring Conjecture has been proved for bipartite graphs [27]. It has also been proven asymptotically in terms of the maximum degree of the original graph [40]. The conjecture has also been verified for most line graphs of original graphs which have order up to 10 [51].
The chromatic number of the line graph of a graph (called the chromatic index) is known to be at most one more than the maximum degree of the original graph [59]. Such graphs are called Class 2. However, it is still not known if this bound also holds for the list chromatic number of the line graph (called the list chromatic index). However, it is known that the list chromatic index is at most 4 for subcubic graphs [39]. Since the chromatic index of graphs with maximum degree 3 is in {3,4}, this means that the List Coloring Conjecture holds for Class 2 subcubic graphs.
Using our program, we verified the List Coloring Conjecture for all cubic graphs on up to 16 vertices. The line graphs of cubic graphs of order 16 have 24 vertices and 48 edges.
41
The number of cubic graphs for each order are listed in Table 3.2.
Table 3.2: The number of (nonisomorphic) cubic graphs for each even order up to 16.
Order 4 6 8 10 12 14 16
Number 1 2 5 19 85 509 4060
3.5.3 Non4Choosability of Planar Graphs
Thomassen [55] proved that planar graphs are 5choosable. Voigt [60] showed that this bound is tight with an example of a planar graph on 238 vertices which is not 4choosable. Mirzakhani [45] gave an example of a smaller planar graph on 63 vertices which is not
4choosable and is also not 3colorable. We ask the following question.
Question 3.21. Is Mirzakhaniâ€™s graph the smallest planar graph which is not 4choosable?
We check all plane triangulations with minimum degree at least 4 of order up to 24, and all are 4choosable. Hence the smallest planar non4choosable graph has order at least 25. Table 3.3 shows the number of plane triangulations checked for each order.
42
Table 3.3: The number of (nonisomorphic) plane triangulations with minimum degree at least 4 for each order up to 24.
Order Number
6 1
7 1
8 2
9 5
10 12
11 34
12 130
13 525
14 2,472
15 12,400
16 65,619
17 357,504
18 1,992,985
19 11,284,042
20 64,719,885
21 375,126,827
22 2,194,439,398
23 12,941,995,397
24 76,890,024,027
In fact, each of the graphs counted in Table 3.3 were verified using Corollary 3.5. We
ask the following question.
Question 3.22. What is the smallest planar graph G such that pc has no /appropriate monomial with nonzero coefficient, where / is the constant list size function equal to 4?
43
3.6 Concluding Remarks
Our algorithm can easily be parallelized to take advantage of mutiple processors. The largest obstacle to effective parallelization is the vetting of all nonempty subsets which induce connected subgraphs. If the number of such subsets is large, then it would be advisable to run the vetting process separately once and store the list of remaining subsets in a commonly accessed hie. Then, running the backtrackandsearch on residue classes of the first several levels of the search space is easy to implement.
In the application of our tool to Chapter IV, the value f(v)) â€” n â€” e is an interesting parameter. Call this value the disparity of a G, f pair. The smallest disparity we encountered for a choosable G, / pair was â€”1, which is only 1 less than what is necessary for the Combinatorial Nullstellensatz to possibly be conclusive. The largest disparity we encountered for a nonchoosable G, / pair was 3. Perhaps disparity is a useful measure of the likelihood of choosability in other applications.
However, in some situations the disparity can tend to infinities without guaranteeing choosability or nonchoosability. For example, the complete graph Kn is not (n â€” l)choosable for any n, but the disparity of this pair is n â– (n â€” 1) â€” n â€” (â„¢) ~ \n2. On the other hand, the complete bipartite graph Kn,n is (log2(n) + l)choosable for all n, but the disparity of this pair is 2n â– (log2(n) + 1) â€” 2n â€” n2 ~ â€” \{2n)2. It would be interesting to know if there are families of graphs for which the disparity for these phenomena is subquadratic in the number of vertices.
The Small Pot Lemma is easily generalized to /choosability from fcchoosability, and we originally planned to incorporate this result in our search by bounding the maximum multiplicity of subsets. However, this was rarely relevant. Additionally, it is not obvious if it applies to our restricted search of connected list assignments. We include some variations on the Small Pot Lemma here.
44
Lemma 3.23 (Small Pot Lemma for /Choosability). If G is a graph on n vertices which is not fchoosable, then there is a bad list assignment L such that  jL(w) < nFurthermore, the colors of (J L(v) can be represented by the lists of distinct vertices.
Proof. The second statement implies the first, since a set of distinct representatives for all n vertices is a proper coloring. It suffices to prove the lemma when G is assumed to be connected.
Suppose for contradiction that the colors (J L(v) cannot be represented by  (J L(v) \ distinct vertices in any bad list assignment L. Let L be a bad list assignment such that  ljL(u) is minimum. We write L_1 to be the function which maps colors in (J L(v) to their colorability classes under L. By Hallâ€™s Theorem, there is a set of colors T C (J L(v) such that L_1(T) < \T\; let T have minimum size and define A := L~l(T). Then \T\ > 2 and \A\ = \T\  1.
Let c G T. By the minimality of T, we have  > \T'\ for any T' CT \ {c}. So
by Hallâ€™s Theorem, the vertices in A can be represented by the H distinct colors in T \ {c}. Thus G[A] can be properly colored from colors in T \ {c}, and thus G â€” A is not Lcolorable.
Now we change the list assignment on A. Note that for all u G V(G) we assume fiu) < n <  (J L(v)  and thus (J L(v) \ L{u) is nonempty. For each u G L1(c), dehne L'{u) = L{u) U {c!} \ {c} where c! is a color from (J L(v) \ L{u). For all other vertices u, dehne L'(u) = L{u). Then L' is a bad list assignment since G â€” A is not L'colorable. However, L' uses fewer colors than L, a contradiction. â–¡
Lemma 3.24 (Minimal Connected Small Pot Lemma for /Choosability). If G is a graph on n vertices which is not fchoosable but every proper induced subgraph G[A] is f\Achoo.sable, then for every bad list assignment L we have \ U^(T)I < n Furthermore, the colors of\jL(v) can be represented by the lists of distinct vertices.
Proof. This proof is porism to the previous one. Again, it suffices to prove the second statement. Let L be a bad list assignment and suppose that the colors (J L(v) cannot be
45
represented by  jL(w) distinct vertices By Hallâ€™s Theorem, there is a set of colors T C (J L(v) such that L_1(T) < Tj; let T have minimum size and define A = L~l{T). Then \T\ > 2 and A = \T\ â€” 1.
Let c eT. By the minimality of T, we have IT1^)! > \T'\ for any T C T \ {c}. So by Hallâ€™s Theorem, the vertices in A can be represented by the H distinct colors in T \ {c}. Thus G[A] can be properly colored from colors in T \ {c}, and thus G â€” A is not Lcolorable. This contradicts the assumption that G â€” A is /Gnchoosable. â–¡
Conjecture 3.25 (Connected Small Pot Lemma for /Choosability). If G is a graph on n vertices which is not fchoosable, then there is a connected bad list assignment L such that \um\ < n. Furthermore, the colors of\jL(v) can be represented by the lists of distinct vertices.
Observation 3.26. If L is a bad list assignment such that the colors of\jL(v) can be represented by lists of distinct vertices, then every colorability class A of L has multiplicity at most A.
In the development of our tool, we wanted to leverage graph information to help us prune the search space. In particular, if there are any subgraphs which inform the choosability of the entire graph, it could be worthwhile to search for these substructures in a preprocessing step. This led us to the following question.
Question 3.27. Let G be a graph and let / be a list size function on G. For an edge uv not in G, let fuv be defined by fuv{x) := f{x) + 1 for x E {u,v} and by fuv{x) := f{x) otherwise. Can we characterize the G, /, and uv for which G being /choosable implies that G + uv is /â€œ'choosable? Can we characterize the G, /, and uv for which G not being /choosable implies that G + uv is not /â€œ'choosable?
An example on four vertices shows that neither implication always holds. Let Gi be the paw graph (a triangle uvw with a pendant edge ut) and define f(x) = degGl(x). Let G2 â– = G1 + tv and let G3 := G2 + tw = K4. Since G1 and G3 are Gallai trees, this means that G1 is not /choosable and G3 is not (/to)twchoosable. However, G2 is not a Gallai
46
tree and thus is /tochoosable.
Before understanding the usefulness of the Combinatorial Nullstellensatz, we intended to use a connected induced subgraph generator to avoid storing very many subsets in memory and to quickly go between partial list assignments. There are bitlevel algorithms for generating all subsets (not just connected ones) in lexicographic order as discussed by Arndt [9] in Sections 1.26 and 8.1, and Karakashian, Choueiry, and Hartke [41] give an algorithm for generating all induced connected subgraphs for a fixed number of vertices. Such techniques can be modified to generate all connected induced subgraphs, which is of independent interest. However, in our tool the impact of vetting the connected induced subgraphs is well worth storing all the remaining subsets.
We also tried to adapt the Quantitative Combinatorial Nullstellensatz [50] for fast application of Corollary 3.5, but in our applications using our backtrackandsearch for the Combinatorial Nullstellensatz was faster.
47
CHAPTER IV
SUBCUBIC PLANAR GRAPHS ARE 7SQUARECHOOSABLE
4.1 Introduction
We begin with the necessary definitions. A proper coloring of a graph G is a function c on V(G) such that c(u) yt c(v) for every edge uv of G. The chromatic number of a graph is the minimum k such that each vertex v can be assigned a color c(v) from the list {1,... ,k} to obtain a proper coloring. A list assignment L on a graph G is a function on V(G) which maps each vertex to a set of colors. Given a function / : V(G) â€”> N, we say that the graph G is fchoosable if for every list assignment L such that \L(v)\ > f(v) for all v G V(G), there exists a proper coloring c of G such that c(v) G L(v) for each v G V(G). We say that a graph is kchoosable if it is /choosable for the constant list size function f{v) = k. The list chromatic number of a graph is the least k such that the graph is fcchoosable.
The square of a graph G, denoted by G2, is the graph obtained from G by adding edges between pairs of vertices which have distance 2 in G. A graph is called ksquarecolorable if its square is fccolorable and ksquarechoosable if its square is fcchoosable. We say that a graph is subcubic if every vertex has degree at most 3, and cubic if every vertex has degree equal to 3. A graph is planar if it can be drawn in the plane without any edge crossings. The girth of a graph is its minimum cycle length.
The focus of this chapter is proving a tight bound for the list chromatic number for squares of subcubic planar graphs. For a survey of coloring planar graphs, including coloring the squares of planar graphs, we refer the reader to [14]. Here we present results related to the squares of subcubic planar graphs.
In [61], Wegner proved that subcubic planar graphs are 8squarecolorable. He also made the following conjecture, which was proved independently by Thomassen [58] and Hartke, Jahanbekam, and Thomas [33].
Theorem 4.1 (Thomassen [58]; HartkeJahanbekamThomas [33]). Subcubic planar graphs are 7squarecolorable.
48
The graph in Figure 4.1 shows that this bound is tight.
Figure 4.1: An example of a subcubic planar graph which is not 6squarecolorable. The square of the graph is K7.
Without any planarity conditions, Cranston and Kim established an upper bound for the list chromatic number of squares of subcubic graphs.
Theorem 4.2 (CranstonKim 2008 [19]). If G is a subcubic connected graph other than the Petersen graph, then G is 8squarechoosable.
Since the square of the Petersen graph is Kw, there is a gap in the list chromatic numbers of squares of subcubic graphs. No subcubic graph has a square for which the list chromatic number is equal to 9. Since the Petersen graph is not planar, we also have the following corollary.
Corollary 4.3. Subcubic planar graphs are 8squarechoosable.
With additional girth conditions, upper bounds for values less than 8 have been shown for the list chromatic number of squares of subcubic graphs.
Theorem 4.4 (CranstonKim 2008 [19]). Subcubic planar graphs with girth at least 7 are 7squarechoosable.
Theorem 4.5 (CranstonKim 2008 [19]; Flavet 2009 [34]). Subcubic planar graphs with girth at least 9 are 6squarechoosable.
Theorem 4.6 (BorodinIvanova 2012 [16]). Subcubic planar graphs with girth at least 12 are 5squarechoosable.
Theorem 4.7 (see BorodinIvanova 2012 [15]; Dvorak, et al. 2008 [25]). Subcubic planar graphs with girth at least 2f are fsquarechoosable.
49
If a graph contains a 3vertex, then its square contains a copy of K4. Hence no girth condition can guarantee that subcubic planar graphs are 3squarechoosable. Despite the work in this area, no conjecture was stated about the lowest possible upper bound for subcubic planar graphs with no girth condition. Cranston and Kim did, however, pose the question and point out that it need be asked only for cubic graphs.
Question 4.8 (CranstonKim 2008 [19]). Is it true that every subcubic planar graphs is 7squarechoosable?
In this paper, we answer this question in the affirmative. Our result extends the truth of Wegnerâ€™s conjecture to list coloring, improving Corollary 4.3 and Theorem 4.4. Our proof uses discharging with computational methods to verify the reducibility of configurations and the nonnegative final charge.
We have included several appendices to supplement our proof, where the reader can fold the code we used as well. In addition, we have included some discussion to mediate between some of our observations and our programmed implementation. We have also included an expanded list of the reducible configurations from our proof. However, in the interest of space we have omitted any output from our code. For ease of reference, we have listed each of these in Table 4.1.
Table 4.1: Locations of supplemental materials in the appendices.
Source Code for Lemma 4.17 Appendix B
Source Code for Lemma 4.25 Appendix C
Source Code for Lemma 4.33 Appendix D
Source Code for Lemma 4.34 Appendix E
Source Code for checking_realizations .py Appendix F
Discussion of Code Implementation Appendix G
Reducible Configurations for Theorem 4.9 Appendix H
We mention some final notation before beginning our proof. In a plane graph, the length of a face F is the length of its boundary walk, denoted by Â£(F). A face of length k is called a kface, and a vertex of degree t is called an lvertex. A (fc+)face is a face of length at least k, and a (fc_)face is a face of length at most k. A 7listassignment is a list
50
assignment which assigns to each vertex a list of size 7, and a 7squarecoloring of a graph is a proper coloring of the square using colors from {1,..., 7}. For a graph G and a subset of vertices A, we denote by G[A] the subgraph of G induced by A. A subgraph induced by a set of faces and a walk is the graph on the vertices from any of the faces or the walk with the edges from the walk or the boundary walks of any of the faces. For any other standard notation not defined here, we refer the reader to [62],
4.2 Properties of a Minimal Counterexample We prove the following statement via discharging:
Theorem 4.9. Subcubic planar graphs are 7squarechoosable.
When we say that a graph is a minimal counterexample to Theorem 4.9, we mean that it is minimal with respect to the number of vertices.
Observation 4.10. If G is a minimal counterexample to Theorem f.9, then G is cubic and connected.
Proof. If G is disconnected, each component of G can be 7squarecolored from any 7listassignment on G, which forms a 7squarecoloring of the entire graph. If v is a 1vertex of G, then G â€” v can be 7squarecolored from any 7listassignment on G â€” v and v can be added back with a color not assigned to any of its neighbors or second neighbors. Since (G â€” v)2 = G2 â€” v, this yields a proper coloring of G2. If v is a 2vertex of G, then let u and w be the two neighbors of v. Let G' = G + uw â€” v, the graph obtained from G by adding the edge uw if it is not already in G and deleting v. Then G2 â€” v C (G')2. Then G' can be 7squarecolored from any 7listassignment on G â€” v and v can be added back with a color not assigned to any of its neighbors or second neighbors in G. This yields a proper coloring of G2. â–¡
Our proof would be greatly simplified if we could show that a minimal counterexample to Theorem 4.9 is 3connected. However, because color assignments cannot be permuted for an arbitrary list assignment, we are unable to show that a minimal counterexample is even bridgeless. As a result, there are many possibilities for how faces of prescribed lengths
51
might be adjacent to each other in a minimal counterexample.
4.3 What It Means for a Configuration To Be Reducible
As our discharging rules will only exchange charge across edges between adjacent faces, our discharging argument will consider only the lengths of faces adjacent to a specified central face. For our purposes, a configuration describes an adjacency structure among faces in a plane graph, where the facial length list s gives the lengths of faces adjacent to some central face in a cyclic order.
Definition 4.11 (Configuration). A configuration is a set of faces adjacent to a central face such that the lengths of these faces fit a prescribed pattern in cyclic order about the central faceâ€™s boundary walk. We write a configuration as â€œb:sâ€, where b is the central face length and s is an ordering of face lengths (called the facial length list). Characters for b or s come from N U {*}. Characters in s from N correspond to faces in the configuration of that length, while b E N specifies a fixed length for the central face. We will call such faces of specified length specified faces. The wild card character * in s indicates that some face of unspecified length is present in the graph at that point around the central face. If b = *, we call the configuration open and write it simply as â€œsâ€. For our purposes, any facial length list s will begin and end with non* characters in this paper.1 See Figure 4.2 for examples.
A subcubic plane graph contains a configuration b:s\... st if:
1. there is a face F of length b (or any length when b = *), and
2. there is a walk B = v\... vt+i (where V\,..., vt+\ are vertices, possibly not all distinct) on the boundary of F such that for each i E {1,..., t} the face Si across the edge ViVi+i from F (possibly F itself) has length s* (or any length if s* = *), and
3. no edge of G is traversed twice by B in the same direction. That is, for any distinct i,j E {1,..., t} we have either Vi Vj or ty+i Vj+
The walk B is called the spine of the configuration.
1For configurations with a specified central face length, additional * entries have no effect. However, additional * entries might affect open configurations. The configuration 47*44 is not technically equivalent to 47*44* since the latter excludes the possibility that the central face has length 5. We have no need for using this type of restriction in this paper.
52
Since we will not prescribe any specified face lengths greater than 9 in our configurations, we do not need delimiters to separate the entries of a facial length list and we simply write it as a string.
Figure 4.2: Examples of configurations contained in a subcubic plane graph. The central face is crosshatched (red), any other specified faces of the configuration are shaded (blue), and the edges of the spine are thicker than the other edges. Top Left: 3:45. Top Right: 6:3*54. Bottom Left: 345. Bottom Right: 4**4.
A configuration can be contained in a cubic plane graph in nonobvious ways. For example, the four subgraphs shown in Figure 4.3 each contain the configuration 8:48485458. In the figure, the facial length list has been indicated around the boundary walk of the central 8face. The subgraph at the topleft demonstrates the minimal adjacencies among the faces, whereas the other three subgraphs on the right demonstrate how some edges or faces of the configuration might be identified with each other. The other three subgraphs can be obtained from the subgraph at the topleft by identifying vertices. Definition 4.12 (Reducible). A configuration is reducible if it is not contained in any minimal counterexample to Theorem 4.9.
Given that a cubic plane graph can contain a configuration in many different ways,
53
Figure 4.3: Some examples of how the same configuration (8:48485458) might be contained in a graph. The central face is crosshatched (red), any other specified faces of the configuration are shaded (blue), and the edges of the spine are thicker than the other edges.
showing a configuration to be reducible requires substantial work in some cases. In the next two sections we describe how we show configurations are reducible.
54
4.4 Showing Reducibility
If for any 7listassignment, any 7squarecoloring on the vertices outside a configuration can be extended to the vertices in the configuration, then the configuration is reducible. Before presenting some definitions to formalize our approach, we outline a few more details of this idea: Suppose the configuration is contained in a minimal counterexample G, and let A be the set of vertices on the specified faces or spine of the configuration. There are many possibilities for the size and structure of the edges incident to A but not contained in the specified faces or spine of the configuration. For any such possible structure of these edges, the graph G2[A] contains (G[A])2 but might also contain additional edges. For any such structure, there is a natural list size function which accounts for the number of color restrictions imposed on each vertex from outside of A, defined by f(v) := 7 â€” \NG2(v) \ A for each v E A. If G2[A] is /choosable, then any 7squarecoloring of G â€” A extends to A under any 7listassignment. So if G2[A] is /choosable for each possible structure of edges incident to A, then the configuration is reducible. These ideas are formalized in Lemma 4.16.
We use the term realization to describe a possibility for the structure of A and its incident edges as described above. In other words, a realization is some possible embedding of the configuration along with some possible neighborhood structure.
Definition 4.13 (Realization, Core Subgraph, Stem Structure). Suppose G is a subcubic plane graph containing a given configuration, and let J be the subgraph of G induced by the specified faces and spine of the configuration. Then the subgraph H of G induced by the edges incident to any vertices of J is a realization of the configuration, and the subgraph J itself is called the core subgraph of the realization H. The set of edges of H not in J is called the stem structure of the realization H. The vertices of H in J are called core vertices, and the vertices of H not in J are called stems. A core vertex which has degree 2
55
in J is called a root. See Figure 4.4 for examples.
Figure 4.4: Three realizations of 3:45 with the same core subgraph. The central face is crosshatched (red), any other specified faces of the configuration are shaded (blue), the edges of the spine are thicker than the other edges, the core vertices are filled circles, the stems are hollow circles, and the edges of the stem structure are dotted. Since each realization has the same core subgraph, each has three roots (despite the realization on the right having only one stem adjacent to one core vertex).
Observation 4.14. If a configuration is contained in a minimal counterexample to Theorem f.9, then the core subgraph of the configuration in the graph has minimum degree at least 2.
Proof. Because configurations require vertices to be connected via the faces and spine of the configuration, the core subgraph has no isolated vertices. Because the specified faces of the core subgraph are faces of a cubic plane graph by Observation 4.10, there is no 1vertex in the interior of the specified faces. For the same reason, if the configuration is open then the internal vertices of the spine cannot be 1vertices. By definition of a configuration, the first and last faces of an open configuration are specified and thus the endpoints of the spine are also not 1vertices. â–¡
As we have described above, the /choosability of all realizations (where / depends on each realization) is a sufficient condition for reducibility of a configuration. For each realization, an appropriate list size function on the core vertices can be calculated by counting the possible restrictions from outside the core vertices.
Definition 4.15 (Restriction Index, CoreChoosable). Consider a realization H with core
56
vertices A. For each core vertex v and i G {1, 2, 3}, let 7i(v) be the number of steins adjacent to v which have degree i in H. Also let r(f) be the number of stems at distance 2 from v in H. Then for each core vertex v, the restriction index of v is defined by restf(u) := 371(f) + 272(1â€™) + 73(f) + r(f). See Figure 4.5 for an example. If the graph H2[A] is (7 â€” resjj)choosable, then we say that the realization is corechoosable.
1
Figure 4.5: A realization H of 3:57 which includes a stem of degree 1 in H, a stem of
degree 2 in H, and a stem of degree 3 in H. The value of resjj(f) is placed next to each core vertex v. The central face is crosshatched (red), any other specified faces of the configuration are shaded (blue), the cores are filled circles, and the stems are hollow circles. Parts of any potential remaining edges from the stems not to core vertices are also shown.
The function 7 â€” res# maps each core vertex to the minimum number of eligible colors remaining after the rest of the graph outside the core vertices A is precolored. The function restf(f) counts the maximum number of vertices which are not in A within distance 2 of v in G over all cubic graphs G containing the realization H. By Observation 4.14, a core vertex is adjacent to at most one stem, so 71(f) + 72(f) + 73(f) A 1 for any core vertex v.
If a root is adjacent to a stem of degree 1 in H, then the stem may have two additional neighbors outside H within distance 2 of the root. If a root is adjacent to a stem of degree 2 in H, then the stem may have one additional neighbor outside H within distance 2 of the root. If a root is adjacent to a stem of degree 3 in H, then the stem has no neighbors outside H. In addition to any secondneighbors through stems, any core vertex could also
57
have secondneighbors which are steins in the realization.
Lemma 4.16. Given a configuration, if every realization which can appear in a minimal counterexample to Theorem f.9 is corechoosable, then the configuration is reducible.
Proof. Suppose a configuration occurs in a minimal counterexample to Theorem 4.9, say G. Then G contains a realization H of the configuration, with core vertices A. Now consider any 7listassignment L on G such that G2 is not Lcolorable. By the minimality of G, there is a proper LG_^coloring c on (G â€” A)2. Since G[A] contains the core subgraph of H, by Observation 4.14 G[A] has minimum degree at least 2. Hence, we have G2 â€” A = (G â€” A)2. Thus, c is a proper LG_^coloring on G2 â€” A.
Define L' on A by removing any colors received by first and secondneighbors in G. That is, define L'{v) := L{v) \ c(^NG^{v) \ A^j for each v E A. Since c(Ng2(v) \ Aj < restf(u), we have \L'(v)\ > 7 â€” res#(i') for each v E A. Since H is corechoosable, we have that G2[A] = H2[A] is L'colorable. Therefore c extends to a proper Lcoloring of G2, contradicting our choice of G and L. â–¡
Some realizations are redundant to check for corechoosability. In particular, consider realizations with stems whose roots are within distance 2 of each other through the core subgraph. Such a realization must be corechoosable if a corresponding realization without such stems is corechoosable. See Figure 4.6 for an example. However, our computations are tractable without this observation and we omit it for the sake of simplicity.
Figure 4.6: Two realizations of 3:57. The realization on the left has a stem whose roots are close in the core subgraph (either the middle stem or the right stem has roots which are all within distance 2 through the core subgraph). If the realization on the right is corechoosable, then the realization on the left is also corechoosable.
58
Next, we observe some information about small faces which will be useful for our computations.
Lemma 4.17. If F is a face in a minimal counterexample to Theorem f.9 such that Â£(F) < 9, then the boundary walk of F is a cycle.
Proof. Let v0, ip,..., vt be the closed boundary walk of F with v0 = vtl and suppose it is not a cycle. So let Vi = iy be a repeated vertex on the walk with 0 < i < j. Since v has degree 3, either i\_i = Vj+\ or vi+i = Vj_i (with indices considered modulo t). Without loss of generality, let vi+i = Vj_Let Ai = {vk : k < i or j < k} and A2 = {vk â– i < k < j}. See Figure 4.7 for an illustration. Observe that Â£(F) > 2 + + \ A2\.
Figure 4.7: In this drawing, the face F is crosshatched (red). The vertices in A\ are indicated with open diamonds, and those in A2 with solid triangles.
Since the graph is cubic and simple, we have \Af > 3 for each i e {1,2}. If Â£(F) = 8, then Ail = \A2\ = 3 and the boundary walk forms two 3cycles connected by an edge. If Â£(F) = 9, then \Af = 3 and A3_j = 4 for some i G {1, 2} and the boundary walk forms a 3cycle and a 4cycle connected by an edge. See Figure 4.8 for drawings of these cases. Because we have such specific structure for the face F in these cases, we may apply the reasoning in this section and calculate a restriction index function on the vertices of F for each possible stem structure outside of F. If each resulting realization is corechoosable, then these structures contradict the minimality of the graph. Although these 13
59
realizations could be shown corechoosable by hand, we omit these proofs for ease of reading and verify them by computer.2 â–¡
Figure 4.8: Left: The structure of F in the cases Â£(F) = 8 (left) and Â£(F) = 9 (right). The stems are shown as hollow circles with dashed edges, and could possibly be identified with each other or be replaced by roottoroot edges in the nonF regions to obtain different realizations.
Finally, we present the list of configurations which we will show to be reducible and use in our discharging argument.
Definition 4.18. We refer to the 76 configurations listed in Table 4.2 as the target set, denoted by C.
As we show via discharging, Theorem 4.9 is true if all configurations in C are reducible.
4.5 Generating Realizations for Configurations
We generate all the possible realizations for a configuration in two stages: first the core subgraphs, and then for each core subgraph among the 2vertices we generate any edges and stems outside of the specified faces. For each configuration, there is a core subgraph which minimizes the shared edges among the specified faces and the spine. We call this graph the natural core subgraph of the configuration.
Definition 4.19 (Natural Core Subgraph). Consider a configuration b:s\... st. For each s* not equal to *, let C* = v\ ... vf be a cycle of length s*. If b = *, let C0 = Vq ... if+1 be a path of length t; otherwise, let Co = Vq â– â– â– tâ€™o be a cycle of length b. We consider each Ci as
2Coincidentally, each of these realizations are later checked when showing the reducibility of the configurations 3*3 and 3*4. However, we check the realizations for Lemma 4.17 separately so that we can apply the lemma to our computations for configurations later.
60
33 3*555 4*5555 5:555 5:6*66 8:35****5
3*3 36 456 5:556 7:3**4 8:3*55*55
3**3 356 535 5:565 7:3**5 8:45**4
3***3 44 555555 5:566 7:4**4 8:455*5
3**5*3 454 546 5:575 7:4*55 8:4*5*4*4
34 464 3:57 5:656 7:4**55 9:3**4
3*4 474 4:55 5:666 7:4*5**5 9:3***4
35*4 4*54 4:56 5:4*55 7:55*5 9:35*5
3*54 4*55*4 4:57 5:5*65 8:3**4 9:455*4
3**54 4*555*4 4:66 5:5585 8:3***4 9:455*5
3***54 4*4*4*4 4:585 5:5*66 8:35*5 9:545*5
355 4*45 4:676 5:55*6 8:35**5
375 4555 4:686 5:56*6 8:35***5
Table 4.2: The 76 reducible configurations used to prove Theorem 4.9. Each configuration is hyperlinked to a corresponding entry in the Appendix with more details.
a plane graph such that the vertices are in clockwise order. See Figure 4.9 (left) for an example. The natural core subgraph of the configuration b:si... st is the graph obtained from the following identifications:3
1. For each s* not equal to *, the two vertices vl0)v] are identified with each other and the two vertices Vq+1,v^ are identified with each other. So Ci and C0 share an edge.
2. For each i such that both si} si+i yt the two vertices vp_1,vf+1 are identified with each other. So the cycles C) and Ci+\ which are adjacent around the central face share an edge with one endpoint on the spine.
3. For each 2 < i < t such that Si = 3 and both Sj_i, Sj+i yt the two vertices vsiCiâ€˜, vf+l are identified with each other. So two cycles Ci\ and Ci+1 which are adjacent to a common 3cycle Ci around the central face share an edge with one endpoint on Ci.
Although the natural core subgraph of a configuration is not the only possible core subgraph which can appear in a cubic plane graph, it is the starting point for Ending any unexpected ways the configuration can appear. See Figure 4.10 for an example.
3Using modular arithmetic if necessary for configurations with specified central face lengths: if i = t = b, then let i + 1 := 1.
61
Figure 4.9: Left: For the configuration 535, we can initially think of disjoint pieces Co, Ci, C2, C3.
Right: The natural core subgraph for the configuration 535 is obtained by the identification classes
^i1}, v\ > {b
r'.
}> {bn *h}, TO, TO bW TO vl {^31
Observation 4.20 (Core subgraphs are obtained from the natural core subgraph). The natural core subgraph enforces only the necessary conditions for a configuration to be contained in a subcubic plane graph. Thus any core subgraph for a configuration can be obtained from the configuration s natural core subgraph via identification of vertices.
So core subgraphs of a configuration can be generated from vertex identifications of the natural core subgraph. Flowever, not all identifications yield core subgraphs. Some identifications result in (i) vertex degree greater than 3, (ii) vertex degree less than 3, (in) loss of specified faces, (iv) loss of planarity, or (v) structures that do not appear in a minimal counterexample to Theorem 4.9. Additionally, the number of identifications grows quickly with the number of vertices in the natural core subgraph. To more efficiently generate core subgraphs via identification for the configurations in the target set C, we make some further observations. First we observe which vertex identifications result in subgraphs which cannot appear in a minimal counterexample to Theorem 4.9. Observation 4.21 (We can forbid the identification of vertices on the same specified face). Consider a configuration in the target set C and suppose it appears in a minimal
62
Figure 4.10: Left: The natural core subgraph of the configuration 8:4*5*4*4. Right: An â€œunnaturalâ€ core subgraph for 8:4*5*4*4 obtained from the natural core subgraph by identifying some vertices.
counterexample to Theorem 4.9. By Observation 420, the core subgraph of the realization can be obtained from the natural core subgraph of the configuration by identification of vertices. By Lemma 4U, no two vertices of a specified face of the natural core subgraph are in the same identification class.
We use Observation 4.21 in our computation to reduce the number of identifications generated. Some open configurations have lengthy spines, and we benefit from forbidding a few identifications among these vertices as well.
Observation 4.22 (We can forbid some vertex identifications on an open spine). Consider an open configuration S\... st in the target set C and suppose it appears in a minimal counterexample to Theorem 49 with a spine Uq, ..., tâ€™o+1. Then v3q Vq for any j, k E {1,..., t + 1} such that 1 < A: â€” j\ < 2 because the graph has no loops or 1vertices. Furthermore, if 2 < j
63
If some configurations in the target set are known to be reducible, then a closer inspection of the open configurations in the target set shows that Observation 4.21 can be extended to open spines in C as well. This would be stronger than Observation 4.22. However, our computations are tractable with only Observation 4.22 and we omit our stronger observation for the sake of simplicity.
Having cut down the number of identifications which need to be generated, we now observe further filters which can help sift for core subgraphs of a realization.
Observation 4.23 (Necessary conditions for an identification to yield a core subgraph). Let J be a graph formed by the identification of vertices from the natural core subgraph of a configuration. If the configuration has an open spine v) ... v(+1 and in J the vertices v) and vl+1 are not identified, then let J' := J + vlfiffi1. Otherwise, let J' := J. If J is a core subgraph of the configuration that appears in a minimal counterexample to Theorem f.9, then J and J' have the following properties:
1. The graph J is subcubic.
2. The graph J' has a plane embedding such that for each initial list Ci from the natural core subgraph (including Co), the vertices of Ci appear in order as the boundary walk of some face. Call any such faces of J' the fixed faces. (Different Ciâ€™s might be the boundary walk of the same fixed face.)
3. Any 2vertex of J' is on at most one fixed face (and is on the boundary walk of that face at most once), since otherwise the host graph would not be cubic or would not have the specified face lengths prescribed by the configuration. In fact, every 2vertex of J' is on exactly one fixed face since every vertex in the natural core subgraph is on a specified face or the spine.
See Figure 4.11 for examples of identifications which violates the conditions given in Observation 4.23.
64
Figure 4.11: Examples showing that the conditions in Observation 4.23 are necessary.
Top: The natural core subgraph for 3**3, with vertices relabeled v\,..., v. The spine edges are bold, the specified faces are blude (shaded), and the central face is red (crosshatched). Across each spine edge is the entry from the facial length list.
MiddleLeft: The graph J obtained from the identification classes {t'l}, {Vâ€˜2, ve}, {t's}, {t'4}, {tâ€™5}, {t'7}. This graph fails to be subcubic.
MiddleRight: The graph J' obtained from the identification classes
{i'i, Es}, {Vâ€˜2, v}, {v%}, {tâ€™4}, {ty}. This graph fails to have the spineâ€™s vertices
appear in order as the boundary walk of a face.
BottomLeft: The graph Jâ€™ obtained from the identification classes {i'i, V7}, {Vâ€˜2, tâ€™4, ve}, {t',3}, {t'5}. This graph traps two 2vertices (i'3 and V5) between two faces.
BottomRight: The graph J1 obtained from the identification classes {i'i, ty}, {Vâ€˜2, ty}, {}, {U4}, {tâ€™5}. This graph meets the conditions of Observation 4.23 and is a core subgraph of 3**3.
65
The observations made so far will help generate the core subgraphs of a configuration. Given a core subgraph, we can then generate stem structures to obtain the realizations of the configuration which have the desired core subgraph.
Observation 4.24 (Generating stem structures). Let J be a core subgraph of a configuration, and let R be the set of 2vertices of J. Call the faces of J which are not specified faces of the configuration the open regions of J. Suppose H is a realization of the configuration which has J as its core subgraph and H appears in a minimal counterexample to Theorem 4.9. Then H can be obtained from J by plane embedding the following objects in the open regions of J such that each vertex in R is incident to exactly one of the following objects:
â€¢ an edge with both endpoints in R,
â€¢ a new vertex (stem) adjacent to one vertex in R,
â€¢ a new vertex (stem) adjacent to two vertices in R, or
â€¢ a new vertex (stem) adjacent to three vertices in R.
Our observations allow us to generate all relevant realizations of configurations from the target set C. By inspecting each of these realization, we show that the configurations are reducible.
Lemma 4.25. Each configuration in the target set C is reducible.
Proof. For each configuration from the target set C, we generated all identifications of the vertices from the natural core subgraph except for those described in Observation 4.21 and Observation 4.22. For each of the graphs obtained from these identifications, we checked the conditions of Observation 4.23. For each resulting graph which met these conditions, we generated each possible stem structure as described in Observation 4.24. Call the set of all of the resulting graphs from our generation EL. By our observations, if a configuration from the target set appears in a minimal counterexample to Theorem 4.9 as a realization H, then H E EL.
Using the choosability program discussed in Chapter III, we checked every H E EL
66
by computer and found that each is corechoosable. Therefore, by Lemma 4.16 no
configuration in the target set C can appear in a minimal counterexample to
Theorem 4.9. â–¡
In the introductory section of this chapter, Table 4.1 lists the locations for appendices relating to our computation in Lemma 4.25.
4.6 Discussion of the Target Set
The purpose of the target set is twofold: to show that small faces in a minimal counterexample (length less than 6) must be adjacent to some bigger faces (length more than 6), and to show that bigger faces are not adjacent to too many small faces. In trying to find a target set that would suit the needs of the discharging argument, there were several original candidates which seemed hopeful but upon inspection could not be shown to be reducible via corechoosability. For example, the configurations 35, 455, 5:56, and 5:66 would have greatly simplified the target set and the discharging proof. However, each of these has at least one realization which is not corechoosable. We replaced these configurations with many more larger configurations which we showed to be reducible and were sufficient for completing the proof. Another hopeful configuration was 7:4*5*5, but this configuration could not be replaced with larger configurations using our discharging rules. Instead, we deal with the occurrence of 7:4*5*5 separately in our argument via Lemma 4.34.
When using reducible configurations to observe the structure of a minimal counterexample, it is helpful to keep in mind that some different ways of writing configurations yield the same structure. For example, the ordering of face lengths around a central face can be reversed, and when there is a small number of specified faces there might be more than one option for the central face. Table 4.3 describes these equivalencies.
67
Table 4.3: Descriptions of equivalent configurations.
Description Equivalent Configurations
Reverse order around a central face b:si...st, b:st...si
Two adjacent faces b:k, bk, k:b
Three faces with a common vertex b:km, k:bm, m:bk
Four faces around an edge b:kmn, rrv.kbn
Two faces adjacent around a triangle b3k, 3 :bk
When referencing a reducible configuration in our arguments, we will always use the expression listed in Table 4.2 instead of any equivalent expressions which can be obtained by the alternative descriptions in Table 4.3.
4.7 Discharging
We now prove Theorem 4.9. Let G be a minimal counterexample with some fixed plane embedding. By Observation 4.10, G is cubic and connected. We assign initial charge to the vertices and faces of G according to the facecharging scheme: assign to each face F a charge of Â£(F) â€” 6 and to each vertex v a charge of 2deg(w) â€” 6. A routine observation of Eulerâ€™s Theorem gives the total initial charge of G.
Observation 4.26. The total charge of any plane embedding of G is â€”12.
Proof. Using Observation 4.10, we have that any plane embedding of G is connected and cubic. Consider a fixed plane embedding of G, and denote by F(G) the faces of G in this embedding. We will use Eulerâ€™s Formula for connected graphs:
U(G) â€” \E(G)\ + U(G) = 2. Now, observe that '^2Fe^G'jk(F) = 2E(G) since each edge
is counted twice by the boundary walks of faces. Also observe that
3D(G) = J2vÂ£V(g) deg(w) = 2\E(G)\ since G is cubic and every edge is counted twice by
68
the degrees of the vertices. Hence
Total Charge = E w6
feT(G)
= 2\E(G)\ â€” 6\Jr(G)\
= 6\V(G)\+6\E(G)\6\T(G)\
= 12. â–¡
Since G is cubic, the charge of each vertex is 0. To contradict the existence of G, we move the charge between the small faces and larger faces so that the final charge on every face of G is nonnegative and so that the total charge is retained.
We will have each (5_)face take whatever charge it needs equally from its neighboring (7+)faces. We make this rule explicit by listing cases below. As we show in Lemma 4.28, each (5_)face in G is adjacent to at least two (7+)faces. Apply the discharging rules in Table 4.4 to G.
Table 4.4: The Discharging Rules.
1. Every 3face takes
(a) 1 charge from each adjacent (7+)face if it has exactly three adjacent (7+)faces.
(b) 3/2 charge from each adjacent (7+)face if it has exactly two adjacent (7+)faces.
2. Every 4face takes
(a) 1/2 charge from each adjacent (7+)face if it has exactly four adjacent (7+)faces.
(b) 2/3 charge from each adjacent (7+)face if it has exactly three adjacent (7+)faces.
(c) 1 charge from each adjacent (7+)face if it has exactly two adjacent (7+)faces.
3. Every 5face takes
(a) 1/5 charge from each adjacent (7+)face if it has exactly five adjacent (7+)faces.
(b) 1/4 charge from each adjacent (7+)face if it has exactly four adjacent (7+)faces.
(c) 1/3 charge from each adjacent (7+)face if it has exactly three adjacent (7+)faces.
(d) 1/2 charge from each adjacent (7+)face if it has exactly two adjacent (7+)faces.
Observation 4.27. Since every vertex and 6face started with 0 charge and exchanged no charge, every vertex and 6face has nonnegative final charge.
Before proceeding with structural observations, it is important to discuss what we
69
mean by â€œadjacentâ€ faces in this section so that it is understood precisely how charge is exchanged. If a small face shares more than one edge with a large face, then the small face takes the prescribed amount of charge from the large face across each edge. So a single face of G might be â€œadjacentâ€ to another face more than once. Whenever we count and exchange charge with adjacent faces in this section, we do so with multiplicity. See Figure 4.12 for an example. As another example, the two nonconsecutive (9+)faces adjacent to a 4face as described in Lemma 4.28(2) might be the same face. In that case the (9+)face would share two edges with the 4face, and these two edges would be nonconsecutive on the boundary walk of the 4face.
Figure 4.12: The charge pulled by the 4face is determined by the length of the adjacent faces: A 5face, an 8face (twice, counting multiplicity), and a 7face. The charge pulled by the 4face falls into Rule 2b because it is adjacent to exactly three (7+)faces (counting multiplicity).
Lemma 4.28. In the minimal counterexample G, each of the following are true.
1. If a 3face is adjacent to a (6~)face, then it is adjacent to exactly two (8+)face,s.
2. If a fface is adjacent to two (6~)faces, then it is adjacent to exactly two nonconsecutive (9+)face,s.
70
3. If a 5face is adjacent to three (6~)faces, then it is adjacent to exactly two (9+)faces. Proof. In the following cases, suppose si < Si for all i and also that si < 6.
1. Let S1S2S3 be the sequence of face lengths around a 3face in G. Because 33, 34, and 36 are reducible, we have si = 5. Because 535 and 3:57 are reducible, we have
52, S3 > 8.
2. Let sis2s3s4 be the sequence of face lengths around a 4face in G, and suppose Si < 6. Because 34 and 44 are reducible, we have s* > 5 for all i G {I, 2, 3,4}. If Si = 5, then we have s2, s4 > 8 because 4:55, 4:56, and 4:57 are reducible. Then if s3 < 6, then we have s3 = 5 because 546 is reducible, and then we may conclude s2, s4 > 9 because 4:585 is reducible. If s4 = 6, then if s3 = 6 we may conclude s2,s4 > 9 because 4:66, 4:676 and 4:686 are reducible.
3. Let S1S2S3SZ1S5 be the sequence of face lengths around a 5face in G, and suppose
si < 6.
Case 1: si = 3. Since 33, 3*3, 34, and 3*4 are reducible, we have s* > 5 for all i G {2, 3, 4, 5}. Since 535 and 36 are reducible, we have s* > 7 for i G {2, 5}. Since 355 and 356 are reducible, we have s* > 7 for i G {3, 4}. So the 5face is not adjacent to three (6_)faces.
Case 2: si = 4. Since 44, 4:55, and 4:56 are reducible, we have s2, s5 > 7. Since 454 and 5:4*55 are reducible, we have s^ > 6 for some k G {3, 4}. Since 456 is reducible, we have s^ > 7. So the 5face is not adjacent to three (6_)faces.
Case 3: si = 5. Since 5:555 is reducible, at most three face lengths are 5 (and not three consecutive ones).
Case 3a: Exactly three face lengths are 5. Without loss of generality, suppose si = S3 = s4 = 5 and s2, S5 > 6. Since 5:565 and 5:575 are reducible, we have s2, S5 > 8. Since 5:5585 is reducible, we have s2,S5 > 9.
Case 3b: Exactly two face lengths are 5. First suppose si = s2 = 5 and
53, s4, S5 > 6. Since 5:556 and 5:55*6 are reducible, we have S3, s4, S5 > 7. So the
71
5face is not adjacent to three (6_)faces. Now suppose instead that si = S3 = 5 and Â£2, Â£4, Â£5 > 6. Since 5:565 and 5:5*65 are reducible, we have Â£2,34,85 > 7. So the 5face is not adjacent to three (6_)faces.
Case 3c: Exactly one face length is 5. So si = 5 and Si > 6 for i E {2, 3, 4, 5}. Since 5:656 is reducible, we may suppose s2 > 7. Since 5:5*66 is reducible, we have that Sk > 7 for some k E {3, 4}. First suppose k = 3; then one of s4, Â£5 is at least 7 since 5:566 is reducible. Now suppose instead that k = 4; then one of s3, Â£5 is at least 7 since 5:56*6 is reducible. So the 5face is not adjacent to three (6_)faces.
Case 4: Â£4 = 6. Since 5:666 is reducible, at most three face lengths are 6 (and not three consecutive ones). Since 5:6*66 is reducible, we actually have that at most two face lengths are 6. So the 5face is not adjacent to three (6_)faces. â–¡
By Lemma 4.28, each (5_)face has at least two adjacent (7+)faces. Therefore, the Discharging Rules show that every (5_)face pulls exactly the charge it needs from surrounding faces.
Corollary 4.29. In the minimal counterexample G, every (5~)face has nonnegative final charge.
To show that bigger faces have nonnegative final charge, we first determine how much charge a small face might pull from them.
Lemma 4.30. Let abkcd be five consecutive entries from the facial length list around a (7 +)face F in the minimal counterexample G, and let F' be the face represented by the entry k. See Figure f.13.
1. Suppose k = 3. If b = 5 or c = 5, then F' pulls 3/2 charge from F. Otherwise, F' pulls 1 charge from F.
2. Suppose k = 4. If a = 4 or d = 4 or Â£(F) < 9, then F' pulls at most 2/3 charge from
F. Otherwise, F' pulls at most 1 charge from F.
3. Suppose k = 5. If b = 3 or c= 3, then F pulls at most 1/4 charge from F'.
Otherwise if b / 5 or c/ 5 or 1(F) < 9, then F' pulls at most 1/3 charge from F.
72
Otherwise, F' pulls at most 1/2 charge from F.
Figure 4.13: The layout of faces considered in Lemma 4.30.
Proof. 1. If b = 5 or c = 5, then by Lemma 4.28.1 and Rule lb the 3face pulls 3/2 charge. Otherwise, since 33, 34, and 36 are reducible, we have 6,c, 6(F) > 7 and by Rule la the 3face pulls 1 charge.
2. If a = 4 or d = 4, since 34, 44, 454, and 464 are reducible we have b > 7 or c > 7. Since 6(F) > 7 as well, by Lemma 4.28.2 the 4face F' is adjacent to at least three (7+)faces. Similarly, if 6(F) < 9, then by Lemma 4.28.2 the 4face F' is adjacent to at least three (7+)faces. In either of these cases, by Rules 2a,2b, the 4face pulls at most 2/3 charge. Otherwise, by Rules 2a,2b,2c, the 4face pulls at most 1 charge.
3. Let q, r be the other two facial lengths around F', so that the facial length list of F' is c.,Â£(F),b,q,r. See Figure 4.14. If b = 3 or c = 3, then since 33, 3*3, 34, 3*4, 535, 355, 36, and 356 are reducible, we have that 6(F), q, r and one of b or c are at least 7. So by Rule 3b, the 5face F' pulls at most 1/4 charge from F.
So suppose 6, c > 4, and also b / 5 or c / 5. If b = 4 or c = 4, then without loss of generality suppose 6 = 4. Since 34, 3*4, 44, 454, 4:55, and 4:56 are reducible, we have q > 7 and r, c > 5. Since 5:4*55 and 456 are reducible, at least one of r, c is at least 7. So by Rules 3b,3c, the 5face F' pulls at most 1/3 charge from F.
So suppose 6, c > 5, and also 6 / 5 or c / 5. If 6 = 6 or c = 6, then without loss of generality suppose 6 = 6. Since 36, 356, 4:56, and 456 are reducible, we have q,r > 5. Since 5:556, 5:566, 5:656, and 5:666 are reducible, one of q, r is at least 7. Since
73
Figure 4.14: Case 3 of Lemma 4.30.
5:5*65, 5:5*66, 5:56*6, and 5:6*66 are reducible, one of q,c is at least 7. Since 5:55*6, 5:56*6, and 5:6*66 are reducible, one of r, c is at least 7. Since each pair from q, r, c must have at least one member be at least 7, two of q, r, c must be at least 7. So by Rules 3b,3c, the 5face F' pulls at most 1/3 charge from F.
Also if both b,c > 7, then by Rules 3a,3b,3c, the 5face F' pulls at most 1/3 charge from F.
So without loss of generality suppose b > 7 and c = 5. Then since 535, 355, and 4:55 are reducible, we have q > 4 and r > 5. If q = 4, then since 4:55 and 4:56 are reducible we have r > 7. If ty > 5, then since 5:555, 5:556, 5:565, 5:566 are reducible we have that one of q, r is at least 7. So in either case, by Rules 3b,3c, the 5face F' pulls at most 1/3 charge from F.
Now suppose Â£(F) < 9. Then by Lemma 4.28.3, the 5face F' is adjacent to at least three (7+)faces. So by Rules 3a,3b,3c, the 5face F' pulls at most 1/3 charge from F. Otherwise, by Rules 3a,3b,3c,3d, the 5face F' pulls at most 1/2 charge. â–¡
Having observed what charge can be pulled from larger faces, we now consider the ways in which small faces can appear around faces. With the bounds from Lemma 4.30, we then calculate bounds on the charge pulled from these blocks of (5_)faces.
Lemma 4.31. Consider any central face in the minimal counterexample G and a nonempty sublist of consecutive face lengths around this central face. If the elements of the sublist are all in {3,4,5}, then the sublist is given in Table f.5.
74
Table 4.5: The 17 possible sublists of small faces around a central face in G.
3 35 4 45 455 5 53 54 545 5455
55 554 5545 55455 555 5555 55555
Proof. Consider any nonempty sublist of consecutive face lengths around the central face such that all entries are in {3,4,5}. We directly inspect all possibilities for this sublist.
Assume the first entry is of the sublist 3. Since 33, 34, and 36 are reducible, either the sublist is 3 or the second entry is 5. Suppose the second entry is 5. Since 3*3, 3*4, and 355 are reducible, the sublist is 35.
Assume the first entry is of the sublist 4. Since 34 and 44 are reducible, either the sublist is 4 or the second entry is 5. Suppose the second entry is 5. Since 3*4 and 454 are reducible, either the sublist is 45 or the third entry is 5. Suppose the third entry is 5. Since 3*54, 4*54, and 4555 are reducible, the sublist is 455.
Assume the first entry is of the sublist 5. Either the sublist is 5, or the second entry is 3, 4, or 5.
Suppose the second entry is 3. Then since 33, 34, and 535 are reducible, the sublist is 53.
Now instead, suppose the second entry is 4. Then since 34 and 44 are reducible, the sublist is 54 or the third entry is 5. Suppose the third entry is 5. Then since 3*4 and 454 are reducible, the sublist is 545 or the fourth entry is 5. Suppose the fourth entry is 5. Then since 3*54, 4*54, and 4555 are reducible, the sublist is 5455.
Now instead, suppose the second entry is 5. Since 355 is reducible, either the sublist is 55, or the third entry is 4 or 5.
First suppose the third entry is 4. Then since 34 and 44 are reducible, the sublist is 554 or the fourth entry is 5. Suppose the fourth entry is 5. Then since 3*4 and 454 are reducible, the sublist is 5545 or the fifth entry is 5. Suppose the fifth entry is 5. The since 3*54, 4*54, and 4555 are reducible, the sublist is 55455.
Second suppose the third entry is 5. Since 355 and 4555 are reducible, any remaining
75
entries in the sublist are 5s. Since 555555 is reducible, the sublist is 555, 5555, or 55555. â–¡
By Lemma 4.31, we can describe a family of facial length lists with sublists from Table 4.5 along with the character â€œ(6+)â€ to represent any entries not in {3,4,5}.
Lemma 4.32. In the minimal counterexample G, every (15+)/ace has nonnegative final charge.
Proof. Let F be a (15+)face of G and consider the facial length list around F. The entries of the facial length list from {3,4,5} can be grouped into maximal sublists of consecutive entries called blocks, so that any two blocks are separated by at least one (6+). By Lemma 4.31, any block must appear in the first row of Table 4.6 (reversals are paired together). Listed below each block is an upper bound on the total charge the faces of the block together pull from the central (15+)face F. For the block 3, the total charge pulled is 1 by Lemma 4.30.1 since the entries preceding and succeeding the 3 in the facial length list are both at least 6. For the block 35, the charge pulled by the 3face is 3/2 by Lemma 4.30.1 and the charge pulled by the 5face is 1/4 by Lemma 4.30.3. The remaining upper bounds are calculated by simply adding 1 for each 4 and 1/2 for each 5 (the maximum charge pulled by each according to the discharging rules rather than the bounds given in Lemma 4.30).
Table 4.6: Possible blocks of small faces around a central (15+)face in G, along with upper bounds on the collective charge pulled by each block and upper bounds on the average charge pulled from the block and the edge following the block.
Block: 3 35 53 4 45 54 455 554 5 545
Total Pulled <: 1 7/4 1 3/2 2 1/2 2
Average Pulled <: 1/2 7/12 1/2 1/2 1/2 1/4 1/2
Block: 5455 5545 55 55455 555 5555 55555
Total Pulled <: 5/2 1 3 3/2 2 5/2
Average Pulled <: 1/2 1/3 1/2 3/8 2/5 5/12
Since the length of F is longer than the length of any block, any block in the facial length list of F is followed by at least one (6+). So the average charge pulled across the
76
edges of a block and the edge following the block is at most the â€œTotal Pulledâ€ bound divided by 1 more than the length of the block. This resulting bound on â€œAverage Pulledâ€ is also listed for each block in Table 4.6. Since each of these averages is at most 7/12, the total charge pulled from F is at most ^ â€¢ Â£(F) = Â£(F) â€” j^Â£(F) < Â£{F) â€” ^ < Â£(F) ~ 6.
Therefore, F has nonnegative final charge. â–¡
To complete our proof of Theorem 4.9, we show that every face of the minimal counterexample G with length between 7 and 14 has nonnegative final charge. Using Lemma 4.31, we inspect all possible families of facial length lists around a central face of length between 7 and 14. Using Lemma 4.30, we are able to show in Lemma 4.33 that the central face has nonnegative final charge for all but one of these families. The bounds provided in Lemma 4.30 are not strong enough for this one exceptional configuration. In Lemma 4.34, we inspect this exceptional configuration more closely by considering faces around the configuration to show that the central face indeed has nonnegative final charge as well.
Lemma 4.33. Suppose F is a face of the minimal counterexample G with length between 7 and If. If F is not a 7face with facial length list 4(6+)5(6+)5(6+)(6+); then F has nonnegatiue final charge.
Proof. All the possible facial length lists of F can be generated as lists of length Â£(F) composed of sublists from Table 4.5 each followed by at least one â€œ(6+)â€. Each of these families of facial length lists can be checked to see if a reducible configuration from the target set C occurs among the central face and any surrounding (5_)faces. We used a computer to generate all facial length lists for central faces with length between 7 and 14 and which have no configurations from C. For all the resulting lists, we calculated a lower bound on the central faceâ€™s final charge by summing the upper bounds on charge pulled by the surrounding (5_)faces as given by Lemma 4.30. With only the one exception of 4(6+)5(6+)5(6+)(6+) around a 7face, the lower bound on the central faceâ€™s final charge is nonnegative for each facial length list. â–¡
77
Because one configuration not ruled out by the target set has a negative lower bound on the final charge of its central, we need additional reducible configurations beyond the target set. Because some of these configurations do not fit the same description as those in the target set, we deal with them separately here. Using the same program as with Lemma 4.25, we check the configuration 7:4*5*5 for any realizations which are not corechoosable. By expanding the information around the problematic configuration, we show that the small faces around the central 7face do not pull very much charge.
Lemma 4.34. A 7face in the minimal counterexample G with facial length list 4(6+)5(6+)5(6+)(6+) has nonnegative final charge.
Proof. Any such 7face has charged pulled by its neighboring 4face and two 5faces. We show that the 4face is adjacent to four (7+)faces and that the 5faces are each adjacent to at least four (7+)faces. By Rules 2a,3a,3b, the 4face pulls 1/2 charge and the two 5faces pull at most 1/4 charge each. This leaves the central 7face with at least 0 final charge.
Just as we did for each configuration in C, we also generated and checked every realization of 7:4*5*5 for corechoosability. All but two realizations of 7:4*5*5 are corechoosable. These two are shown in Figure 4.15, where it can be seen that the structures of these two realizations are nearly identical. So a 7face in the minimal counterexample G with facial length list 4(6+)5(6+)5(6+)(6+) occurs as one of these two realizations. To inspect the faces surrounding the 4 and 5faces, consider the face labeling in the common realization structure given in Figure 4.16(left).
We show that none of A, B, C, D, E, G, H, I, K have length less than 7. There are several cases to consider, and these are summarized in Table 4.7. Since C = D and G = H, we need not consider D and H separately. Since we are assuming the facial length list around the central 7face is 4(6+)5(6+)5(6+)(6+), we already know that A, C, G, and K have lengths at least 6. Since the two stems on E cannot be the same vertex in either of the two realizations in Figure 4.15, we also know that E has length at least 4. Similarly, the faces B and I have length at least 4 as well. Since 44 is reducible, we also know that B
78
o
Figure 4.15: The only two realizations of the configuration 7:4*5*5 which are not corechoosable. Both share the same core subgraph (the natural core subgraph).
Figure 4.16: Left: A labeling of the faces around the faces around the 4 and 5faces of the natural core subgraph of 7:4*5*5. Note that C = D and G = H. Right: The plane graph J for the case Â£{A) = 6.
has length at least 5.
For the remaining 12 cases, we extend the notions of realizations and corechoosability in order to show that any subgraphs resulting from these cases are reducible. Each case
79
Table 4.7: Summary of cases for face lengths surrounding the small faces in Lemma 4.34.
Case Reason
Â£{B) = 3 7:4*5*5 realization structure
Case Reason Â£{B) = 4 Contains 44
Â£(A) < 5 Facial length list hypothesis Â£{B) = 5 Verified corechoosability
Â£(A) = 6 Verified corechoosability Â£{B) = 6 Verified corechoosability
Â£{C) < 5 Facial length list hypothesis Â£{E) = 3 7:4*5*5 realization structure
Â£{C) = 6 Verified corechoosability Â£{E) = 4 Verified corechoosability
Â£{G) < 5 Facial length list hypothesis Â£{E) = 5 Verified corechoosability
Â£{G) = 6 Verified corechoosability Â£(E) = 6 Verified corechoosability
Â£{K) < 5 Facial length list hypothesis 7^ CO 7:4*5*5 realization structure
Â£{K) = 6 Verified corechoosability Â£(I) = 4 Verified corechoosability
Â£(I) = 5 Verified corechoosability
Â£{I) = 6 Verified corechoosability
prescribes one additional face length which may or may not be adjacent to the central 7face. In each case, we began with the plane subgraph J obtained from the natural core subgraph J by adding the new face of specified length. For an example, see Figure 4.16(right). Then, we generated all possible graphs which result from identifications of vertices of J while enforcing that no two vertices of J are identified. For each resulting graph that met the conditions of Observation 4.23, we generated each possible stem structure described by Observation 4.24 and then verified by computer that the resulting graph is corechoosable. (For the sake of simplicity, we did not enforce any information from the stem structures of the two realizations in our generation.) Hence, we conclude that in each case the prescribed face length cannot be present in the designated location in a minimal counterexample to Theorem 4.9. â–¡
This concludes the proof of Theorem 4.9.
4.8 Concluding Remarks
While the target set is minimal in the sense that our proof as written makes use of every configuration in C, we do not know if there is a smaller set of configurations which would provide the grounds for a similar proof. The argument in Lemma 4.32 can be modified for faces of length smaller than 15 by observing that certain blocks must be
80
separated by more than one (6+)faces result in reducible configuration from the target set. (For example, the block 3 cannot be followed by the block 54 after at most three (6+)faces, since the configurations 3*54, 3**54 and 3***54 are all reducible.) However, we feel that the current argument strikes an optimal balance between the size and analysis of the target set and the simplicity and verification of the discharging rules.
When trying to establish a list of reducible configurations, we first tried to build a list of â€œhopefulâ€ configurations which would work with our discharging rules. Heuristically, the realization of a configuration which is least likely to be corechoosable is the natural core subgraph with a stem structure consisting entirely of stems which have degree 1 to the core vertices. For any core subgraph, this stem structure minimizes the values of the list size function used for corechoosability. The configurations we deemed â€œhopefulâ€ were those for which this realization was corechoosable. We checked over 250 configurations and found 171 of them to be hopeful. From these we formed a discharging argument and then simmered the list needed for our argument to fewer than 70 hopeful configurations which were each used in the argument. At this point, we developed the tools to check all other realizations as discussed in Section 4.5. We found that 35, 455, and 7:4*5*5 each have at least one realization that is not corechoosable. We were able to replace 35 and 455 with 11 larger reducible configurations to maintain our discharging argument, but replacing 7:4*5*5 requires configurations which do not fit our technical definition of â€œconfiguration.â€ The 12 structures we verified to be reducible in Lemma 4.34 can be defined and added to the target set, which would perhaps make Lemma 4.34 clearer.
The exploratory process just described would not have been possible without the choosability program. Almost all of the configurations we considered are simply too large and have too small list size values to check by hand. Developing this tool was a critical step to our proof.
Perhaps the most tedious aspect of our proof is generating all core subgraphs of a configuration. Since there are many ways in which configurations can wrap back in on
81
themselves that we did not see at first, we feel that generating all possible partitions and then applying appropriate filters as discussed in Section 4.5 is the best way to confidently find all core subgraphs. If we knew that minimal counterexample must be 3connected, then the number of nonnatural core subgraphs is reduced greatly. However, a thorough search for all core subgraphs would still be necessary.
The number of stem structures for each core subgraph would also be greatly reduced under the promise of 3connectedness. A reduction in these structures would not have merely shortened computation but also shortened our target set. This restriction in stem structures would mean that the configuration 35 is reducible, since the only noncorechoosable realization of 35 guarantees a bridge in the graph.
In addition to a lack of connectivity bounds, a difference between our problem and the nonlist setting is that reducer edges cannot help show configurations to be reducible. Since a precoloring might be rainbow on the stems of a realization, if the realization is not corechoosable then no placement of reducer edges can prevent a bad precoloring. We considered both a loaded induction hypothesis and DPcoloring, but neither of these techniques seemed to resolve our complications.
The fact that 35 has a noncorechoosable realization may be surprising, as all the realizations of 33, 34, and 36 are corechoosable. The square induced on the core subgraph by the noncorechoosable realization of 35 is K6, and the list size function values are all at most 5. The square induced on the core subgraph by the stem structure in which each root is adjacent to a distinct stem is K6 â€” e, and the list size function can be obtained from the previous list size function by substracting 1 for each of the two endpoints of e. However, this latter square is choosable for the given list size function. This is related to Question 3.27.
While the situation for the configuration 35 seems to be rather specific, there are other structures which are local obstructions to corechoosability. For example, if a core subgraph has a (5+)thread (an induced path with at least 5 consecutive 2vertices), then
82
the realization of that core subgraph with all stems of degree 1 is not corechoosable. This is due to the fact that the (5+)thread causes a triangle with /values equal to 2 in the square of the core. We found other similar structures which helped us know which configurations were not worth investigating. For example, the configurations 37 and 8:45 both have a 5thread in their natural core subgraph.
Having removed the girth condition from Theorem 4.4, we ask about the stronger girth conditions which lower the list chromatic number for the squares of subcubic planar graphs. Question 4.35. What is the lowest bound on the girth of a subcubic planar graph which guarantees that it is 6squarechoosable? 5squarechoosable? 4squarechoosable?
The last question was asked about coloring (as opposed to list coloring) by Borodin and Ivanova [15]. As shown by the example in Figure 4.1, none of these girth lower bounds can be less than 6.
83
REFERENCES
[1] The online encyclopedia of integer sequences. Published electronically at https://oeis.org/A000110, 2010.
[2] N. Alon. Surveys in combinatorics, chapter Restricted Colorings of Graphs, pages 133. Cambridge University Press, New York, NY, USA, 1993.
[3] N. Alon. Combinatorial Nullstellensatz. Combinatorics, Probability and Computing,
8(12):7â€”29, 1999. Recent trends in combinatorics (Matrahaza, 1995).
[4] N. Alon. Degrees and choice numbers. Random Structures Algorithms, 16(4):364368, 2000.
[5] N. Alon and M. Tarsi. Colorings and orientations of graphs. Combinatorica,
12(2): 125â€”134, Jun 1992.
[6] K. Appel and W. Haken. Every planar map is four colorable Part I: Discharging. Illinois Journal of Mathematics, 21 (3) :429 490, 1977.
[7] K. Appel and W. Haken. Every Planar Map Is Four Colorable (Contemporary Mathematics). American Mathematical Society, 1989.
[8] K. Appel, W. Haken, and J. Koch. Every planar map is four colorable Part II: Deducibility. Illinois Journal of Mathematics, 21 (3) :491â€”567, 1977.
[9] J. Arndt. Matters Computational: Ideas, Algorithms, Source Code. Springer Berlin Heidelberg, 2011.
[10] G. D. Birkhoff. The reducibility of maps. American Journal of Mathematics,
35(2): 115, Apr 1913.
[11] H. L. Bodlaender, M. R. Fellows, and D. M. Thilikos. Derivation of algorithms for cutwidth and related graph layout parameters. J. Comput. System Sci.,
75(4):231244, 2009.
[12] B. Bollobas and A. J. Harris. Listcolourings of graphs. Graphs and Combinatorics,
1 (1): 115â€”127, Dec 1985.
[13] O. V. Borodin. On acyclic colorings of planar graphs. Discrete Mathematics,
25(3):211â€”236, 1979.
[14] O. V. Borodin. Colorings of plane graphs: A survey. Discrete Mathematics, 313(4):517539, Feb 2013.
[15] O. V. Borodin and A. O. Ivanova. 2distance 4colorability of planar subcubic graphs with girth at least 22. Discussiones Mathematicae Graph Theory, 32(1):141â€”151, 2012.
[16] O. V. Borodin and A. O. Ivanova. List 2facial 5colorability of plane graphs with girth at least 12. Discrete Mathematics, 312(2):306314, 2012.
84
[17] B. Brimkov, J. Edmond, R. Lazar, B. Lidicky, K. Messerschmidt, and S. Walker. Injective choosability of subcubic planar graphs with girth 6. Discrete Mathematics, 340(10): 25382549, 2017.
[18] R. L. Brooks. On colouring the nodes of a network. Mathematical Proceedings of the Cambridge Philosophical Society, 37(2):194â€”197, 1941.
[19] D. W. Cranston and S.J. Kim. Listcoloring the square of a subcubic graph. Journal of Graph Theory, 57(l):6587, 2008.
[20] D. W. Cranston and D. B. West. An introduction to the discharging method via graph coloring. Discrete Mathematics, 340(4):766793, Apr 2017.
[21] P. DeOrsey, J. Diemunsch, M. Ferrara, N. Graber, S. G. Hartke, S. Jahanbekam,
B. Lidicky, L. L. Nelsen, D. Stolee, and E. Sullivan. On the strong chromatic index of sparse graphs. arXiv:1508.03515 [math. CO], 2015.
[22] J. Diemunsch, N. Graber, L. Kramer, V. Larsen, L. M. Nelsen, L. L. Nelsen, D. Sigler, D. Stolee, and C. Suer. Colorblind index in graphs of very low degree. Discrete Appl. Math., 225:122129, 2017.
[23] R. Diestel. Graph Theory. Number 173 in Graduate Texts in Mathematics. Springer, 1997.
[24] Z. Dvorak, M. Hebdige, F. Hlasek, D. Kraiâ€™, and J. Noel. Cyclic coloring of plane graphs with maximum face size 16 and 17. arXiv:1603.06722 [math. CO], 2016.
[25] Z. Dvorak, R. Skrekovski, and M. Tancer. Listcoloring squares of sparse subcubic graphs. SIAM J. Discrete Math., 22(1): 139â€”159, 2008.
[26] P. Erdos, A. L. Rubin, and H. Taylor. Choosability in graphs. Congressus Numerantium, 26:125127, 1979.
[27] F. Galvin. The list chromatic index of a bipartite multigraph. J. Cornbin. Theory Ser. B, 63(1): 153 158, 1995.
[28] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NPCornpleteness. W. H. Freeman & Co., New York, NY, USA, 1979.
[29] G. Gonthier. Formal proofâ€”the fourcolor theorem. Notices of the American Mathematical Society, 55( 11): 1382â€”1393, 2008.
[30] H. Grotzsch. Zur theorie der diskreten gebilde. vii. ein dreifarbensatz fur dreikreisfreie netze auf der kugel. Wissenschaftliche Zeitschrift MartinLutherUniversitat
HalleWittenberg MathematikNaturwissenschaft Reihe, 8:109120, 1959.
[31] S. Gutner. The complexity of planar graph choosability. Discrete Mathematics,
159(1): 119â€”130, 1996.
85
[32] S. Gutner and M. Tarsi. Some results on (a:b)choosability. Discrete Mathematics, 309(8):22602270, 2009.
[33] S. G. Hartke, S. Jahanbekam, and B. Thomas. The chromatic number of the square of subcubic planar graphs. arXiv:160406504 [math.CO], 2016.
[34] F. Havet. Choosability of the square of planar subcubic graphs with large girth. Discrete Math., 309(ll):35533563, 2009.
[35] M. Hebdige and D. Kraiâ€™. Third case of the cyclic coloring conjecture. SIAM J. Discrete Math., 30(l):525548, 2016.
[36] H. Heesch. Untersuchungen zum Vierfarbenproblem. B.I.Hochschulskripten, 810/810a/810b. Mannheim, Bibliographisches Institut, 1969.
[37] H. Heesch. Chromatic reduction of the triangulations Te, e = e5 + e7. Journal of Combinatorial Theory, Series B, 13(l):4655, Aug 1972.
[38] S. Jendrolâ€™ and H. J. Voss. Light subgraphs of graphs embedded in the plane  A survey. Discrete Mathematics, 313(4):406421, 2013.
[39] M. Juvan, B. Mohar, and R. Skrekovski. On list edgecolorings of subcubic graphs. Discrete Math., 187(13):137 149, 1998.
[40] J. Kahn. Asymptotics of the listchromatic index for multigraphs. Random Structures Algorithms, 17(2): 117156, 2000.
[41] S. Karakashian, B. Y. Choueiry, and S. G. Hartke. An algorithm for generating all connected subgraphs with k vertices of a graph. 2013.
[42] R. M. Karp. Reducibility among Combinatorial Problems, pages 85103. Springer US, Boston, MA, 1972.
[43] D. Kraiâ€™. Colorings of plane graphs. Presentation, 2016 SIAM Conference on Discrete Mathematics, June 2016.
[44] M. Lason. A generalization of Combinatorial Nullstellensatz. Electron. J. Cornbin., 17(l):Note 32, 6, 2010.
[45] M. Mirzakhani. A small non4choosable planar graph. Bull. Inst. Cornbin. Appl., 17:1518, 1996.
[46] M. Molloy and B. Reed. Graph colouring and the probabilistic method, volume 23 of Algorithms and Combinatorics. SpringerVerlag, Berlin, 2002.
[47] B. Monien and I. H. Sudborough. Min cut is NPcomplete for edge weighted trees. Theoret. Comput. Set, 58(l3):209229, 1988. Thirteenth International Colloquium on Automata, Languages and Programming (Rennes, 1986).
86
[48] D. Paulusma. Open problems on graph coloring for special graph classes. In E. W. Mayr, editor, GraphTheoretic Concepts in Computer Science: fist International Workshop, WG 2015, Garching, Germany, June 1719, 2015, Reuised Papers, pages 1630. 2016.
[49] N. Robertson, D. Sanders, P. Seymour, and R. Thomas. The fourcolour theorem. Journal of Combinatorial Theory, Series B, 70(l):244, 1997.
[50] U. Schauz. Quantitative Combinatorial Nullstellensatz. arXiu:1212.569f [math. CO], 2012.
[51] U. Schauz. Computing the list chromatic index of graphs. J. Discrete Algorithms, 52/53:182191, 2018.
[52] J. P. Steinberger. An unavoidable set of Dreducible configurations. Trans. Amer. Math. Soc., 362(12):66336661, 2010.
[53] D. Stolee. Personal communication, October 2015.
[54] The Sage Developers. SageMath, the Sage Mathematics Software System (Version 8.1), 2017. https://www.sagemath.org.
[55] C. Thomassen. Every planar graph is 5choosable. Journal of Combinatorial Theory, Senes B, 62(1):180 181, 1994.
[56] C. Thomassen. 3listcoloring planar graphs of girth 5. Journal of Combinatorial Theory, Series B, 64(1): 101107, 1995.
[57] C. Thomassen. A short list color proof of Grotzschâ€™s theorem. Journal of Combinatorial Theory, Series B, 88(1): 189â€”192, 2003.
[58] C. Thomassen. The square of a planar cubic graph is 7colorable. J. Cornbin. Theory Ser. B, 128:192218, 2018.
[59] V. G. Vizing. On an estimate of the chromatic class of a pgraph. Diskret. Analiz No., 3:2530, 1964.
[60] M. Voigt. List colourings of planar graphs. Discrete Math., 120(13):215â€”219, 1993.
[61] G. Wegner. Graphs with given diameter and a colouring problem. Preprint, 1977.
[62] D. B. West. Introduction to Graph Theory. Prentice Hall, second edition, 2001.
[63] D. B. West. The Art of Combinatorics, Volume I: Extremal Graph Theory. Unpublished manuscript, 2015.
87
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
APPENDIX A
Source Code for choosability .py
#
# Contents
# 
# rev_powerset
# Sub graphsDealer
# CNS
# IndSets
# restriction_list_single_check
# set2tup
# reduce
# timestring
# subsetstring
# fChoosable
# restrictedListAssignments
# assignmentCheck
#
# Libraries, Comments , Global Variables
# 
# These scripts were written with the intent of using Python 2. 7 before the switch
to Python 3. There should not be many differences to ^ implement our code in Python 3 once this change is made.
import copy
from sage.graphs.graph import Graph import time
from sage.rings.polynomial.polynomialsing_constructor import *
from sage.rings.finite_rings.finite_field_constructor import *
ZZ = sage.rings.integer_ring.IntegerRing()
from sage.graphs.independent_sets import IndependentSets
from itertools import combinations
from numpy import prod
#
# The Routines
# 
def rev.powerset(n): # reverse ordering of colex on sets.
if n > 0:
for subset in rev.powerset(n1): subset.append(nl) yield subset
for subset in rev.powerset(n1): yield subset
else :
yield [] return
88
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
class SubgraphsDealer:
del __init__(self,subgraphs_list,LAscheme="E"):
sell.subgraphs_list = copy.copy(subgraphs_list) sell.LAscheme = LAscheme
# subgraph is the current connected subgraph (set of vertices). sell.subgraph = None
sell.required.vertex = None
del copy(sell) :
clone = SubgraphsDealer(copy.copy(sell.subgraphs.list),sell.LAscheme) clone.subgraph = copy.copy(sell.subgraph) return clone
del prune.subgraphs.list_with_E(sell,E): i = 0
while i < 1en(sell.subgraphs.list):
A = sell.subgraphs.list[i]
# if A not subset E, then toss A from the list il not A <= set(E) :
del sell.subgraphs.list [i] c ont inue else :
i += 1
# call if small condition met
del prune.subgraphs.list_with.CNS(sell ,G.copy , ordering, 1, CA) : i = 0
while i < 1en(sell.subgraphs.list):
A = sell.subgraphs.list[i]
# if A can be be shown to be unnecessary via CNS, then toss A from the list il restriction_list_single.check(G.copy, ordering, 1, CA, A): del sell.subgraphs.list[i] c ont inue else :
i += 1
# E should be nonempty to call this del choose_required_vertex(sell,L,E):
il sell.LAscheme == "E":
sell.required.vertex = E[0]
elil sell.LAscheme == "L":
m = min ( [ (L [y ] , y) lor y in E]) sell.required.vertex = m[l]
89
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# before calling this, call choose root.
# before calling this for the first time, call prune by E (and possibly by CNS) del next_with_required_vertex(sell):
# go through list to find A containing required_vertex i = 0
while i < 1en(sell.subgraphs_list):
# if required_vertex not in A, then keep A in the list A = sell.subgraphs_list[i]
il not sell.required_vertex in A: i += 1 c ont inue
# if A works, then set .subgraph to A, remove A, and return True else :
sell.subgraph = A
del sell.subgraphs_list[i]
return True
# if no such A, then return False (v canâ€™t be filled) else:
return False
# before calling this, call choose root
del next_with_required_vertex_not_containing_set(sell,D): while sell.next _with_required_vert ex() : il D <= sell . subgraph :
continue # try again  we can toss that subgraph else :
return True
else:
return False # no subgraph remaining
CNS(G, 1, verbosity=0):
il verbosity > 7:
print_llag = True else :
print_llag = False
90

Full Text 
PAGE 1
COMPUTATIONALMETHODSFORGRAPHCHOOSABILITYANDAPPLICATIONS TOLISTCOLORINGPROBLEMS by LUKEL.NELSEN B.S.,IndianaWesleyanUniversity,2012 M.A.,MiamiUniversity,2014 Athesissubmittedtothe FacultyoftheGraduateSchoolofthe UniversityofColoradoinpartialfulllment oftherequirementsforthedegreeof DoctorofPhilosophy AppliedMathematicsProgram 2019
PAGE 2
c LukeNelsen2019 ii
PAGE 3
ThisthesisfortheDoctorofPhilosophydegreeby LukeL.Nelsen hasbeenapprovedforthe AppliedMathematicsProgram by MichaelFerrara,Chair StephenHartke,Advisor LouisDeBiasio MichaelJacobson FlorianPfender Date:August3,2019 iii
PAGE 4
Nelsen,LukeL.Ph.D.,AppliedMathematics ComputationalMethodsforGraphChoosabilityandApplicationstoListColoring Problems ThesisdirectedbyAssociateProfessorStephenHartke ABSTRACT Asubcubicplanargraphisagraphsuchthateveryvertexhasdegreeatmost3and whichcanbedrawnintheplanewithoutanyedgecrossings.Thesquareofagraph G is thegraphobtainedfrom G byaddingedgesbetweenpairsofverticeswhichhavedistance2 in G .Wegnerconjecturedthatthesquareofanysubcubicplanargraphhas chromaticnumberatmost7,andCranstonandKimaskedifthisconjecturecould beextendedtolistcoloring.Weprovethisstrongerresult,thatthesquareofanysubcubic planargraphhaslistchromaticnumberatmost7. Ourproofoftheaboveresultusesthedischargingmethodandshowsthe f choosability ofmanyreduciblecongurations.Agraph G is f choosableforafunction f : V G ! N if G admitsan L coloringforeverylistassignment L withtheproperty j L v j f v for each v 2 V G .However, f choosabilityisa P 2 completeproblem,whichishigherthan NPcompleteinthepolynomialcomplexityhierarchy.Therefore,usingcomputational methodstoshow f choosabilityisachallenge.Tosuccessfullyshow f choosabilityinour listcoloringresult,wedevelopandapplynewmethods,includingtheCombinatorial Nullstellensatz.Sinceshowing f choosabilityisapplicabletoprooftechniquesinavariety ofgraphcoloringproblems,ourprogram'spracticalityisofindependentinterest. Theformandcontentofthisabstractareapproved.Irecommenditspublication. Approved:StephenHartke iv
PAGE 5
TomyLordandSaviorJesusChrist,whoproveshimselftometimeandtimeagain. v
PAGE 6
ACKNOWLEDGEMENTS IamgratefultoStephenHartkeformanyreasons.Notonlyhaveourprojectsbeen interestingtothinkaboutandexcitingtocomplete,buthealsomodeledotherimportant valuesofbeingamathematician.Iappreciateallhisadviceoncareermattersbeyondthe Ph.D.,andhisunderstandingduringmydiculttimeshelpedmetonotgiveup. Iwouldalsoliketoextendmygratitudetotherestofmyadvisorycommitteefortheir eortsinguidingmethroughtheprogram:MichaelFerrara,LouisDeBiasio,Michael Jacobson,andFlorianPfender.Inadditiontohissupportonmycommittee,Ithank MichaelFerraraforalwaystakingthetimetogivethebestadvicehecaninallthematters thatariseforagraduatestudent'sexperience.IalsothankLouisDeBiasioforintroducing metographtheoryandstartingmeonasuccessfulpathtoadoctoratedegreeinmyrst andveryformativeyearsasagraduatestudent. IamgratefulalsototheDepartmentofMathematicalandStatisticalSciencesatthe UniversityofColoradoDenverforthenancialsupportofthegraduateassistantship.I appreciateallthefaculty,sta,andpeerswhomadethedepartmentapositiveplaceto workforveyears.Inparticular,NathanGraber,EricSullivan,andCatGraberdeserve thanksfortheirendlesspatiencewhilesharinganocewithme. Thankyoualsotomyparents,whoseencouragementandsupportallowedmeto pursueacademicsfulltimefromanearlyage. Mostofall,IamindebtedtomywifeLauren.Asamathematician,sheisoutstanding. Asaperson,sheisinspiring.Asmydearestfriend,shegivesmethestrengthtokeep going.SheisthereasonImadeithere. vi
PAGE 7
TABLEOFCONTENTS CHAPTER I.INTRODUCTION................................1 II.BACKGROUND.................................7 2.1Background:TheDischargingMethod................7 2.2Background:ListColoring.......................10 2.3OtherGraphColoringResultsUsingComputationalMethods...13 III.COMPUTINGFCHOOSABILITY.......................15 3.1Introduction..............................15 3.2ToolsforDetermining f Choosability.................16 3.2.1DegeneracyandGreediness..................16 3.2.2TheCombinatorialNullstellensatz...............18 3.2.3SearchingAllListAssignments................22 3.2.4OtherToolsfor f Choosability................26 3.3ANewToolforDetermining f Choosability.............27 3.3.1Preprocessing..........................27 3.3.2VettingtheColorabilityClasses................30 3.3.3PruningduringtheBacktrackandSearch..........33 3.3.4OrderingtheColorabilityClassesandVertices........35 3.4ApplyingtheCombinatorialNullstellensatz.............37 3.5ExampleApplications.........................40 3.5.1SmallNonChromaticChoosableGraphs...........40 3.5.2ListColoringConjectureforCubicGraphs..........41 3.5.3Non4ChoosabilityofPlanarGraphs.............42 3.6ConcludingRemarks..........................44 IV.SUBCUBICPLANARGRAPHSARE7SQUARECHOOSABLE......48 4.1Introduction..............................48 vii
PAGE 8
4.2PropertiesofaMinimalCounterexample...............51 4.3WhatItMeansforaCongurationToBeReducible........52 4.4ShowingReducibility..........................55 4.5GeneratingRealizationsforCongurations..............60 4.6DiscussionoftheTargetSet......................67 4.7Discharging...............................68 4.8ConcludingRemarks..........................80 REFERENCES.......................................84 APPENDIX A.SourceCodefor choosability.py .......................88 B.SourceCodeforLemma4.17..........................108 C.SourceCodeforLemma4.25..........................111 D.SourceCodeforLemma4.33..........................113 E.SourceCodeforLemma4.34..........................125 F.SourceCodefor checking realizations.py .................129 G.DiscussionofCodeImplementationforChapterIV..............150 H.ReducibleCongurationsforTheorem4.9...................157 viii
PAGE 9
LISTOFTABLES TABLE 3.1ConnectedNonChromaticChoosableGraphsforEachOrderupto8....40 3.2CubicGraphsforEachEvenOrderupto16..................42 3.3PlaneTriangulationswithMinimumDegreeatLeast4forEachOrderupto2443 4.1DescriptionofAppendices............................50 4.2The76reduciblecongurationsusedtoproveTheorem4.9.EachcongurationishyperlinkedtoacorrespondingentryintheAppendixwithmore details.......................................61 4.3DescriptionsofEquivalentCongurations...................68 4.4TheDischargingRules..............................69 4.5PossibleSublistsofSmallFacesaroundaCentralFace............75 4.6BlocksofSmallFacesaroundaCentral + Face,withChargeBounds..76 4.7SummaryofCasesLemma4.34.........................80 ix
PAGE 10
LISTOFFIGURES FIGURE 3.1AnExample:ThePawGraph..........................17 3.2AnExample: K 3 ; 3 withSmall f Values.....................20 4.1ASubcubicPlanarGraphWhichisNot6SquareColorable.........49 4.2ExamplesofCongurationsContainedinaSubcubicPlaneGraph......53 4.3ExamplesofHowtheConguration8:48485458MightBeContainedina GraphinDierentWays.............................54 4.4ThreeDierentRealizationsof3:45withtheSameCoreSubgraph.....56 4.5ARealizationof3:57withStemsofDierentDegrees.............57 4.6TwoRealizationsof3:57,OneofWhichHasCloseStems...........58 4.7AGeneralIllustrationofLemma4.17......................59 4.8SpecicIllustrationsofLemma4.17......................60 4.9ObtainingtheNaturalCoreSubgraphfortheConguration535.......62 4.10ObtainingAnotherCoreSubgraphfromtheNaturalCoreSubgraphforthe Conguration8:4 5 4 4.............................63 4.11ExamplesShowingthattheConditionsinObservation4.23AreNecessary.65 4.12ExampleofPullingChargebyCountingMultiplicity.............70 4.13TheLayoutofFacesConsideredinLemma4.30................73 4.14TheLayoutofFacesConsideredinCase3ofLemma4.30..........74 4.15TheTwoRealizationsoftheConguration7:4 5 5WhichAreNotCoreChoosable.....................................79 4.16TheFaceLabelingUsedinLemma4.34,andanIllustrationofaSpecicCase79 x
PAGE 11
CHAPTERI INTRODUCTION Therearetwomainresultsofthisdissertation.First,wedevelopapracticalmethod fordeterminingthe f choosabilityofaconcretegraph,alongwithanimplementation programmedinSage.Second,weprovethelistcoloringgeneralizationofthesubcubiccase ofWegner'sConjecture.Bothoftheseresultsarecontributionstotheeldofgraphtheory. Inthisintroductorychapter,wecontextualizethesetworesultsandthenconcludewitha briefdescriptionoftheremainingcontents. A graph or simplegraph isanonemptysetof vertices V togetherwithaset E of pairsofvertices edges .Graphsareusefulcombinatorialobjectsformodelingnetworks andothersettingsinwhichasetofobjectshaspairwiserelationships.Theeldofgraph theory,whichstudiestheseobjectsandtheirproperties,isdiverseinitsquestionsand methods.Someoftheseproofsincorporatecomputationalmethods,asdemonstratedby oneofthemostfamousproblemsingraphtheory:theFourColorTheorem. TheFourColorTheoremis,asthenamesuggests,aresultregarding coloringgraphs . A propercoloring ofagraph G isanassignmentofcolorstotheverticesof G suchthatno edgeof G ismonochromatic.Ifthereexistsapropercoloringof G whichusesatotalof k colors,thenwesaythat G is k colorable .The chromaticnumber ofagraph G isthe minimumnumberofcolors k suchthat G is k colorable.Determiningtightboundsonthe chromaticnumberoverclassesofgraphsisthefocusofgraphcoloringproblems.An exampleofsuchaclassofgraphsisthesetof planar graphsgraphswhichcanbedrawn intheplanewithoutanyedgesintersectingoutsideofvertexpoints.TheFourColor Theoremstatesthateveryplanargraphis4colorable. AllexistingproofsoftheFourColorTheoremsee[6,8,7,29,49,52]use reducibility anddischarging colloquiallyreferredtoas thedischargingmethod andusecomputation tochecknumerousreduciblecongurations.MadeespeciallywellknownbytheFourColor Theorem'sproof,thesemethodshavebeenadoptedtoothercoloringproblems.Aswith 1
PAGE 12
theFourColorTheorem,someoftheseproofsalsoutilizecomputationforverifying reduciblecongurationsordischargingrules. Verifyingthatacongurationisreducibleisamatterofdemonstratingthatany precoloringfromoutsidethecongurationcanbeextendedtothecongurationitself.One directmethodfordoingsoappropriatelycalled precoloringextension istogenerateall possibleprecoloringsontheboundaryoutsidethecongurationandforeachboundary precoloringndacompatiblecoloringontheconguration. Anothermethodistoappealtoageneralizationofcoloringcalled listcoloring .Fora function L whichmapsverticestolistsofcolors,wesaythatagraphadmitsan L coloring ifthereisapropercoloring c suchthat c v 2 L v foreachvertex v .Agraph G is f choosable forafunction f : V G ! N if G admitsan L coloringforeverylist assignment L withtheproperty j L v j f v foreach v 2 V G .Bycountingforeach vertexinacongurationtheconstraintsthatanarbitraryprecoloringmightimposeonthe vertex,alistsizefunction f canbeobtainedfromtheprobleminquestion.Ifthe congurationis f choosableforthisfunction f ,thenanyprecoloringcanbeextended. Usingthe f choosablemethodhastheadditionalbenetofapplyingtocongurations forlistcoloringresults.Ifacongurationis f choosableforthe f obtainedforacoloring statement,thenthesameextensionargumentshowsthatthecongurationisreduciblein thelistversionofthecoloringstatement.Unlikethecoloringstatementappealingtoa morecomplexcoloringvariation,alistcoloringstatementcanusethe f choosablemethod ofshowingreducibility. However, f choosabilityisacomputationallycomplexproblem.Graphcoloringisan NPcompleteproblemsee[42],whichmeansthatthereisnopolynomialtimealgorithm unlessP=NP.Ontheotherhand,determiningifagraphis f choosableis P 2 complete see[26],whichisisstrictlymoredicultthanNPcompleteunlesstheentirepolynomial hierarchyabovePcollapsesintoNP.Atrstglance,itisnotnecessarilyclearthat f choosabilityisevenaniteproblematall.Toappreciatethecomplexityofthe 2
PAGE 13
f choosabilityproblem,considerwhatthedenitionof f choosable"requires:showingthe existenceofan L coloringfor any listassignment L satisfyingthelistsizecondition.Hence showing f choosabilityrequiressolvingverymanydistinctgraphcoloringproblems. Therefore,usingcomputationalmethodstoshow f choosabilityisachallenge,sincethe tasktobecompletedgrowsveryfastwiththesizeofthegraphandthevaluesof f . Thereareseveraltoolsforshowing f choosabilityofgraphs,butsomearebettersuited forabstractapplicationstoclassesofgraphswithspeciedstructure.Whentargeting concretegraphstohopefullybecomereduciblecongurations,thestructureofthesegraphs andthelistsizefunctionsneededfortheproblemmightnotfallintothesecategories. Additionally,mosttoolsforshowing f choosabilityprovideonlysucientconditionsand oernofurtherinsightifthegraphandlistsizefunctioninquestiondonotsatisfythe conditions. FirstResult. Wedevelopandimplementapracticaltoolfordetermining f choosability. Thistoolialwaysdenitivelyprovidesananswerofyes"orno",andiiexecutes withinareasonableamountoftimeforgraphswhichariseinpractice. Tosuccessfullyemploycomputationforshowing f choosabilityingraphcoloring problems,wedevelopandapplynewcomputationalmethods.Byusinginsightsaboutlist assignmentsandconnectedsubgraphs,andbyapplyingtheCombinatorialNullstellensatz notonlytotheentiregraphbutalsotoeveryconnectedsubgraphoftheoriginalgraph,we areabletogreatlyprunethesearchspace.However,applyingtheCombinatorial Nullstellensatzrequiressearchingovermonomialswhosevariablepowersmajorizeaxed listtondamonomialwithnonzerocoecients.SoapplyingtheCombinatorial Nullstellensatzitselfpotentiallyrequiressearchinganexponentialnumberofobjects.By ndingawaytoeectivelyapplytheCombinatorialNullstellensatzinsituationswhich resultinlargesearchspaces,weareabletouseourobservationstoshow f choosabilityfor manygraphsinatractabletimeframe. Becauseoftherelevanceof f choosability,ourmethodsareofindependentinterest.We 3
PAGE 14
alsousethistooltoobtaintheothermajorresultofthisdissertation,thelistversionof Wegner'sConjecture. SecondResult. Weprovethatthesquareofeverysubcubicplanargraphhaslist chromaticnumberatmost7.Thisboundissharp. Agraphis subcubic ifeveryvertexhasdegreeatmost3.The square ofagraph G is thegraphobtainedfrom G byaddingedgesbetweenpairsofverticeswhichhavedistance2 in G .In1977,Wegner[61]conjecturedthatthesquareofanysubcubicplanargraphhas chromaticnumberatmost7.Afterseveraldecades,thisconjecturewasproved independentlybyThomassen[58]andbyHartke,Jahanbekam,andThomas[33].In2008, CranstonandKim[19]provedthatthesquareofeverysubcubicnonPetersengraphis 8choosableandaskedifWegner'sConjecturecanbeextendedtolistcoloring. AlthoughthelistanalogofWegner'sConjectureisanaturalquestion,itisadicult one.Therehasbeenrecentworkboundingthelistchromaticnumberofsquaresof subcubicplanargraphswhichalsohavegirthconditions,butnopapersconcerningthis topicposetheunrestrictedlistversionofthestatementasaconjecture.Aproofofthe statementbringssomechallenges.Withlistcoloring,standardcoloringargumentswhich showthataminimalcounterexampleis2or3connecteddonotapplysincecolors assignedtoverticescannotsimplybepermuted.Additionally,congurationsinthe standardcoloringsettingaresometimesshowntobereduciblebyprecoloringextension withtheassistanceofplaceholderstructurescalled reducers .Thesestructuresconstrain thepossibleprecoloringsontheboundaryoftheconguration.However,suchstructures havenoeectontheconstraintsimposedbyarbitraryprecoloringswhenusingthe f choosablemethodinthelistcoloringsetting. OnemightlooktothetwoproofsofWegner'sConjecturetoseeiftheycanbeadapted tothelistversion.TheproofofHartke,Jahanbekam,andThomas[33]usesthe dischargingmethodandusesprecoloringextensiontoverifythereducibilityof31 congurations.Someofthesecongurationsrequirereducers,whichmeanstheycannotbe 4
PAGE 15
showntobereducibleinthelistsetting.Henceeveniftheremainingcongurationscanbe showntobe f choosablefortheappropriate f ,therewillneedtobemanymorereducible congurationstocompensatefortheothers.Duetothetendencyofreducible congurationstobeassmallaspossiblewhilemaintainingreducibility,thesenew congurationswouldbelargerthantheonestheyreplace.Inthelistsetting,ndingand showingthesecongurationstobereducibleissignicantlymoredicult. Ontheotherhand,theproofofThomassen[58]doesnotusethedischargingmethod. Instead,themethodreliesondecomposingacubicplanargraphintotwosubgraphs.The decompositionguaranteesthatoneofthesubgraphsisalmost3colorableinthesquareof theoriginalgraph.Theothersubgraphisguaranteedtobealmostplanarinthesquare andthusisalmost4colorableinthesquare.Then,moreargumentshelpattainaproper 7coloringinthesquare.However,theproofforthedecompositionreliesonpermuting colorsandonconnectednessconditions,whicharenotavailableinthelistsetting.Inthe eventthattheargumentcouldbepatchedwiththeremovalofthesecomponentsfroman alreadytediousdecompositionproofcontaining24terminalsubcases,theresultwouldnot necessarilybetractableforhumanwritingorreading. 1 Despitethechallengesofthisproblem,weanswerthequestioninthearmativeby provingthatthesquareofanysubcubicplanargraphis7choosable.Ourproofusesthe dischargingmethodandshowsthe f choosabilityofmanyreduciblecongurationsusing ourprogram. InChapterII,wediscussmoreaboutthedischargingmethod,listcoloring,andgraph coloringresultsusingcomputation.InChapterIII,wedescribesomeexistingtoolsfor determining f choosability.Wethendiscussouralgorithmfordetermining f choosability anddemonstrateourprogramwithafewapplications.Havingdevelopedourprogram,in ChapterIVwepresentourproofthatallsubcubicplanargraphsare7squarechoosable. WealsoincludeseveralAppendicestosupplementtheChapters.Inadditiontothe 1 However,Thomassenmadeadecompositionconjecturewhich,iftrue,wouldbeasignicantsteptoward provingthelistversionofWegner'sConjecture. 5
PAGE 16
commentedsourcecodeforallrelatedprograms,wealsoincludeatablewithdetailsforall thereduciblecongurationsforTheorem4.9.Wealsoincludediscussionofourpractical implementationforsomeofthemathematicalobservationsinChapterIV. Forstandardgraphtheorynotationorterminologyusedinthisdissertationnot explicitlydened,wefollowthatofWest[62]. 6
PAGE 17
CHAPTERII BACKGROUND 2.1Background:TheDischargingMethod WeprovideadescriptionofthedischargingmethodusingtheFourColorTheoremas anillustration.ConsiderthefollowingsketchofaproofoftheFourColorTheorem: Supposetowardcontradictionthatnotallplanargraphsarefourcolorablethatis,have chromaticnumberatmostfour.Ifthisisthecase,thenofallthosecounterexamples whichareplanaryetnotfourcolorable,let G beonewhichisminimalwithrespectto subgraphs.Thatis,nopropersubgraphof G isacounterexample.Ifwecanprovethe nonexistenceof G ,thenthiswouldimplythatthereareinfactnocounterexamplesatall, allowingustoconcludethatthetheoremistrue. Weshowthatthereisaset U ofsubgraphswhichaminimalcounterexample G cannot containbecausetheyextendfourcolorings.If G containssuchasubgraph U ,thenbythe minimalityof G weknowthat G )]TJ/F20 11.9552 Tf 11.955 0 Td [(U isfourcolorableandthusthat G isactuallyfour colorableandtherefore G isnotacounterexample.Wealsoshowthat G must contain somesubgraphfrom U duetostructuralpropertiesandtherefore G cannotexist. Suchanapproach,developedbymathematicianssuchasBirkho[10]andHeesch [36,37],wasultimatelythestrategyusedbyAppel,HakenandKoch[6,8]inthe1970sto provetheFourColorTheorem.Theirproof,assketchedabove,isanexampleofthe dischargingmethod.Asitisanincrediblyinvolvedandtediousone 1 ,thedetailsoftheir proofdonotserveasaparticularlyilluminatingintroductiontothedischargingmethod. However,theoutlineoftheFourColorTheorem'sproofillustratesthegeneralideaof reducibilityanddischargingquitewell: Let G beaminimalcounterexampletotheclaim. 1.ReducibilityDetermineaset U of reduciblecongurations substructuresshownto notbecontainedby G duetoitsminimality. 1 Therevisedpublication[7]is741pagesincludingthelistsofreduciblecongurationsandclasscheck lists. 7
PAGE 18
2.DischargingShowthat U isacollectionof unavoidablecongurations thatinfact G mustcontainsomeelementof U . Consideringaminimalcounterexampleratherthananyarbitrarycounterexample leveragesinformationthatwemaynothaveotherwisehadatourdisposal.TakingtheFour ColorTheoremasanexample,weimmediatelyseethatanypropersubgraphof G mustbe fourcolorable.Inthissense, G mustitselfbeveryclosetobeingfourcolorable.For example,wecanobservethateveryvertexof G musthavedegreeatleastfour:otherwise, avertexwiththreeorfewerneighborscouldbedeletedfrom G ,resultinginafourcoloring ofthesmallergraph.Butthenthedeletedvertexcanbeputbackintothegraph,andthe fourcoloringcanbeproperlyextendedtoincludethevertex.Soavertexwithdegreethree orlessisareducibleconguration,asitspresenceshowsthat G cannotbea minimal counterexample.Observationssuchasthisshowthattheminimalityof G canbevaluable inobtainingreduciblecongurations.Showingsuchcongurationsarereducibleisthe Reducibility"portionofthedischargingmethod. Asdemonstratedbythelowdegreevertexabove,theminimalityofourpurported counterexample G oftenhelpsusndreduciblecongurationswhicharelocalinnature. However,concludingthat G cannowherecontainanysuchcongurationisaglobal statementaboutthegraph.Forexample,knowingthatalowdegreevertexisareducible congurationallowsustoconcludegloballythattheminimumdegreeof G isatleastfour. Ifonecouldprovethatplanargraphscannothaveminimumdegreeatleastfour 2 ,thena lowdegreevertexwouldbeanunavoidablecongurationandwewouldhaveprovedthe FourColorTheorem.Ingeneral,thedischargingmethodshowsthatreducible congurationsareunavoidablebydoingthefollowing: 1.Assignchargesrealnumberstoobjectsin G inawaythatguaranteesacertain xedtotalcharge.Whenworkingwithplanargraphs,itistypicaltoapplyEuler's Formulatodeterminethexedtotalcharge.Forexample,byassigningachargeof 2 Hypothetically,sinceplanargraphs can haveminimumdegreeatleast4. 8
PAGE 19
deg v )]TJ/F15 11.9552 Tf 11.955 0 Td [(6toeachvertex v andachargeof2 ` f )]TJ/F15 11.9552 Tf 11.955 0 Td [(6toeachface f inaconnected planargraph,thetotalchargeis )]TJ/F15 11.9552 Tf 9.298 0 Td [(12. 2.Applyasetofrulestothegraphsothatthechargedobjectsgiveortakechargefrom eachotherpreservingthetotalcharge.InthecontextoftheFourColorTheorem, suchruleswouldgivepositivechargesfromverticesofdegreegreaterthansix large"verticesorfromfacesoflengthgreaterthanthree"large"facestovertices ofdegreelessthansixsmall"vertices. 3.Afterapplyingtherules,observethattheabsenceofcongurationsfrom U implies thatthecurrenttotalchargeonthegraphisdierentthanwhatwehadtobegin withacontradiction.Againregardingourexample,weconcludethathavingno congurationsfrom U meansthateveryvertexandfacehaschargeatleastzero,and thusthatthetotalchargeisnonnegative. Andsoitmustbethecasethattheset U isunavoidable.Developingappropriaterulesfor thisprocessistheDischarging"portionofthedischargingmethod. AsAppelandHakendiscussin[6],thedischargingprooffortheFourColorTheorem hasalonghistoryofreningthesetofreduciblecongurations,ofreningthedischarging argumentfortheunavoidablecongurations,andtheinterplaybetweenthesetwopartsof theargument.Thisrenementisoftennecessarywhendevelopingdischargingproofs,and onesometimesndsthatthesetofreduciblecongurationsgrowsintheprocess.Inthe caseofAppel,Haken,andKoch'sproofoftheFourColorTheorem[8],thesetofreducible congurationsnumbered1482andneededcomputationaltechniquestoanalyze. 3 When Robertson,Sanders,Seymour,andThomas[49]developedamorestreamlinedproofofthe FourColorTheoremin1995,theystillhadasetof633reduciblecongurationswhich neededtobeveriedbycomputer.Steinberger[52]presentedaproofusingasetof2822 reduciblecongurationswhichincludedonlythemostbasictypeofreducible conguration"andindoingsoexchangedmorecomputertimeforsimplicityofthe 3 Originally,thesettheycheckedcontained1936members,butwereabletotoreducethesizedownto 1834andsubsequently1482withoutlosingunavoidabilitybythetimeofpublication. 9
PAGE 20
reducibilityverication. DespiteinitialhesitationtoacceptAppelandHaken'sproofoftheFourColor Theoremespeciallypriortotheirfollowuppublication[7]theirworkhassincebecome regardedasavalidmathematicalproof,evenwiththenecessarycomputercheckedportion. Gonthier[29]hasgoneasfarasgivingaformalprogramproofoftheFourColorTheorem byverifyingRobertson,Sanders,Seymour,andThomas'sproofwiththeCoqProof Assistant. Foramorethoroughintroductiontothedischargingmethod,wereferthereaderto [20].Forsurveysondischargingresults,wereferthereaderto[14,38]. 2.2Background:ListColoring Thechromaticnumberofagraphistheminimum k suchthateachvertex v canbe assignedacolor c v fromthelist f 1 ;:::;k g toobtainapropercoloring.Inthissense,each vertexhasachoicefromalistofcolorsandeachvertexcanchoosefromthesamelist, f 1 ;:::;k g .Thisnotionofcoloringcanbegeneralizedbyallowingtheverticestochoose fromdierentlists.Let L beafunctionwhichmapsverticestolistsofsize k .Istherea propercoloring c suchthat c v 2 L v foreachvertex v ?Whenverticesrepresent committeesandedgesrepresenttwocommitteeshavingacommonmember,thisquestionis aformulationofaschedulingproblem.Giveneachcommittee'slistofavailablemeeting times,canmeetingtimesbeassignedtoeachcommitteesuchthatnocommitteememberis doublebooked?Thelistchromaticnumberconcernsitselfwiththefollowingversionofthe schedulingproblem:whatisthesmallestnumber k suchthatifeachcommitteegivesat least k availablemeetingtimes,thenmeetingtimescanbeassignedtoeachcommitteesuch thatnocommitteememberisdoublebooked? Wesaythatagraphadmitsan L coloring foralistassignment L ifthereisaproper coloring c suchthat c v 2 L v foreachvertex v .Foraspecied L ,wecallsucha coloring admissible .Wesaythatagraphis k choosable ifitadmitsan L coloringforevery listassignment L withtheproperty j L v j k foreachvertex v .The listchromaticnumber 10
PAGE 21
ofagraphistheleast k suchthatthegraphis k choosable.Whereasthechromatic numberofagraph G isdenotedby G ,thelistchromaticnumberisdenotedby ` G . Finally,wesaythatagraphis f choosable forafunction f : V G ! N ifitadmitsan L coloringforeverylistassignment L withtheproperty j L v j f v foreachvertex v . Eveninnonlistcoloringproblems,listcoloringisrelevantifsomeverticesaregiven preassignedcolors.Thisisoftenthecasewhenastrengthenedinductionhypothesisis used.Itisalsohowcongurationsareshowntobereducibleininductionproofsofcoloring results.Upondeletingacongurationfromaminimalcounterexample,byminimalitythe remainingsubgraphcanbecolored.Ifthecoloringoftheremainingsubgraphcanbe extendedtothedeletedconguration,thenthecongurationisreducible.Agraph G can beextendedfromapartialcoloringonvertices A V G toa k coloringoftheentire graph G ifandonlyif G admitsan L coloringwhenthelistsofverticesin A arethe preassignedcolorssize1and L v = f 1 ;:::;k g foreachremainingvertex v .Hence provingthatacongurationis f choosableforacertain f issucientforshowingthatthe congurationisreducibleforacoloringproblem. Thereisalonghistoryofgeneralizingcoloringresultstolistcoloringanalogs.Planar graphs,forexample,haveaboundedbehaviorforbothofthesetwographparameters. Theorem2.1 Appel{Haken{Koch1977[6,8] . Planargraphsare4colorable. Theorem2.2 Thomassen1994[55] . Planargraphsare5choosable. Theorem2.3 Grotzsch1959[30] . Planargraphswithnocyclesoflength3are 3colorable. Theorem2.4 Thomassen1995,2003[56,57] . Planargraphswithnocyclesoflength3 or4are3choosable. Theorem2.5 Alon{Tarsi1992[5] . Bipartiteplanargraphsare3choosable. Itisalsoworthnotingthatboth G and ` G arealwaysboundedaboveby G +1.Theclassofgraphswhichattainthisboundarethesameinbothcases. Theorem2.6 Brooks1941[18] . If G isaconnectedgraphwithmaximumdegree ,then 11
PAGE 22
G if G isneithercompletenoranoddcycle. Theorem2.7 Erd}os{Rubin{Taylor1979[26] . If G isaconnectedgraphwithmaximum degree ,then ` G if G isneithercompletenoranoddcycle. Ascanbeseenabove,thereareaspectsinwhichcoloringandlistcoloringseemto behavesimilarly.However,therearealsoaspectsinwhichthesetwoparametersdier. Theorem2.8. The2colorablegraphsarethosewithoutanyoddcycles. Theorem2.9 Erd}os{Rubin{Taylor1979[26] . The2choosablegraphsaretreesandthe graphswhich,whenverticesofdegree1havebeensuccessivelydeleted,haveremainingas connectedcomponentsevencyclesand/or 2 ; 2 ; 2 m graphs. Theorem2.9meansthatnotallbipartitegraphsare2choosable.Infact,inthesame paperitisalsoshownthatthebipartitegraph K m;m with m = )]TJ/F18 7.9701 Tf 5.479 4.379 Td [(2 k )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 k isnot k choosable. Hencetheclassofbipartitegraphshasunboundedlistchromaticnumber.Thisshowsthat insomecases,thelistchromaticnumbercapturesaverydierentaspectofgraphsthan thechromaticnumberdoes. Thereisonenalandcriticaldistinctionwemustmakefromacomplexitystandpoint. Forareviewoftheterminologyregardingthepolynomialhierarchy,seeGareyandJohnson [28]. Theorem2.10 Karp1972[42] .CHROMATICNUMBER isNPcomplete. Theorem2.11 Erd}os{Rubin{Taylor1979[26] . f CHOOSABILITY is P 2 complete. Thechoosabilityproblemremains P 2 completeevenundersignicantrestrictions.For example,itfollowsfromTheorems2.9and2.5thatthelistchromaticnumberofabipartite planargraphcanbedeterminedinpolynomialtime.YetGutner 4 [31]showedthatthe problemofdecidingwhetherabipartiteplanargraph G is f choosablegiven f : V G !f 2 ; 3 g isstill P 2 complete.Notethat f CHOOSABILITY isadierent problemfrom LISTCHROMATICNUMBER . Despitethatlistcoloringisanalgorithmicallydicultproblem,inthecontextof 4 Later,GutnerandTarsi[32]attributethisresulttoErd}os,Rubin,andTaylor[26]. 12
PAGE 23
reduciblecongurationsitoftendoesnotrequireanevenmoredicultproblemfor assistance.Reduciblecongurationsfornonlistcoloringproblemsareoftenshowntobe f choosableforsome f ,whichisusingamorediculttypeofcoloringproblem.However, showingthis f choosabilityforthecongurationisoftensucienttoprovereducibilityin thelistcoloringversionoftheproblemaswell,sincethecoloringextensionargumentisthe same.Henceinthecontextofdischargingproofs,listcoloringresultsmaybeasaccessible astheirnonlistcounterpartsifthedicultybarriercanbebrokenforthereducible congurations. Sections3.2.1and3.2.2discusscommonmethodsforproving f choosabilityforgraphs. Therehasbeenmuchmoreworkinlistcoloringthanhasbeenmentionedhere,aswell asfurthergeneralizationsoflistcoloring.Wereferthereaderto[2,14,20,48]forsurveys onthesetopicsandtobooks[23,62,63]thatcontainsectionsonlistcoloring. 2.3OtherGraphColoringResultsUsingComputationalMethods ProofsofsometheoremsotherthantheFourColorTheoremalsohavemanyreducible congurations.Sometimes,thesemaybeabletobeinspectedincasestogetherbyhand. Forexample,Borodin[13]veriedsome450reduciblecongurations" 5 toprove Grunbaum'sconjectureonacycliccoloringsofplanargraphs.Amajorpieceofthis achievementisthatonelemmaLemma9simultaneouslyprovesthereducibilityof400 congurations.Insuchcaseswhentherearesharedandeasilyrecognizablepropertiesof congurations,useofcomputersisnotnecessary.Morerecently,severalprojectshaveused congurationswhicharediculttoverifybyhand,andwehavecollectedthemhere.Some proofsdonotusedischargingbutstillmakeuseofreduciblecongurations.Inaddition, theseresultsspanarangeofcoloringvariants. Forexample,Diemunsch,etal.[22]usedcomputationtoverifyreducibilityfortheir4 congurationswhenboundingthecolorblindindexofaclassofcubicgraphs.Theyalso usedcomputationtoverifyacoloringextensionpropertyofavariablegadgetinaseparate 5 Quotefrom[20]. 13
PAGE 24
complexityresult. Toobtainresultsforthestrongchromaticindexofgraphs,DeOrsey,etal.[21]useda computertoverifyreducibilityfor38oftheircongurations.Interestingly,theyalsouseda computertoverifythereducibilityofanadditionalcongurationviatheCombinatorial NullstellensatzseeSection3.2.2bydeterminingthecoecientofacertainmonomialin theexpansionofthegraphpolynomial. Brimkov,etal.[17]useddischargingtoimproveaninjectivechoosabilityresulton subcubicplanargraphs.Theirproofusedcomputationaltechniquestoverifyreducibility for25familiesofreduciblecongurationsbyndingAlon{Tarsiorientationssee Section3.2.2. Hartke,Jahanbekam,andThomas[33]provedthesubcubiccaseofWegner'sTheorem usingadischargingargumentforwhichtheprecoloringextensionofthe31reducible congurationswasveriedbycomputerusing100daysoftotalCPUrunningtime. Dvorak,etal.[24]useddischargingtoproveacycliccoloringresulttowardsa conjectureofPlummerandToft.Theirproofusedcomputationalmethodstoverify reducibilityviaprecoloringextensionfor33oftheir40congurations,andalsotoverify thedischargingrulesforverticesandfaces.Inaddition,theauthorsusedalinearprogram tooptimizetheamountsofchargemovedinthedischargingrules[43]. TowardtheCyclicColoringConjecture,HebdigeandKral'[35]usedadischarging argumentwith193reduciblecongurationsand103dischargingrules.Theywereableto verifythereducibilityofallthecongurationswithsixlemmas,butcheckedtheirproofs withcomputationalmethods.Additionally,theyrequiredcomputationalresourcestoverify thenalchargesfor5and6faces. InChapterIV,weuseadischargingargumentinwhichweusecomputationto generateandverify88reduciblecongurationandtoverifythenalchargeoffaceswith lengthbetween7and14. 14
PAGE 25
CHAPTERIII COMPUTINGFCHOOSABILITY 3.1Introduction Inthischapter,wepresentourprogramfordeterminingifagraphis f choosable.We reviewothermethodsanddiscusstheaspectsofourprogramwhichmakeiteectivein practicedespitethecomplexitybarrier. A coloring ofagraph G isafunction c on V G .Wesaythat c is proper if c u 6 = c v foreveryedge uv in G .The chromaticnumber ofagraphistheminimum k suchthateach vertex v canbeassignedacolor c v fromthelist f 1 ;:::;k g toobtainapropercoloring. Foracoloring c ofagraph G ,a colorclass isthesetofallverticesreceivingagivencolor. If i isacolor,thenthe i colorclass is f v 2 V G : c v = i g ,thesetofverticesreceiving color i .Ifrange c = f 1 ;:::;k g forsome k 2 N ,then c canberepresentedbythelist A 1 ;:::;A k whereeach A i isthe i colorclass.Apropercoloring c onapropersubsetof verticesisa partialcoloring . A listassignment L onagraph G isafunctionon V G whichmapseachvertextoa setofcolors.Wesaythatagraphadmitsan L coloring foralistassignment L ifthereisa propercoloring c of G suchthat c v 2 L v foreachvertex v .When L isunderstood,we callsuchacoloring admissible .Foralistassignment L onagraph G ,a colorabilityclass is thesetofallverticeswhichhaveagivencolorintheirlist.If i isacolor,thenthe i colorabilityclass is f v 2 V G : i 2 L v g ,thesetofverticeswith i intheirlist.If S L v = f 1 ;:::;k g forsome k 2 N ,thenthelistassignment L canberepresentedbythe list A 1 ;:::;A k whereeach A i isthe i colorabilityclass.The multiplicity ofacolorability class A inalistassignment L = A 1 ;:::;A k isthenumberofindices i 2f 1 ;:::;k g such that A i = A .Wesaythatalistassignment L 0 = A 0 1 ;:::;A 0 k 0 contains anotherlist assignment L = A 1 ;:::;A k if f A 1 ;:::;A k gf A 0 1 ;:::;A 0 k 0 g asmultisets.Alist assignment L = A 1 ;:::;A k onagraph G is connected iftheinducedgraph G [ A i ]is connectedforeach i 2f 1 ;:::;k g . 15
PAGE 26
A listsizefunction f onagraph G isafunction f : V G ! N .Givenalistsize function f ,wesaythatalistassignment L is f full orsimply full ,if f isunderstoodif j L v j = f v foreachvertex v .Wesaythat L isan f partial orsimply partial list assignmentif j L v j f v foreachvertex v andif L isnotfull.When f andthegraph areunderstood,wesaythatalistassignment L is bad ifitisfullandthegraphadmitsno L coloring.Wesaythatagraph G is f choosable ifthereexistsan L coloringforevery f fulllistassignment L of G .Wesaythatagraphis k choosable ifitis f choosableforthe constantlistsizefunction f v = k .The listchromaticnumber ofagraphistheleast k suchthatthegraphis k choosable. InSection3.2,wediscusssomeofthetoolsusedforshowing f choosability.In Section3.3,wedescribeourtoolfordetermining f choosability.InSection3.4,wedescribe ourimplementationforapplyingtheCombinatorialNullstellensatzsomanytimesinour program.WeconcludewithsomethoughtsandquestionsinSection3.6.Thecodeforour programcanbefoundinAppendixA.OurimplementationusesSageMath[54]. 3.2ToolsforDetermining f Choosability Ourfocusinthissectionwillbeonthreemethodsforshowing f choosabilitywhichwe willincorporateintoourownalgorithm.AfterdiscussingtheseinSections3.2.1,3.2.2and 3.2.3,wewillalsomentionotherapproachestolistcoloringwhichhavetheirownmeritsin Section3.2.4. 3.2.1DegeneracyandGreediness Whentryingtoprovethataspecicgraphis f choosableforaparticularlistsize function f ,themostcommonapproachusedintheliteratureistochooseanorderingof theverticesandobservetheworstcasescenariounderagreedycoloringwhichrespectsthis ordering.Forexample,considerthepawgraph G onvertices f w;x;y;z g andedges f wx;xy;xz;yz g .SeeFigure3.1. 16
PAGE 27
w 2 x 3 y 2 z 1 Figure3.1:Thepawgraph.Thelistsizeofeachvertexisgivenasaboxednumber. Letthefunction f bedenedby f w = f y =2, f x =3,and f z =1,andalso considerthevertexordering z;y;x;w .Uponcoloring z ,atmostonecolorbecomes unavailablefromthelistsof x and y ;so y stillhasanavailablecolorandwechoosethat color.Then, x stillhasatleastoneavailablecolor,whichwechoose.Untilcoloring x ,both colorsinthelistof w wereavailable;aftercoloring x ,atleastoneremainsavailableto assignto w .Hence G is f choosable. Wesayagraph G is h degenerate forafunction h : V G ! N ifthereexistsavertex orderingsuchthateachvertex v hasatmost h v previousneighborsintheordering. When h isaconstantfunctionmappingtoavalue k ,wewritethat G is k degenerate . Fromtheabovegreedycoloringmethod,wemakeanobservation. Observation3.1. Consideragraph G andalistsizefunction f .If G is f )]TJ/F15 11.9552 Tf 11.955 0 Td [(1 degenerate,then G is f choosable. Itisoftenthecasethatagraphis f choosablebutnot f )]TJ/F15 11.9552 Tf 11.955 0 Td [(1degenerate.However, greedycoloringcanbestrengthenedwithcaseanalysis.Forexample,evencyclesarenot 1degeneratebutareclosetobeing1degenerateinthesensethateverypropersubgraph hasminimumdegreeatmost1.Nowconsiderthefollowingproofthatevencyclesare 2choosable.Let L bealistassignmenton C 2 k suchthat j L v j =2foreachvertex v .If L isconstant,then L hasanadmissiblecoloringsince C 2 k is2colorable.Sosupposethere existadjacentvertices u;v suchthat L u n L v 6 = ? ,andassign u acolorfrom L u n L v .Bygreedilycoloringtheremainingverticescyclicallyabout C 2 k from u to v , weobtainan L coloring. 17
PAGE 28
Sometimes,greedyapproacheswithcaseanalysisarenottractableforprovingthata graphis f choosableforagiven f .However,itisalwaysworthwhiletousepartial informationaboutgreedycoloring. Observation3.2. Consideragraph G andalistsizefunction f suchthat f v > deg v forsomevertex v .Then G is f choosableifandonlyif G )]TJ/F20 11.9552 Tf 11.955 0 Td [(v is f j G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v choosable. Observation3.2impliesObservation3.1,butmoreimportantlyitallowsfor preprocessinganinputgraph G andlistsizefunction f .Ifthereareanyverticeswithlarge listsizes,weneedonlyconsiderthegraphremainingwithoutthem. Inlightoftheaboveobservation,anaturalquestiontoaskiswhetheragraphis f choosableforthelistsizefunctiondenedby f v :=deg G v .Wecallsuchagraph degreechoosable .A block of G isamaximal2connectedsubgraph,anda Gallaitree isa connectedgraphforwhicheveryblockisanoddcycleoracompletegraph.Thefollowing theoremcharacterizesdegreechoosablegraphs. Theorem3.3 Erd}os{Rubin{Taylor1979[26] . Aconnectedgraphisdegreechoosableif andonlyifitisnotaGallaitree. 3.2.2TheCombinatorialNullstellensatz Oneofourprimarytools,theCombinatorialNullstellsatz,isderivedfrompolynomial methods. Theorem3.4 CombinatorialNullstellensatz,see[3] . If Q n i =1 x t i i isamonomialwith nonzerocoecientinapolynomial p havingdegree P n i =1 t i overaeld F ,and S 1 ;:::;S n aresetswith j S i j >t i for 1 i n ,then p x 6 =0 forsome x 2 S 1 S n . Let G beagraphwithvertices V = f v 1 ;:::;v n g andedges E .The graphpolynomial of G isdenedby p G x = Y v i v j 2 E i
PAGE 29
Givenalistassignment L andsetting S i := L v i foreach i ,wehavethat ^x =^ x 1 ;:::; ^ x n inducesa L coloringdenedby c v i =^ x i foreach1 i n ifandonly if p G ^x 6 =0.HencethefollowingiscorollarytoTheorem3.4theCombinatorial Nullstellensatz. Corollary3.5 Alon{Tarsi1992[5] . If Q n i =1 x t i i isamonomialof p G withnonzero coecientand f isafunctionwith f v i >t i for 1 i n ,then G is f choosable. Toillustratethiswereturntotheexampleofthepawgraph G inFigure3.1.Letting x;w;y;z alsobethevariablesfortheirrespectiveverticesinthegraphpolynomial,wehave p G w;x;y;z = w )]TJ/F20 11.9552 Tf 11.955 0 Td [(x x )]TJ/F20 11.9552 Tf 11.955 0 Td [(y x )]TJ/F20 11.9552 Tf 11.956 0 Td [(z y )]TJ/F20 11.9552 Tf 11.955 0 Td [(z = wx 2 y )]TJ/F20 11.9552 Tf 11.955 0 Td [(wxy 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(x 3 y + x 2 y 2 + wy 2 z + x 2 yz )]TJ/F20 11.9552 Tf 11.955 0 Td [(xy 2 z )]TJ/F20 11.9552 Tf 11.955 0 Td [(wx 2 z + x 3 z )]TJ/F20 11.9552 Tf 11.955 0 Td [(x 2 yz + wxz 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(wyz 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(x 2 z 2 + xyz 2 : Sincethecoecientofthemonomial w 1 x 2 y 1 z 0 = wy 2 z isnonzero,wehavethat G is f choosableforany f with f w 2, f x 3, f y 2,and f z 1. Corollary3.5isstatedasanapplicationtolistcoloringonvertices,butitisjustas relevanttoothercoloringvariants.ByapplyingCorollary3.5totheappropriateconict graph,thesamemethodcanbeappliedinotherlistcoloringsettingssuchasedgecoloring, totalcoloring,ordistancecoloring.Inallthesecases,therespectivepolynomialisa productoffactorscorrespondingtoconictsinthegraph.DeOrsey,etal.[21]employed thismethodtoaspecicgraphinthecontextofthestrongchromaticindex,usingthe computeralgebrasystemsMagmaandSagetoidentifythecoecientofamonomialina polynomialofdegree60. WhiletheCombinatorialNullstellensatzisausefultool,italsohasshortcomingswhen appliedtospecicgraphswemightencounterinourreduciblecongurations.Forexample, Corollary3.5providesasucientcondition,butnotanecessaryone.Ifthecoecientsof all f appropriatemonomialsinthepolynomialexpansionarezero,thenwearegivenno 19
PAGE 30
informationregardingthe f choosabilityofourgraph.InthecaseofCorollary3.5,this mightoccurwhen )]TJ 5.479 0.717 Td [(P v 2 V f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n isatleastthedegreeofthepolynomial,butitis guaranteedtooccurwhenthevalueisless.Forexample,considerthegraph K 3 ; 3 andthe function f denedbyassigning3toonevertexof K 3 ; 3 and2totheremainingvevertices. SeeFigure3.2.ToapplyCorollary3.5,weneedtoidentifyamonomial Q 6 i =1 x t i i suchthat t i f v i )]TJ/F15 11.9552 Tf 11.955 0 Td [(1foreach i .However,ourchoiceof f impliesthatanysuchmonomialhas degreeatmost7,whereas p K 3 ; 3 hasdegree9.SotheCombinatorialNullstellensatztellsus nothinginthiscase,eventhough K 3 ; 3 isinfact f choosable.Thisisshownbythemethod inSection3.2.3. 3 2 2 2 2 2 Figure3.2:Thecompletebalancedbipartitegraphon6vertices.Thelistsizeofeach vertexisgivenasaboxednumber. AlthoughCorollary3.5providesonlyasucientcondition,itiscompatiblewith greedycoloring. Lemma3.6. Let G beagraph,let f bealistsizefunctionon G ,andlet v beavertexof G .Ifall f j G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v appropriatemonomialsof p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v havecoecient0,thenall f appropriate monomialsof p G havecoecient0. Proof. Wedenoteby p Q x t i i thecoecientofamonomial Q x t i i inapolynomial p .Label theverticesof G as v 1 ;:::;v n suchthat v = v n ,andlet S bethesetofindicesofthe neighborsof v n .Observethat p G p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v p S ,where p S := Q i 2 S x i )]TJ/F20 11.9552 Tf 11.955 0 Td [(x n . Nowlet Q n i =1 x t i i bean f appropriatemonomial.Since p G Q n i =1 x t i i =0when t i > deg G v i forsome i ,weassumethat t i deg G v i forall i .Dene r n := t n ,andlet R bethesetof n )]TJ/F15 11.9552 Tf 11.567 0 Td [(1tuples r 1 ;:::;r n )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 ofnonnegativeintegersmajorizedby t 1 ;:::;t n )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 20
PAGE 31
whichsumtodeg G v n )]TJ/F20 11.9552 Tf 11.948 0 Td [(t n .Observethat R representstheexponentlistsintheexpansion of p S [ x t n n ].Sowehave p G " n Y i =1 x t i i # = X r 1 ;:::;r n )]TJ/F19 5.9776 Tf 5.756 0 Td [(1 2 R p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v " n )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 Y i =1 x t i )]TJ/F21 7.9701 Tf 6.586 0 Td [(r i i # p S " n )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 Y i =1 x r i i ! x t n n # : Ifall f j G )]TJ/F21 7.9701 Tf 6.587 0 Td [(v appropriatemonomialshavecoecient0in p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v ,then p G Q n i =1 x t i i =0. Henceifthereisagreedyorderingoftheverticeswhichshowsthatagraphis f choosable, thenCorollary3.5willalsoshowthatthegraphis f choosable.Moreimportantly,using Observation3.2doesnotchangetheoutcomeofapplyingtheCombinatorial Nullstellensatz. AsecondshortcomingofCorollary3.5isthatitdoesnotapplytocertainaspectsof reducibility.Sometimes,anadditionalplaceholderstructurecalleda reducer isusedinthe inductionstepwhichgivestheprecoloringsomeadditionalconstraints.Thepresenceof reducersmeansthattherearefewerprecoloringstoextendtotheconguration,andthus thefullmeasureof f choosabilityisnotnecessarytocheckreducibilityinthestandard coloringsetting.However,theCombinatorialNullstellensatzdoesnotguaranteethe existenceofapointinarestricteddomain,soitisunclearifpolynomialmethodscanbe eectivewithreducers. AthirdshortcomingoftheCombinatorialNullstellensatzisthenumberof f appropriatemonomialsmaybelarge.When )]TJ 5.479 0.717 Td [(P v 2 V f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n ismuchlargerthanthe degreeofthegraphpolynomial,therearemany f appropriatemonomialsthatcould feasiblyappearintheexpansionofthegraphpolynomial.Searchingforan f appropriate monomialwithnonzerocoecientinthiscaseiscomputationallyexpensive.Ourapproach tothissituationisdescribedinSection3.4. Anothertool,theAlon{TarsiTheorem,isarestatementofCorollary3.5which observesthatthemonomialcoecienthasacombinatorialinterpretationforthegraph G . Adirectedgraphor digraph D isa circulation if d + D v = d )]TJ/F21 7.9701 Tf 0 8.189 Td [(D v foreveryvertex v .A 21
PAGE 32
circulationis even ifitsnumberofedgesiseven,likewise odd ifthenumberofedgesisodd. Wedenotebydi D theabsolutedierencebetweenthenumberorevencirculationsand oddcirculationsspanningadigraph D .Wesaythatadigraph D is f choosableifits underlyinggraphis f choosable. Theorem3.7 Alon{Tarsi1992[5] . Let f v =1+ d + D v foreachvertex v inadigraph D .If di D 6 =0 ,then D is f choosable. In[5],Theorem3.7isusedtoprovethenoteworthyresultthatbipartiteplanargraphsare 3choosable.Insuchproofs,propertiesofgraphssuchasbeingbipartitecangiveinsight intothecirculationsofclassesofgraphs. Interestingly,Theorem3.7canalsobeimplementedforconcretegraphs.Brimkov,et al.[17]usedcomputationtoprovereducibilityinaninjectivelistcoloringsetting.They showsomecongurationstobereduciblebyagreedycoloring,andothersbyan Alon{Tarsiorientation.Forthelatter,thecomputerprogramsearchesfororientations D of thecongurationwhichhavedi D 6 =0andgivethecorrect f fortheirpurposes. However,inourprogramweselectivelyexpandthegraphpolynomialtondan appropriatemonomialofnonzerocoecient.Thisapproachseemsmoreeectivethanan exhaustivesearchfororientations. 3.2.3SearchingAllListAssignments Anotherapproachto f choosabilityistond L coloringsforall f fulllistassignments L .First,itisworthpointingoutthatthisisaniteproblemfornitegraphs.Givenan f fulllistassignment L ,wehave j S L v j K ,where K = P f v .Soforanysuchlist assignment L ,theuniverseofcolors S L v canbepermutedtobefromtheset f 1 ;:::;K g . Hencethenumberofsuchlistassignmentsuptorelabelingisatmost Q )]TJ/F21 7.9701 Tf 9.598 4.379 Td [(K f v K K .Soit ispossibletogenerateeachlistassignment L usingcolorsfrom f 1 ;:::;K g andchecktosee ifthegraphadmitsan L coloring.However,thenumberoflistassignmentscanbeso enormouslylargethatanexhaustivesearchisnotfeasible. Toprunethesearchspace,wewanttomakeobservationsduringthesearchthatcan 22
PAGE 33
helpreducetheeort.Therstwaytodothisistoconsideronlyonelistassignment amongallequivalentlistassignments.Forexample,permutatingthecolorsofalist assignmentissimplyanotherformofrelabeling,andsowewanttopreventthegeneration ofpermutedlistassignments. Observation3.8. Let L = A 1 ;:::;A k bealistassignmentofagraph G ,andlet ' : f 1 ;:::;k g!f 1 ;:::;k g beapermutation.Foreach i 2f 1 ;:::;k g ,dene A 0 i := A ' i , andconsiderthelistassignment L 0 = A 0 1 ;:::;A 0 k .Then G admitsan L coloringifandonly ifitadmits L 0 coloring. Soifweputatotalorderingonallthepossiblecolorabilityclasses,thenthereisa canonicalrepresentativelistassignmentforalllistassignmentswhichareequivalentupto permutingcolors. Ournotationexpresseslistassignmentsintermsofcolorabilityclassesratherthanas listsdenedateachvertex.Generatinglistassignmentsviavertexlistsispossible,but doesnothelpmuchforpruningthesearchspace.Aswewillsee,therearemanybenetsof generatinglistassignmentsbycolorabilityclasses.Next,weobservethatonlyconnected listassignmentsneedtobesearched. Observation3.9 Stolee2015[53] . Let L = A 1 ;:::;A k bealistassignmentofagraph G , andsupposethat G [ A k ] isdisconnected.Let A 0 bethevertexsetofoneofthecomponents of G [ A k ] ,andlet A 00 := A k n A 0 .Considerthelistassignment L 0 = A 1 ;:::;A k )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 ;A 0 ;A 00 . Then G admitsan L coloringifandonlyifitadmitsand L 0 coloring.Henceforanylist assignmentof G ,thereisanequivalentconnectedlistassignmentwiththesamelistsizes. Thusweneedconsideronlythelistassignmentswhichcanbebuiltoutofcolorability classeswhichinduceconnectedsubgraphs.Byrestrictingthenumberofcandidatesfor colorabilityclasses,werestrictthenumberoflistassignmentsgenerated.Thesearchspace describedabovecanbeexploredviabacktrackandsearchbybuildingalistassignmentas astackofcolorabilityclasses.SeeAlgorithm1. ThebacktrackandsearchdescribedinAlgorithm1canbemodiedintwowaysto 23
PAGE 34
Algorithm1 Generateconnected f fulllistassignments 1: procedure list assignment generator G , f 2: L [] . theemptylist 3: Let A 1 ;:::;A t beanorderedlistofthenonemptysubsetsof G whichinduceconnectedsubgraphs. 4: subgraph pointer stack [1] . thelistoflength1containingtheelement1 5: not full V G 6: color 0 7: while True do 8: if not full isnonemptyandthereisasubset A j suchthat A j not full and j subgraph pointer stack [ color ] then 9: Dene k tobetheleastvalueof j satisfyingtheif"conditionabove. 10: Append A k to L . 11: Append k to subgraph pointer stack . 12: not full thesetofvertices v of G whichappearinfewerthan f v elements of L 13: color color +1 14: else 15: if not full = ? then 16: yield L 17: endif 18: dowhile thereisnosubset A j suchthat A j not full and j> subgraph pointer stack [ color ] 19: Popthelastelementof L . 20: Popthelastelementof subgraph pointer stack . 21: not full thesetofvertices v of G whichappearinfewerthan f v elementsof L 22: color color )]TJ/F15 11.9552 Tf 9.299 0 Td [(1 23: if color < 0 then 24: return . Endgenerator. 25: endif 26: endwhile 27: subgraph pointer stack [ color ] subgraph pointer stack [ color ]+1 28: endif 29: endwhile 30: endprocedure furtherprunethesearchspace.First,wecanchangethegeneratortoalsoyieldpartiallist assignments.Byaddingayield"statementattheendoftheif"blockinLines8{13,the generatorwillyieldpartiallistassignments.Thisishelpfulbecauseofthefollowing observation. 24
PAGE 35
Observation3.10. If L and L 0 arelistassignmentssuchthat L 0 contains L ,thenany L coloringisalsoan L 0 coloring. Inpractice,manyfulllistassignmentshaveadmissiblecoloringswhichdonotuseall thecolorsofthelistassignment.Bycheckingpartiallistassignmentsinthesearchprocess, ifweencounteranadmissiblecoloringbeforethelistassignmentisfullthenweknowthat everyfulllistassignmentcontainingthecurrentpartiallistassignmenthasanadmissible coloring.Therefore,wecantellthegeneratortogodirectlytoLine18. Therstmodicationleadstothesecond.Somepartiallistassignmentsarevery similarandeachvertexmighthavealargeintersectionbetweenthelistsprescribedbytwo listassignments.Soitislikelythatacoloringadmissibleforonepartiallistassignmentis alsoadmissibleforanothersimilarpartiallistassignment.Byfeedinginformationabout oursearchtothegeneratorwhenpromptingitforanotherlistassignment,wecanleverage theclosenessofeachstepofthelistassignmentgenerator.Whenthegeneratoristoldto backtrackfromapartiallistassignmentbecauseofanadmissiblecoloring,thenextpartial listassignmentyieldedislikelytobeidenticaltothepreviousoneexceptatthelast colorabilityclass.Withsomuchsimilaritybetweenthetwopartiallistassignments,there isasignicantlikelihoodthattheadmissiblecoloringfromtherstisalsoanadmissible coloringforthesecond.Tocheckthis,theif"statementatLine8canbemodiedto checkinthesettingdescribedbyoursearchthat A j doesnotcontainthelastcolorclass ofthepreviousadmissiblecoloring. Withthesemodications,smallgraphswithsmalllistsizescanbetestedfor f choosability.FortheexamplefromFigure3.2inSection3.2.2,thesearchprocesswehave describedcanprovethat K 3 ; 3 is f choosablewhere f is3ononevertexand2elsewhere. Byinspecting9330partialconnectedlistassignments,thealgorithmveriesthatevery f fulllistassignmenthasanadmissiblecoloringon K 3 ; 3 .Implementedona2.3GHzIntel Corei5processor,thissearchtook3.1seconds.Asmentionedearlier,itisimpossiblefor theCombinatorialNullstellensatztotellusanythingaboutthisconclusion.Awritten 25
PAGE 36
argumentispossible,butthenumberofcasestoconsideristediousforsuchasmallgraph. Soourcomputationaltoolllsagapleftbyothermethodsforprovingordetermining f choosablility.However,evenforslightlylargergraphsorlistsizestheapproachdescribed inthissectionquicklybecomesintractable.AsdiscussedinSection3.3,weusethismethod asthebasisforournewtool,butcombinetheusefulnessoftheCombinatorial Nullstellensatztomakeiteectiveforpracticallyrelevantgraphs. 3.2.4OtherToolsfor f Choosability Thereareothermethodsforprovingchoosabilitywhichwewillnotincorporateinto ourtoolbutareworthmentioninghere.Forexample,theprobabilisticmethodhasmany applicationsingraphcoloring.MolloyandReed[46]usetheLovaszLocalLemmatoprove that k listassignmentswhichhavethefollowingpropertyhaveadmissiblecolorings:each colorisseenbyatmost k= 8neighborsofanyonevertex.Alon[4]usedthistechniqueto provethatthelistchromaticnumberofgraphswithaveragedegree d isboundedbelowby 1 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(o ln d as d tendstoinnity.However,itisnotclearhowtoleverageprobabilistic toolstoimproveourownmethodforgraphswithlowdegree. Anothertechniqueisthekernelmethod,whichshows f choosabilityintermsof outdegreeinorientationsofthegraph.AlonandTarsi[5]usethismethodtoprovethat bipartiteplanargraphsare3choosable.Galvin[27]alsousedthekernelmethodtoprove thatthelistchromaticindexofabipartitegraphisequaltoitsmaximumdegree.This resultisthemostsignicantprogressmadetowardtheListColoringConjecturesee Section3.5.2foraconcreteclassofgraphs.Wedonotimplementthekernelmethodasit seemstorequiremoreeorttondanorientationwithkernelperfectsubdigraphsthanour methodofdirectlyinspectingthecoecientsofmonomialsinthegraphpolynomial. Inmorerecentyears,aQuantitativeCombinatorialNullstellensatzhasbeendeveloped andappliedaswellsee[44,50].Weoriginallyconsideredusingthistool,asitallowsusto computethecoecientofanydesiredmonomialinthegraphpolynomialwithoutdirectly expandingthepolynomial.However,itisnotclearifthesemethodscanbeadaptedto 26
PAGE 37
quicklysearchall f appropriatemonomialsinsteadofstartingfromscratchforeach monomial.Intheend,ourmethodsforapplyingCorollary3.5workedbestforour applications. Thefollowingisalemmawhichhasbeenusedintheliteraturetorestricttheanalysis ofpossiblebadlistassignments. Lemma3.11 SmallPotLemmasee[63] . If G isnot k choosable,thenthereisabad k listassignment L suchthat j S L v j deg G 1 v toobtainthegraph G 2 .Werepeatthisprocessbyremovinganyvertex v of G 2 whichhas f v > deg G 2 v untiltherearenosuchverticesremaining.Callournal graphafterthisprocessterminates G 1 .Then G is f choosableifandonlyif G 1 is f j G 1 choosable.If G 1 istheemptygraph,thentheorderinginwhichweremovedthe verticesof G isagreedyordering. Asasecondstep,wechecktoseeif G 1 hasanyvertices v suchthat f j G 1 v =1.Ifso, 27
PAGE 38
suchavertex v mustbeassignedtheonlycolorinitslistinanyadmissiblecoloring. Althoughsomelistassignmentswillnotassign v 'scolortothelistsofall v 'sneighbors, somelistassignmentswill. Observation3.12. Let G beagraphand f alistsizefunctionsuchthat f v =1 for somevertex v .Then G is f choosableifandonlyif G )]TJ/F20 11.9552 Tf 11.956 0 Td [(v is ^ f choosable,where ^ f x = 8 > > < > > : f x )]TJ/F15 11.9552 Tf 11.955 0 Td [(1 if x 2 N G v f x otherwise. Soifthereisanyvertexof G 1 withan f valueof1,wedeleteittoobtainagraph ^ G 2 and alistsizefunction ^ f 2 asdescribedinObservation3.12.Werepeatthisprocessbyremoving anyvertex v of ^ G 2 whichhas ^ f 2 v =1untiltherearenosuchverticesremaining.Callour nalgraphafterthisprocessterminates ^ G ,andthecorrespondinglistassignment ^ f .If ^ f mapsanyvertexof ^ G toanonpositiveinteger,thenthestructureofthedeletedvertices haveshownthat G 1 isnot f j G 1 choosable.If ^ G isempty,thenthestructureofthedeleted verticeshaveshownthattheworstcaselistassignmenthasonlyoneadmissiblecoloring. Inthissecondstep,Observation3.12canbegeneralized.Forexample,ifagraph G has twoadjacenttwinvertices u and v suchthat f u = f v =2,thensomelistassignments willassignthesametwocolorstothelistsof u and v andtothelistofallneighborsof u and v .So G is f choosableifandonlyif G )]TJ/F20 11.9552 Tf 11.956 0 Td [(u )]TJ/F20 11.9552 Tf 11.955 0 Td [(v is ~ f choosable,where ~ f isobtained from f bysubtracting2forallneighborsof u and v .Wedonotcheckforanysuch structures,butsuchacheckcouldbeimplemented. Asathirdpreprocessingstep,weapplytheCombinatorialNullstellensatzthatis, Corollary3.5to ^ G and ^ f .WeusethemethoddescribedinSection3.4forour implementation.Ifthereexistsamonomial Q x t i i withnonzerocoecientin p ^ G suchthat ^ f v i >t i forallvertices v i of ^ G ,then ^ G is ^ f choosableandhence G is f choosable. Otherwise,wemoveontoourprogram'sprimarypurpose,thebacktrackandsearch. 28
PAGE 39
Itisworthwhiletoremarkthatthersttwopreprocessingstepsshouldtakeplace beforeapplyingtheCombinatorialNullstellensatz.Firstweproveanotherlemmato demonstratethis.Thereversedirectionistrueandprovensimilarly,butunnecessaryfor ourpurposes. Lemma3.13. Let G beagraph,let f bealistsizefunctionon G ,andlet v beavertexof G suchthat f v =1 .Let ^ f beasdenedinObservation3.12.Ifall ^ f appropriate monomialsof p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v havecoecient0,thenall f appropriatemonomialsof p G have coecient0. Proof. Labeltheverticesof G as v 1 ;:::;v n suchthat v = v n ,andlet S bethesetofindices oftheneighborsof v n .UsingthenotationfromtheproofofLemma3.6,observethat p G p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v Q i 2 S x i )]TJ/F20 11.9552 Tf 11.955 0 Td [(x n . Let Q n i =1 x t i i bean f appropriatemonomial.Weassumethat t i deg G v i forall i . Since f v n =1,wehave t n =0.Hence p G [ x t n n ]= p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v )]TJ 5.479 0.717 Td [(Q i 2 S x 1 i : Thenwehave p G Q n i =1 x t i i = p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v h Q n )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 i =1 x t i )]TJ/F21 7.9701 Tf 6.587 0 Td [( S i i i )]TJ 5.479 0.717 Td [(Q i 2 S x 1 i ; where S istheindicatorfunctionforthe set S .So Q n i =1 x t i i hasnonzerocoecientin p G ifandonlyif Q n )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 i =1 x t i )]TJ/F21 7.9701 Tf 6.586 0 Td [( S i i hasnonzero coecientin p G )]TJ/F21 7.9701 Tf 6.586 0 Td [(v . ByLemma3.6andLemma3.13,weknowthatifCorollary3.5showsthat G is f choosable,thenitalsoshowsthat ^ G is ^ f choosable.Soifwendnoappropriate monomialwithnonzerocoecientin p ^ G ,thenwewouldnothavefoundonein p G .Since anyreductionsfromthersttwopreprocessingstepsmaketheproblemsimpler,itis alwaysdesirabletoapplythemrst. Foreaseofnotation,wereferto ^ G and ^ f as G and f inthefollowingsections.The remainingsearchprocessassumesthatanygraphandlistsizefunctionitisgivenhasbeen preprocessed. 29
PAGE 40
3.3.2VettingtheColorabilityClasses Wenowdescribetheaspectofourimplementationthatmostsignicantlyprunesthe searchspaceofpartiallistassignments.Supposeweknowthatanonemptysetofvertices A isnotacolorabilityclassinanybadlistassignment.Thenweneednotgenerateand checkanylistassignmentsforwhich A isacolorabilityclass.Inthiscase,Algorithm1can bemodiedinLine3sothat A isremovedfromthelist A 1 ;:::;A t .Thenthepartiallist assignmentgeneratorwouldnotspendanytimebuildingpartiallistassignmentswhich contain A andhencearenotcontainedbyanybadlistlistassignments.Thisobservation demonstratestheusefulnessofthefollowinglemma. Lemma3.14. Considersomegraph G andlistsizefunction f .Let A V G andlet I A beanindependentsetof G ,anddenethelistsizefunction ^ f on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I asfollows: ^ f v = 8 > > < > > : f v ;v= 2 A f v )]TJ/F15 11.9552 Tf 11.955 0 Td [(1 ;v 2 A n I: If G )]TJ/F20 11.9552 Tf 11.819 0 Td [(I is ^ f choosable,thenevery f fulllistassignmentwhichhas A asacolorabilityclass hasanadmissiblecoloring. Proof. Suppose G )]TJ/F20 11.9552 Tf 11.945 0 Td [(I is ^ f choosableandlet L = A 1 ;:::;A t ;A bean f fulllistassignment. Considerthelistassignment L 0 := A 0 1 ;:::;A 0 t where A 0 i := A i n I foreach i 2f 1 ;:::;t g . Since L 0 isa ^ f fulllistassignmenton G )]TJ/F20 11.9552 Tf 11.776 0 Td [(I ,thereisan L 0 coloring c 0 = I 1 ;:::;I t on G )]TJ/F20 11.9552 Tf 11.776 0 Td [(I . Since I isanindependentsetin G ,wecanextendthecoloringto c = I 1 ;:::;I t ;I tobean L coloringon G . Inourprogram,wecheckeverynonemptysubsetofverticeswhichinducesaconnected subgraphof G toseeifitcontainsanindependentset I asdescribedinLemma3.14.We removeanysubsetscontainingsuchanindependentsetfromthelist A 1 ;:::;A t inLine3of Algorithm1,sothatanyremainingcolorabilityclassesarethosewhichmightpossiblybe 30
PAGE 41
containedinabadlistassignment. Therearetworemarksaboutthisvettingprocessworthmakinghere.First,touse Lemma3.14inouralgorithmfordeterminingif G is f choosable,wedonotrecursivelycall ourprogramforthesmallerproblemofdeterminingif G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f choosable.Intheinterest ofarelativelyfastcheckforLemma3.14,weonlyapplytheCombinatorialNullstellensatz viaCorollary3.5usingtheimplementationdescribedinSection3.4.Ifthisapplication doesnotconcludethat G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f choosable,thenwemoveon.Itisnotclearwhetherany furthereortswouldbeworthwhile. Second,whenlookingforsuchanindependentsetin A wedonotcheckeverysingle independentset.Instead,wecheckonlytheindependentsetswhicharemaximalin A due tothefollowingobservation. Observation3.15. Let I and A begivenforagraph G asinLemma3.14.Let I 0 bean independentsetof G suchthat I I 0 A ,andlet f 0 bedenedsimilarlyto ^ f in Lemma3.14.Since f 0 = ^ f j G )]TJ/F21 7.9701 Tf 6.586 0 Td [(I 0 ,wehavethatif G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f choosable,then G 0 I is f 0 choosable. SinceweonlyusetheCombinatorialNullstellensatztocheckforchoosabilityinthissetting, itisworthremarkingthatwecanapplytheCombinatorialNullstellensatztoonlythe graphs G )]TJ/F20 11.9552 Tf 11.811 0 Td [(I suchthat I ismaximalasanindependentset.Thefollowingcorollaryfollows fromLemma3.6bysuccessivelydeletinganyverticesin I 0 n I from G )]TJ/F20 11.9552 Tf 11.887 0 Td [(I toobtain G )]TJ/F20 11.9552 Tf 11.887 0 Td [(I 0 . Corollary3.16. Considersomegraph G andlistsizefunction f .Let A V G andlet I and I 0 beindependentsetsof G suchthat I I 0 A .Dene ^ f := f )]TJ/F20 11.9552 Tf 11.955 0 Td [( A on G )]TJ/F20 11.9552 Tf 11.956 0 Td [(I and dene f 0 := f )]TJ/F20 11.9552 Tf 11.955 0 Td [( A on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I 0 .Ifall f 0 appropriatemonomialsof p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(I 0 havecoecient0, thenall ^ f appropriatemonomialsof p G )]TJ/F21 7.9701 Tf 6.587 0 Td [(I havecoecient0. Inpractice,isistypicalthataminorityofthesubsetsremaininthelist.Thusthe numberoflistassignmentstocheckisreducedtoasmallfractionofwhatitwouldbe otherwise.RecallingtheexampleofFigure3.2,withthevettingprocessdescribedour searchencountersonly35partiallistassignmentscomparedtotheoriginal9330. 31
PAGE 42
Implementedona2.3GHzIntelCorei5processor,thesearchtook0.1seconds.Infact, thereareothercasesinwhichthereisnononzerocoecientforanappropriatemonomial inthegraphpolynomial,buteverysinglesubsetisruledoutfromthesearchprocess. Thisvettingprocessistheoreticallyprohibitivebecausewestoretheremainingsubsets inmemory.However,ifthenumberofsubgraphsremainingafterthevettingprocessistoo largetostore,thenthesearchspacewillalmostcertainlyalsobetoolargetoexamine. Astheinputgraphsgrowlargeranddenser,thenumberofconnectedinduced subgraphstovetgrowsquicklyaswell.Eventhoughthevettingprocessmakessucha signicantdierenceinthesearchtime,theoverheadforapplyingLemma3.14viathe CombinatorialNullstellensatztoeachsubsetcanbeasignicanttaskonitsown.The followingobservationisusefulforspeedingupthisinitialvettingprocess. Observation3.17. Supposethereexistssuchanindependentset I A suchthat G )]TJ/F20 11.9552 Tf 11.853 0 Td [(I is ^ f choosableforthe ^ f denedinLemma3.14.Foranyset A 0 suchthat I A 0 A , considerthelistfunction ^ f 0 denedfor A 0 inthesamewayas ^ f .Since ^ f 0 v ^ f v forall vertices v of G I ,wehavethat G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f 0 choosable.Hence A 0 isnotacolorabilityclassin anybadlistassignment,either. Ourprogramreducestheoverheadofthevettingprocessbystoringeachpair I;A that yieldsasuccessfulapplicationofLemma3.14.Then,beforeapplyingthelemmatoanew subset A 0 ,itcheckstoseeif I A 0 A foranystoredpair I;A .Ifso,thenby Observation3.17wecanremove A 0 fromthelistofsubsets.Inthiscase,thereisnoneedto store I;A 0 sinceitprovidesnonewinformation.If A 0 isnotsandwichedbetweenany storedpair,thenweproceedwithLemma3.14asusual. TheeectivenessofObservation3.17isheavilydependentontheorderinginwhichthe subsetsareconsidered.Forthisreason,wegeneratethesubsetsinthereverseof colexicographicorder.Thus,foranytwosets A and B suchthat A B ,theset A comes before B .ThismaximizesthepossiblebenetofObservation3.17. TheresultingreductioninoverheadcanbeseeninanexamplefromChapterIV.For 32
PAGE 43
thisgraph G on15verticesand44edgesandthelistsizefunction f withoutputs[5,6,6, 6,6,5,5,3,4,3,2,3,3,2,3],wefoundthat G isnot f choosable.Therunningtimefor vettingallthenonemptysubsetswhichinduceconnectedsubgraphsof G byapplyingthe CombinatorialNullstellensatztoeachwas6minutes,58secondsona2.3GHzIntelCorei5 processor.However,therunningtimewhenusingObservation3.17was42seconds.Ofthe 22,749nonemptysubsetswhichinduceconnectedsubgraphsof G ,only339 I;A pairs werestoredand22,344subsetswereskippedbecauseofastoredpair.Thisleftonly66 subsetswhichcouldbepartofabadlistassignment,andthenndingabadlist assignmenttook11seconds. RegardlessofusingObservation3.17toreducetheoverhead,theexamplesaboveshow thatexaminingthesearchspacewouldbehopelesswithoutvettingallsubsetswhich induceconnectedsubgraphs.Infact,wealsousetheCombinatorialNullstellensatzduring thesearchaswell. 3.3.3PruningduringtheBacktrackandSearch Theenormoussavingsgainedbyvettingthesubsetsbeforefeedingthemtothepartial listassignmentgeneratorcanbeextendedtodynamicpruningduringthe backtrackandsearch.Weusethefollowinglemma,whichisageneralizationof Lemma3.14. Lemma3.18. Considersomegraph G andlistsizefunction f .Let L = A 1 ;:::;A t bean f partiallistassignment,andlet c = I 1 ;:::;I t bean L coloringontheset I := S I i .Dene thelistsizefunction ^ f on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I by ^ f v = f v )222(jf i : v 2 A i n I gj .If G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f choosable,thenevery f fulllistassignmentcontaining L hasanadmissiblecoloring. Proof. Suppose G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I is ^ f choosableandlet L 0 = A 1 ;:::;A t ;A t +1 ;:::;A s bean f fulllist assignmenton G containing L .Considerthelistassignment ^ L := ^ A t +1 ;:::; ^ A s where ^ A i := A i n I foreach i 2f t +1 ;:::;s g .Since ^ L isa ^ f fulllistassignmenton G )]TJ/F20 11.9552 Tf 11.756 0 Td [(I ,thereis an ^ L coloring^ c = I t +1 ;:::;I s on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(I .Then c [ ^ c = I 1 ;:::;I s isan L coloringon G . Supposethesearchforabadlistassignmenthasarrivedatapartiallistassignment 33
PAGE 44
L = A 1 ;:::;A t andthatthereexistsapartial L coloring c suchthat G )]TJ/F20 11.9552 Tf 11.268 0 Td [(I is ^ f choosableas inLemma3.18.Thenwecanbacktrackimmediately,sincethereisnofulllistassignment containingourcurrentpartiallistassignment.Inourprogram,weapplyameasureofhow fullthecurrentpartiallistassignmentisandsetathresholdwhichcanbechangedbythe userinprocess".Ifthemeasurefallsabovethegiventhreshold,thenwedonotcheck anycoloringsforLemma3.18.Ourheuristicreasoningisthefollowing:Since L isfairly full,itismorelikelytohaveanadmissiblecoloringontheentiregraph,whichisfasterto checkdirectly.UsingLemma3.18forlistassignmentswhicharemorefullwillbemore timeconsumingsincethenumberofpartial L coloringsgrowsquicklywiththefullness"of alistassignment,andwewouldapplytheCombinatorialNullstellensatzforeachone. Ifthemeasurefallsbelowourgiventhreshold,wesearchforacoloringthatsatises Lemma3.18.Aswithvettingthecolorabilityclasses,weapplytheCombinatorial Nullstellensatztoeachcandidatecoloringbecausewecandosorelativelyquickly.Wealso donotcheckeverysinglepartialcoloring,butonlythoseforwhicheachsuccessivecolor classismaximalwithrespecttotheavailablevertices.Ifwendnosatisfactorypartial L coloring,thenwecontinuewiththecheckforan L coloringoftheentiregraph.This followupcheckisnotalwaysredundant.Iftheredoesexistan L coloringoftheentire graph,thenitwilllikelybefoundbyourprevioussearchtosatisfyLemma3.18.However, thesearchforthefullcoloringmightndacoloringnotfoundbythesearchforcolorings satisfyingLemma3.18sincethereexistgraphstheonlypropercoloringsofwhichhaveno maximalcolorclasses. SobyapplyingtheCombinatorialNullstellensatzquicklyforlistassignmentwhichare notsofull,wecanprunelargepartsofthesearchwhilestillinthelowlevelsofthesearch space.Ourmeasureoflistassignmentfullness"isarbitraryandtunedtoourpurposesfor ChapterIV,butitcanbeeasilychanged.Thecurrentmeasureoffullnessisthenumberof colorabilityclassesinpartiallistassignment. RecallingtheexampleofFigure3.2,weappliedtheinprocesspruningdescribedabove 34
PAGE 45
ateverystep.Oursearchencounteredonly3partiallistassignments,comparedtothe original9330withoutthesubsetvettingandthe35withthesubsetvetting.Implemented ona2.3GHzIntelCorei5processor,thesearchtook0.1seconds. 3.3.4OrderingtheColorabilityClassesandVertices NexttothesignicantpruningviatheCombinatorialNullstellensatzbeforeandduring thedynamicbacktrackandsearch,thenextmostinuentialaspecttotheperformanceof ourprogramistheorderinwhichweexplorethesearchspace.Basedonthemodications toAlgorithm1wehavediscussedsofar,thesingleitemthataectstheorderofthesearch spaceistheorderofthecolorabilityclassesinLine3.Forasubsetofvertices A ,the maximummultiplicity of A isthegreatest k suchthattheprogramdoesnotndacoloring whenapplyingLemma3.18tothelistassignment A;A;:::;A  {z } k times usingtheCombinatorial Nullstellensatz.Foreachsubsetremainingaftertheinitialvetting,theprogramapplies Lemma3.18untilitdeterminesthemaximummultiplicity. Wefoundthefollowingorderingtobethemosteectiveinourtests:Orderthesubsets fromleasttogreatestintermsofmaximummultiplicity,andthenfromleasttogreatestin termsofsize.Ourheuristicreasoningforthisorderisasfollows:Wewanttoorderthe subsetsfromleasttogreatestintermsoflikelihoodofbeinginabadlistassignment."In otherwords,wewanttoplacethesubsetswhicharelikeliesttocontributetopruningthe searchspaceearlierintheordering.Sincesubsetswithlessermaximummultiplicityhave alreadydemonstratedthattheyarelikelytoprunethesearchspacewhenputintoalist assignmentwiththemselves,weassumethattheyarelikelytoprunethesearchspacewhen placedinalistassignmentwithothercolorabilityclassesaswell.Sincesmallersubsets resultinhighervaluesofthelistsizefunction ^ f denedinLemma3.18,weassumethat theyaremorelikelytoresultinasuccessfulapplicationofthelemma.Ourprogramhasan optionrev"toreversethisorderingintheeventtheuserwishestondabadlist assignmentquicklyinsteadofmovethroughtheentiresearchspacequickly.Sinceitisnot clearthatthisreversemethodiseectiveevenwhentheredoesexistabadlistassignment, 35
PAGE 46
theprogramdefaultstotheorderingdescribedabove. Theaboveorderingseemstobeoptimal,butitdoespreventacertainmodicationto thedynamicsearch.Justasweusethetopcolorclasswhenwendacoloringonthe entiregraphtosavetimewhenconsideringthenextpartiallistassignment,asimilar observationaboutthetopcolorabilityclasscouldbeappliedduringthesearchprocessto possiblysavetimefromapplyingLemma3.18.However,suchanobservationwouldrarely beapplicableinourcase.Duringtheinitialvettingprocess,weuseObservation3.17and colexicographicorderonthesubsetstoreducethenumberoftimesweapplythe CombinatorialNullstellensatz.Unlikethecolexicographicorderduringtheinitialvetting, however,ourorderingonthepotentialcolorabilityclassesduringthesearchprocesslimits thehelpfulnessofthisobservation.If A appearsinthecolorabilityclassorderingdescribed inthissection,thenthereareveryfew,ifany,subsetsof A whichfollow A intheordering. Hencewiththisorderingitisunlikelythatthetopcolorabilityclassofthenextpartiallist assignmentisasubsetofthecurrentlistasignment'stopcolorabilityclass.Inourprogram, wedonotmakeanyeorttosaveinformationaboutanapplicationoftheCombinatorial Nullstellensatz. WealsomakeanadditionalmodicationtoAlgorithm1thataectstheorderingof thesearchspace.Insteadofalwayschoosingtheearliestsubset A j satisfyingtheif" statementinLine8,wechoosetheearliestsubsetwhichsatisestheif"statementandan additionalcondition.Becausethisselectionchangestheorderinginwhichthenext colorabilityclassischosenateachstepofthegeneration,westorecopiesofthelist A 1 ;:::;A t whicharetrimmedateachforwardstep.Theadditionalconditionweuseinour selectionofacolorabilityclassisthecontainmentofacertainvertex.Ateachstep,we choosethisvertexbasedonhowmanycolorabilityclassesitisincurrently.Wehavetwo methodsforvertexprioritization,E"andL",whichcanbechosenbytheuserviathe optionLAscheme".TheE"rulealwaysselectstheleastindexedvertexwhichisin not full .TheL"ruleconsiderstheverticesin not full whichareinthefewestnumberof 36
PAGE 47
currentcolorabilityclassesandselectstheleastindexedofthese.Whicheververtexis chosenbytherule,theprograminsiststhatitbeinthenextcolorabilityclass;ifthereare noavailablesubsetscontainingthatvertex,thenwebacktracksincetherearenofulllist assignmentscontainingourcurrentone. Thetworuleshavedierentheuristicsinmind.TheE"ruletriestollupthelistsof earlierindexedverticesassoonaspossible,becauseaswementioninthefollowing paragraphtheseverticesarecontainedinthefewestnumberofsubsets A 1 ;:::;A t .Hence llinguptheseverticesrstresultsinlessbranchinginourspaceearlierinthesearch, whichshouldoptimizethepruningofourspace.TheL"ruletriestollupthelistsof verticesevenlysothatallverticeshaveasfewcolorsintheirlistsassoonaspossible.The ideaisthatthiswillhelpndacoloringoftheentiregraphmorequicklyandhelpkeepthe searchfromspendingtoomuchtimeinthedeeperlevelsofthespace.Inpractice,wefound thattheE"rulewasmoreeectiveforourpurposesinChapterIV,andsoitisthe defaultrule. Sinceourtwoselectionrulesdescribedabovedependontheindexingofvertices,our vertexorderingalsoaectstheeectivenessofthesearch.Tominimizethebranchingof thesearchspaceintheearlierstagesofthesearch,wewantasfewoptionsaspossiblefor colorabilityclassescontainingearlierindexedvertices.Soweordertheverticesaccordingly afterthesubsetshavebeenvettedasdescribedinSection3.3.2.Therstvertexisone whichisintheleastnumberofsubsetsremainingafterthevetting,andthesecondvertex isonewhichisintheleastnumberofremainingsubsetsnotalreadycontainingtherst vertex.Eachsuccessivevertexisonewhichisinthefewestsubsetsofthosenotcontaining thepreviousvertices. 3.4ApplyingtheCombinatorialNullstellensatz Thepracticalityofourprogramiscontingentontherepeatedapplicationofthe CombinatorialNullstellensatz.WhenapplyingCorollary3.5toagraph G with n vertices and e edges,thegraphpolynomial p G isahomogeneouspolynomialofdegree e of n 37
PAGE 48
variables.If f isalistsizefunctionsuchthat P f v
PAGE 49
accordingtothecoecientextraction.Generally,someinformationiskeptinstoragefor futurevertexvariables.Thegraphparameterwhichmostdirectlycorrespondstothe maximummemoryrequiredduringanyexpansionstepiscalledthe cutwidth .The cutwidth ofanordering v 1 ;:::;v n isthemaximumnumberofedgesbetween v 1 ;:::;v i and v i +1 ;:::;v n overall i ,andthecutwidthofthegraphistheminimumcutwidthofany vertexordering.AlthoughdeterminingthecutwidthofagraphisNPcomplete[47],there arelineartimealgorithmsforthexedparameterversionoftheproblemsee[11]. However,memoryisnottheonlyconsiderationforthestepsdescribedabove.Wealso desirethatthetimeforthepolynomialexpansionitselfbeminimizedovertheentiresearch. Towardthisgoal,wewanttheverticestobeorderedinawaythatminimizestheexpansion workfortheearliervariables.Sonotonlydowewantthecutwidthtobeboundedforthe ordering,butwealsowanttheedgecutstobeevensmallerthanthecutwidthfortherst stagesoftheexpansionifpossible.Forourpurposes,weordertheverticesinagreedyway. Wechoosetherstvertextobeoneofminimumdegree,andthenwechoosethenext vertextobeoneofminimumdegreetotherestofthegraph,andsoforth. Followingthestepsaboveforeachmonomialofdegree e whichisafactorof Q x f v i )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 i istractablewhen P f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n )]TJ/F20 11.9552 Tf 11.955 0 Td [(e issmall,butbecomesanexponentialproblemas P f v )]TJ/F20 11.9552 Tf 11.956 0 Td [(n )]TJ/F20 11.9552 Tf 11.955 0 Td [(e grows.Insteadofexpandingforeachmonomialindependently,weusea dynamicbacktrackandsearchtoprunethespaceofmonomials.Westartwiththeleast monomialorderedbylexicographicorderingonthelistofexponents t 1 ;:::;t n ,andbegin expandingasdescribedabove.Ifatanypointtheextractedcoecientofapartial monomial x t 1 1 x t s s is0,weimmediatelybacktrack.If t s
PAGE 50
quickforsituationsinwhich P f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n )]TJ/F20 11.9552 Tf 11.955 0 Td [(e isnottoolarge. 3.5ExampleApplications Todemonstratetheeectivenessofourprogramonmoderatelysizedgraphs,we presentthreeexampleapplications.Ineachapplication,wegenerateandtestallgraphs fromtheclassinquestionuptoacertainorder. 3.5.1SmallNonChromaticChoosableGraphs Agraphis chromaticchoosable ifitschromaticnumberandlistchromaticnumberare equal.Treesandcyclesarechromaticchoosable,butnotallbipartitegraphsare.To demonstratethedierencebetweenthechromaticnumberandthelistchromaticnumber, therstcanonicalexamplemostoftenprovidedintheliteraturein K 3 ; 3 .Thisgraphis bipartiteandtherefore2colorablebutitisnot2choosable.Itisnot,however,the smallestnonchromaticchoosablegraphwithrespecttothenumberofedges.Thereare propersubgraphsof K 3 ; 3 whicharealsonot2choosable. Wefoundthesegraphsbygeneratingallconnectedgraphsonuptosixverticesand usingourtooltocheckifeachgraphis f choosablefortheconstant f denedbythe chromaticnumber.Interestingly,thesmallestgraphisplanarandthusisthesmallestgraph attainingthemaximumlistchromaticnumberforplanarbipartitegraphswhichis3. Thisgraphcanbeshowntonotbe2choosablewiththesamebadlistassignmentas K 3 ; 3 . Wealsocheckthechromaticchoosabilityofallconnectedgraphsoforderupto8.The numberofconnectednonchromaticchoosablegraphsforeachorderarelistedinTable3.1. Table3.1:Thenumberofnonisomorphicconnectednonchromaticchoosablegraphsfor eachorderupto8. Order 2 3 4 5 6 7 8 #NonChromaticChoosable 0 0 0 0 4 15 102 #Connected 1 2 6 21 112 853 11117 EachofthenonchromaticchoosablegraphsinTable3.1isbipartiteand3choosable. 40
PAGE 51
Onecanseethat K 3 ; 27 isnot3choosablebyassigningthethreevertices x;y;z inonepart disjointlistsandbyinjectivelyassigningthe27listsin L x L y L z tothevertices intheotherpart.Ingeneral,onecangeneralizethebadlistassignmenton K 3 ; 27 toshow that K n;n n isnot n choosable.Ontheotherhand,degeneracyandcaseanalysiswith greedyargumentsshowsthatanypropersubgraphof K n;n n is n choosable. Thisleadsustothefollowingquestion. Question3.19. Whatisthesmallestgraphwithchromaticnumber3whichisnot 3choosable? 3.5.2ListColoringConjectureforCubicGraphs The linegraph ofagraph G isthegraphwhichhas E G asitsvertexsetand f e 1 e 2 : e 1 and e 2 areincidentedgesof G g asitsedgeset.Thefollowingconjectureis famous. Conjecture3.20 ListColoringConjecturesee[12] . Ifagraphisalinegraph,thenit ischromaticchoosable. TheListColoringConjecturehasbeenprovedforbipartitegraphs[27].Ithasalso beenprovenasymptoticallyintermsofthemaximumdegreeoftheoriginalgraph[40].The conjecturehasalsobeenveriedformostlinegraphsoforiginalgraphswhichhaveorder upto10[51]. Thechromaticnumberofthelinegraphofagraphcalledthe chromaticindex is knowntobeatmostonemorethanthemaximumdegreeoftheoriginalgraph[59].Such graphsarecalled Class2 .However,itisstillnotknownifthisboundalsoholdsforthelist chromaticnumberofthelinegraphcalledthe listchromaticindex .However,itisknown thatthelistchromaticindexisatmost4forsubcubicgraphs[39].Sincethechromatic indexofgraphswithmaximumdegree3isin f 3 ; 4 g ,thismeansthattheListColoring ConjectureholdsforClass2subcubicgraphs. Usingourprogram,weveriedtheListColoringConjectureforallcubicgraphsonup to16vertices.Thelinegraphsofcubicgraphsoforder16have24verticesand48edges. 41
PAGE 52
ThenumberofcubicgraphsforeachorderarelistedinTable3.2. Table3.2:Thenumberofnonisomorphiccubicgraphsforeachevenorderupto16. Order 4 6 8 10 12 14 16 Number 1 2 5 19 85 509 4060 3.5.3Non4ChoosabilityofPlanarGraphs Thomassen[55]provedthatplanargraphsare5choosable.Voigt[60]showedthatthis boundistightwithanexampleofaplanargraphon238verticeswhichisnot4choosable. Mirzakhani[45]gaveanexampleofasmallerplanargraphon63verticeswhichisnot 4choosableandisalsonot3colorable.Weaskthefollowingquestion. Question3.21. IsMirzakhani'sgraphthesmallestplanargraphwhichisnot4choosable? Wecheckallplanetriangulationswithminimumdegreeatleast4oforderupto24, andallare4choosable.Hencethesmallestplanarnon4choosablegraphhasorderatleast 25.Table3.3showsthenumberofplanetriangulationscheckedforeachorder. 42
PAGE 53
Table3.3:Thenumberofnonisomorphicplanetriangulationswithminimumdegreeat least4foreachorderupto24. Order Number 6 1 7 1 8 2 9 5 10 12 11 34 12 130 13 525 14 2,472 15 12,400 16 65,619 17 357,504 18 1,992,985 19 11,284,042 20 64,719,885 21 375,126,827 22 2,194,439,398 23 12,941,995,397 24 76,890,024,027 Infact,eachofthegraphscountedinTable3.3wereveriedusingCorollary3.5.We askthefollowingquestion. Question3.22. Whatisthesmallestplanargraph G suchthat p G hasno f appropriate monomialwithnonzerocoecient,where f istheconstantlistsizefunctionequalto4? 43
PAGE 54
3.6ConcludingRemarks Ouralgorithmcaneasilybeparallelizedtotakeadvantageofmutipleprocessors.The largestobstacletoeectiveparallelizationisthevettingofallnonemptysubsetswhich induceconnectedsubgraphs.Ifthenumberofsuchsubsetsislarge,thenitwouldbe advisabletorunthevettingprocessseparatelyonceandstorethelistofremainingsubsets inacommonlyaccessedle.Then,runningthebacktrackandsearchonresidueclassesof therstseverallevelsofthesearchspaceiseasytoimplement. IntheapplicationofourtooltoChapterIV,thevalue P f v )]TJ/F20 11.9552 Tf 11.955 0 Td [(n )]TJ/F20 11.9552 Tf 11.955 0 Td [(e isan interestingparameter.Callthisvaluethe disparity ofa G;f pair.Thesmallestdisparity weencounteredforachoosable G;f pairwas )]TJ/F15 11.9552 Tf 9.299 0 Td [(1,whichisonly1lessthanwhatis necessaryfortheCombinatorialNullstellensatztopossiblybeconclusive.Thelargest disparityweencounteredforanonchoosable G;f pairwas3.Perhapsdisparityisauseful measureofthelikelihoodofchoosabilityinotherapplications. However,insomesituationsthedisparitycantendtoinnitieswithoutguaranteeing choosabilityornonchoosability.Forexample,thecompletegraph K n isnot n )]TJ/F15 11.9552 Tf 11.656 0 Td [(1choosableforany n ,butthedisparityofthispairis n n )]TJ/F15 11.9552 Tf 11.656 0 Td [(1 )]TJ/F20 11.9552 Tf 11.655 0 Td [(n )]TJ/F25 11.9552 Tf 11.656 9.684 Td [()]TJ/F21 7.9701 Tf 5.479 4.379 Td [(n 2 1 2 n 2 .On theotherhand,thecompletebipartitegraph K n;n islog 2 n +1choosableforall n ,but thedisparityofthispairis2 n log 2 n +1 )]TJ/F15 11.9552 Tf 11.955 0 Td [(2 n )]TJ/F20 11.9552 Tf 11.955 0 Td [(n 2 )]TJ/F18 7.9701 Tf 23.114 4.707 Td [(1 4 n 2 .Itwouldbeinteresting toknowiftherearefamiliesofgraphsforwhichthedisparityforthesephenomenais subquadraticinthenumberofvertices. TheSmallPotLemmaiseasilygeneralizedto f choosabilityfrom k choosability,and weoriginallyplannedtoincorporatethisresultinoursearchbyboundingthemaximum multiplicityofsubsets.However,thiswasrarelyrelevant.Additionally,itisnotobviousif itappliestoourrestrictedsearchofconnectedlistassignments.Weincludesomevariations ontheSmallPotLemmahere. 44
PAGE 55
Lemma3.23 SmallPotLemmafor f Choosability . If G isagraphon n verticeswhich isnot f choosable,thenthereisabadlistassignment L suchthat j S L v j
PAGE 56
representedby j S L v j distinctverticesByHall'sTheorem,thereisasetofcolors T S L v suchthat j L )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 T j < j T j ;let T haveminimumsizeanddene A = L )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 T . Then j T j 2and j A j = j T j)]TJ/F15 11.9552 Tf 17.933 0 Td [(1. Let c 2 T .Bytheminimalityof T ,wehave j L )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 T 0 jj T 0 j forany T 0 T nf c g .So byHall'sTheorem,theverticesin A canberepresentedbythe j A j distinctcolorsin T nf c g .Thus G [ A ]canbeproperlycoloredfromcolorsin T nf c g ,andthus G )]TJ/F20 11.9552 Tf 11.955 0 Td [(A isnot L colorable.Thiscontradictstheassumptionthat G )]TJ/F20 11.9552 Tf 11.955 0 Td [(A is f j G )]TJ/F21 7.9701 Tf 6.587 0 Td [(A choosable. Conjecture3.25 ConnectedSmallPotLemmafor f Choosability . If G isagraphon n verticeswhichisnot f choosable,thenthereisaconnectedbadlistassignment L suchthat j S L v j
PAGE 57
treeandthusis f tv choosable. BeforeunderstandingtheusefulnessoftheCombinatorialNullstellensatz,weintended touseaconnectedinducedsubgraphgeneratortoavoidstoringverymanysubsetsin memoryandtoquicklygobetweenpartiallistassignments.Therearebitlevelalgorithms forgeneratingallsubsetsnotjustconnectedonesinlexicographicorderasdiscussedby Arndt[9]inSections1.26and8.1,andKarakashian,Choueiry,andHartke[41]givean algorithmforgeneratingallinducedconnectedsubgraphsforaxednumberofvertices. Suchtechniquescanbemodiedtogenerateallconnectedinducedsubgraphs,whichisof independentinterest.However,inourtooltheimpactofvettingtheconnectedinduced subgraphsiswellworthstoringalltheremainingsubsets. WealsotriedtoadapttheQuantitativeCombinatorialNullstellensatz[50]forfast applicationofCorollary3.5,butinourapplicationsusingourbacktrackandsearchforthe CombinatorialNullstellensatzwasfaster. 47
PAGE 58
CHAPTERIV SUBCUBICPLANARGRAPHSARE7SQUARECHOOSABLE 4.1Introduction Webeginwiththenecessarydenitions.A propercoloring ofagraph G isafunction c on V G suchthat c u 6 = c v foreveryedge uv of G .The chromaticnumber ofagraphis theminimum k suchthateachvertex v canbeassignedacolor c v fromthelist f 1 ;:::;k g toobtainapropercoloring.A listassignment L onagraph G isafunctionon V G which mapseachvertextoasetofcolors.Givenafunction f : V G ! N ,wesaythatthegraph G is f choosable ifforeverylistassignment L suchthat j L v j f v forall v 2 V G , thereexistsapropercoloring c of G suchthat c v 2 L v foreach v 2 V G .Wesaythat agraphis k choosable ifitis f choosablefortheconstantlistsizefunction f v = k .The listchromaticnumber ofagraphistheleast k suchthatthegraphis k choosable. The square ofagraph G ,denotedby G 2 ,isthegraphobtainedfrom G byadding edgesbetweenpairsofverticeswhichhavedistance2in G .Agraphiscalled k squarecolorable ifitssquareis k colorableand k squarechoosable ifitssquareis k choosable.Wesaythatagraphis subcubic ifeveryvertexhasdegreeatmost3,and cubic ifeveryvertexhasdegreeequalto3.Agraphis planar ifitcanbedrawninthe planewithoutanyedgecrossings.The girth ofagraphisitsminimumcyclelength. Thefocusofthischapterisprovingatightboundforthelistchromaticnumberfor squaresofsubcubicplanargraphs.Forasurveyofcoloringplanargraphs,including coloringthesquaresofplanargraphs,wereferthereaderto[14].Herewepresentresults relatedtothesquaresofsubcubicplanargraphs. In[61],Wegnerprovedthatsubcubicplanargraphsare8squarecolorable.Healso madethefollowingconjecture,whichwasprovedindependentlybyThomassen[58]and Hartke,Jahanbekam,andThomas[33]. Theorem4.1 Thomassen[58];Hartke{Jahanbekam{Thomas[33] . Subcubicplanar graphsare7squarecolorable. 48
PAGE 59
ThegraphinFigure4.1showsthatthisboundistight. Figure4.1:Anexampleofasubcubicplanargraphwhichisnot6squarecolorable.The squareofthegraphis K 7 . Withoutanyplanarityconditions,CranstonandKimestablishedanupperboundfor thelistchromaticnumberofsquaresofsubcubicgraphs. Theorem4.2 Cranston{Kim2008[19] . If G isasubcubicconnectedgraphotherthan thePetersengraph,then G is8squarechoosable. SincethesquareofthePetersengraphis K 10 ,thereisagapinthelistchromatic numbersofsquaresofsubcubicgraphs.Nosubcubicgraphhasasquareforwhichthelist chromaticnumberisequalto9.SincethePetersengraphisnotplanar,wealsohavethe followingcorollary. Corollary4.3. Subcubicplanargraphsare8squarechoosable. Withadditionalgirthconditions,upperboundsforvalueslessthan8havebeenshown forthelistchromaticnumberofsquaresofsubcubicgraphs. Theorem4.4 Cranston{Kim2008[19] . Subcubicplanargraphswithgirthatleast7are 7squarechoosable. Theorem4.5 Cranston{Kim2008[19];Havet2009[34] . Subcubicplanargraphswith girthatleast9are6squarechoosable. Theorem4.6 Borodin{Ivanova2012[16] . Subcubicplanargraphswithgirthatleast12 are5squarechoosable. Theorem4.7 seeBorodin{Ivanova2012[15];Dvorak,etal.2008[25] . Subcubicplanar graphswithgirthatleast24are4squarechoosable. 49
PAGE 60
Ifagraphcontainsa3vertex,thenitssquarecontainsacopyof K 4 .Hencenogirth conditioncanguaranteethatsubcubicplanargraphsare3squarechoosable.Despitethe workinthisarea,noconjecturewasstatedaboutthelowestpossibleupperboundfor subcubicplanargraphswithnogirthcondition.CranstonandKimdid,however,posethe questionandpointoutthatitneedbeaskedonlyforcubicgraphs. Question4.8 Cranston{Kim2008[19] . Isittruethateverysubcubicplanargraphsis 7squarechoosable? Inthispaper,weanswerthisquestioninthearmative.Ourresultextendsthetruth ofWegner'sconjecturetolistcoloring,improvingCorollary4.3andTheorem4.4.Our proofusesdischargingwithcomputationalmethodstoverifythereducibilityof congurationsandthenonnegativenalcharge. Wehaveincludedseveralappendicestosupplementourproof,wherethereadercan ndthecodeweusedaswell.Inaddition,wehaveincludedsomediscussiontomediate betweensomeofourobservationsandourprogrammedimplementation.Wehavealso includedanexpandedlistofthereduciblecongurationsfromourproof.However,inthe interestofspacewehaveomittedanyoutputfromourcode.Foreaseofreference,wehave listedeachoftheseinTable4.1. Table4.1:Locationsofsupplementalmaterialsintheappendices. SourceCodeforLemma4.17 AppendixB SourceCodeforLemma4.25 AppendixC SourceCodeforLemma4.33 AppendixD SourceCodeforLemma4.34 AppendixE SourceCodefor checking realizations.py AppendixF DiscussionofCodeImplementation AppendixG ReducibleCongurationsforTheorem4.9 AppendixH Wementionsomenalnotationbeforebeginningourproof.Inaplanegraph,the length ofaface F isthelengthofitsboundarywalk,denotedby ` F .Afaceoflength k is calleda k face ,andavertexofdegree ` iscalledan ` vertex .A k + faceisafaceoflength atleast k ,anda k )]TJ/F15 11.9552 Tf 7.085 4.338 Td [(faceisafaceoflengthatmost k .A7listassignmentisalist 50
PAGE 61
assignmentwhichassignstoeachvertexalistofsize7,anda 7squarecoloring ofagraph isapropercoloringofthesquareusingcolorsfrom f 1 ;:::; 7 g .Foragraph G andasubset ofvertices A ,wedenoteby G [ A ]thesubgraphof G inducedby A .Asubgraph inducedby asetoffacesandawalk isthegraphontheverticesfromanyofthefacesorthewalkwith theedgesfromthewalkortheboundarywalksofanyofthefaces.Foranyotherstandard notationnotdenedhere,wereferthereaderto[62]. 4.2PropertiesofaMinimalCounterexample Weprovethefollowingstatementviadischarging: Theorem4.9. Subcubicplanargraphsare7squarechoosable. WhenwesaythatagraphisaminimalcounterexampletoTheorem4.9,wemeanthatitis minimalwithrespecttothenumberofvertices. Observation4.10. If G isaminimalcounterexampletoTheorem4.9,then G iscubic andconnected. Proof. If G isdisconnected,eachcomponentof G canbe7squarecoloredfromany 7listassignmenton G ,whichformsa7squarecoloringoftheentiregraph.If v isa 1vertexof G ,then G )]TJ/F20 11.9552 Tf 11.954 0 Td [(v canbe7squarecoloredfromany7listassignmenton G )]TJ/F20 11.9552 Tf 11.954 0 Td [(v and v canbeaddedbackwithacolornotassignedtoanyofitsneighborsorsecondneighbors. Since G )]TJ/F20 11.9552 Tf 11.568 0 Td [(v 2 = G 2 )]TJ/F20 11.9552 Tf 11.569 0 Td [(v ,thisyieldsapropercoloringof G 2 .If v isa2vertexof G ,thenlet u and w bethetwoneighborsof v .Let G 0 = G + uw )]TJ/F20 11.9552 Tf 11.955 0 Td [(v ,thegraphobtainedfrom G by addingtheedge uw ifitisnotalreadyin G anddeleting v .Then G 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(v G 0 2 .Then G 0 canbe7squarecoloredfromany7listassignmenton G )]TJ/F20 11.9552 Tf 11.907 0 Td [(v and v canbeaddedbackwith acolornotassignedtoanyofitsneighborsorsecondneighborsin G .Thisyieldsaproper coloringof G 2 . Ourproofwouldbegreatlysimpliedifwecouldshowthataminimalcounterexample toTheorem4.9is3connected.However,becausecolorassignmentscannotbepermuted foranarbitrarylistassignment,weareunabletoshowthataminimalcounterexampleis evenbridgeless.Asaresult,therearemanypossibilitiesforhowfacesofprescribedlengths 51
PAGE 62
mightbeadjacenttoeachotherinaminimalcounterexample. 4.3WhatItMeansforaCongurationToBeReducible Asourdischargingruleswillonlyexchangechargeacrossedgesbetweenadjacentfaces, ourdischargingargumentwillconsideronlythelengthsoffacesadjacenttoaspecied centralface.Forourpurposes,acongurationdescribesanadjacencystructureamong facesinaplanegraph,wherethefaciallengthlist s givesthelengthsoffacesadjacentto somecentralfaceinacyclicorder. Denition4.11 Conguration . A conguration isasetoffacesadjacenttoa central face suchthatthelengthsofthesefacestaprescribedpatternincyclicorderaboutthe centralface'sboundarywalk.Wewriteacongurationas b : s ",where b isthecentralface lengthand s isanorderingoffacelengthscalledthe faciallengthlist .Charactersfor b or s comefrom N [fg .Charactersin s from N correspondtofacesinthecongurationof thatlength,while b 2 N speciesaxedlengthforthecentralface.Wewillcallsuchfaces ofspeciedlength speciedfaces .Thewildcardcharacter in s indicatesthatsomefaceof unspeciedlengthispresentinthegraphatthatpointaroundthecentralface.If b = ,we calltheconguration open andwriteitsimplyas s ".Forourpurposes,anyfaciallength list s willbeginandendwithnoncharactersinthispaper. 1 SeeFigure4.2forexamples. Asubcubicplanegraph contains aconguration b : s 1 :::s t if: 1.thereisaface F oflength b oranylengthwhen b = ,and 2.thereisawalk B = v 1 :::v t +1 where v 1 ;:::;v t +1 arevertices,possiblynotall distinctontheboundaryof F suchthatforeach i 2f 1 ;:::;t g theface S i acrossthe edge v i v i +1 from F possibly F itselfhaslength s i oranylengthif s i = ,and 3.noedgeof G istraversedtwiceby B inthesamedirection.Thatis,foranydistinct i;j 2f 1 ;:::;t g wehaveeither v i 6 = v j or v i +1 6 = v j +1 . Thewalk B iscalledthe spine oftheconguration. 1 Forcongurationswithaspeciedcentralfacelength,additional entrieshavenoeect.However, additional entriesmightaectopencongurations.Theconguration47 44isnottechnicallyequivalent to47 44 sincethelatterexcludesthepossibilitythatthecentralfacehaslength5.Wehavenoneedfor usingthistypeofrestrictioninthispaper. 52
PAGE 63
Sincewewillnotprescribeanyspeciedfacelengthsgreaterthan9inour congurations,wedonotneeddelimiterstoseparatetheentriesofafaciallengthlistand wesimplywriteitasastring. Figure4.2:Examplesofcongurationscontainedinasubcubicplanegraph.Thecentral faceiscrosshatchedred,anyotherspeciedfacesofthecongurationare shadedblue,andtheedgesofthespinearethickerthantheotheredges. Top Left: 3:45. TopRight: 6:3 54. BottomLeft: 345. BottomRight: 4 4. Acongurationcanbecontainedinacubicplanegraphinnonobviousways.For example,thefoursubgraphsshowninFigure4.3eachcontaintheconguration 8:48485458.Inthegure,thefaciallengthlisthasbeenindicatedaroundtheboundary walkofthecentral8face.Thesubgraphatthetopleftdemonstratestheminimal adjacenciesamongthefaces,whereastheotherthreesubgraphsontherightdemonstrate howsomeedgesorfacesofthecongurationmightbeidentiedwitheachother.Theother threesubgraphscanbeobtainedfromthesubgraphatthetopleftbyidentifyingvertices. Denition4.12 Reducible . Acongurationis reducible ifitisnotcontainedinany minimalcounterexampletoTheorem4.9. Giventhatacubicplanegraphcancontainacongurationinmanydierentways, 53
PAGE 64
Figure4.3:Someexamplesofhowthesameconguration:48485458mightbecontained inagraph.Thecentralfaceiscrosshatchedred,anyotherspeciedfacesof thecongurationareshadedblue,andtheedgesofthespinearethickerthan theotheredges. showingacongurationtobereduciblerequiressubstantialworkinsomecases.Inthe nexttwosectionswedescribehowweshowcongurationsarereducible. 54
PAGE 65
4.4ShowingReducibility Ifforany7listassignment,any7squarecoloringontheverticesoutsidea congurationcanbeextendedtotheverticesintheconguration,thenthecongurationis reducible.Beforepresentingsomedenitionstoformalizeourapproach,weoutlineafew moredetailsofthisidea:Supposethecongurationiscontainedinaminimal counterexample G ,andlet A bethesetofverticesonthespeciedfacesorspineofthe conguration.Therearemanypossibilitiesforthesizeandstructureoftheedgesincident to A butnotcontainedinthespeciedfacesorspineoftheconguration.Foranysuch possiblestructureoftheseedges,thegraph G 2 [ A ]contains G [ A ] 2 butmightalsocontain additionaledges.Foranysuchstructure,thereisanaturallistsizefunctionwhich accountsforthenumberofcolorrestrictionsimposedoneachvertexfromoutsideof A , denedby f v :=7 )222(j N G 2 v n A j foreach v 2 A .If G 2 [ A ]is f choosable,thenany 7squarecoloringof G )]TJ/F20 11.9552 Tf 11.956 0 Td [(A extendsto A underany7listassignment.Soif G 2 [ A ]is f choosableforeachpossiblestructureofedgesincidentto A ,thenthecongurationis reducible.TheseideasareformalizedinLemma4.16. Weusetheterm realization todescribeapossibilityforthestructureof A andits incidentedgesasdescribedabove.Inotherwords,arealizationissomepossibleembedding ofthecongurationalongwithsomepossibleneighborhoodstructure. Denition4.13 Realization,CoreSubgraph,StemStructure . Suppose G isasubcubic planegraphcontainingagivenconguration,andlet J bethesubgraphof G inducedby thespeciedfacesandspineoftheconguration.Thenthesubgraph H of G inducedby theedgesincidenttoanyverticesof J isa realization oftheconguration,andthe subgraph J itselfiscalledthe coresubgraph oftherealization H .Thesetofedgesof H not in J iscalledthe stemstructure oftherealization H .Theverticesof H in J arecalled core vertices,andtheverticesof H notin J arecalled stems .Acorevertexwhichhasdegree2 55
PAGE 66
in J iscalleda root .SeeFigure4.4forexamples. Figure4.4:Threerealizationsof3:45withthesamecoresubgraph.Thecentralfaceis crosshatchedred,anyotherspeciedfacesofthecongurationareshaded blue,theedgesofthespinearethickerthantheotheredges,thecorevertices arelledcircles,thestemsarehollowcircles,andtheedgesofthestem structurearedotted.Sinceeachrealizationhasthesamecoresubgraph,each hasthreerootsdespitetherealizationontherighthavingonlyonestem adjacenttoonecorevertex. Observation4.14. Ifacongurationiscontainedinaminimalcounterexampleto Theorem4.9,thenthecoresubgraphofthecongurationinthegraphhasminimumdegree atleast2. Proof. Becausecongurationsrequireverticestobeconnectedviathefacesandspineof theconguration,thecoresubgraphhasnoisolatedvertices.Becausethespeciedfacesof thecoresubgrapharefacesofacubicplanegraphbyObservation4.10,thereisno1vertex intheinteriorofthespeciedfaces.Forthesamereason,ifthecongurationisopenthen theinternalverticesofthespinecannotbe1vertices.Bydenitionofaconguration,the rstandlastfacesofanopencongurationarespeciedandthustheendpointsofthe spinearealsonot1vertices. Aswehavedescribedabove,the f choosabilityofallrealizationswhere f dependson eachrealizationisasucientconditionforreducibilityofaconguration.Foreach realization,anappropriatelistsizefunctiononthecoreverticescanbecalculatedby countingthepossiblerestrictionsfromoutsidethecorevertices. Denition4.15 RestrictionIndex,CoreChoosable . Considerarealization H withcore 56
PAGE 67
vertices A .Foreachcorevertex v and i 2f 1 ; 2 ; 3 g ,let i v bethenumberofstems adjacentto v whichhavedegree i in H .Alsolet\050 v bethenumberofstemsatdistance2 from v in H .Thenforeachcorevertex v ,the restrictionindex of v isdenedby res H v :=3 1 v +2 2 v + 3 v +\050 v .SeeFigure4.5foranexample.Ifthegraph H 2 [ A ]is )]TJ/F15 11.9552 Tf 11.955 0 Td [(res H choosable,thenwesaythattherealizationis corechoosable . Figure4.5:Arealization H of3:57whichincludesastemofdegree1in H ,astemof degree2in H ,andastemofdegree3in H .Thevalueofres H v isplacednext toeachcorevertex v .Thecentralfaceiscrosshatchedred,anyother speciedfacesofthecongurationareshadedblue,thecoresarelledcircles, andthestemsarehollowcircles.Partsofanypotentialremainingedgesfrom thestemsnottocoreverticesarealsoshown. Thefunction7 )]TJ/F15 11.9552 Tf 11.955 0 Td [(res H mapseachcorevertextotheminimumnumberofeligiblecolors remainingaftertherestofthegraphoutsidethecorevertices A isprecolored.Thefunction res H v countsthemaximumnumberofverticeswhicharenotin A withindistance2of v in G overallcubicgraphs G containingtherealization H .ByObservation4.14,acore vertexisadjacenttoatmostonestem,so 1 v + 2 v + 3 v 1foranycorevertex v . Ifarootisadjacenttoastemofdegree1in H ,thenthestemmayhavetwoadditional neighborsoutside H withindistance2oftheroot.Ifarootisadjacenttoastemofdegree 2in H ,thenthestemmayhaveoneadditionalneighboroutside H withindistance2ofthe root.Ifarootisadjacenttoastemofdegree3in H ,thenthestemhasnoneighbors outside H .Inadditiontoanysecondneighborsthroughstems,anycorevertexcouldalso 57
PAGE 68
havesecondneighborswhicharestemsintherealization. Lemma4.16. Givenaconguration,ifeveryrealizationwhichcanappearinaminimal counterexampletoTheorem4.9iscorechoosable,thenthecongurationisreducible. Proof. SupposeacongurationoccursinaminimalcounterexampletoTheorem4.9,say G .Then G containsarealization H oftheconguration,withcorevertices A .Now considerany7listassignment L on G suchthat G 2 isnot L colorable.Bytheminimality of G ,thereisaproper L j G )]TJ/F21 7.9701 Tf 6.586 0 Td [(A coloring c on G )]TJ/F20 11.9552 Tf 11.955 0 Td [(A 2 .Since G [ A ]containsthecore subgraphof H ,byObservation4.14 G [ A ]hasminimumdegreeatleast2.Hence,wehave G 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(A = G )]TJ/F20 11.9552 Tf 11.955 0 Td [(A 2 .Thus, c isaproper L j G )]TJ/F21 7.9701 Tf 6.586 0 Td [(A coloringon G 2 )]TJ/F20 11.9552 Tf 11.955 0 Td [(A . Dene L 0 on A byremovinganycolorsreceivedbyrstandsecondneighborsin G . Thatis,dene L 0 v := L v n c N G 2 v n A foreach v 2 A .Since c N G 2 v n A res H v ,wehave j L 0 v j 7 )]TJ/F15 11.9552 Tf 11.955 0 Td [(res H v foreach v 2 A .Since H is corechoosable,wehavethat G 2 [ A ]= H 2 [ A ]is L 0 colorable.Therefore c extendstoa proper L coloringof G 2 ,contradictingourchoiceof G and L . Somerealizationsareredundanttocheckforcorechoosability.Inparticular,consider realizationswithstemswhoserootsarewithindistance2ofeachotherthroughthecore subgraph.Sucharealizationmustbecorechoosableifacorrespondingrealizationwithout suchstemsiscorechoosable.SeeFigure4.6foranexample.However,ourcomputations aretractablewithoutthisobservationandweomititforthesakeofsimplicity. Figure4.6:Tworealizationsof3:57.Therealizationonthelefthasastemwhoseroots arecloseinthecoresubgrapheitherthemiddlestemortherightstemhas rootswhichareallwithindistance2throughthecoresubgraph.Ifthe realizationontherightiscorechoosable,thentherealizationontheleftisalso corechoosable. 58
PAGE 69
Next,weobservesomeinformationaboutsmallfaceswhichwillbeusefulforour computations. Lemma4.17. If F isafaceinaminimalcounterexampletoTheorem4.9suchthat ` F 9 ,thentheboundarywalkof F isacycle. Proof. Let v 0 ;v 1 ;:::;v t betheclosedboundarywalkof F with v 0 = v t ,andsupposeitis notacycle.Solet v i = v j bearepeatedvertexonthewalkwith0
PAGE 70
realizationscouldbeshowncorechoosablebyhand,weomittheseproofsforeaseof readingandverifythembycomputer. 2 Figure4.8: Left: Thestructureof F inthecases ` F =8leftand ` F =9right.The stemsareshownashollowcircleswithdashededges,andcouldpossiblybe identiedwitheachotherorbereplacedbyroottorootedgesinthenonF regionstoobtaindierentrealizations. Finally,wepresentthelistofcongurationswhichwewillshowtobereducibleanduse inourdischargingargument. Denition4.18. Werefertothe76congurationslistedinTable4.2asthe targetset , denotedby C . Asweshowviadischarging,Theorem4.9istrueifallcongurationsin C arereducible. 4.5GeneratingRealizationsforCongurations Wegenerateallthepossiblerealizationsforacongurationintwostages:rstthecore subgraphs,andthenforeachcoresubgraphamongthe2verticeswegenerateanyedges andstemsoutsideofthespeciedfaces.Foreachconguration,thereisacoresubgraph whichminimizesthesharededgesamongthespeciedfacesandthespine.Wecallthis graphthe naturalcoresubgraph oftheconguration. Denition4.19 NaturalCoreSubgraph . Consideraconguration b : s 1 :::s t .Foreach s i notequalto ,let C i = v 1 i :::v s i i beacycleoflength s i .If b = ,let C 0 = v 1 0 :::v t +1 0 bea pathoflength t ;otherwise,let C 0 = v 1 0 :::v b 0 beacycleoflength b .Weconsidereach C i as 2 Coincidentally,eachoftheserealizationsarelatercheckedwhenshowingthereducibilityofthecongurations3 3and3 4.However,wechecktherealizationsforLemma4.17separatelysothatwecanapply thelemmatoourcomputationsforcongurationslater. 60
PAGE 71
33 3 3 3 3 3 3 3 5 3 34 3 4 35 4 3 54 3 54 3 54 355 375 3 555 36 356 44 454 464 474 4 54 4 55 4 4 555 4 4 4 4 4 4 45 4555 4 5555 456 535 555555 546 3:57 4:55 4:56 4:57 4:66 4:585 4:676 4:686 5:555 5:556 5:565 5:566 5:575 5:656 5:666 5:4 55 5:5 65 5:5585 5:5 66 5:55 6 5:56 6 5:6 66 7:3 4 7:3 5 7:4 4 7:4 55 7:4 55 7:4 5 5 7:55 5 8:3 4 8:3 4 8:35 5 8:35 5 8:35 5 8:35 5 8:3 55 55 8:45 4 8:455 5 8:4 5 4 4 9:3 4 9:3 4 9:35 5 9:455 4 9:455 5 9:545 5 Table4.2:The76reduciblecongurationsusedtoproveTheorem4.9.Eachconguration ishyperlinkedtoacorrespondingentryintheAppendixwithmoredetails. aplanegraphsuchthattheverticesareinclockwiseorder.SeeFigure4.9leftforan example.The naturalcoresubgraph oftheconguration b : s 1 :::s t isthegraphobtained fromthefollowingidentications: 3 1.Foreach s i notequalto ,thetwovertices v i 0 ;v 1 i areidentiedwitheachotherand thetwovertices v i +1 0 ;v s i i areidentiedwitheachother.So C i and C 0 shareanedge. 2.Foreach i suchthatboth s i ;s i +1 6 = ,thetwovertices v s i )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 i ;v 2 i +1 areidentiedwith eachother.Sothecycles C i and C i +1 whichareadjacentaroundthecentralface shareanedgewithoneendpointonthespine. 3.Foreach2 i t suchthat s i =3andboth s i )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 ;s i +1 6 = ,thetwovertices v s i )]TJ/F18 7.9701 Tf 6.586 0 Td [(2 i )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 ;v 3 i +1 areidentiedwitheachother.Sotwocycles C i )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 and C i +1 whichareadjacenttoa common3cycle C i aroundthecentralfaceshareanedgewithoneendpointon C i . Althoughthenaturalcoresubgraphofacongurationisnottheonlypossiblecore subgraphwhichcanappearinacubicplanegraph,itisthestartingpointforndingany unexpectedwaysthecongurationcanappear.SeeFigure4.10foranexample. 3 Usingmodulararithmeticifnecessaryforcongurationswithspeciedcentralfacelengths:if i = t = b , thenlet i +1:=1. 61
PAGE 72
Figure4.9: Left :Fortheconguration535,wecaninitiallythinkofdisjointpieces C 0 ;C 1 ;C 2 ;C 3 . Right :Thenaturalcoresubgraphfortheconguration535isobtainedbythe identicationclasses f v 1 0 ;v 1 1 g ; f v 2 0 ;v 5 1 ;v 1 2 g ; f v 3 0 ;v 3 2 ;v 1 3 g ; f v 4 0 ;v 5 3 g ; f v 2 1 g ; f v 3 1 ;v 3 3 g ; f v 4 1 ;v 2 2 ;v 2 3 g ; f v 4 3 g . Observation4.20 Coresubgraphsareobtainedfromthenaturalcoresubgraph . The naturalcoresubgraphenforcesonlythenecessaryconditionsforacongurationtobe containedinasubcubicplanegraph.Thusanycoresubgraphforacongurationcanbe obtainedfromtheconguration'snaturalcoresubgraphviaidenticationofvertices. Socoresubgraphsofacongurationcanbegeneratedfromvertexidenticationsofthe naturalcoresubgraph.However,notallidenticationsyieldcoresubgraphs.Some identicationsresultin i vertexdegreegreaterthan3, ii vertexdegreelessthan3, iii lossofspeciedfaces, iv lossofplanarity,or v structuresthatdonotappearina minimalcounterexampletoTheorem4.9.Additionally,thenumberofidenticationsgrows quicklywiththenumberofverticesinthenaturalcoresubgraph.Tomoreeciently generatecoresubgraphsviaidenticationforthecongurationsinthetargetset C ,we makesomefurtherobservations.Firstweobservewhichvertexidenticationsresultin subgraphswhichcannotappearinaminimalcounterexampletoTheorem4.9. Observation4.21 Wecanforbidtheidenticationofverticesonthesamespecied face . Consideracongurationinthetargetset C andsupposeitappearsinaminimal 62
PAGE 73
Figure4.10: Left :Thenaturalcoresubgraphoftheconguration8:4 5 4 4. Right :An unnatural"coresubgraphfor8:4 5 4 4obtainedfromthenaturalcore subgraphbyidentifyingsomevertices. counterexampletoTheorem4.9.ByObservation4.20,thecoresubgraphoftherealization canbeobtainedfromthenaturalcoresubgraphofthecongurationbyidenticationof vertices.ByLemma4.17,notwoverticesofaspeciedfaceofthenaturalcoresubgraph areinthesameidenticationclass. WeuseObservation4.21inourcomputationtoreducethenumberofidentications generated.Someopencongurationshavelengthyspines,andwebenetfromforbiddinga fewidenticationsamongtheseverticesaswell. Observation4.22 Wecanforbidsomevertexidenticationsonanopenspine . Consider anopenconguration s 1 :::s t inthetargetset C andsupposeitappearsinaminimal counterexampletoTheorem4.9withaspine v 1 0 ;:::;v t +1 0 .Then v j 0 6 = v k 0 forany j;k 2f 1 ;:::;t +1 g suchthat 1 j k )]TJ/F20 11.9552 Tf 11.955 0 Td [(j j 2 becausethegraphhasnoloopsor1vertices. Furthermore,if 2 j t and s j )]TJ/F18 7.9701 Tf 6.586 0 Td [(1 ;s j 2 N ,then v j 0 6 = v k 0 forany j 6 = k .Otherwisethe vertex v j 0 isincidenttoacutedgecontainedinthecentralfaceandthecentralfaceitself haslength s j )]TJ/F18 7.9701 Tf 6.587 0 Td [(1 or s j ,contradictingLemma4.17. 63
PAGE 74
Ifsomecongurationsinthetargetsetareknowntobereducible,thenacloser inspectionoftheopencongurationsinthetargetsetshowsthatObservation4.21canbe extendedtoopenspinesin C aswell.ThiswouldbestrongerthanObservation4.22. However,ourcomputationsaretractablewithonlyObservation4.22andweomitour strongerobservationforthesakeofsimplicity. Havingcutdownthenumberofidenticationswhichneedtobegenerated,wenow observefurtherlterswhichcanhelpsiftforcoresubgraphsofarealization. Observation4.23 Necessaryconditionsforanidenticationtoyieldacoresubgraph . Let J beagraphformedbytheidenticationofverticesfromthenaturalcoresubgraphofa conguration.Ifthecongurationhasanopenspine v 1 0 :::v t +1 0 andin J thevertices v 1 0 and v t +1 0 arenotidentied,thenlet J 0 := J + v 1 0 v t +1 0 .Otherwise,let J 0 := J .If J isacore subgraphofthecongurationthatappearsinaminimalcounterexampletoTheorem4.9, then J and J 0 havethefollowingproperties: 1.Thegraph J issubcubic. 2.Thegraph J 0 hasaplaneembeddingsuchthatforeachinitiallist C i fromthenatural coresubgraphincluding C 0 ,theverticesof C i appearinorderastheboundarywalk ofsomeface.Callanysuchfacesof J 0 the xed faces.Dierent C i 'smightbethe boundarywalkofthesamexedface. 3.Any2vertexof J 0 isonatmostonexedfaceandisontheboundarywalkofthat faceatmostonce,sinceotherwisethehostgraphwouldnotbecubicorwouldnot havethespeciedfacelengthsprescribedbytheconguration.Infact,every2vertex of J 0 isonexactlyonexedfacesinceeveryvertexinthenaturalcoresubgraphison aspeciedfaceorthespine. SeeFigure4.11forexamplesofidenticationswhichviolatestheconditionsgivenin Observation4.23. 64
PAGE 75
Figure4.11:ExamplesshowingthattheconditionsinObservation4.23arenecessary. Top: Thenaturalcoresubgraphfor3 3,withverticesrelabeled v 1 ;:::;v 7 . Thespineedgesarebold,thespeciedfacesarebludeshaded,andthe centralfaceisredcrosshatched.Acrosseachspineedgeistheentryfrom thefaciallengthlist. MiddleLeft: Thegraph J obtainedfromtheidenticationclasses f v 1 g ; f v 2 ;v 6 g ; f v 3 g ; f v 4 g ; f v 5 g ; f v 7 g .Thisgraphfailstobesubcubic. MiddleRight: Thegraph J 0 obtainedfromtheidenticationclasses f v 1 ;v 6 g ; f v 2 ;v 7 g ; f v 3 g ; f v 4 g ; f v 5 g .Thisgraphfailstohavethespine'svertices appearinorderastheboundarywalkofaface. BottomLeft: Thegraph J 0 obtainedfromtheidenticationclasses f v 1 ;v 7 g ; f v 2 ;v 4 ;v 6 g ; f v 3 g ; f v 5 g .Thisgraphtrapstwo2vertices v 3 and v 5 betweentwofaces. BottomRight: Thegraph J 0 obtainedfromtheidenticationclasses f v 1 ;v 7 g ; f v 2 ;v 6 g ; f v 3 g ; f v 4 g ; f v 5 g .Thisgraphmeetstheconditionsof Observation4.23andisacoresubgraphof3 3. 65
PAGE 76
Theobservationsmadesofarwillhelpgeneratethecoresubgraphsofaconguration. Givenacoresubgraph,wecanthengeneratestemstructurestoobtaintherealizationsof thecongurationwhichhavethedesiredcoresubgraph. Observation4.24 Generatingstemstructures . Let J beacoresubgraphofa conguration,andlet R bethesetof2verticesof J .Callthefacesof J whicharenot speciedfacesofthecongurationthe openregions of J .Suppose H isarealizationofthe congurationwhichhas J asitscoresubgraphand H appearsinaminimalcounterexample toTheorem4.9.Then H canbeobtainedfrom J byplaneembeddingthefollowingobjects intheopenregionsof J suchthateachvertexin R isincidenttoexactlyoneofthe followingobjects: anedgewithbothendpointsin R , anewvertexstemadjacenttoonevertexin R , anewvertexstemadjacenttotwoverticesin R ,or anewvertexstemadjacenttothreeverticesin R . Ourobservationsallowustogenerateallrelevantrealizationsofcongurationsfrom thetargetset C .Byinspectingeachoftheserealization,weshowthatthecongurations arereducible. Lemma4.25. Eachcongurationinthetargetset C isreducible. Proof. Foreachcongurationfromthetargetset C ,wegeneratedallidenticationsofthe verticesfromthenaturalcoresubgraphexceptforthosedescribedinObservation4.21and Observation4.22.Foreachofthegraphsobtainedfromtheseidentications,wechecked theconditionsofObservation4.23.Foreachresultinggraphwhichmettheseconditions, wegeneratedeachpossiblestemstructureasdescribedinObservation4.24.Callthesetof alloftheresultinggraphsfromourgeneration H .Byourobservations,ifaconguration fromthetargetsetappearsinaminimalcounterexampletoTheorem4.9asarealization H ,then H 2H . Usingthe choosability programdiscussedinChapterIII,wecheckedevery H 2H 66
PAGE 77
bycomputerandfoundthateachiscorechoosable.Therefore,byLemma4.16no congurationinthetargetset C canappearinaminimalcounterexampleto Theorem4.9. Intheintroductorysectionofthischapter,Table4.1liststhelocationsforappendices relatingtoourcomputationinLemma4.25. 4.6DiscussionoftheTargetSet Thepurposeofthetargetsetistwofold:toshowthatsmallfacesinaminimal counterexamplelengthlessthan6mustbeadjacenttosomebiggerfaceslengthmore than6,andtoshowthatbiggerfacesarenotadjacenttotoomanysmallfaces.Intrying tondatargetsetthatwouldsuittheneedsofthedischargingargument,therewere severaloriginalcandidateswhichseemedhopefulbutuponinspectioncouldnotbeshown tobereducibleviacorechoosability.Forexample,thecongurations35,455,5:56,and 5:66wouldhavegreatlysimpliedthetargetsetandthedischargingproof.However,each ofthesehasatleastonerealizationwhichisnotcorechoosable.Wereplacedthese congurationswithmanymorelargercongurationswhichweshowedtobereducibleand weresucientforcompletingtheproof.Anotherhopefulcongurationwas7:4 5 5,but thiscongurationcouldnotbereplacedwithlargercongurationsusingourdischarging rules.Instead,wedealwiththeoccurrenceof7:4 5 5separatelyinourargumentvia Lemma4.34. Whenusingreduciblecongurationstoobservethestructureofaminimal counterexample,itishelpfultokeepinmindthatsomedierentwaysofwriting congurationsyieldthesamestructure.Forexample,theorderingoffacelengthsarounda centralfacecanbereversed,andwhenthereisasmallnumberofspeciedfacesthere mightbemorethanoneoptionforthecentralface.Table4.3describestheseequivalencies. 67
PAGE 78
Table4.3:Descriptionsofequivalentcongurations. Description EquivalentCongurations Reverseorderaroundacentralface b : s 1 :::s t , b : s t :::s 1 Twoadjacentfaces b : k , bk , k : b Threefaceswithacommonvertex b : km , k : bm , m : bk Fourfacesaroundanedge b : kmn , m : kbn Twofacesadjacentaroundatriangle b 3 k ,3: bk Whenreferencingareduciblecongurationinourarguments,wewillalwaysusethe expressionlistedinTable4.2insteadofanyequivalentexpressionswhichcanbeobtained bythealternativedescriptionsinTable4.3. 4.7Discharging WenowproveTheorem4.9.Let G beaminimalcounterexamplewithsomexedplane embedding.ByObservation4.10, G iscubicandconnected.Weassigninitialchargetothe verticesandfacesof G accordingtothefacechargingscheme:assigntoeachface F a chargeof ` F )]TJ/F15 11.9552 Tf 11.955 0 Td [(6andtoeachvertex v achargeof2deg v )]TJ/F15 11.9552 Tf 11.955 0 Td [(6.Aroutineobservationof Euler'sTheoremgivesthetotalinitialchargeof G . Observation4.26. Thetotalchargeofanyplaneembeddingof G is )]TJ/F15 11.9552 Tf 9.299 0 Td [(12 . Proof. UsingObservation4.10,wehavethatanyplaneembeddingof G isconnectedand cubic.Consideraxedplaneembeddingof G ,anddenoteby F G thefacesof G inthis embedding.WewilluseEuler'sFormulaforconnectedgraphs: j V G j)222(j E G j + jF G j =2.Now,observethat P F 2F G ` F =2 j E G j sinceeachedge iscountedtwicebytheboundarywalksoffaces.Alsoobservethat 3 j V G j = P v 2 V G deg v =2 j E G j since G iscubicandeveryedgeiscountedtwiceby 68
PAGE 79
thedegreesofthevertices.Hence TotalCharge= X f 2F G ` F )]TJ/F15 11.9552 Tf 11.955 0 Td [(6 =2 j E G j)]TJ/F15 11.9552 Tf 17.932 0 Td [(6 jF G j = )]TJ/F15 11.9552 Tf 9.299 0 Td [(6 j V G j +6 j E G j)]TJ/F15 11.9552 Tf 17.932 0 Td [(6 jF G j = )]TJ/F15 11.9552 Tf 9.299 0 Td [(12 : Since G iscubic,thechargeofeachvertexis0.Tocontradicttheexistenceof G ,we movethechargebetweenthesmallfacesandlargerfacessothatthenalchargeonevery faceof G isnonnegativeandsothatthetotalchargeisretained. Wewillhaveeach )]TJ/F15 11.9552 Tf 7.085 4.339 Td [(facetakewhateverchargeitneedsequallyfromitsneighboring + faces.Wemakethisruleexplicitbylistingcasesbelow.AsweshowinLemma4.28, each )]TJ/F15 11.9552 Tf 7.084 4.339 Td [(facein G isadjacenttoatleasttwo + faces.Applythedischargingrulesin Table4.4to G . Table4.4:TheDischargingRules. 1.Every3facetakes a1chargefromeachadjacent + faceifithasexactlythreeadjacent + faces. b3/2chargefromeachadjacent + faceifithasexactlytwoadjacent + faces. 2.Every4facetakes a1/2chargefromeachadjacent + faceifithasexactlyfouradjacent + faces. b2/3chargefromeachadjacent + faceifithasexactlythreeadjacent + faces. c1chargefromeachadjacent + faceifithasexactlytwoadjacent + faces. 3.Every5facetakes a1/5chargefromeachadjacent + faceifithasexactlyveadjacent + faces. b1/4chargefromeachadjacent + faceifithasexactlyfouradjacent + faces. c1/3chargefromeachadjacent + faceifithasexactlythreeadjacent + faces. d1/2chargefromeachadjacent + faceifithasexactlytwoadjacent + faces. Observation4.27. Sinceeveryvertexand6facestartedwith0chargeandexchangedno charge,everyvertexand6facehasnonnegativenalcharge. Beforeproceedingwithstructuralobservations,itisimportanttodiscusswhatwe 69
PAGE 80
meanbyadjacent"facesinthissectionsothatitisunderstoodpreciselyhowchargeis exchanged.Ifasmallfacesharesmorethanoneedgewithalargeface,thenthesmallface takestheprescribedamountofchargefromthelargeface acrosseachedge .Soasingleface of G mightbeadjacent"toanotherfacemorethanonce.Wheneverwecountand exchangechargewithadjacentfacesinthissection,wedosowithmultiplicity.See Figure4.12foranexample.Asanotherexample,thetwononconsecutive + faces adjacenttoa4faceasdescribedinLemma4.28mightbethesameface.Inthatcase the + facewouldsharetwoedgeswiththe4face,andthesetwoedgeswouldbe nonconsecutiveontheboundarywalkofthe4face. Figure4.12:Thechargepulledbythe4faceisdeterminedbythelengthoftheadjacent faces:A5face,an8facetwice,countingmultiplicity,anda7face.The chargepulledbythe4facefallsintoRule2bbecauseitisadjacenttoexactly three + facescountingmultiplicity. Lemma4.28. Intheminimalcounterexample G ,eachofthefollowingaretrue. 1.Ifa3faceisadjacenttoa )]TJ/F15 11.9552 Tf 7.085 4.339 Td [( face,thenitisadjacenttoexactlytwo + faces. 2.Ifa4faceisadjacenttotwo )]TJ/F15 11.9552 Tf 7.084 4.339 Td [( faces,thenitisadjacenttoexactlytwo nonconsecutive + faces. 70
PAGE 81
3.Ifa5faceisadjacenttothree )]TJ/F15 11.9552 Tf 7.085 4.338 Td [( faces,thenitisadjacenttoexactlytwo + faces. Proof. Inthefollowingcases,suppose s 1 s i forall i andalsothat s 1 6. 1.Let s 1 s 2 s 3 bethesequenceoffacelengthsarounda3facein G .Because33,34,and 36arereducible,wehave s 1 =5.Because535and3:57arereducible,wehave s 2 ;s 3 8. 2.Let s 1 s 2 s 3 s 4 bethesequenceoffacelengthsarounda4facein G ,andsuppose s 1 6.Because34and44arereducible,wehave s i 5forall i 2f 1 ; 2 ; 3 ; 4 g .If s 1 =5,thenwehave s 2 ;s 4 8because4:55,4:56,and4:57arereducible.Thenif s 3 6,thenwehave s 3 =5because546isreducible,andthenwemayconclude s 2 ;s 4 9because4:585isreducible.If s 1 =6,thenif s 3 =6wemayconclude s 2 ;s 4 9because4:66,4:676and4:686arereducible. 3.Let s 1 s 2 s 3 s 4 s 5 bethesequenceoffacelengthsarounda5facein G ,andsuppose s 1 6. Case1: s 1 =3.Since33,3 3,34,and3 4arereducible,wehave s i 5forall i 2f 2 ; 3 ; 4 ; 5 g .Since535and36arereducible,wehave s i 7for i 2f 2 ; 5 g .Since 355and356arereducible,wehave s i 7for i 2f 3 ; 4 g .Sothe5faceisnotadjacent tothree )]TJ/F15 11.9552 Tf 7.084 4.338 Td [(faces. Case2: s 1 =4.Since44,4:55,and4:56arereducible,wehave s 2 ;s 5 7.Since454 and5:4 55arereducible,wehave s k 6forsome k 2f 3 ; 4 g .Since456isreducible, wehave s k 7.Sothe5faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.085 4.339 Td [(faces. Case3: s 1 =5.Since5:555isreducible,atmostthreefacelengthsare5andnot threeconsecutiveones. Case3a: Exactlythreefacelengthsare5.Withoutlossofgenerality,suppose s 1 = s 3 = s 4 =5and s 2 ;s 5 6.Since5:565and5:575arereducible,wehave s 2 ;s 5 8.Since5:5585isreducible,wehave s 2 ;s 5 9. Case3b: Exactlytwofacelengthsare5.Firstsuppose s 1 = s 2 =5and s 3 ;s 4 ;s 5 6.Since5:556and5:55 6arereducible,wehave s 3 ;s 4 ;s 5 7.Sothe 71
PAGE 82
5faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.084 4.338 Td [(faces.Nowsupposeinsteadthat s 1 = s 3 =5and s 2 ;s 4 ;s 5 6.Since5:565and5:5 65arereducible,wehave s 2 ;s 4 ;s 5 7.Sothe 5faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.084 4.338 Td [(faces. Case3c: Exactlyonefacelengthis5.So s 1 =5and s i 6for i 2f 2 ; 3 ; 4 ; 5 g .Since 5:656isreducible,wemaysuppose s 2 7.Since5:5 66isreducible,wehavethat s k 7forsome k 2f 3 ; 4 g .Firstsuppose k =3;thenoneof s 4 ;s 5 isatleast7since 5:566isreducible.Nowsupposeinsteadthat k =4;thenoneof s 3 ;s 5 isatleast7 since5:56 6isreducible.Sothe5faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.085 4.338 Td [(faces. Case4: s 1 =6.Since5:666isreducible,atmostthreefacelengthsare6andnot threeconsecutiveones.Since5:6 66isreducible,weactuallyhavethatatmosttwo facelengthsare6.Sothe5faceisnotadjacenttothree )]TJ/F15 11.9552 Tf 7.085 4.338 Td [(faces. ByLemma4.28,each )]TJ/F15 11.9552 Tf 7.085 4.339 Td [(facehasatleasttwoadjacent + faces.Therefore,the DischargingRulesshowthatevery )]TJ/F15 11.9552 Tf 7.084 4.339 Td [(facepullsexactlythechargeitneedsfrom surroundingfaces. Corollary4.29. Intheminimalcounterexample G ,every )]TJ/F15 11.9552 Tf 7.084 4.338 Td [( facehasnonnegativenal charge. Toshowthatbiggerfaceshavenonnegativenalcharge,werstdeterminehowmuch chargeasmallfacemightpullfromthem. Lemma4.30. Let abkcd beveconsecutiveentriesfromthefaciallengthlistarounda + face F intheminimalcounterexample G ,andlet F 0 bethefacerepresentedbythe entry k .SeeFigure4.13. 1.Suppose k =3 .If b =5 or c =5 ,then F 0 pulls3/2chargefrom F .Otherwise, F 0 pulls1chargefrom F . 2.Suppose k =4 .If a =4 or d =4 or ` F < 9 ,then F 0 pullsatmost2/3chargefrom F .Otherwise, F 0 pullsatmost1chargefrom F . 3.Suppose k =5 .If b =3 or c =3 ,then F pullsatmost1/4chargefrom F 0 . Otherwiseif b 6 =5 or c 6 =5 or ` F < 9 ,then F 0 pullsatmost1/3chargefrom F . 72
PAGE 83
Otherwise, F 0 pullsatmost1/2chargefrom F . Figure4.13:ThelayoutoffacesconsideredinLemma4.30. Proof. 1.If b =5or c =5,thenbyLemma4.28.1andRule1bthe3facepulls3/2 charge.Otherwise,since33,34,and36arereducible,wehave b;c;` F 7andby Rule1athe3facepulls1charge. 2.If a =4or d =4,since34,44,454,and464arereduciblewehave b 7or c 7. Since ` F 7aswell,byLemma4.28.2the4face F 0 isadjacenttoatleastthree + faces.Similarly,if ` F < 9,thenbyLemma4.28.2the4face F 0 isadjacentto atleastthree + faces.Ineitherofthesecases,byRules2a,2b,the4facepullsat most2/3charge.Otherwise,byRules2a,2b,2c,the4facepullsatmost1charge. 3.Let q;r betheothertwofaciallengthsaround F 0 ,sothatthefaciallengthlistof F 0 is c;` F ;b;q;r .SeeFigure4.14.If b =3or c =3,thensince33,3 3,34,3 4,535, 355,36,and356arereducible,wehavethat ` F ;q;r andoneof b or c areatleast7. SobyRule3b,the5face F 0 pullsatmost1/4chargefrom F . Sosuppose b;c 4,andalso b 6 =5or c 6 =5.If b =4or c =4,thenwithoutlossof generalitysuppose b =4.Since34,3 4,44,454,4:55,and4:56arereducible,wehave q 7and r;c 5.Since5:4 55and456arereducible,atleastoneof r;c isatleast7. SobyRules3b,3c,the5face F 0 pullsatmost1/3chargefrom F . Sosuppose b;c 5,andalso b 6 =5or c 6 =5.If b =6or c =6,thenwithoutlossof generalitysuppose b =6.Since36,356,4:56,and456arereducible,wehave q;r 5. Since5:556,5:566,5:656,and5:666arereducible,oneof q;r isatleast7.Since 73
PAGE 84
Figure4.14:Case3ofLemma4.30. 5:5 65,5:5 66,5:56 6,and5:6 66arereducible,oneof q;c isatleast7.Since5:55 6, 5:56 6,and5:6 66arereducible,oneof r;c isatleast7.Sinceeachpairfrom q;r;c musthaveatleastonememberbeatleast7,twoof q;r;c mustbeatleast7.Soby Rules3b,3c,the5face F 0 pullsatmost1/3chargefrom F . Alsoifboth b;c 7,thenbyRules3a,3b,3c,the5face F 0 pullsatmost1/3charge from F . Sowithoutlossofgeneralitysuppose b 7and c =5.Thensince535,355,and4:55 arereducible,wehave q 4and r 5.If q =4,thensince4:55and4:56are reduciblewehave r 7.If q 5,thensince5:555,5:556,5:565,5:566arereducible wehavethatoneof q;r isatleast7.Soineithercase,byRules3b,3c,the5face F 0 pullsatmost1/3chargefrom F . Nowsuppose ` F < 9.ThenbyLemma4.28.3,the5face F 0 isadjacenttoatleast three + faces.SobyRules3a,3b,3c,the5face F 0 pullsatmost1/3chargefrom F . Otherwise,byRules3a,3b,3c,3d,the5face F 0 pullsatmost1/2charge. Havingobservedwhatchargecanbepulledfromlargerfaces,wenowconsiderthe waysinwhichsmallfacescanappeararoundfaces.WiththeboundsfromLemma4.30,we thencalculateboundsonthechargepulledfromtheseblocksof )]TJ/F15 11.9552 Tf 7.085 4.338 Td [(faces. Lemma4.31. Consideranycentralfaceintheminimalcounterexample G anda nonemptysublistofconsecutivefacelengthsaroundthiscentralface.Iftheelementsofthe sublistareallin f 3 ; 4 ; 5 g ,thenthesublistisgiveninTable4.5. 74
PAGE 85
Table4.5:The17possiblesublistsofsmallfacesaroundacentralfacein G . 3 35 4 45 455 5 53 54 545 5455 55 554 5545 55455 555 5555 55555 Proof. Consideranynonemptysublistofconsecutivefacelengthsaroundthecentralface suchthatallentriesarein f 3 ; 4 ; 5 g .Wedirectlyinspectallpossibilitiesforthissublist. Assumetherstentryisofthesublist3.Since33,34,and36arereducible,eitherthe sublistis3orthesecondentryis5.Supposethesecondentryis5.Since3 3,3 4,and355 arereducible,thesublistis35. Assumetherstentryisofthesublist4.Since34and44arereducible,eitherthe sublistis4orthesecondentryis5.Supposethesecondentryis5.Since3 4and454are reducible,eitherthesublistis45orthethirdentryis5.Supposethethirdentryis5.Since 3 54,4 54,and4555arereducible,thesublistis455. Assumetherstentryisofthesublist5.Eitherthesublistis5,orthesecondentryis 3,4,or5. Supposethesecondentryis3.Thensince33,34,and535arereducible,thesublistis 53. Nowinstead,supposethesecondentryis4.Thensince34and44arereducible,the sublistis54orthethirdentryis5.Supposethethirdentryis5.Thensince3 4and454 arereducible,thesublistis545orthefourthentryis5.Supposethefourthentryis5. Thensince3 54,4 54,and4555arereducible,thesublistis5455. Nowinstead,supposethesecondentryis5.Since355isreducible,eitherthesublistis 55,orthethirdentryis4or5. Firstsupposethethirdentryis4.Thensince34and44arereducible,thesublistis 554orthefourthentryis5.Supposethefourthentryis5.Thensince3 4and454are reducible,thesublistis5545orthefthentryis5.Supposethefthentryis5.Thesince 3 54,4 54,and4555arereducible,thesublistis55455. Secondsupposethethirdentryis5.Since355and4555arereducible,anyremaining 75
PAGE 86
entriesinthesublistare5s.Since555555isreducible,thesublistis555,5555,or55555. ByLemma4.31,wecandescribeafamilyoffaciallengthlistswithsublistsfrom Table4.5alongwiththecharacter + "torepresentanyentriesnotin f 3 ; 4 ; 5 g . Lemma4.32. Intheminimalcounterexample G ,every + facehasnonnegativenal charge. Proof. Let F bea + faceof G andconsiderthefaciallengthlistaround F .Theentries ofthefaciallengthlistfrom f 3 ; 4 ; 5 g canbegroupedintomaximalsublistsofconsecutive entriescalled blocks ,sothatanytwoblocksareseparatedbyatleastone + .By Lemma4.31,anyblockmustappearintherstrowofTable4.6reversalsarepaired together.Listedbeloweachblockisanupperboundonthetotalchargethefacesofthe blocktogetherpullfromthecentral + face F .Fortheblock3,thetotalchargepulled is1byLemma4.30.1sincetheentriesprecedingandsucceedingthe3inthefaciallength listarebothatleast6.Fortheblock35,thechargepulledbythe3faceis3/2by Lemma4.30.1andthechargepulledbythe5faceis1/4byLemma4.30.3.Theremaining upperboundsarecalculatedbysimplyadding1foreach4and1/2foreach5the maximumchargepulledbyeachaccordingtothedischargingrulesratherthanthebounds giveninLemma4.30. Table4.6:Possibleblocksofsmallfacesaroundacentral + facein G ,alongwithupper boundsonthecollectivechargepulledbyeachblockandupperboundsonthe averagechargepulledfromtheblockandtheedgefollowingtheblock. Block: 3 35 4 45 455 5 545 53 54 554 TotalPulled : 1 7/4 1 3/2 2 1/2 2 AveragePulled : 1/2 7/12 1/2 1/2 1/2 1/4 1/2 Block: 5455 55 55455 555 5555 55555 5545 TotalPulled : 5/2 1 3 3/2 2 5/2 AveragePulled : 1/2 1/3 1/2 3/8 2/5 5/12 Sincethelengthof F islongerthanthelengthofanyblock,anyblockinthefacial lengthlistof F isfollowedbyatleastone + .Sotheaveragechargepulledacrossthe 76
PAGE 87
edgesofablockandtheedgefollowingtheblockisatmosttheTotalPulled"bound dividedby1morethanthelengthoftheblock.ThisresultingboundonAveragePulled" isalsolistedforeachblockinTable4.6.Sinceeachoftheseaveragesisatmost7/12,the totalchargepulledfrom F isatmost 7 12 ` F = ` F )]TJ/F18 7.9701 Tf 15.268 4.708 Td [(5 12 ` F ` F )]TJ/F18 7.9701 Tf 13.151 4.708 Td [(25 4 <` F )]TJ/F15 11.9552 Tf 11.955 0 Td [(6. Therefore, F hasnonnegativenalcharge. TocompleteourproofofTheorem4.9,weshowthateveryfaceoftheminimal counterexample G withlengthbetween7and14hasnonnegativenalcharge.Using Lemma4.31,weinspectallpossiblefamiliesoffaciallengthlistsaroundacentralfaceof lengthbetween7and14.UsingLemma4.30,weareabletoshowinLemma4.33thatthe centralfacehasnonnegativenalchargeforallbutoneofthesefamilies.Thebounds providedinLemma4.30arenotstrongenoughforthisoneexceptionalconguration.In Lemma4.34,weinspectthisexceptionalcongurationmorecloselybyconsideringfaces aroundthecongurationtoshowthatthecentralfaceindeedhasnonnegativenalcharge aswell. Lemma4.33. Suppose F isafaceoftheminimalcounterexample G withlengthbetween7 and14.If F isnota7facewithfaciallengthlist 4 + + + + ,then F has nonnegativenalcharge. Proof. Allthepossiblefaciallengthlistsof F canbegeneratedaslistsoflength ` F composedofsublistsfromTable4.5eachfollowedbyatleastone + ".Eachofthese familiesoffaciallengthlistscanbecheckedtoseeifareduciblecongurationfromthe targetset C occursamongthecentralfaceandanysurrounding )]TJ/F15 11.9552 Tf 7.085 4.339 Td [(faces.Weuseda computertogenerateallfaciallengthlistsforcentralfaceswithlengthbetween7and14 andwhichhavenocongurationsfrom C .Foralltheresultinglists,wecalculatedalower boundonthecentralface'snalchargebysummingtheupperboundsonchargepulledby thesurrounding5 )]TJ/F15 11.9552 Tf 7.085 4.338 Td [(facesasgivenbyLemma4.30.Withonlytheoneexceptionof 4 + + + + arounda7face,thelowerboundonthecentralface'snalchargeis nonnegativeforeachfaciallengthlist. 77
PAGE 88
Becauseonecongurationnotruledoutbythetargetsethasanegativelowerbound onthenalchargeofitscentral,weneedadditionalreduciblecongurationsbeyondthe targetset.Becausesomeofthesecongurationsdonottthesamedescriptionasthosein thetargetset,wedealwiththemseparatelyhere.Usingthesameprogramaswith Lemma4.25,wechecktheconguration7:4 5 5foranyrealizationswhicharenot corechoosable.Byexpandingtheinformationaroundtheproblematicconguration,we showthatthesmallfacesaroundthecentral7facedonotpullverymuchcharge. Lemma4.34. A7faceintheminimalcounterexample G withfaciallengthlist 4 + + + + hasnonnegativenalcharge. Proof. Anysuch7facehaschargedpulledbyitsneighboring4faceandtwo5faces.We showthatthe4faceisadjacenttofour + facesandthatthe5facesareeachadjacentto atleastfour + faces.ByRules2a,3a,3b,the4facepulls1/2chargeandthetwo5faces pullatmost1/4chargeeach.Thisleavesthecentral7facewithatleast0nalcharge. Justaswedidforeachcongurationin C ,wealsogeneratedandcheckedevery realizationof7:4 5 5forcorechoosability.Allbuttworealizationsof7:4 5 5are corechoosable.ThesetwoareshowninFigure4.15,whereitcanbeseenthatthe structuresofthesetworealizationsarenearlyidentical.Soa7faceintheminimal counterexample G withfaciallengthlist4 + + + + occursasoneofthesetwo realizations.Toinspectthefacessurroundingthe4and5faces,considerthefacelabeling inthecommonrealizationstructuregiveninFigure4.16left. WeshowthatnoneofA,B,C,D,E,G,H,I,Khavelengthlessthan7.Thereare severalcasestoconsider,andthesearesummarizedinTable4.7.SinceC=DandG=H, weneednotconsiderDandHseparately.Sinceweareassumingthefaciallengthlist aroundthecentral7faceis4 + + + + ,wealreadyknowthatA,C,G,andK havelengthsatleast6.SincethetwostemsonEcannotbethesamevertexineitherof thetworealizationsinFigure4.15,wealsoknowthatEhaslengthatleast4.Similarly, thefacesBandIhavelengthatleast4aswell.Since44isreducible,wealsoknowthatB 78
PAGE 89
Figure4.15:Theonlytworealizationsoftheconguration7:4 5 5whicharenot corechoosable.Bothsharethesamecoresubgraphthenaturalcore subgraph. Figure4.16: Left: Alabelingofthefacesaroundthefacesaroundthe4and5facesofthe naturalcoresubgraphof7:4 5 5.NotethatC=DandG=H. Right: The planegraph ^ J forthecase ` A =6. haslengthatleast5. Fortheremaining12cases,weextendthenotionsofrealizationsandcorechoosability inordertoshowthatanysubgraphsresultingfromthesecasesarereducible.Eachcase 79
PAGE 90
Table4.7:SummaryofcasesforfacelengthssurroundingthesmallfacesinLemma4.34. Case Reason ` A 5 Faciallengthlisthypothesis ` A =6 Veriedcorechoosability ` C 5 Faciallengthlisthypothesis ` C =6 Veriedcorechoosability ` G 5 Faciallengthlisthypothesis ` G =6 Veriedcorechoosability ` K 5 Faciallengthlisthypothesis ` K =6 Veriedcorechoosability Case Reason ` B =3 7:4 5 5realizationstructure ` B =4 Contains44 ` B =5 Veriedcorechoosability ` B =6 Veriedcorechoosability ` E =3 7:4 5 5realizationstructure ` E =4 Veriedcorechoosability ` E =5 Veriedcorechoosability ` E =6 Veriedcorechoosability ` I =3 7:4 5 5realizationstructure ` I =4 Veriedcorechoosability ` I =5 Veriedcorechoosability ` I =6 Veriedcorechoosability prescribesoneadditionalfacelengthwhichmayormaynotbeadjacenttothecentral 7face.Ineachcase,webeganwiththeplanesubgraph ^ J obtainedfromthenaturalcore subgraph J byaddingthenewfaceofspeciedlength.Foranexample,see Figure4.16right.Then,wegeneratedallpossiblegraphswhichresultfromidentications ofverticesof ^ J whileenforcingthatnotwoverticesof J areidentied.Foreachresulting graphthatmettheconditionsofObservation4.23,wegeneratedeachpossiblestem structuredescribedbyObservation4.24andthenveriedbycomputerthattheresulting graphiscorechoosable.Forthesakeofsimplicity,wedidnotenforceanyinformation fromthestemstructuresofthetworealizationsinourgeneration.Hence,weconclude thatineachcasetheprescribedfacelengthcannotbepresentinthedesignatedlocationin aminimalcounterexampletoTheorem4.9. ThisconcludestheproofofTheorem4.9. 4.8ConcludingRemarks Whilethetargetsetisminimalinthesensethatourproofaswrittenmakesuseof everycongurationin C ,wedonotknowifthereisasmallersetofcongurationswhich wouldprovidethegroundsforasimilarproof.TheargumentinLemma4.32canbe modiedforfacesoflengthsmallerthan15byobservingthatcertainblocksmustbe 80
PAGE 91
separatedbymorethanone + facesresultinreduciblecongurationfromthetargetset. Forexample,theblock3cannotbefollowedbytheblock54afteratmostthree + faces,sincethecongurations3 54,3 54and3 54areallreducible.However,we feelthatthecurrentargumentstrikesanoptimalbalancebetweenthesizeandanalysisof thetargetsetandthesimplicityandvericationofthedischargingrules. Whentryingtoestablishalistofreduciblecongurations,wersttriedtobuildalist ofhopeful"congurationswhichwouldworkwithourdischargingrules.Heuristically,the realizationofacongurationwhichisleastlikelytobecorechoosableisthenaturalcore subgraphwithastemstructureconsistingentirelyofstemswhichhavedegree1tothecore vertices.Foranycoresubgraph,thisstemstructureminimizesthevaluesofthelistsize functionusedforcorechoosability.Thecongurationswedeemedhopeful"werethosefor whichthisrealizationwascorechoosable.Wecheckedover250congurationsandfound 171ofthemtobehopeful.Fromtheseweformedadischargingargumentandthen simmeredthelistneededforourargumenttofewerthan70hopefulcongurationswhich wereeachusedintheargument.Atthispoint,wedevelopedthetoolstocheckallother realizationsasdiscussedinSection4.5.Wefoundthat35,455,and7:4 5 5eachhaveat leastonerealizationthatisnotcorechoosable.Wewereabletoreplace35and455with11 largerreduciblecongurationstomaintainourdischargingargument,butreplacing 7:4 5 5requirescongurationswhichdonottourtechnicaldenitionofconguration." The12structuresweveriedtobereducibleinLemma4.34canbedenedandaddedto thetargetset,whichwouldperhapsmakeLemma4.34clearer. Theexploratoryprocessjustdescribedwouldnothavebeenpossiblewithoutthe choosability program.Almostallofthecongurationsweconsideredaresimplytoo largeandhavetoosmalllistsizevaluestocheckbyhand.Developingthistoolwasa criticalsteptoourproof. Perhapsthemosttediousaspectofourproofisgeneratingallcoresubgraphsofa conguration.Sincetherearemanywaysinwhichcongurationscanwrapbackinon 81
PAGE 92
themselvesthatwedidnotseeatrst,wefeelthatgeneratingallpossiblepartitionsand thenapplyingappropriateltersasdiscussedinSection4.5isthebestwaytocondently ndallcoresubgraphs.Ifweknewthatminimalcounterexamplemustbe3connected, thenthenumberofnonnaturalcoresubgraphsisreducedgreatly.However,athorough searchforallcoresubgraphswouldstillbenecessary. Thenumberofstemstructuresforeachcoresubgraphwouldalsobegreatlyreduced underthepromiseof3connectedness.Areductioninthesestructureswouldnothave merelyshortenedcomputationbutalsoshortenedourtargetset.Thisrestrictioninstem structureswouldmeanthattheconguration35isreducible,sincetheonly noncorechoosablerealizationof35guaranteesabridgeinthegraph. Inadditiontoalackofconnectivitybounds,adierencebetweenourproblemandthe nonlistsettingisthatreduceredgescannothelpshowcongurationstobereducible.Since aprecoloringmightberainbowonthestemsofarealization,iftherealizationisnot corechoosablethennoplacementofreduceredgescanpreventabadprecoloring.We consideredbothaloadedinductionhypothesisandDPcoloring,butneitherofthese techniquesseemedtoresolveourcomplications. Thefactthat35hasanoncorechoosablerealizationmaybesurprising,asallthe realizationsof33,34,and36arecorechoosable.Thesquareinducedonthecoresubgraph bythenoncorechoosablerealizationof35is K 6 ,andthelistsizefunctionvaluesareallat most5.Thesquareinducedonthecoresubgraphbythestemstructureinwhicheachroot isadjacenttoadistinctstemis K 6 )]TJ/F20 11.9552 Tf 11.955 0 Td [(e ,andthelistsizefunctioncanbeobtainedfromthe previouslistsizefunctionbysubstracting1foreachofthetwoendpointsof e .However, thislattersquareischoosableforthegivenlistsizefunction.Thisisrelatedto Question3.27. Whilethesituationfortheconguration35seemstoberatherspecic,thereareother structureswhicharelocalobstructionstocorechoosability.Forexample,ifacore subgraphhasa + threadaninducedpathwithatleast5consecutive2vertices,then 82
PAGE 93
therealizationofthatcoresubgraphwithallstemsofdegree1isnotcorechoosable.This isduetothefactthatthe + threadcausesatrianglewith f valuesequalto2inthe squareofthecore.Wefoundothersimilarstructureswhichhelpedusknowwhich congurationswerenotworthinvestigating.Forexample,thecongurations37and8:45 bothhavea5threadintheirnaturalcoresubgraph. HavingremovedthegirthconditionfromTheorem4.4,weaskaboutthestrongergirth conditionswhichlowerthelistchromaticnumberforthesquaresofsubcubicplanargraphs. Question4.35. Whatisthelowestboundonthegirthofasubcubicplanargraphwhich guaranteesthatitis6squarechoosable?5squarechoosable?4squarechoosable? ThelastquestionwasaskedaboutcoloringasopposedtolistcoloringbyBorodinand Ivanova[15].AsshownbytheexampleinFigure4.1,noneofthesegirthlowerboundscan belessthan6. 83
PAGE 94
REFERENCES [1]Theonlineencyclopediaofintegersequences.Publishedelectronicallyat https://oeis.org/A000110,2010. [2]N.Alon.Surveysincombinatorics.chapterRestrictedColoringsofGraphs,pages 1{33.CambridgeUniversityPress,NewYork,NY,USA,1993. [3]N.Alon.CombinatorialNullstellensatz. Combinatorics,ProbabilityandComputing , 82:7{29,1999.RecenttrendsincombinatoricsMatrahaza,1995. [4]N.Alon.Degreesandchoicenumbers. RandomStructuresAlgorithms ,16:364{368, 2000. [5]N.AlonandM.Tarsi.Coloringsandorientationsofgraphs. Combinatorica , 12:125{134,Jun1992. [6]K.AppelandW.Haken.EveryplanarmapisfourcolorablePartI:Discharging. IllinoisJournalofMathematics ,21:429{490,1977. [7]K.AppelandW.Haken. EveryPlanarMapIsFourColorableContemporary Mathematics .AmericanMathematicalSociety,1989. [8]K.Appel,W.Haken,andJ.Koch.EveryplanarmapisfourcolorablePartII: Reducibility. IllinoisJournalofMathematics ,21:491{567,1977. [9]J.Arndt. MattersComputational:Ideas,Algorithms,SourceCode .SpringerBerlin Heidelberg,2011. [10]G.D.Birkho.Thereducibilityofmaps. AmericanJournalofMathematics , 35:115,Apr1913. [11]H.L.Bodlaender,M.R.Fellows,andD.M.Thilikos.Derivationofalgorithmsfor cutwidthandrelatedgraphlayoutparameters. J.Comput.SystemSci. , 75:231{244,2009. [12]B.BollobasandA.J.Harris.Listcolouringsofgraphs. GraphsandCombinatorics , 1:115{127,Dec1985. [13]O.V.Borodin.Onacycliccoloringsofplanargraphs. DiscreteMathematics , 25:211{236,1979. [14]O.V.Borodin.Coloringsofplanegraphs:Asurvey. DiscreteMathematics , 313:517{539,Feb2013. [15]O.V.BorodinandA.O.Ivanova.2distance4colorabilityofplanarsubcubicgraphs withgirthatleast22. DiscussionesMathematicaeGraphTheory ,32:141{151,2012. [16]O.V.BorodinandA.O.Ivanova.List2facial5colorabilityofplanegraphswith girthatleast12. DiscreteMathematics ,312:306{314,2012. 84
PAGE 95
[17]B.Brimkov,J.Edmond,R.Lazar,B.Lidicky,K.Messerschmidt,andS.Walker. Injectivechoosabilityofsubcubicplanargraphswithgirth6. DiscreteMathematics , 340:2538{2549,2017. [18]R.L.Brooks.Oncolouringthenodesofanetwork. MathematicalProceedingsofthe CambridgePhilosophicalSociety ,37:194197,1941. [19]D.W.CranstonandS.J.Kim.Listcoloringthesquareofasubcubicgraph. Journal ofGraphTheory ,57:65{87,2008. [20]D.W.CranstonandD.B.West.Anintroductiontothedischargingmethodvia graphcoloring. DiscreteMathematics ,340:766{793,Apr2017. [21]P.DeOrsey,J.Diemunsch,M.Ferrara,N.Graber,S.G.Hartke,S.Jahanbekam, B.Lidicky,L.L.Nelsen,D.Stolee,andE.Sullivan.Onthestrongchromaticindexof sparsegraphs. arXiv:1508.03515[math.CO] ,2015. [22]J.Diemunsch,N.Graber,L.Kramer,V.Larsen,L.M.Nelsen,L.L.Nelsen,D.Sigler, D.Stolee,andC.Suer.Colorblindindexingraphsofverylowdegree. DiscreteAppl. Math. ,225:122{129,2017. [23]R.Diestel. GraphTheory .Number173inGraduateTextsinMathematics.Springer, 1997. [24]Z.Dvorak,M.Hebdige,F.Hlasek,D.Kral',andJ.Noel.Cycliccoloringofplane graphswithmaximumfacesize16and17. arXiv:1603.06722[math.CO] ,2016. [25]Z.Dvorak,R. Skrekovski,andM.Tancer.Listcoloringsquaresofsparsesubcubic graphs. SIAMJ.DiscreteMath. ,22:139{159,2008. [26]P.Erd}os,A.L.Rubin,andH.Taylor.Choosabilityingraphs. Congressus Numerantium ,26:125{127,1979. [27]F.Galvin.Thelistchromaticindexofabipartitemultigraph. J.Combin.TheorySer. B ,63:153{158,1995. [28]M.R.GareyandD.S.Johnson. ComputersandIntractability:AGuidetotheTheory ofNPCompleteness .W.H.Freeman&Co.,NewYork,NY,USA,1979. [29]G.Gonthier.Formalproofthefourcolortheorem. NoticesoftheAmerican MathematicalSociety ,55:1382{1393,2008. [30]H.Grotzsch.Zurtheoriederdiskretengebilde.vii.eindreifarbensatzfurdreikreisfreie netzeaufderkugel. WissenschaftlicheZeitschriftMartinLutherUniversitat HalleWittenbergMathematikNaturwissenschaftReihe ,8:109{120,1959. [31]S.Gutner.Thecomplexityofplanargraphchoosability. DiscreteMathematics , 159:119{130,1996. 85
PAGE 96
[32]S.GutnerandM.Tarsi.Someresultsona:bchoosability. DiscreteMathematics , 309:2260{2270,2009. [33]S.G.Hartke,S.Jahanbekam,andB.Thomas.Thechromaticnumberofthesquareof subcubicplanargraphs. arXiv:1604.06504[math.CO] ,2016. [34]F.Havet.Choosabilityofthesquareofplanarsubcubicgraphswithlargegirth. DiscreteMath. ,309:3553{3563,2009. [35]M.HebdigeandD.Kral'.Thirdcaseofthecycliccoloringconjecture. SIAMJ. DiscreteMath. ,30:525{548,2016. [36]H.Heesch. UntersuchungenzumVierfarbenproblem .B.I.Hochschulskripten, 810/810a/810b.Mannheim,BibliographischesInstitut,1969. [37]H.Heesch.Chromaticreductionofthetriangulations T e , e = e 5 + e 7 . Journalof CombinatorialTheory,SeriesB ,13:46{55,Aug1972. [38]S.Jendrol'andH.J.Voss.LightsubgraphsofgraphsembeddedintheplaneA survey. DiscreteMathematics ,313:406{421,2013. [39]M.Juvan,B.Mohar,andR. Skrekovski.Onlistedgecoloringsofsubcubicgraphs. DiscreteMath. ,1873:137{149,1998. [40]J.Kahn.Asymptoticsofthelistchromaticindexformultigraphs. RandomStructures Algorithms ,17:117{156,2000. [41]S.Karakashian,B.Y.Choueiry,andS.G.Hartke.Analgorithmforgeneratingall connectedsubgraphswith k verticesofagraph.2013. [42]R.M.Karp. ReducibilityamongCombinatorialProblems ,pages85{103.SpringerUS, Boston,MA,1972. [43]D.Kral'.Coloringsofplanegraphs.Presentation,2016SIAMConferenceonDiscrete Mathematics,June2016. [44]M.Lason.AgeneralizationofCombinatorialNullstellensatz. Electron.J.Combin. , 17:Note32,6,2010. [45]M.Mirzakhani.Asmallnon4choosableplanargraph. Bull.Inst.Combin.Appl. , 17:15{18,1996. [46]M.MolloyandB.Reed. Graphcolouringandtheprobabilisticmethod ,volume23of AlgorithmsandCombinatorics .SpringerVerlag,Berlin,2002. [47]B.MonienandI.H.Sudborough.MincutisNPcompleteforedgeweightedtrees. Theoret.Comput.Sci. ,583:209{229,1988.ThirteenthInternationalColloquiumon Automata,LanguagesandProgrammingRennes,1986. 86
PAGE 97
[48]D.Paulusma.Openproblemsongraphcoloringforspecialgraphclasses.InE.W. Mayr,editor, GraphTheoreticConceptsinComputerScience:41stInternational Workshop,WG2015,Garching,Germany,June1719,2015,RevisedPapers ,pages 16{30.2016. [49]N.Robertson,D.Sanders,P.Seymour,andR.Thomas.Thefourcolourtheorem. JournalofCombinatorialTheory,SeriesB ,70:2{44,1997. [50]U.Schauz.QuantitativeCombinatorialNullstellensatz. arXiv:1212.5694[math.CO] , 2012. [51]U.Schauz.Computingthelistchromaticindexofgraphs. J.DiscreteAlgorithms , 52/53:182{191,2018. [52]J.P.Steinberger.Anunavoidablesetof D reduciblecongurations. Trans.Amer. Math.Soc. ,362:6633{6661,2010. [53]D.Stolee.Personalcommunication,October2015. [54]TheSageDevelopers. SageMath,theSageMathematicsSoftwareSystemVersion 8.1 ,2017. https://www.sagemath.org . [55]C.Thomassen.Everyplanargraphis5choosable. JournalofCombinatorialTheory, SeriesB ,62:180{181,1994. [56]C.Thomassen.3listcoloringplanargraphsofgirth5. JournalofCombinatorial Theory,SeriesB ,64:101{107,1995. [57]C.Thomassen.AshortlistcolorproofofGrotzsch'stheorem. Journalof CombinatorialTheory,SeriesB ,88:189{192,2003. [58]C.Thomassen.Thesquareofaplanarcubicgraphis7colorable. J.Combin.Theory Ser.B ,128:192{218,2018. [59]V.G.Vizing.Onanestimateofthechromaticclassofa p graph. Diskret.AnalizNo. , 3:25{30,1964. [60]M.Voigt.Listcolouringsofplanargraphs. DiscreteMath. ,1203:215{219,1993. [61]G.Wegner.Graphswithgivendiameterandacolouringproblem.Preprint,1977. [62]D.B.West. IntroductiontoGraphTheory .PrenticeHall,secondedition,2001. [63]D.B.West.TheArtofCombinatorics,VolumeI:ExtremalGraphTheory. Unpublishedmanuscript,2015. 87
PAGE 98
APPENDIXA SourceCodefor choosability.py 1 #2 #Contents 3 #4 5 #rev_powerset 6 #SubgraphsDealer 7 #CNS 8 #IndSets 9 #restriction_list_single_check 10 #set2tup 11 #reduce 12 #timestring 13 #subsetstring 14 #fChoosable 15 #restrictedListAssignments 16 #assignmentCheck 17 18 19 20 21 #22 #Libraries,Comments,GlobalVariables 23 #24 25 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 26 27 importcopy 28 fromsage.graphs.graphimportGraph 29 importtime 30 fromsage.rings.polynomial.polynomial_ring_constructorimport* 31 fromsage.rings.finite_rings.finite_field_constructorimport* 32 ZZ=sage.rings.integer_ring.IntegerRing 33 fromsage.graphs.independent_setsimportIndependentSets 34 fromitertoolsimportcombinations 35 fromnumpyimportprod 36 37 38 39 40 41 #42 #TheRoutines 43 #44 45 46 47 defrev_powersetn: #reverseorderingofcolexonsets. 48 ifn>0: 49 forsubsetinrev_powersetn1: 50 subset.appendn1 51 yieldsubset 52 forsubsetinrev_powersetn1: 53 yieldsubset 54 else: 55 yield[] 56 return 88
PAGE 99
57 58 59 60 61 62 63 classSubgraphsDealer: 64 65 def__init__self,subgraphs_list,LAscheme="E": 66 self.subgraphs_list=copy.copysubgraphs_list 67 self.LAscheme=LAscheme 68 69 #subgraphisthecurrentconnectedsubgraphsetofvertices. 70 self.subgraph=None 71 72 self.required_vertex=None 73 74 75 76 defcopyself: 77 clone=SubgraphsDealercopy.copyself.subgraphs_list,self.LAscheme 78 clone.subgraph=copy.copyself.subgraph 79 returnclone 80 81 82 83 defprune_subgraphs_list_with_Eself,E: 84 i=0 85 whilei
PAGE 100
119 120 121 122 #beforecallingthis,callchooseroot. 123 #beforecallingthisforthefirsttime,callprunebyEandpossiblybyCNS 124 defnext_with_required_vertexself: 125 #gothroughlisttofindAcontainingrequired_vertex 126 i=0 127 whilei7: 178 print_flag=True 179 else: 180 print_flag=False 90
PAGE 101
181 182 #INITIALIZE 183 184 #nisthenumberofvertices. 185 n=G.order 186 ifn!=lenf: 187 print"Error:LengthoffdoesnotmatchorderofG." 188 return 189 190 if[xforxinfifx<1]: 191 ifprint_flag:print"Error:fvectorcontainsnonpositiveentries." 192 returnFalse 193 194 #gapleftistheremainingnumberofstepsbelowthesumoff1valuesforour , ! monomial. 195 #gapleftbeginsasthedisparityandshoulddropdownto0. 196 #Ingeneral,itisgivenbydisparitysum[f[x]1deg[x]forxinrangev]. 197 gapleft=sumflenfG.size 198 ifgapleft<0: 199 ifprint_flag:print">>Disparity:%d.Cannotapply , ! Nullstellensatz."%gapleft 200 returnFalse 201 elifprint_flag:print">>Disparity:%d.Proceeding."%gapleft 202 203 #Relabelgraphsothatexpansionstepshavesmallermemoryrequirements. 204 perminv=[] 205 ma=G.order 206 whilelenperminv>Relabelingvia",perminv 215 #Wantperminv[i]toberelabeledasi. 216 perm=[perminv.indexxforxinrangelenperminv] 217 G.relabelperm 218 f=[f[x]forxinperminv] 219 220 #Polynomialstuff. 221 stringlist=['x'+strxforxinrangen] 222 P=PolynomialRingZZ,n,stringlist 223 varlist=P.objgens[1] 224 225 #visthevertex/variableweareinspecting. 226 v=0 227 228 #deg,mins,andcoeffallactasstacks. 229 deg=[] #degisalistholdingthedegreeswe'recurrentlyusing. 230 mins=[] #minsisalistholdingthelowerboundsforthedegreeswecanuse , ! indeg. 231 coeff=[] #coeffisalistholdingthecoefficientswe'vefoundfor , ! varlist[i]**deg[i]. 232 #Entriesindegstarthigh,butgodownby1tothecorrespondingminsvalueas , ! webacktrack. 233 234 #Thecoeffstackisalwaysonelongerthandegandmins;thefirstentryshould , ! bethepolynomial1. 235 coeff.appendvarlist[0]**0 236 91
PAGE 102
237 238 #STARTLOOP 239 240 whileTrue: 241 242 ifcoeff[1]==0orgapleft<0: #Ifwehavealreadyencounteredanissue , ! withexpansion. 243 244 #BACKTRACK 245 #Ifthecurrentmonomialexpansionhasalreadyresultedina , ! coefficientof0, 246 #thenthecoefficientis0intheentirepolynomialandweneedto , ! backtrack. 247 #Lowerthepreviousvariable'sdegreetoseeifwegethigherdegrees , ! afterward. 248 249 whileTrue: 250 251 delcoeff[1] 252 v=1 253 254 #Ifthecurrentdegreeismorethantheminimum,wecanbreakout , ! ofthelooptodropdownnow. 255 ifdeg[1]>mins[1]: 256 break 257 #Otherwise,marchbackwards.We'llkeepgoinguntilwecandrop , ! withoutgoingbelowmins. 258 259 gapleft+=f[v]1deg[1] 260 deldeg[1] 261 delmins[1] 262 263 #Ifwe'vemarchedbackthrougheverything,thenwe'veexhaustedour , ! options. 264 ifv<1: 265 ifprint_flag:print">>TheCNSisinconclusive;no , ! relevantmonomialshavenonzerocoefficient." 266 G.relabelperminv 267 f=[f[x]forxinperm] 268 returnFalse 269 270 #Dropdownthedegreeandnotethisindiff. 271 deg[1]=1 272 gapleft=1 273 #Nowthatwe'vebacktracked,wetrymovingforwardagainbyfindingthe , ! nextcoefficientpiece. 274 275 276 else: #Ifthereishopeforexpandingthecurrentmonomial. 277 278 #FORWARD 279 280 #Ifwehavebuilttheentiremonomial,thenstop. 281 ifv>n1: 282 ifprint_flag:print">>Thegraphischoosable!n , ! >>Certificate:Themonomialwithpowerlist"+strdeg+" , ! hascoefficient"+strcoeff[1]+"." 283 G.relabelperminv 284 f=[f[x]forxinperm] 285 returnTrue 286 287 #Otherwise,appendnextvaluestodegandmins. 92
PAGE 103
288 289 #f[v]1gapleftisalowerboundfordeg[v].Anypowerlessthanthis , ! number 290 #willcausethemonomialtoalreadyhavetoolowoftotaldegree,even , ! ifthe 291 #remainingpowersareallthef1values. 292 mins.appendmax0,f[v]1gapleft 293 294 a=coeff[1].degreevarlist[v] #aisthedegreeofxvinthe , ! residualcoefficient. 295 b=len[xforxinG.neighborsvifv
PAGE 104
343 #CheckswhetherthesubsetAisCNSreduciblewhenaddingittothecurrentlist , ! assignmentCA.ReturnsTrueifthesubsetisreduciblefor , ! thegivenCA;returnsFalseotherwisewhichmeansitmust , ! stayintherestrictionlist. 344 defrestriction_list_single_checkG_copy,ordering,f,CA,A: 345 #wetestcoloringsfromCA.appendAbyusingbacktrackingwithastackof , ! colorclasses 346 ISgens=[] #elementsofISgenswillbeIndependentSetsiterators 347 coloring=[] #elementsofcoloringwillbepairsmaximalindependentset, , ! unionofallfirstentriesuptothispair 348 c=0 #atthetopofthefollowingloop,cisthecolorweareabout , ! toassignacolorclassanIndependentSetsitem 349 whileTrue: 350 ifc==lenCA: 351 ordering_template=listordering 352 newf_template=listf 353 forCinCA: 354 forvinC: 355 newf_template[v]=1 356 subG_template=GraphG_copy 357 S=A #SisgoingtobeA,butwithoutverticeswhichhavealready , ! beencolored 358 ifc>0: 359 S=Scoloring[c1][1] 360 forvincoloring[c1][1]: 361 delnewf_template[ordering_template.indexv] 362 delordering_template[ordering_template.indexv] 363 subG_template.delete_vertexv 364 H=GraphG_copy 365 forvinH.vertices: 366 ifvnotinS: 367 H.delete_vertexv 368 disparity_temp=sumnewf_templatelennewf_template, ! subG_template.size 369 #evenifthedisparityisnegative,coloringcertainindependentsets , ! incertainclassesmightstillmaketheCNSapplicableto , ! theremaininggraph. 370 forIinIndSetsH: #checkifthecoloringgivenby'coloring'andI , ! showsviaCNSthatAisreducible 371 ifsum[newf_template[ordering_template.indexv]1forvinI]+ , ! lenSlenIsum[subG_template.degreevforvinI] , ! <=disparity_temp: 372 newf=listnewf_template 373 newordering=listordering_template 374 subG=GraphsubG_template 375 forvinI: 376 delnewf[newordering.indexv] 377 delnewordering[newordering.indexv] 378 subG.delete_vertexv 379 forvinSsetI: 380 newf[newordering.indexv]=1 381 subG.relabel 382 newf=[newf[newordering.indexx]forxin , ! rangeG_copy.orderifxinnewordering] 383 384 subG,newf,same,low=reducesubG,newf 385 386 iflow: #Inthiscase,theremainingsubG,newfareNOT , ! fchoosable.TryanotherI. 387 continue 388 389 iflennewf<1orCNSsubG,newf: 94
PAGE 105
390 returnsetI,A 391 392 #otherwise,backtrackasfarasnecessaryandtakeonestepforward 393 whilec>0: 394 try: 395 delcoloring[c1] 396 new=setISgens[c1].next #thisthrowstheexceptionif , ! thegeneratorisexhausted 397 ifc==1: 398 coloring.appendnew,new 399 else: 400 coloring.appendnew,newcoloring[c2][1] 401 break 402 exceptStopIteration: 403 delISgens[c1] 404 c=1 405 ifc==0: 406 break 407 else: 408 continue 409 410 #ifc
PAGE 106
450 451 452 #Tohandletheunorderednessofsets.TakesasetSofnonnegativeintegersand , ! returnsatupleofthesameelements,orderedby<.Could , ! easilybeadjustedtorespectorderingbypassingorderingin. 453 defset2tupS: 454 returntuplexforxinrangemaxS+1ifxinS 455 456 457 458 459 460 461 #TakesG,fasinputandreturnstheprunedversion,havingremovinganyvertices , ! withfvalueshigherthandegreeiterativelyandhaving , ! removedprecoloredverticesfvaluesof1andadjusted , ! theneighborhoodsaccordinglyalsoiteratively. 462 defreduceG_copy,f_copy: 463 G=GraphG_copy 464 f=f_copy[:] 465 redundance=[xforxinG.verticesiff[x]>G.degreex] 466 whileredundance: 467 forvinredundance: 468 G.delete_vertexv 469 G.relabel 470 forvinreversedredundance: 471 delf[v] 472 redundance=[xforxinG.verticesiff[x]>G.degreex] 473 ones=[xforxinG.verticesiff[x]==1] 474 whileones: 475 v=ones[0] 476 foruinG.neighborsv: 477 f[u]=1 478 delf[v] 479 G.delete_vertexv 480 G.relabel 481 ones=[xforxinG.verticesiff[x]==1] 482 same=lenf_copy==lenf #sameindicateswhetherthereturnedconfiguration , ! isthesameastheinputconfiguration 483 low=len[xforxinfifx<1]>0 #lowindicateswhetherthereare , ! nonpositivefvaluesintheoutputconfiguration 484 returnG,f,same,low 485 486 487 488 489 490 491 492 493 494 deftimestringtime,setting="m": 495 t=inttime 496 d=strint10*timet%10 497 ifsetting=="s": 498 string=strt+"."+d+"s" 499 else: 500 s=strt%60 501 m=intt/60 502 ifsetting=="m": 503 string=strm+"m"+s+"."+d+"s" 504 else: 96
PAGE 107
505 h=intm/60 506 m%=60 507 ifsetting=="h": 508 string=strh+"h"+strm+"m"+s+"."+d+"s" 509 else: 510 d=inth/24 511 h%=24 512 string=strd+"d"+strh+"h"+strm+"m"+s+"."+d+"s" 513 returnstring 514 515 516 517 518 519 520 521 defsubsetstringA,n: 522 string=""*8+"[" 523 foriinrangen: 524 string+=""*3 525 ifiinA: 526 string+=stri 527 else: 528 string+=""*lenstri 529 string+="]" 530 returnstring 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 deffChoosableG_copy,f_copy,inprocess=3,print_mod=1000,LAscheme="E",rev=False, , ! verbosity=0,search_all=0: 548 549 ifnotLAschemein["L","E"]: 550 print'Error:LAschememustbeoneof"L"or"E".' 551 return 552 553 ifverbosity>0: 554 start=time.clock 555 num_pruned=0 556 557 iflenf_copy!=G_copy.order: 558 print"Error:fvectorlengthdoesnotmatchgraphorder." 559 return 560 561 if[xforxinf_copyifx<1]: 562 print"Error:fvectorcontainsnonpositiveentries.Ifcorrectf,graph , ! isnotfchoosable." 563 return 564 97
PAGE 108
565 G,f,same,low=reduceG_copy,f_copy 566 567 ifnotsame: 568 ifverbosity>0:print"Theinputconfigurationwasreducedforhaving , ! fvalueseitherhigherthanthedegreeorequalto1." 569 ifnotf: 570 ifverbosity>0:print"Infact,itreducedentirely;thegraphis , ! fchoosableviaagreedyargument." 571 returnTrue,'greedy' 572 ifverbosity>0:print"f:",f 573 iflow: 574 ifverbosity>0:print"Reducedfvectorcontainsnonpositiveentries. , ! Graphisnotfchoosable." 575 returnFalse,'precoloring' 576 577 ifverbosity>0:print"Testing:Isthegraph%dvertices,%dedges , ! "%G.order,G.size+strf+"choosable?nnFirst,we , ! considerwhethertheCombinatorialNullstellensatzapplies." 578 ifverbosity>0:boo=CNSG,f,verbosity=10 579 else:boo=CNSG,f,verbosity=0 580 ifverbosity>0:print"Timesofar:"+timestringtime.clockstart+"" 581 ifboo: 582 returnTrue,'CNS' 583 584 ifverbosity>0:start2=time.clock 585 586 ifverbosity>0:print"nNowwemoveontoourexhaustivesearch.nTostart , ! upourprocess,wefindandremoveconnectedsubgraphs , ! whichcannotbepartofabadlistassignment,andthen , ! checkthemultiplicitiesofthosethatremain." 587 588 it=restrictedListAssignmentsG,f,inprocess_depth=inprocess, , ! LAscheme=LAscheme,rev=rev,verbosity=verbosity 589 590 bad_list_assignments=[] 591 592 ifverbosity>0: 593 nodes_count=0 594 full_count=0 595 bottom_count=0 596 node_code=[0,] 597 bad_LA_count=0 598 599 try: 600 x=it.next #ThefirstcalltoaPythoniteratormustbe.next. 601 #^^Recall:xisatuplecolClasses,E_stack,generator_stack,back,num_pruned. 602 603 ifverbosity>0: 604 print">>Startupcomplete.Totaltimesofar: , ! "+timestringtime.clockstart 605 606 607 print"nNow,beginbuildingandcheckinglistassignmentswiththe , ! inprocesspruningparametersetto%d.nInformationwill , ! printevery%dnodeswevisitinthesearch , ! space."%inprocess,print_mod 608 print"abmeansthatcolorabilityclassistheathofb , ! subgraphsonthatlevelofthestack." 609 start3=time.clock 610 lap=start3 611 612 nodes_count+=1 98
PAGE 109
613 node_code[0]+=1 614 615 #Atthetopofthisloop,wehaveobtainedanxfromthelistAssignment , ! iterator. 616 whileTrue: 617 618 ifnotx[1][1]andverbosity>0: 619 full_count+=1 620 621 c=assignmentCheckG,x[0] 622 623 #Ifthelistassignmentisnotcolorableandfull,thenreportitandstop. 624 ifnotcandnotx[1][1]: 625 ifverbosity>0: 626 bad_LA_count+=1 627 print""*10+"*"*10+"BADLISTASSIGNMENT# , ! %d:"%bad_LA_count+"*"*10 628 foriinrangelenx[0]: 629 print" , ! "*10+subsetstringx[0][i],G.order,"",node_code[i],"" # , ! ",x[3][i],"" 630 print 631 ifsearch_all>0: 632 #Thenswitchctobenonemptysothattheiteratorbacktracks. 633 c=[0,] 634 ifsearch_all>1: 635 bad_list_assignments.appendcopy.copyx[0] 636 else: 637 bad_list_assignments.appendcopy.copyx[0] 638 break 639 640 641 ifverbosity>0andx[3]: 642 bottom_count+=1 643 644 #TellthelistAssignmentiteratortogotothenextrelevantlist , ! assignmenteithermovingforwardorbacktracking. 645 x=it.sendc 646 647 ifverbosity>0: 648 iflenx[0]>lennode_code: 649 node_code.append1 650 else: 651 node_code[lenx[0]1]+=1 652 foriinrangelenx[0],lennode_code: 653 delnode_code[1] 654 655 num_pruned+=x[4] 656 657 nodes_count+=1 658 ifnodes_count%print_mod==0: 659 print">",nodes_count,"partiallistassignmentsinspected , ! sofar.#fullLAs:",full_count,".#bottom , ! LAs:",bottom_count,".#badLAs:",bad_LA_count,".# , ! inprocessprunes:",num_pruned,"." 660 print"^^^^^>Timetakenonthisbatchof , ! PLAs:",timestringtime.clocklap,"Timetakenonthe , ! wholesubgraphjobsofar:",timestringtime.clockstart 661 print"^^^^^>Currentpartiallistassignment:" 662 printsubsetstringx[0][0],G.order,"",node_code[0],"", , ! lenx[2][0].subgraphs_list,"" 663 foriinrange1,lenx[0]: 99
PAGE 110
664 printsubsetstringx[0][i],G.order,"",node_code[i], , ! "",lenx[2][i].subgraphs_list,"" 665 print"n"*3 666 lap=time.clock 667 668 exceptStopIteration: 669 ifverbosity>0:print"nNobadlistassignments!n" 670 671 ifverbosity>0: 672 ifnodes_count<1: #IfCNSinconclusivebutavertexisnotcontainedby , ! anyremainingsubgraphs,thenthenormalstart3getsskipped. 673 start3=time.clock 674 end=time.clock 675 print"Finished.%dPLAsvisitedwhichweren'tprunedviaCNS , ! methods."%nodes_count 676 print"#fullLAs:%d.#bottomLAs:%d.#badLAs:%d.#inprocess , ! prunes:%d"%full_count,bottom_count,bad_LA_count,num_pruned 677 print"TimetakenoninitialCNS:"+timestringstart2start 678 print"Timetakenonsubgraphpruning:"+timestringstart3start2 679 print"Timetakenonexhaustivesearch:"+timestringendstart3 680 print"Totaltimetakenonentirejob:"+timestringendstart 681 ifnotbad_list_assignments: 682 returnTrue,'brute' 683 elifsearch_all>1: #storedallbadlistassignments 684 returnFalse,'brute',bad_list_assignments 685 elifsearch_all<1: #foundonebadlistassignmentandthenstopped 686 returnFalse,'brute',bad_list_assignments[0] 687 else: #printedallbadlistassignments 688 returnFalse,'brute' 689 690 691 692 693 694 #inprocess_depthcontrolshowmanypartiallistassignmentsarecheckedforthe , ! reducibilitywhenextendingduringthenormalroutine. 695 defrestrictedListAssignmentsG,f,inprocess_depth=3,LAscheme="E",rev=False,verbosity=0: 696 697 ordering=rangeG.order 698 reducers=[] 699 700 #Initializethethings! 701 generator_stack=[] 702 colClasses=[] #colClasses[i]is{verticeswithcoloriintheirlist}.We , ! yieldthis. 703 L=[0]*G.order #Keepstrackofhowmanycolorseachvertexiscurrently , ! assigned. 704 D=None 705 E_stack=[] 706 E_stack.append[xforxinorderingifL[x]1: 717 lap=time.clock 100
PAGE 111
718 print">>Nowvettingallconnectedsubgraphs." 719 720 initial_restriction_list=[] 721 722 reducibleList=[] 723 724 ifverbosity>1: 725 tenpercent=int2**G.order/100+1 726 counter=0 727 lap=time.clock 728 begin=lap 729 730 it=rev_powersetG.order 731 A=setit.next 732 whileA: #setupthiswaytoavoidtheemptyset. 733 734 ifnotG.subgraphA.is_connected: 735 A=setit.next 736 continue 737 738 ifverbosity>1: 739 ifcounter%tenpercent==tenpercent1: 740 print"%dvetted.Timeonbatch: , ! "%counter+timestringtime.clocklap 741 lap=time.clock 742 counter+=1 743 744 red=False 745 746 #ifAisreducibleforCA,continue/breaktomoveontonextsubset 747 748 #firstseeifAisreduciblebypreviousobservations 749 forxinreducibleList: 750 ifx[0]<=AandA<=x[1]: 751 red=True 752 break 753 ifred: 754 A=setit.next 755 continue 756 757 #nowseeifAcanbeshownreduciblebyCNS 758 red=restriction_list_single_checkG,ordering,f,CA,A #rediseither , ! FalseoratupleI,AwhereIistheindependentsetthat , ! workedwiththeCNStoshowthatAis"reducible"withCA 759 760 ifnotred: 761 initial_restriction_list.appendA 762 else: 763 reducibleList.appendred 764 765 A=setit.next 766 767 ifverbosity>1: 768 print"Timevettingall:"+timestringtime.clockbegin 769 print">>",leninitial_restriction_list,"remainingsubgraphscan , ! potentiallybeusedtobuildlistassignments." 770 771 ifleninitial_restriction_list==0: 772 print">>Sowecan'tbuildanybadlistassignments!" 773 return 774 775 tenpercent=intleninitial_restriction_list/100+1 101
PAGE 112
776 lap=time.clock 777 counter=1 778 begin=lap 779 780 num_pruned=0 #needtodefinenum_prunedregardlessofverbositysinceitis , ! passedinticket. 781 782 max_mult_init={} 783 forAininitial_restriction_list: 784 785 CA=[A,] 786 787 cap=min[f[x]forxinA] 788 whilelenCA1: 797 ifcounter%tenpercent==0: 798 print"",counter,"multiplicitieschecked.Timeonbatch: , ! "+timestringtime.clocklap 799 lap=time.clock 800 counter+=1 801 802 803 ifverbosity>1: 804 print"Timeforallmultiplicitychecks: , ! "+timestringtime.clockbegin 805 print">>Multiplicitiesbreakdown:" 806 foriinrange1,maxmax_mult_init.values+1: 807 print"Numberofsubgraphswithmultiplicity%d:%d"%i,len[x , ! forxinmax_mult_init.valuesifx==i] 808 print">>Vertexcontainmentbreakdownfortheseleftoversubgraphs:" 809 forvinrangeG.order: 810 print"Numbercontainingvertex%d:"%v,len[xforxin , ! initial_restriction_listifvinx] 811 812 subgraph_pool={frozensetxforxininitial_restriction_list} 813 perminv=[] 814 ma=summax_mult_init.values+1 815 whilelenperminv1:print"Relabelingeverythingusingperminv:",perminv 826 #Wantperminv[i]toberelabeledas,andwantjtoberelabeledasperm[j]. 827 perm=[perminv.indexxforxinrangelenperminv] 828 G.relabelperm 829 f=[f[x]forxinperminv] 830 relabeled_subgraph_pool={frozenset[perm[i]foriinx]forxin , ! initial_restriction_list} 102
PAGE 113
831 832 max_mult={} 833 current_mult={} 834 forAinrelabeled_subgraph_pool: #Aisnew,butmax_mult_initisforold , ! labelingsgobackusingperminv. 835 max_mult[set2tupA]=max_mult_init[set2tup{perminv[a]forainA}] 836 current_mult[set2tupA]=0 837 838 subgraphs_list=[] 839 mult=1 840 whilerelabeled_subgraph_pool: 841 subpool={xforxinrelabeled_subgraph_poolifmax_mult[set2tupx]==mult} 842 relabeled_subgraph_pool=subpool 843 size=G.order 844 whilesubpool: 845 batch=[xforxinsubpooliflenx==size] 846 subpool=setbatch 847 forxinbatch[::1]: 848 subgraphs_list.appendsetx 849 size=1 850 mult+=1 851 ifrev: 852 subgraphs_list=subgraphs_list[::1] 853 854 855 it=SubgraphsDealersubgraphs_list,LAscheme=LAscheme 856 857 generator_stack.appendit #Stackofsubgraph , ! iterators;cthelementgeneratestheccolorabilityclass. 858 859 it.choose_required_vertexL,E_stack[0] #it.required_vertex=ordering[0] 860 ifit.next_with_required_vertex: 861 A=generator_stack[col].subgraph #generator_stack[col]==it 862 863 colClasses.appendA 864 current_mult[set2tupA]+=1 865 forvincolClasses[col]: 866 L[v]+=1 867 E_stack.append[xforxinorderingifL[x]
PAGE 114
, ! nowtheclasswearegeneratingisforthecolorcol. 887 888 #Becausewe'vejustmadeacopyofthetopgenerator,weneedtocheck , ! thecurrentcolorabilityclassforrepetition: 889 A=generator_stack[col].subgraph 890 ifcurrent_mult[set2tupA]
PAGE 115
934 else: 935 back=True 936 #Deletethetopcolorabilityclassbutnotthegeneratorfortheclass , ! quiteyet. 937 #printcol,colClasses[col],set2tupcolClasses[col],colClasses 938 forvincolClasses[col]: 939 L[v]=1 940 current_mult[set2tupcolClasses[col]]=1 941 delcolClasses[col] 942 delE_stack[1] 943 944 #Iftheprovidedcoloringorlackofaprovidedcoloringisnoton , ! allthevertices,thenwecan'tskipaheadinanycleverway. 945 iflenticket
PAGE 116
984 forvincolClasses[col]: 985 L[v]=1 986 current_mult[set2tupcolClasses[col]]=1 987 delcolClasses[col] 988 delE_stack[1] 989 990 #Nowstepbackasmanytimesasnecessary. 991 generator_stack[col].choose_required_vertexL,E_stack[1] 992 whilenotgenerator_stack[col].next_with_required_vertex: 993 994 delgenerator_stack[col] 995 col=1 996 ifcol<0: #Ifgenerator_stackisempty,thenwehavebacktracked , ! entirely.AStopIterationerrorwillbethrown. 997 return 998 #Prepareforbumpingthenowtopgeneratoronthestack. 999 forvincolClasses[col]: 1000 L[v]=1 1001 current_mult[set2tupcolClasses[col]]=1 1002 delcolClasses[col] 1003 delE_stack[1] 1004 generator_stack[col].choose_required_vertexL,E_stack[1] 1005 1006 #Nowwehavesuccessfullybumpedthegeneratortoanothersubgraph.Push , ! thesubgraphontothecolClassstack. 1007 A=generator_stack[col].subgraph 1008 colClasses.appendA 1009 current_mult[set2tupA]+=1 1010 forvincolClasses[col]: 1011 L[v]+=1 1012 E_stack.append[xforxinorderingifL[x]
PAGE 117
1042 #Initialize! 1043 i=0 #Whichvertexwe'recoloringatthemoment. 1044 c=[1]*n #Ourcoloringfunction.c[i]isthecurrentcolorofvertexi , ! value1meansnocolorassigned. 1045 stack=[] #Ourstack.Itemiisthesetofvtxswedeletedcolorc[i] , ! fromthatis,theforwardnbrswhichhadc[i]intheirlists. 1046 1047 #Atthetopofthiswhileloop,wehaveapartialcoloringc.Wehaveeither , ! justcoloredvertexi1inwhichcasechascolored , ! vertices0throughi1andallofi'sremainingcolorsare , ! availabletotry,orwehavebacktrackedfromapartial , ! coloringthatdidn'tworkinwhichcasewehadcoloredi , ! withsomethingbefore,andnowweneedtotryanotherof , ! theremainingcolors. 1048 whileic[i]} #Thecomparisonx>c[i]is , ! whyweuse1forverticeswithnoassignedcolor. 1052 1053 backtrack=False 1054 1055 #Checkifanyoftheotheruncoloredverticeshavenoremainingcolors. 1056 forvinrangei+1,n: 1057 ifnotLA[v]: 1058 backtrack=True 1059 1060 #Case1:Wecanassignanewcolortovertexiandwehaven'tdiscovered , ! thatfartherverticesareempty.Sowedothat. 1061 ifremainingColorsandnotbacktrack: 1062 c[i]=minremainingColors 1063 N={xforxinG.neighborsiifx>iandxinCA[c[i]]} #Noneedto , ! botherwithbackneighbors,sincetheyhaveacolorassigned. 1064 forvinN: 1065 LA[v].removec[i] #Removethenewcolorfromallforwardnbrs , ! ofi. 1066 CA[c[i]].removev 1067 stack.appendN 1068 i+=1 1069 1070 #Case2:Therearenocolorsleftforsomeuncoloredvertex,sowepopthe , ! stackandbacktrack. 1071 else: 1072 try: 1073 oldN=stack.pop 1074 forvinoldN: 1075 LA[v].addc[i1] #Addtheattemptedcolorbacktothe , ! appropriatevertexlists. 1076 CA[c[i1]].addv 1077 c[i]=1 #Markiasuncolored. 1078 i=1 1079 exceptIndexError: #Ifthestackwasempty,we'veexhaustedall , ! possibilities.Returnanemptycoloring. 1080 return[] 1081 1082 returnc #Atthispoint,i==n. 107
PAGE 118
APPENDIXB SourceCodeforLemma4.17 1 #2 #Contents 3 #4 5 #length_equals_8 6 #length_equals_9 7 #maincommand 8 9 10 11 #12 #Libraries,Comments,etc. 13 #14 15 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 16 17 fromchecking_realizationsimport* 18 #Weusechecking_realizations.pyasamodulewhichcontainsthecommoncodefor , ! LemmasIV.17,IV.25,andIV.34. 19 20 importchoosabilityasch 21 #WeusefChoosableasablackbox. 22 23 24 25 #26 #TheRoutines 27 #28 29 30 31 deflength_equals_8: 32 #ThecaseellF=8. 33 34 #Thegraphisathreecycleon0,1,2connectedtoanother3cycleon3,4,5 , ! byanedge2,3. 35 edges=[0,1,0,2,1,2,2,3,3,4,3,5,4,5] 36 37 #Recallthatinthislemma,newedgesandstemsmustoccurwithinthetwo , ! regionsseparatedbyF. 38 #Thereareonlythreestemstructures,uptosymmetry. 39 #Eachneighborhoodstructureisalistofthreelists:pairsofverticesthat , ! formanewedge,pairsofverticesthathaveacommonstem , ! withonlyeachother,andtriplesofverticesthathavea , ! commonstem. 40 stem_structures=[ 41 [[],[],[]], 42 [[],[{0,1}],[]], 43 [[],[{0,1},{4,5}],[]] 44 ] 45 46 print"***CheckingthecaseforlengthF=8.***" 47 print"Theplanegraphinquestionisgivenbytheedges"+stredges+".n" 48 forSSinstem_structures: 49 core_square,f=core_square_graphGraphedges,SS 50 print">>>Checkingtheneighborhoodstructure"+strSS+"." 108
PAGE 119
51 print">>>Theinducedsubgraphofthesquareonthecoreverticeshas , ! thefollowingedgeset:" 52 print""+str[e[:2]foreincore_square.edges] 53 print">>>Thelistsizefunctionisgivenbythefollowinglist:" 54 print""+strf 55 x=ch.fChoosablecore_square,f 56 ifx[0]: 57 print">>>Verified"+x[1]+"theinducedsubgraphofthe , ! squareischoosableforthegivenlistsizefunction." 58 else: 59 print">>>!PROBLEM!theinducedsubgraphofthesquareisNOT , ! choosableforthegivenlistsizefunction." 60 print 61 print"n"*4 62 63 64 65 66 67 deflength_equals_9: 68 #ThecaseellF=9. 69 70 #Thegraphisathreecycleon0,1,2connectedtoa4cycleon3,4,5,6by , ! anedge2,3. 71 edges=[0,1,0,2,1,2,2,3,3,4,4,5,5,6,3,6] 72 73 #Recallthatinthislemma,newedgesandstemsmustoccurwithinthetwo , ! regionsseparatedbyF. 74 #Thereareonlytenneighborhoodstructures,uptosymmetrytwowithinthe , ! 3cycle,timesfivewithinthe4cycle. 75 #Eachneighborhoodstructureisalistofthreelists:pairsofverticesthat , ! formanewedge,pairsofverticesthathaveacommonstem , ! withonlyeachother,andtriplesofverticesthathavea , ! commonstem. 76 stem_structures=[ 77 [[],[],[]], 78 [[],[{0,1}],[]], 79 [[{4,6}],[],[]], 80 [[{4,6}],[{0,1}],[]], 81 [[],[{4,6}],[]], 82 [[],[{4,6},{0,1}],[]], 83 [[],[{4,5}],[]], 84 [[],[{4,5},{0,1}],[]], 85 [[],[],[{4,5,6}]], 86 [[],[{0,1}],[{4,5,6}]] 87 ] 88 89 print"***CheckingthecaseforlengthF=9.***" 90 print"Theplanegraphinquestionisgivenbytheedges"+stredges+".n" 91 forSSinstem_structures: 92 core_square,f=core_square_graphGraphedges,SS 93 print">>>Checkingtheneighborhoodstructure"+strSS+"." 94 print">>>Theinducedsubgraphofthesquareonthecoreverticeshas , ! thefollowingedgeset:" 95 print""+str[e[:2]foreincore_square.edges] 96 print">>>Thelistsizefunctionisgivenbythefollowinglist:" 97 print""+strf 98 x=ch.fChoosablecore_square,f 99 ifx[0]: 100 print">>>Verified"+x[1]+"theinducedsubgraphofthe , ! squareischoosableforthegivenlistsizefunction." 101 else: 109
PAGE 120
102 print">>>!PROBLEM!theinducedsubgraphofthesquareisNOT , ! choosableforthegivenlistsizefunction." 103 print 104 print"n"*4 105 106 107 108 109 110 111 112 113 if__name__=="__main__": 114 length_equals_8 115 length_equals_9 110
PAGE 121
APPENDIXC SourceCodeforLemma4.25 1 #2 #Contents 3 #4 5 #run_lemma_IV_25 6 #maincommand 7 8 9 10 #11 #Libraries,Comments,GlobalVariables 12 #13 14 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 15 16 importchecking_realizationsaswg 17 #Weusechecking_realizations.pyasamodulewhichcontainsthecommoncodefor , ! LemmasIV.17,IV.25,andIV.34. 18 19 importtime 20 #Fordisplayingruntime. 21 22 deftimestringtime: 23 #Displaystimelength:#m#.#s 24 25 t=inttime 26 d=strint10*timet%10 27 s=strt%60 28 m=intt/60 29 string=strm+"m"+s+"."+d+"s" 30 returnstring 31 32 33 34 #35 #TheRoutines 36 #37 38 39 40 defrun_lemma_IV_25: 41 #Verifiesthateachconfigurationinthetargetsetisreduciblebychecking , ! thatallrealizationsarecorechoosable. 42 43 begin=time.clock 44 wg.ch_timer=0.0 45 46 forrcinwg.TargetSet: 47 wg.check_all_realizations_of_configurationrc 48 print"n"*20 49 50 print"Finishedwithallconfigurationsinthetargetset!" 51 print"Totaltimeforentiretargetset:"+timestringtime.clockbegin 52 print"CumulativeTimeinfChoosableforentiretargetset: , ! "+timestringwg.ch_timer 53 111
PAGE 122
54 55 56 57 58 59 60 61 62 63 64 65 print__name__ 66 67 if__name__=="__main__": 68 run_lemma_IV_25 112
PAGE 123
APPENDIXD SourceCodeforLemma4.33 1 #2 #Contents 3 #4 5 #makeChainsDict 6 #check_reducible_last_block 7 #facial_length_list_generator 8 #final_charge_lower_bound 9 #run_lemma_IV_33 10 #maincommand 11 12 13 14 #15 #Libraries,Comments,etc. 16 #17 18 fromfractionsimportFraction 19 #Infinal_charge_lower_bound,wesubtractnonintegerrationals. 20 21 importtime 22 #Fordisplayingruntime. 23 24 #Insteadofimportingchecking_realizations.py,weredefinetimestringhere. 25 deftimestringtime: 26 #Displaystimelength:#m#.#s 27 28 t=inttime 29 d=strint10*timet%10 30 s=strt%60 31 m=intt/60 32 string=strm+"m"+s+"."+d+"s" 33 returnstring 34 35 36 37 #Forconfigurationnames,weusenotationslightlydifferentfromthenotationused , ! inthepaper.Theconfigurationb:s_1...s_tisencodedas , ! "cbas_1...s_t"whereany"*"isreplacedwith"x".The , ! "c"precedesthecentralfaceandthe"a"precedesthe , ! faciallengthlistaroundthecentralface.For , ! example,"9:3**4"isencodedas"c9a3xx4"and"4*555*4"is , ! encodedas"cxa4x555x4". 38 39 40 41 #42 #TheRoutines 43 #44 45 46 47 48 defmakeChainsDict: 49 #ThismakesadictionarycalledChainsDictusedforstoringthereducible , ! configurationsasinformationwhichwillbeusefulforour , ! discharging.Foreachcentralfacelengthbetween7and , ! 14,wewanttostoreallthelistsofentrieswhichcannot 113
PAGE 124
, ! beasublistofafaciallengthlistaroundacentralface , ! ofthatgivenlengthinaminimalcounterexample.We , ! calltheselists"reduciblechains"aroundthegiven , ! centralfacelengths. 50 #Forexample,sincecxa355isareducibleconfiguration,weknowthat , ! ['3','5','5']and['5','5','3']arereduciblechainsaround , ! anycentralface.Thismeansthatneitherofthesetwo , ! listscanbeequaltothreeconsecutiveentriesinafacial , ! lengthlistaroundanycentralfaceincluding , ! wraparound.Soforeachkbetween7and14, , ! ChainsDict[k]shouldcontain['3','5','5']and['5','5','3']. 51 #Foranotherexample,sincecxa375isareducibleconfiguration,weknowthat , ! ['3','x','5']and['5','x','3']arereduciblechainsaround , ! acentral7face.However,theyarenotreduciblechains , ! aroundacentral8face.Thismeansthatcertainfacial , ! lengthlistsaroundacentral7facecannotoccurina , ! minimalcounterexample,suchas[3,4,5,5,5,5,5], , ! [5,5,5,+,+,3,+],or[5,+,3,+,+,+,+].SoChainsDict[7] , ! shouldcontain['3','x','5']and['5','x','3']. 52 #Sincewearegoingtousereduciblechainstocompareagainstfaciallength , ! listswithentriesgivenas3,4,5,or6+,wearereally , ! onlyinterestedinchainswithentriesfrom , ! {'3','4','5','x'}.Sotheconfigurationcxa3x555isof , ! interest,buttheconfigurationcxa356isnot. 53 #Sincewearegoingtousereduciblechainstomakeobservationsaboutcentral , ! facesoflength714,wearealsoonlyinterestedinchains , ! thatcanpossiblyoccuraroundsuchcentralfaces.Sothe , ! configurationscxa375andcxa3x4areofinterest,butthe , ! configurationc4a55isnot. 54 55 #First,wedefinealistoftherelevantconfigurationsfromthetargetset. , ! Wecommentoutsomeoftheseconfigurationssincethey , ! contributenothingtoChainsDict.Althoughtheycould , ! havebeendeletedorleftuncommented,perhapsthiswill , ! helpforunderstandingwhichconfigurationsarerelevantto , ! thisstage.Nexttoeachconfigurationwecommentout,we , ! alsostateabriefreasonforitsexclusion. 56 #Inadditiontotheabovestatedreasonsforexcludingconfigurations,thereis , ! another:someconfigurationshavealreadybeenusedin , ! LemmaIV.31topreventthegenerationofanyfaciallength , ! listscontainingthem,andtheyservenofurtherpurposehere. 57 58 RelevantTargetSet=[ 59 #openchain:startwith3andendwith3 60 #'c3a3',#LemmaIV.31only 61 'cxa3x3', 62 'cxa3xx3', 63 'cxa3xxx3', 64 'cxa3xx5x3', 65 66 #openchain:startwith3andendwith4 67 #'c3a4',#LemmaIV.31only 68 'cxa3x4', 69 'cxa35x4', 70 'cxa3x54', 71 'cxa3xx54', 72 'cxa3xxx54', 73 74 #openchain:startwith3andendwith5 75 #'cxa355',#LemmaIV.31only 76 'cxa375', 77 'cxa3x555', 114
PAGE 125
78 79 #openchain:startwith3andendwith6 80 #'c3a6',#Containsaspecified6+facewhichwouldnotbeacentralfaceof , ! length714 81 #'cxa356',#Containsaspecified6+facewhichwouldnotbeacentralface , ! oflength714 82 83 #openchain:startwith4andendwith4 84 #'c4a4',#LemmaIV.31only 85 #'cxa454',#LemmaIV.31only 86 #'cxa464',#Containsaspecified6+facewhichwouldnotbeacentralface , ! oflength714 87 'cxa474', 88 'cxa4x54', 89 'cxa4x55x4', 90 'cxa4x555x4', 91 'cxa4x4x4x4', 92 93 #openchain:startwith4andendwith5 94 'cxa4x45', 95 #'cxa4555',#LemmaIV.31only 96 'cxa4x5555', 97 98 #openchain:startwith4andendwith6 99 #'cxa456',#Containsaspecified6+facewhichwouldnotbeacentralface , ! oflength714 100 101 #openchain:startwith5andendwith5 102 #'cxa535',#LemmaIV.31only 103 #'cxa555555',#LemmaIV.31only 104 105 #openchain:startwith5andendwith6 106 #'cxa546',#Containsaspecified6+facewhichwouldnotbeacentralface , ! oflength714 107 108 #central3face 109 'c3a57', 110 111 #central4face 112 #'c4a55',#Nowaytohaveacentralfaceoflength714 113 #'c4a56',#Nowaytohaveacentralfaceoflength714 114 'c4a57', 115 #'c4a66',#Nowaytohaveacentralfaceoflength714 116 'c4a585', 117 'c4a676', 118 'c4a686', 119 120 #central5face 121 #'c5a555',#Nowaytohaveacentralfaceoflength714 122 #'c5a556',#Nowaytohaveacentralfaceoflength714 123 #'c5a565',#Nowaytohaveacentralfaceoflength714 124 #'c5a566',#Nowaytohaveacentralfaceoflength714 125 'c5a575', 126 #'c5a656',#Nowaytohaveacentralfaceoflength714 127 #'c5a666',#Nowaytohaveacentralfaceoflength714 128 #'c5a4x55',#Nowaytohaveacentralfaceoflength714 129 #'c5a5x65',#Nowaytohaveacentralfaceoflength714 130 #'c5a5585',#Nowaytohaveacentralfaceoflength714 131 #'c5a5x66',#Nowaytohaveacentralfaceoflength714 132 #'c5a55x6',#Nowaytohaveacentralfaceoflength714 133 #'c5a56x6',#Nowaytohaveacentralfaceoflength714 134 #'c5a6x66',#Nowaytohaveacentralfaceoflength714 115
PAGE 126
135 136 #central7face 137 'c7a3xx4', 138 'c7a3xx5', 139 'c7a4xx4', 140 'c7a4x55', 141 'c7a4xx55', 142 'c7a4x5xx5', 143 'c7a55x5', 144 145 #central8face 146 'c8a3xx4', 147 'c8a3xxx4', 148 'c8a35x5', 149 'c8a35xx5', 150 'c8a35xxx5', 151 'c8a35xxxx5', 152 'c8a3x55x55', 153 'c8a45xx4', 154 'c8a455x5', 155 'c8a4x5x4x4', 156 157 #central9face 158 'c9a3xx4', 159 'c9a3xxx4', 160 'c9a35x5', 161 'c9a455x4', 162 'c9a455x5', 163 'c9a545x5', 164 'c9a35x5' 165 ] 166 167 168 169 #NowwebeginmakingChainsDict! 170 171 ChainsDict={} #InitializeChainsDict. 172 forcentinrange7,15: 173 ChainsDict[cent]=[] 174 175 #NotethatthekeysforChainsDictareinttype.However,everythingwestore , ! willbestrings. 176 177 #Foreachreducibleconfigurationgiveninthetargetset,weidentifyallthe , ! waysthatafaceoflength714canbethecentralfacefor , ! theconfiguration.Foreachoftheseways,westorethe , ! resultingchainoffacesaroundthecentralfacesandthe , ! reverseofthechain,ifitisdistinct. 178 forsinRelevantTargetSet: 179 ifs[1]=='x': 180 181 #Generalcase:cxas_1s_2...s_t.Stores_1s_2...s_tandthe , ! reverseineachcentralfacelength'slist. 182 li=[] #liwillbe[s_1,s_2,...,s_t]whereeachs_iisastring. 183 forains[3:]: 184 li.appenda 185 forcentinrange7,15: 186 ChainsDict[cent].appendli[:] #Stores_1s_2...s_t. 187 rev_li=li[::1] #rev_liisthereverseofli. 188 ifrev_li!=li: #Ifthereverseisthesame,thenwedon'twantto , ! storeitagain. 189 forcentinrange7,15: 116
PAGE 127
190 ChainsDict[cent].appendrev_li[:] #Stores_t...s_2s_1 , ! reversed. 191 192 #Additionalspecialcases:iftissmallenoughatmost3,someof , ! theouterfacescouldpossiblybeviewedasthecentral , ! face.SeeTableIV.3 193 #Inthecasesoft=1,2,byinspectionwehavenoconfigurationsin , ! thetargetsetwithanintegerentryatleast7. 194 #Inthecaseoft=3forcxaABC,theconfigurationisequivalentto , ! cBaAxC.SoifB>6,thenweshouldalsostoreAxCandCxA , ! inChainsDict[B]. 195 iflens==6: #Ift==3. 196 A,B,C=s[3],s[4],s[5] 197 ifB!='x'andintB>6: 198 ChainsDict[intB].append[A,'x',C] #StoreAxCinB'slistof , ! reduciblechains. 199 ifA!=C: #Ifthereverseisdistinct. 200 ChainsDict[intB].append[C,'x',A] #StoreCxAinK's , ! listofreduciblechains. 201 202 else: 203 K=s[1] #'K'iseasierforreference. 204 205 #Generalcase:cKas_1s_2...s_t.Stores_1s_2...s_tandthe , ! reverseinK'slistofreduciblechains. 206 ifintK>6: 207 li=[] #liwillbe[s_1,s_2,...,s_t]whereeachs_iisastring. 208 forains[3:]: 209 li.appenda 210 ChainsDict[intK].appendli[:] #Stores_1s_2...s_t. 211 rev_li=li[::1] #rev_liisthereverseofli. 212 ifrev_li!=li: #Ifthereverseisthesame,thenwedon'twant , ! tostoreitagain. 213 ChainsDict[intK].appendrev_li[:] 214 215 #Additionalspecialcases:iftissmallenoughatmost3,someof , ! theouterfacescouldpossiblybeviewedasthecentral , ! face.SeeTableIV.3 216 #Inthecaseoft=1,byinspectionwehavenoconfigurationsinthe , ! targetsetwithanintegerentryatleast7. 217 #Inthecaseoft=2forcKaAB,theconfigurationisequivalentto , ! cAaKB.SoifA>6,thenweshouldalsostoreKBandBKin , ! A'slistofreduciblechains.SimilarlystoreKAandAK , ! inB'slistifB>6andB!=A. 218 iflens==5: #Ift==2. 219 A,B=s[3],s[4] #NotethatneitherAnorBare'x'. 220 ifintA>6andA!=K: #IfA==K,thenswitchingwon'tgivea , ! distinctchain. 221 ChainsDict[intA].append[K,B] 222 ifK!=B: #IfK==B,thenreversingthechainwon'tgivea , ! distinctchain. 223 ChainsDict[intA].append[B,K] 224 ifintB>6andB!=KandB!=A: #IfBisthesameasKorA, , ! thenswitchingwon'tgiveadistinctchain. 225 ChainsDict[intB].append[K,A] 226 ifK!=A: #IfK==A,thenreversingthechainwon'tgivea , ! distinctchain. 227 ChainsDict[intB].append[A,K] 228 #Inthecaseoft=3forcKaABC,theconfigurationisequivalentto , ! cBaAKC.SoifB>6andB!=K,thenweshouldalsostore , ! AKCandCKAinChainsDict[B].Thisisalmostidenticalto , ! thecasewhenK='x'andt=3. 117
PAGE 128
229 #Note:Foralltheconfigurationsinthetargetsetwiththisform,B , ! !='x'.Otherwisewewouldneedtoaddtoallcentralface , ! listsinsteadofjustone. 230 iflens==6: #Ift==3. 231 A,B,C=s[3],s[4],s[5] 232 ifintB>6andB!=K: 233 ChainsDict[intB].append[A,K,C] #StoreAKCinB'slistof , ! reduciblechains. 234 ifA!=C: #Ifthereverseisdistinct. 235 ChainsDict[intB].append[C,K,A] #StoreCKAinK'slist , ! ofreduciblechains. 236 237 returnChainsDict 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 defcheck_reducible_last_blockstack,block_length,central_face_length,ChainsDict: 255 #ForeachreduciblechaininChainsDict[central_face_length],wechecktosee , ! ifitfitsanywherewhichoverlapsthemostrecentblockin , ! thefaciallengthlist.Wedothisbyfillingtherestof , ! thegivenstackwith'x'sandthenextendingwithanother , ! copyofthestacktocreatealongerlistwhichcanhandle , ! cyclicwraparound.Then,foreachreduciblechain,we , ! compareeverysublistofthechain'slengthwhichoverlaps , ! thenewblocktoseeifthesublistisamatch. 256 257 #Wemakealistofthreecopiesofthecurrentfaciallengthlist.Thesecond , ! copyofthefaciallengthlistiswhereourinspectionsare , ! centered.Thefirstandthirdcopiesareforpossible , ! cyclicwraparoundtotheleftandtotheright. 258 #Thecurrentfaciallengthlististhestackfollowedbytrailing'x's. 259 wraparound_stack=stack+['x']*central_face_lengthlenstack*3 260 261 #aandbaretheindicesofthefirstandlastentriesofthelastblockin , ! thesecondcopyofthestack. 262 a=central_face_length+lenstackblock_length+1 263 b=central_face_length+lenstack2 264 #Sincethelastblockofstackisfollowedbyan'x',weneedtostepback , ! block_length+1stepsfromcentral_face_length+ , ! lenstacktogettothefirstentryinthelastblock. , ! Likewise,weneedtotake2stepsbacksfrom , ! central_face_length+lenstacktogettothelastentry. , ! Seetheexamplebelow. 265 #stack=53x5555x 266 #block=5555 267 #block_length=4 268 #central_face_length=10 269 #lenstack=8 270 # 118
PAGE 129
271 #53x5555xxx53x5555xxx53x5555xxx<wraparound_stack 272 #abz<a=13,b=16,z:= , ! central_face_length+lenstack=18 273 #000000000011111111112222222222<indexingguide:tensplace 274 #012345678901234567890123456789<indexingguide:onesplace 275 276 forreducible_chaininChainsDict[central_face_length]: #Inspecteach , ! reduciblechainindividually. 277 chain_length=lenreducible_chain 278 foriinrangeachain_length+1,b+1: #iwillbethestartingindexfor , ! thesublist. 279 #Comparetothesubliststartingati.Sincethechain_lengthisat , ! most7byinspectionandthecentral_face_lengthisat , ! least7,thesublistwon'toverlapitself. 280 sublist=wraparound_stack[i:i+chain_length] 281 282 #Wesimplycheckthereducible_chainagainstthesublistentryby , ! entry.Sincereverseddirectionsofreduciblechainsare , ! storedseparately,weonlyneedtocheckthereducible , ! chainandthesublistinthesamedirection. 283 match_bool=True 284 foriinrangechain_length: 285 286 #An'x'inareducibleconfigurationmatcheseverything. 287 ifreducible_chain[i]=='x': 288 continue #Theseentriesmatch,socheckthenextentries. 289 290 #Aspecifiednumberinareducibleconfigurationmatchesthesame , ! numberinthesublist. 291 elifreducible_chain[i]==strsublist[i]: 292 continue #Theseentriesmatch,socheckthenextentries. 293 294 #Thereisnootherkindofmatch.Differentspecifiednumbersdo , ! notmatch. 295 #Note:IfwehadaddedchainstoChainsDictwhichincludedentries , ! notin{'3','4','5','x'},therewouldstillhavebeenno , ! otherkindofmatches.Aspecifiednumberinareducible , ! configurationdoesnotmatcha'+'inafaciallengthlist, , ! becausethe'+'representsmultiplenumberssomeofwhich , ! arenotequaltothespecifiednumber.Forexample,a6 , ! inthereducibleconfigurationwouldnotmatchthe'+'ina , ! faciallengthlistbecausethe'+'includesthepossibility , ! ofa10face. 296 else: 297 break #Wefoundtwoentrieswhichdon'tmatch,sothis , ! reduciblechaindoesnotmatchthesublist. 298 299 else: 300 returnTrue #Ifwefindamatch,thenthenewblockhasresulted , ! inareducibleconfiguration. 301 #Ifwedidnotmatchthesublist,thenshiftthesublistoverandtry , ! again. 302 #Ifthatreduciblechaindoesnotshowupanywhereoverlappingournew , ! block,thencheckthenextreduciblechain. 303 returnFalse #Ifwedon'tfindanymatchforanyreduciblechain,thenthenew , ! blockhasnotresultedinareducibleconfiguration. 304 305 306 307 308 309 119
PAGE 130
310 311 312 313 314 315 316 317 318 319 320 321 deffacial_length_list_generatorcentral_face_length,ChainsDict: 322 #Generatesfaciallengthlistsaroundaspecifiedfacelengthwhichdonot , ! containanyconfigurationsfromthetargetset. 323 #Faciallengthlistshaveentriesfrom{3,4,5,'+'},where'+'representslength6+. 324 #Faciallengthlistsaregeneratedviabacktrackandsearchbybuildingstacks , ! ofnonreducibleblocksseparatedbyapositivenumberof , ! '+'entries.Thisismoreefficientthandirectly , ! generatingallthewordsfromthealphabet{3,4,5,'+'}ofa , ! givenlength.Wealsocheckateachforwardstepwhether , ! thenewblockformsanyreducibleconfigurationwiththe , ! restofthecurrentstack. 325 #Wedonotattempttoremoverepeatedwordsuptocyclicshiftsorreversals. 326 327 #First,welistthepossiblewordsfrom{3,4,5}whichdonotcontainany , ! reducibleconfigurations.AccordingtoLemmaIV.31,that , ! listconsistsofthefirst17itemslistedbelow.Thiscan , ! beverifiedbycomputerbygenerating{3,4,5}wordswhile , ! checkingfortheoccurenceofanyconfigurationinthe , ! targetset. 328 #Inadditiontothose17blocks,wealsoincludethesingletonlist['+'].We , ! willusethisfinal"block"asaspacerbetweentheother , ! blocksinourgeneration. 329 #Thecommentsattheendofeachlinegivetheindexforeachblock. 330 blocks=[ 331 [3], #0 332 [3,5], #1 333 [4], #2 334 [4,5], #3 335 [4,5,5], #4 336 [5], #5 337 [5,3], #6 338 [5,4], #7 339 [5,4,5], #8 340 [5,4,5,5], #9 341 [5,5], #10 342 [5,5,4], #11 343 [5,5,4,5], #12 344 [5,5,4,5,5], #13 345 [5,5,5], #14 346 [5,5,5,5], #15 347 [5,5,5,5,5], #16 348 ['+'] #17 349 ] 350 #Theintegernumisdefinedtobetheindexofthespecial['+']block,andwe , ! willusenuminourgenerationbelow. 351 num=17 352 353 #Ourgenerationprocesswillbeabacktrackandsearchwithtwostacks: , ! block_stackandactual_stack.block_stackwillstore , ! integervaluestheindicesoftheblocksgivenaboveto , ! representwhichblocksareonthestack.actual_stackwill 120
PAGE 131
, ! storevaluesfrom{3,4,5,'+'}andwillbeextendedbythe , ! blocksgivenabove.Atanygiventime,wecouldconvert , ! informationfromonetotheother.However,itiseasiest , ! toupdatebothsimultaneously. 354 block_stack=[0,num] #Initializeblock_stackfortheloop. 355 actual_stack=blocks[0]+blocks[num] #Initializeactual_stackfortheloop. 356 357 #Atthetopoftheloop,wehavejustputanewblockontoourtwostacksif , ! itwasoneofthe17{3,4,5}words,thenithasalsobeen , ! automaticallyfollowedbythe'+'spacerblock. 358 #Thefirstthingwewilldointheloopischecktoseeifthisadditionhas , ! violatedthelengthrequirementorhasresultedina , ! reducibleconfiguration.Ifithas,wewillbacktrackand , ! trythenextblock.Ifithasn'tthenwewilltrytoadd , ! theleastindexedavailableblockor,ifthestackis , ! actuallyfull,thenwewillyielditandthenbacktrack. 359 #Theleastindexedavailableblockwillalwaysbegivenbyblock_stack[0]. , ! Thissomewhatbutnotentirelylimitsourduplicationof , ! faciallengthlistsbyremovingsomecyclicshifts. 360 whileblock_stack[0]
PAGE 132
388 ifblock_stack[1]
PAGE 133
, ! atleast9;otherwiseitpullsatmost1/3charge. 430 #fivesisthelistofindiceswithentriesequalto5. 431 fives=[zforzinrangecentral_face_lengthiffacial_length_list[z]==5] 432 foriinfives: 433 #nbrsisthelistcontainingtheentryontheimmediatelyleftofiandthe , ! entryontheimmediaterightofi.Again,wemodoutfor , ! thei+1case. 434 nbrs=[facial_length_list[i1],facial_length_list[i+1%central_face_length]] 435 if3innbrs: #Ifthereisa3nexttothe5 436 charge=Fraction1,4 437 elifnbrs==[5,5]andcentral_face_length>=9: #Ifthe5isnexttotwo5s , ! andthecentralfaceisbigenough 438 charge=Fraction1,2 439 else: 440 charge=Fraction1,3 441 442 returncharge 443 444 445 446 447 448 449 450 451 452 defrun_lemma_IV_33: 453 #Generateallfaciallengthlistsaroundcentralfacesoflength714which , ! donotcontainanyconfigurationsfromthetargetset. , ! Checkeachofthesetoseeifthelowerboundonthefinal , ! chargeleftwiththecentralfaceisnonnegative. 454 455 time_zero=time.clock 456 457 #Initializelistanddictionariesofreducibleconfigurations. 458 ChainsDict=makeChainsDict 459 460 unhappy_total=0 461 forkinrange7,15: 462 lap=time.clock 463 print"Nowanalyzingcentralfacelength%d."%k 464 print"Faciallengthlistclasseswhichpulltoomuchcharge:" 465 466 #Generatethewaystheeligibleblocksformfullstacksaroundthiscentral , ! facelength.Withoutanyreducibleconfigurations. 467 gen_count=0 468 unhappy_count=0 469 forFLLinfacial_length_list_generatork,ChainsDict: 470 gen_count+=1 471 472 #Printandcountanyfaciallengthlistclasseswhichpulltoomuchcharge. 473 iffinal_charge_lower_boundk,FLL<0: 474 unhappy_count+=1 475 s="" 476 forainFLL: 477 s+=stra 478 print""+s+"LowerBound , ! =",final_charge_lower_boundk,FLL,"" 479 480 unhappy_total+=unhappy_count 481 482 ifunhappy_count==0: 123
PAGE 134
483 print"therearenone" 484 print"Ofthe%dfaciallengthlistclassesarounda%dfacewithno , ! reduciblenconfigurations,%dhavepossiblynegative , ! charge."%gen_count,k,unhappy_count 485 print"Timetogenerateandcheck:"+timestringtime.clocklap 486 print 487 488 print"Intotal,thereare%dfaciallengthlistclassesaroundcentralfacesn , ! oflengthbetween7and14whichpulltoomuch , ! charge."%unhappy_total 489 print"Totaltime:"+timestringtime.clocktime_zero 490 491 492 493 494 495 if__name__=="__main__": 496 run_lemma_IV_33 124
PAGE 135
APPENDIXE SourceCodeforLemma4.34 1 #2 #Contents 3 #4 5 #check_all_realizations_from_expanded_c7a4x5x5_case 6 #run_lemma_IV_34 7 #maincommand 8 9 10 11 #12 #Libraries,Comments,GlobalVariables 13 #14 15 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 16 17 importchecking_realizationsaswg 18 #Weusechecking_realizations.pyasamodulewhichcontainsthecommoncodefor , ! LemmasIV.17,IV.25,andIV.34. 19 20 importtime 21 #Fordisplayingruntime. 22 23 deftimestringtime: 24 #Displaystimelength:#m#.#s 25 26 t=inttime 27 d=strint10*timet%10 28 s=strt%60 29 m=intt/60 30 string=strm+"m"+s+"."+d+"s" 31 returnstring 32 33 #34 #TheRoutines 35 #36 37 38 39 40 41 42 43 44 defcheck_all_realizations_from_expanded_c7a4x5x5_casecase: 45 #Thistakesanintbetween1and12correspondingtoaparticularcasefrom , ! LemmaIV.34.Itthenbuildsthecorrespondingplanegraph , ! anddictionaryofforbiddenvertexidentifications,and , ! thenchecksallresultingrealizationsforcorechoosability. 46 47 48 print"Expandingscopearoundc7a4x5x5:" 49 50 #Webeginwiththenaturalcoresubgraphofc7a4x5x5,butwelateraddaface , ! andadjustPlaneGraphaccordingly. 51 PlaneGraph=NaturalCoreSubgraph'c7a4x5x5' 125
PAGE 136
52 53 #Noneoftheverticesintheoriginalcoresubgraphwillbepermittedtobe , ! identifiedwitheachother. 54 forbidden_dict={x:setPlaneGraph.graph.verticesforxin , ! PlaneGraph.graph.vertices} 55 56 57 #NowwemanuallypreprocessouradjustmentstoPlaneGraphaccordingtoeachof , ! thetwelveremainingcases. 58 #new_face_lengthwillbethelengthofthenewface,andbase_borderwillbe , ! theclockwiseorderingofthepartoftheboundaryofthe , ! newfacewhichisalreadyinPlaneGraph. 59 60 #Webeginwiththefaceswhicharenecessarilyadjacenttothecentral7face: , ! A,C,G,K. 61 ifcase==1: 62 print"CaseA=6.n" 63 new_face_length=6 64 base_border=[7,0,6] 65 PlaneGraph.name+="CaseA6" 66 67 elifcase==2: 68 print"C/D=6.n" 69 new_face_length=6 70 base_border=[9,2,1,8] 71 PlaneGraph.name+="CaseC6" 72 73 elifcase==3: 74 print"G/H=6.n" 75 new_face_length=6 76 base_border=[12,4,3,11] 77 PlaneGraph.name+="CaseG6" 78 79 elifcase==4: 80 print"K=6.n" 81 new_face_length=6 82 base_border=[6,5,14] 83 PlaneGraph.name+="CaseK6" 84 85 #Thenwemoveontotheotherfaceadjacenttothe4face:B. 86 elifcase==5: 87 print"B=5.n" 88 new_face_length=5 89 base_border=[8,7] 90 PlaneGraph.name+="CaseB5" 91 elifcase==6: 92 print"B=6.n" 93 new_face_length=6 94 base_border=[8,7] 95 PlaneGraph.name+="CaseB6" 96 97 #Thenwemoveontoanotherfaceadjacenttothefirst5face:E. 98 elifcase==7: 99 print"E=4.n" 100 new_face_length=4 101 base_border=[10,9] 102 PlaneGraph.name+="CaseE4" 103 elifcase==8: 104 print"E=5.n" 105 new_face_length=5 106 base_border=[10,9] 107 PlaneGraph.name+="CaseE5" 126
PAGE 137
108 elifcase==9: 109 print"E=6.n" 110 new_face_length=6 111 base_border=[10,9] 112 PlaneGraph.name+="CaseE6" 113 114 #Thenwemoveontoanotherfaceadjacenttothesecond5face:I. 115 elifcase==10: 116 print"I=4.n" 117 new_face_length=4 118 base_border=[13,12] 119 PlaneGraph.name+="CaseI4" 120 elifcase==11: 121 print"I=5.n" 122 new_face_length=5 123 base_border=[13,12] 124 PlaneGraph.name+="CaseI5" 125 elifcase==12: 126 print"I=6.n" 127 new_face_length=6 128 base_border=[13,12] 129 PlaneGraph.name+="CaseI6" 130 131 132 #Nowthatwehavethebeginningofournewface,wecanbuildtherestofit , ! andchangePlaneGraphaccordingly. 133 PlaneGraph.faces.appendbase_border #Wewillextendthenewfacefrom , ! base_border. 134 num_new_vtxs=new_face_lengthlenbase_border 135 136 #Buildthefirstedgeoutfromtheoriginalplanegraph. 137 PlaneGraph.edges.appendbase_border[1],PlaneGraph.order #base_borderhas , ! notyetbeenchanged,sobase_border[1]isourstarting , ! point.PlaneGraph.orderisthenameofthenewvertex. 138 PlaneGraph.faces[1].appendPlaneGraph.order #Addthenewvertextoournewface. 139 PlaneGraph.order+=1 140 141 #Buildallremainingedgesofthenewfaceexceptthelastclosingedge. 142 foriinrangenum_new_vtxs1: #Wealreadybuiltonenewvertex. 143 PlaneGraph.edges.appendPlaneGraph.order1,PlaneGraph.order # , ! PlaneGraph.orderisthenameofthenewvertex. 144 PlaneGraph.faces[1].appendPlaneGraph.order #Addthenewvertextoour , ! newface. 145 PlaneGraph.order+=1 146 147 #Buildthelastclosingedgeofthenewface. 148 PlaneGraph.edges.appendPlaneGraph.faces[1][0],PlaneGraph.faces[1][1] 149 150 151 #Completeforbidden_dict. 152 forvinrange15,15+num_new_vtxs: #Initializeforbidden_dictforthenew , ! vertices. 153 forbidden_dict[v]=set 154 forvinPlaneGraph.faces[1]: #Foralltheverticesonthenewface,addthe , ! facetotheforbiddenset. 155 forbidden_dict[v]=setPlaneGraph.faces[1] 156 ifcase==8: #PreventEfromidentifiyingwiththefirst5faceadjacentto , ! thecentral7face;otherwise,weobtainthenaturalcore , ! subgraphofc7a4x5x5. 157 forbidden_dict[17]=set[11] 158 forbidden_dict[11]=set[17] 159 ifcase==1: #PreventIfromidentifiyingwiththesecond5faceadjacentto 127
PAGE 138
, ! thecentral7face;otherwise,weobtainthenaturalcore , ! subgraphofc7a4x5x5. 160 forbidden_dict[17]=set[14] 161 forbidden_dict[14]=set[17] 162 163 164 #ThereisnoneedtoupdateanythingelsefromPlaneGraphbeforefeedinginto , ! thechecker,sinceitwilluseonly.name,.order,.is_open , ! unchanged,.faces,and.edges. 165 wg.check_all_realizations_from_initial_plane_graphPlaneGraph, , ! forbid_identifications=forbidden_dict 166 167 168 169 170 171 172 173 174 175 176 177 defrun_lemma_IV_34: 178 #Verifiesthateachconfigurationinthetargetsetisreduciblebychecking , ! thatallrealizationsarecorechoosable. 179 180 begin=time.clock 181 ch_total=0.0 182 183 #First,checktheoriginalconfigurationtoseethetwobadrealizations. 184 wg.check_all_realizations_of_configuration'c7a4x5x5' 185 ch_total+=wg.ch_timer 186 print"n"*10 187 188 #Nowchecktheremaining12casesoffacesaroundthe4and5faces. 189 foriinrange1,13: 190 wg.check_all_realizations_from_expanded_c7a4x5x5_casei 191 ch_total+=wg.ch_timer 192 print"n"*10 193 194 print"Finishedwithallanalysisofc7a4x5x5!" 195 print"Totaltime:"+timestringtime.clockbegin 196 print"TimeinfChoosableforentiretargetset:"+timestringch_total 197 198 199 200 201 202 203 204 205 206 207 if__name__=="__main__": 208 run_lemma_IV_34 128
PAGE 139
APPENDIXF SourceCodefor checking realizations.py 1 #2 #Contents 3 #4 5 #Section1:GraphEssentials 6 #NaturalCoreSubgraph 7 #core_square_graph 8 9 #Section2:CoreSubgraphGeneration 10 #restricted_partition_generator 11 #core_subgraph_generator 12 13 #Section3:StemStructureGeneration 14 #get_open_region_roots 15 #stem_structure_generator 16 17 #Section4:CheckingRealizations 18 #check_all_stem_structures_for_given_core_subgraph 19 #check_all_realizations_from_initial_plane_graph 20 #check_all_realizations_of_configuration 21 22 23 24 #25 #Libraries,Comments,GlobalVariables 26 #27 28 #ThesescriptswerewrittenwiththeintentofusingPython2.7beforetheswitch , ! toPython3.Thereshouldnotbemanydifferencesto , ! implementourcodeinPython3oncethischangeismade. 29 30 importsage.all 31 32 fromsage.graphs.graphimportGraph 33 #WeusetheGraphclasstoworkwithourrealizations.Weuseitforneighborhoods , ! core_square_graph,thedistancematrix , ! core_square_graph,andcheckingplanarity , ! core_subgraph_generator. 34 35 importmath 36 #WeusetrigfunctionsforsomecoordinatesofverticesinNaturalCoreSubgraph. 37 38 fromsage.misc.functionalimportN 39 #Weroundthecoordinatesmentionedabove. 40 41 fromitertoolsimportcombinations 42 #Weusecombinationsasapairsgeneratorinstem_structure_generatorwhenweare , ! iteratingthroughtriplescontainingthelastroot,and , ! alsoincore_square_graphwhenweareaddingedges , ! resultingfromthesetriples. 43 44 importchoosabilityasch 45 #WeusefChoosableasablackboxtoverifycorechoosabilityforallourrealizations. 46 47 importtime 48 #Fordisplayingruntime. 49 50 deftimestringtime: 129
PAGE 140
51 #Displaystimelength:#m#.#s 52 53 t=inttime 54 d=strint10*timet%10 55 s=strt%60 56 m=intt/60 57 string=strm+"m"+s+"."+d+"s" 58 returnstring 59 60 61 62 #Westorethetargetsetasalistofstrings.Eachstringfollowsaslightly , ! differentformatthanthatinthepaper.Theconfiguration , ! b:s_1...s_tisencodedas"cbas_1...s_t"whereany"*"is , ! replacedwith"x".The"c"precedesthecentralface , ! andthe"a"precedesthefaciallengthlistaroundthe , ! centralface.Forexample,"9:3**4"isencodedas , ! "c9a3xx4"and"4*555*4"isencodedas"cxa4x555x4". 63 64 TargetSet=[ 65 #openchain:startwith3andendwith3 66 'c3a3', #Inthepaper,welistthisconfigurationascxa33. 67 'cxa3x3', 68 'cxa3xx3', 69 'cxa3xxx3', 70 'cxa3xx5x3', 71 72 #openchain:startwith3andendwith4 73 'c3a4', #Inthepaper,welistthisconfigurationascxa34. 74 'cxa3x4', 75 'cxa35x4', 76 'cxa3x54', 77 'cxa3xx54', 78 'cxa3xxx54', 79 80 #openchain:startwith3andendwith5 81 'cxa355', 82 'cxa375', 83 'cxa3x555', 84 85 #openchain:startwith3andendwith6 86 'c3a6', #Inthepaper,welistthisconfigurationascxa36. 87 'cxa356', 88 89 #openchain:startwith4andendwith4 90 'c4a4', #Inthepaper,welistthisconfigurationascxa44. 91 'cxa454', 92 'cxa464', 93 'cxa474', 94 'cxa4x54', 95 'cxa4x55x4', 96 'cxa4x555x4', 97 'cxa4x4x4x4', 98 99 #openchain:startwith4andendwith5 100 'cxa4x45', 101 'cxa4555', 102 'cxa4x5555', 103 104 #openchain:startwith4andendwith6 105 'cxa456', 106 130
PAGE 141
107 #openchain:startwith5andendwith5 108 'cxa535', 109 'cxa555555', 110 111 #openchain:startwith5andendwith6 112 'cxa546', 113 114 #central3face 115 'c3a57', 116 117 #central4face 118 'c4a55', 119 'c4a56', 120 'c4a57', 121 'c4a66', 122 'c4a585', 123 'c4a676', 124 'c4a686', 125 126 #central5face 127 'c5a555', 128 'c5a556', 129 'c5a565', 130 'c5a566', 131 'c5a575', 132 'c5a656', 133 'c5a666', 134 'c5a4x55', 135 'c5a5x65', 136 'c5a5585', 137 'c5a5x66', 138 'c5a55x6', 139 'c5a56x6', 140 'c5a6x66', 141 142 #central7face 143 'c7a3xx4', 144 'c7a3xx5', 145 'c7a4xx4', 146 'c7a4x55', 147 'c7a4xx55', 148 'c7a4x5xx5', 149 'c7a55x5', 150 151 #central8face 152 'c8a3xx4', 153 'c8a3xxx4', 154 'c8a35x5', 155 'c8a35xx5', 156 'c8a35xxx5', 157 'c8a35xxxx5', 158 'c8a3x55x55', 159 'c8a45xx4', 160 'c8a455x5', 161 'c8a4x5x4x4', 162 163 #central9face 164 'c9a3xx4', 165 'c9a3xxx4', 166 'c9a35x5', 167 'c9a455x4', 168 'c9a455x5', 131
PAGE 142
169 'c9a545x5', 170 ] 171 172 173 174 ch_timer=0.0 175 #FortrackinghowmuchtimeisspentinfChoosable. 176 177 178 179 180 #181 #TheRoutines 182 #183 184 185 #186 #Section1:GraphEssentials 187 #188 189 190 191 192 193 classNaturalCoreSubgraph: 194 #Thisclassisforholdingallofthenecessaryinformationweneedtoknow , ! fromaninitialplanegraph.ForLemmaIV.25,thismeans , ! thenaturalcoresubgraphofaconfiguration.ForLemma , ! IV.34,wewillstartwiththenaturalcoresubgraphof , ! c7a4x5x5andedittheplanegraphforourpurposes. 195 #Theconstructortakesthestringfollowingthenotationdescribedbeforethe , ! definitionofTargetSetaboveandthenbuildsthegraph. 196 #Note:Weassumeforanyconfigurationthatwefeedintotheconstructor,that , ! anyspecifiedentryprecedingorsucceedinga3inthe , ! faciallengthlisthaslengthatleast5.Socxa33isnot , ! permissible,butc3a3is.Wealsoassumethatthefacial , ! lengthlistaroundacentralfaceofspecifiedlengthis , ! shorterthenthecentralfacelength.Soc4a85x5isnot , ! permissible,butc4a585is. 197 #Thefollowingaretheattributesofanobjectfromthisclass: 198 #.namethestringoriginallygiveninc/anotation 199 #.is_openaboolean,Trueiftheconfigurationisopen 200 #.central_face_lengththeintegervalueofthespecifiedcentralface , ! length,orNoneotherwise 201 #.facial_length_listthelistofentriesofthefaciallengthlist , ! aroundthecentralface 202 #.edgesthelistofedgesastuplesoftheplanegraph 203 #.facesthelistofclockwiseorientedboundariesofthespineand/or , ! specifiedfaces.Thefirstitemisalwaystheknown , ! boundaryofthecentralface.Iftheconfigurationis , ! open,thisisthespine.Otherwise,itisallofthe , ! centralface.Theremainingitemsarethenoncentral , ! specifiedfaces,asorderedbyself.facial_length_list. , ! Eachboundaryisitselfalistofvertices. 204 #.graphtheinitialplanegraphasaGraphobject 205 #.orderthenumberofverticesintheinitialplanegraph 206 #.spinetheactualspinegivenasalistofvertices.Ifthecentral , ! facehasspecifiedlength,thenspineisnotnecessarily , ! theentiretyofthecentralface.Sospineisnotalways , ! justself.faces[0]. 207 #.coordinatesadictionaryofx,ycoordinatesforeachvertexofthe , ! planegraph,usedfordrawingimages 132
PAGE 143
208 209 def__init__self,config_str: 210 211 self.name=config_str 212 213 #First,lookatthecharactersbetween'c'and'a'todetermineifthe , ! configurationisopenorclosed. 214 s=config_str[1:config_str.index'a'] 215 ifs=='x': #Openunspecifiedcentralfacelength. 216 self.is_open=True 217 self.central_face_length=None 218 else: #Closedspecifiedcentralfacelength. 219 self.is_open=False 220 self.central_face_length=ints 221 222 #Then,lookatthefaciallengthlistaroundthecentralface. 223 self.facial_length_list=[] 224 forsinconfig_str[config_str.index'a'+1:]: 225 ifs=='x': 226 self.facial_length_list.append'x' 227 else: 228 self.facial_length_list.appendints 229 FLL=self.facial_length_list #'FLL'willbeeasiertoreadintherestof , ! thisconstructorthan'self.facial_length_list'. 230 231 #Nowwebuildthenaturalcoresubgraphbybuildingourlistofedges,.As , ! webuildtheedges,wealsokeeptrackofthecentral , ! face/spineandthespecifiedfaces. 232 self.edges=[] #Eachentrywillbeatupleoftwoendpoints. 233 self.faces=[] #Eachentrywillbealistofvertices. 234 self.coordinates={} #Eachvertexwillbeakey,andthevaluewillbean , ! orderedpair. 235 236 #Webeginwiththecentralface.Therearetwopossibilities:openor , ! closed.Intheopencase,thespinewillbeourcentral , ! face.Inourlatergeneration,wewillneedtotreatthe , ! centralfacespeciallytoaccountforthis. 237 #Intheopencase,webuildapathandappendthistofaces. 238 ifself.is_open: 239 self.coordinates[0]=0,0 240 forjinrangelenFLL: #Buildthepathfrom0tolenFLLinclusive. 241 self.edges.appendj,j+1 242 self.coordinates[j+1]=j+1,0 243 self.faces.appendrangelenFLL+1 #Addthepathtofaces. 244 vtx=lenFLL #vtxisthecurrentvertexwearebuildingedgesto. , ! Forfutureuse. 245 #Intheclosedcase,webuildacycleandappendthistofaces. 246 else: 247 self.coordinates[0]=0,0 248 forjinrangeself.central_face_length1: #Buildthepathfrom0to , ! self.central_face_length1inclusive. 249 self.edges.appendj,j+1 250 ifj+1<=lenFLL: 251 self.coordinates[j+1]=j+1,0 252 else: 253 angle_degrees= , ! 180*j+1lenFLL/self.central_face_lengthlenFLL 254 x_coord= , ! NlenFLL/2.0+math.cosmath.radiansangle_degrees*lenFLL/2 255 y_coord=Nmath.sinmath.radiansangle_degrees*2/3 256 self.coordinates[j+1]=x_coord,y_coord 257 self.edges.append0,self.central_face_length1 #Closethepathto 133
PAGE 144
, ! makeitacycle. 258 self.faces.appendrangeself.central_face_length #Addthecycleto , ! faces. 259 vtx=self.central_face_length1 #vtxisthecurrentvertexweare , ! buildingedgesto.Forfutureuse. 260 261 #Nowthatwehavebuiltthecentralface,wemoveontotheotherspecified , ! faces. 262 foriinrangelenFLL: 263 #iistheindexoftheentryinFLL,butitisalsothe , ! counterclockwisemostvertexonthecorrespondingedge. , ! i+1istheclockwisemostvertexofthatedge. 264 265 #Iftheithentryofthefaciallengthlistis'x',thenwedonothing. 266 ifFLL[i]=='x': 267 continue 268 269 #Otherwise,wewanttobuildafacebybuildingapathfromitoi+1of , ! lengthFLL[i]1. 270 #Simultaneously,webuildthelistoftheface'sboundary. 271 new_face=[i+1,i] 272 #First,wecheckthepreviousentryiestoseehowmanysharededges , ! havealreadybeenbuilt.Therearethreecases:ithe , ! previousentryisnotaspecifiedface,iitheprevious , ! entryisasandwiched3face,oriiithepreviousentry , ! isaspecifiedfacethatisnotasandwiched3face. 273 #Basedonthesecases,wedefinethenumberofsharededgesalready , ! builtandthestartingpointfortherestofthepathtoi+1. 274 ifi==0orFLL[i1]=='x': 275 num_shared=0 276 start=i 277 elifi>1andFLL[i1]==3andFLL[i2]!='x': #Thisonlyoccursfor , ! cxa535.Wecouldhaveusedthealternativeencodingc3a55 , ! butprefertheformer. 278 num_shared=2 279 start=vtx1 #vtx1isthesecondtolastvertexthatwascreated , ! foraface.Thisistherightvertexbecausetheface , ! previoustothe3facehaslengthatleast5. 280 new_face.appendvtx 281 new_face.appendvtx1 282 else: #Previousentryisaspecifiedfacebutnotasandwiched3face. 283 num_shared=1 284 start=vtx #vtxisthelastvertexthatwascreated. 285 new_face.appendvtx 286 287 #Nowwebuildanyremainingedgesexceptfortheverylastone. 288 #FLL[i]2num_sharedisthelengthofthefacewearebuildingminus: , ! theedgefromthecentralface,thelastedgewewillbuild , ! afterthisloop,andtheedgesalreadybuiltbypreviousfaces. 289 forjinrangeFLL[i]2num_shared: 290 vtx+=1 291 self.edges.appendstart,vtx 292 new_face.appendvtx 293 #Setcoordinates. 294 ifFLL[i]==3: 295 self.coordinates[vtx]=i+0.5,math.sinmath.radians60 296 else: 297 x_coord=Ni+0.50.5*math.cosmath.radians180* , ! j+num_shared/FLL[i]3 298 y_coord=N0.5*math.sqrt3+0.4*math.sinmath.radians180 , ! *j+num_shared/FLL[i]3 299 self.coordinates[vtx]=x_coord,y_coord 134
PAGE 145
300 start=vtx 301 302 #Resetcoordinatesifnecessary. 303 ifFLL[i]==3: #Centerthetopofa3face. 304 self.coordinates[vtx]=i+0.5,math.sinmath.radians60 305 ifi>0andFLL[i1]!='x'andi
PAGE 146
, ! vertices.Wesavethisgraphforlaterwhenwecalculate , ! thelistsizefunction. 343 H_A=Graphnew_G 344 345 #Nowsquaretheresultinggraph. 346 M=new_G.distance_matrix 347 fori,jincombinationsrangenew_G.order,2: 348 ifM[i][j]==2: 349 new_G.add_edgei,j 350 351 #Finally,addanyadditionaledgeswhichwouldliveinthesquareofthehost , ! graph.ThecurrentgraphisH[A]^2,butwemightneed , ! toaddsomeedgestogetH^2[A]. 352 foredgeinstem_structure[1]: #Rootsconnectedtostemsofdegree2fromthe , ! stemstructure. 353 new_G.add_edgeedge #Ifedgeisalreadyanedgeofthegraph,thenthis , ! doesnothing. 354 fortripleinstem_structure[2]: #Rootsconnectedtostemsofdegree3from , ! thestemstructure. 355 foredgeincombinationstriple,2: 356 new_G.add_edgeedge #Ifedgeisalreadyanedgeofthegraph,then , ! thisdoesnothing. 357 358 359 #Nowmakef,thelistsizefunction.Foreachcorevertex,wecalculatethe , ! restrictionindexdefinedinDefinitionIV.15.Forevery , ! stem,wefirstseeifthevertexisadjacenttothestemor , ! ifitisdistance2fromthestem. 360 f=[] 361 362 #Weneedtomakenoteofwhichrootsareattachedtostemswhichhavedegree1 , ! tothecore. 363 roots={xforxincore_subgraph.verticesifcore_subgraph.degreex==2} 364 roots_already_observed={xforstem_typeinstem_structureforstem_groupin , ! stem_typeforxinstem_group} #"for"statementsinaset , ! comprehensionareprocessedfromlefttoright.Thisset , ! containsalltheverticesappearinganywhereinstem_structure. 365 one_stem_roots=rootsroots_already_observed #Verticesthathavenot , ! appearedanywhereinstem_structurearerootswhichare , ! adjacenttoastemwhichhasdegree1tothecore. 366 367 forvinH_A.vertices: #Thisiteratesthroughtheverticesinorder:0,...,n1. 368 restriction_index=0 369 v_nbrs=setH_A.neighborsv #v_nbrsisthesetofneighborsofvinH[A]. 370 371 forone_steminone_stem_roots: 372 ifv==one_stem: #Thengamma_1v==1. 373 restriction_index+=3 374 elifone_steminv_nbrs: #ThenGammavgains1throughone_stem. 375 restriction_index+=1 376 377 fortwo_steminstem_structure[1]: 378 ifvintwo_stem: #Thengamma_2v==1. 379 restriction_index+=2 380 eliftwo_stem&v_nbrs: #ThenGammavgains1throughtwo_stem. 381 restriction_index+=1 382 383 forthree_steminstem_structure[2]: 384 ifvinthree_stem: #Thengamma_3v==1. 385 restriction_index+=1 386 elifthree_stem&v_nbrs: #ThenGammavgains1throughtwo_stem. 387 restriction_index+=1 136
PAGE 147
388 389 f.append7restriction_index 390 391 returnnew_G,f 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 #409 #Section2:CoreSubgraphGeneration 410 #411 412 413 414 415 defrestricted_partition_generatorli,last_index,forbidden_dict: 416 #Givenalistliofdistinctobjects,wegenerateallpartitionsofliwhichdo , ! notputcertainobjectsintothesamepart.The , ! restrictionsonwhichobjectscanbeputintothesamepart , ! aregivenbyforbidden_dict,adictionarywhichmapseach , ! objectfootothesetofobjectswithwhichfoocannot , ! shareapart.Eachgeneratedpartitionisalistofsets. 417 #Werecursivelygeneratethepartitionsbyconditioningonwhichpartthelast , ! elementgoesinto.Forefficiency,weavoid , ! copying/slicingliandthepartition.Weuselast_indexto , ! controlhowmuchofliisbeingviewed,andeditthe , ! partitioninplaceimmediatelybeforeandimmediatelyafter , ! itisyielded. 418 #Note:last_indexistheindexofthelastelementbeingviewed. 419 #Note:forbidden_dictshouldbesymmetricinthesensethatifbarin , ! forbidden_dict[foo],thenalsofooinforbidden_dict[bar]. 420 #Note:Itmightbethecasethatfoowillbeinitsownsetofforbidden , ! objects,eventhoughitisunsensibletoforbidanobject , ! tobeinitsownpart.However,thiscausesnoproblems , ! sinceweonlycomparedistinctentriesofli. 421 422 #Theonlypartitionoftheemptysetistheemptyset. 423 iflast_index<0: #Therelevantportionofliisemptyifandonlyif , ! last_index<0. 424 yield[] 425 return 426 427 last_element=li[last_index] 428 429 #Otherwise,welookattheportionoflipriortolast_elementandconsiderany , ! partitionsofthissmallerlist.Foreachofthese,we , ! lookatthepossiblepartswecanputlast_elementinto. 430 #Note:Wepassliandforbidden_dictwithoutmodificationsbecausetheystill , ! containalltheinformationweneed. 431 forpartitioninrestricted_partition_generatorli,last_index1,forbidden_dict: 137
PAGE 148
432 433 #First,whichpartsofthispartitionareeligibleforthelast_element? 434 foriinrangelenpartition: #iindexestheparts. 435 ifnotpartition[i]&forbidden_dict[last_element]: #Checkthe , ! eligibleparts. 436 partition[i].addlast_element #Addlast_elementtoithpart. 437 yieldpartition 438 partition[i].removelast_element #Returnpartitiontoprevious , ! statewithoutlast_element. 439 440 #Lastly,wecanalwaysputlast_elementinapartbyitself. 441 partition.appendset[last_element] 442 yieldpartition 443 partition.pop #Returnpartitiontopreviousstatewithoutlast_element. 444 return 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 defcore_subgraph_generatorNCS,forbid_identifications={}: 462 #NCSisanobjectfromtheNaturalCoreSubgraphclasswhichholdsallthe , ! informationweneed. 463 #forbid_identificationsisadictionary.Anyfoo:barentriesfooisavertex, , ! barisasetwillforbidfoofrombeingidentifiedwith , ! anyelementofbar.Whenrunning , ! check_all_realizations_of_configuration, , ! forbid_identificationsisempty.Whenrunning , ! check_all_realizations_from_expanded_c7a4x5x5_case,wewill , ! haveaddedentriestoforbid_identifications. 464 #WeuseObservationIV.21,22tomakeadictionaryofalltheforbidden , ! identifications,inadditiontowhatwasgivenby , ! forbid_identifications.Then,wegenerateall , ! identificationspartitionsofthevertexsetwhichavoid , ! theseforbiddenidentifications.Foreachidentification, , ! wecheckeachofthethreeconditionsfromObservation , ! IV.23.Foranyidentificationsthatmakeitthroughthe , ! threeconditions,weyieldthegraphformedbythe , ! identificationandalistofitsfaces. 465 466 467 #forbidden_dictwillbethedictionaryofalltheforbiddenidentifications. 468 #Initializeeachvertextohaveanyemptysetofforbiddenvertices. 469 forbidden_dict={x:setforxinrangeNCS.order} 470 471 #Ifwehavemanuallyenteredanyforbiddenidentifications,goaheadandadd , ! thosefirst. 472 forxinforbid_identifications.keys: 473 forbidden_dict[x]=setforbid_identifications[x] 474 475 #Ifwehaveanopencentralface,thenweapplyObservationIV.22tothe 138
PAGE 149
, ! verticesonthespinebeforemovingontothespecifiedfaces. 476 ifNCS.is_open: 477 init_spec_face=1 #Thiswilltellalaterlooptoskipthecentralface. 478 479 #Verticesonthespinecannotbeidentifiedwhicharetooclose. 480 #Handleverticesclosetotheendsseparately. 481 #Note:foranyopenconfigurationsinthetargetset,thespinehasat , ! leastfourvertices. 482 forbidden_dict[NCS.spine[0]]=setNCS.spine[:3] 483 forbidden_dict[NCS.spine[1]]=setNCS.spine[:4] 484 forbidden_dict[NCS.spine[2]]=setNCS.spine[4:] 485 forbidden_dict[NCS.spine[1]]=setNCS.spine[3:] 486 #Nowhandleallmiddleverticesonthespine. 487 foriinrange2,lenNCS.spine2: 488 forbidden_dict[NCS.spine[i]]=setNCS.spine[i2:i+3] 489 490 #Furthermore,spineverticeswhicharejoiningtwospecifiedoutsidefaces , ! 'sandwiched'verticescannotbeidentifiedwithanything , ! elseonthespine. 491 sandwiched_vertices={xforxinrange1,lenNCS.facial_length_listif , ! NCS.facial_length_list[x1]!='x'and , ! NCS.facial_length_list[x]!='x'} 492 forvinNCS.spine: 493 ifvinsandwiched_vertices: 494 forbidden_dict[v]=setNCS.spine 495 else: 496 forbidden_dict[v]=setsandwiched_vertices 497 else: #Ifwehaveaspecifiedcentralfacelength... 498 init_spec_face=0 #...thenwetellthenextlooptoincludethecentralface. 499 500 #Now,forallspecifiedfaces,weapplyObservationIV.21.Notwoverticeson , ! thesamespecifiedfacecanbeidentified. 501 forfaceinNCS.faces[init_spec_face:]: 502 forvinface: 503 forbidden_dict[v]=setface 504 505 506 507 #Nowthatwehavefinishedpreparingforbidden_dict,wefeedittothe , ! partitiongeneratortoinspecttheidentifications. 508 509 #Initializetheprintingvariables. 510 count=0 #Countsthenumberofpartitionsbeingchecked. 511 countCS=0 #Countshowmanymadeittobeyieldedascoresubgraphs. 512 print"#Partitions#CSTimeCumulative" 513 print"..........00begin!" 514 begin=time.clock 515 516 #restricted_partition_generatorgeneratesallidentificationsofthevertices , ! partitionsofthevertexset.Itsoutputisapartition, , ! storedasalistoflistsofvertices. 517 forpartitioninrestricted_partition_generatorrangeNCS.order,NCS.order1, , ! forbidden_dict: 518 count+=1 519 ifcount%10000==0: #Printeverysooftenmorehelpfulforlarge , ! configurations. 520 print"."*max11lenstrcount,0+strcount+" , ! "*max9lenstrcountCS,0+strcountCS+" , ! "+timestringtime.clockbegin 521 522 #Wewillwanttomovebetweenthecurrentlabelingsoftheinitialplane , ! subgraphandthenewgraphformedbytheidentification. 139
PAGE 150
, ! ident_dictwillhelpwiththisbystoringfoo:barwherefoo , ! isavertexfromtheoriginalgraphandbarisavertexin , ! theidentifiedgraph.Ifverticesv1andv2are , ! identified,thenident_dict[v1]==ident_dict[v2].The , ! labelsoftheverticesintheidentifiedgrapharethe , ! indicesofthepartsinpartition. 523 ident_dict={y:xforxinrangelenpartitionforyinpartition[x]} 524 525 #Tostartcheckingtheidentifiedgraph,wemakethesetofedgesinthe , ! identifiedgraph. 526 new_edges=set 527 #Foreachedgeintheoldgraphbetweenv1andv2,weaddanedgebetween , ! thepartsy1andy2wherey1isthepartcontainingv1and , ! y2isthepartcontainingv2.Sinceweareusingaset, , ! anyduplicateedgesgetthrownout. 528 foreinNCS.edges: 529 a=ident_dict[e[0]] 530 b=ident_dict[e[1]] 531 ifa>b: #Weenforceanorderingsotherearenoduplicatesvia , ! reversal.Givenapartition,anedgeX,Yinthe , ! identifiedgraphisrepresentedbyanedgex1,y1wherex1 , ! inXandy1inY.However,itmightalsoberepresentedby , ! anedgey2,x2wherex2inXandy2inY.Wedon'twant , ! torepresentanedgemorethanonceinoursetnew_edges. 532 a,b=b,a 533 new_edges.adda,b 534 #Note:Ourdictionaryofforbiddenidentificationsensuresthata!=b. 535 536 some_condition_failed=False #Ifsome_condition_failedswitchestoTrue, , ! thenwestopcheckingthispartitionandcontinuetothe , ! nextpartition. 537 538 #Nowthatwehaveouredges,ourfirstconditiontocheckisifthe , ! identifiedgraphissubcubic.ObservationIV.23.1 539 #Foreachvertexintheidentifiedgraph,wecounthowmanyedgesitisin. 540 forxinrangelenpartition: 541 degree_of_x=0 542 foreinnew_edges: 543 ifxine: 544 degree_of_x+=1 545 ifdegree_of_x>3: #Ifwefindanewvertexofdegreemorethan3, , ! breakimmediatelyandcontinuetothenextpartition. 546 some_condition_failed=True 547 break 548 549 ifsome_condition_failed: 550 continue 551 552 #Tocheckthenextconditions,weusetheactualGraphobjectandget , ! informationaboutitsspecifiedfaces. 553 554 #First,getthegraph. 555 J=Graphlistnew_edges 556 #ThegraphwewillcheckJ_primemighthaveanadditionaledgetoclose , ! thecentralface. 557 J_prime=GraphJ 558 #Weaddtheedgeiftheconfigurationisopenandthespineendswerenot , ! identified. 559 new_end_1,new_end_2=ident_dict[NCS.faces[0][0]],ident_dict[NCS.faces[0][1]] 560 ifNCS.is_openandnew_end_1!=new_end_2: 561 J_prime.add_edge[new_end_1,new_end_2] #Ifthegraphalreadyhasthis , ! edge,thatisokay.Thentheedgeisalreadyservingthe 140
PAGE 151
, ! desiredpurpose. 562 563 #Then,getthelistofcentral/specifiedfacesforthisnewgraph.Wewill , ! needtocheckforpossibleidentificationoffacesinthe , ! identificationprocess,aswewantthefacestobedistinct , ! whenwecheckthenexttwoconditionsofObservationIV.23 , ! andgettheopenregionsofthegraph. 564 #Note:Wearenotcheckingthatthefaceshavebeenidentifiedwiththe , ! sameorientationsoftheirboundariesclockwisevs. , ! counterclockwise.Althoughthishappenstobeanecessary , ! conditionforacoresubgraph,itisenforcedbyour , ! planaritychecklater. 565 new_faces=[] #InitializenewfacesitwillbethefacesofJ_prime. 566 new_faces.append[ident_dict[x]forxinNCS.faces[0]] #Startwith , ! centralface. 567 central_face=new_faces[0] #Itwillhelpreadabilitytoreferto , ! 'central_face'insteadof'new_faces[0]'. 568 #Ifthecentralfacelengthisunspecifiedandthespineendswere , ! identified,thenweneedtoremoveoneofthespineendsto , ! avoidduplicateverticesinthefacelist. 569 ifNCS.is_openandnew_end_1==new_end_2: 570 central_face.pop 571 #Nowwedealwiththerestofthefaces. 572 forfaceinNCS.faces[1:]: 573 new_face=[ident_dict[x]forxinface] #Converttonewvertexlabels. 574 forprev_faceinnew_faces[1:]: #Westartcomparisonatindex1to , ! avoidcomparingwiththecentralface.Nospecifiedface , ! canbeidentifiedwiththecentralfacebecausethe , ! resultingfacewouldcontainacutedgethesharededge , ! betweenthetwofacesinthenaturalcoresubgraph.Since , ! thefacemustalsohavealengthatmost9,thisviolates , ! LemmaIV.17. 575 ifsetnew_face==setprev_face: #Ifthesetofverticesofthe , ! currentnewfaceisthesamesetofverticesasaprevious , ! face,thenthesefacesmusthavebeenidentifiedbecause , ! thegraphisnotacycle. 576 break 577 else: 578 new_faces.appendnew_face 579 580 #Nowwecanchecktoseeiftheidentifiedgraphhasanytrapped , ! 2vertices.ObservationIV.23.3wecheckthisbefore , ! ObservationIV.23.2becauseitiseasier 581 forvinJ_prime.vertices: 582 ifJ_prime.degreev!=2: 583 continue 584 #The2vertexvis"trapped"ifitappearsmorethanonceonthe , ! boundarywalksofthefixedfacesofJ_prime. 585 boundary_count_for_v=0 586 forfaceinnew_faces: 587 boundary_count_for_v+=face.countv 588 ifboundary_count_for_v>1: 589 some_condition_failed=True 590 break 591 592 ifsome_condition_failed: 593 continue 594 595 #NowwebegincheckingObservationIV.23.2.Thefirstthingwecheckis , ! thatthespinedoesnotwraponitselfObservation , ! IV.23.2saysthatthespinalpathshouldbeaboundarywalk , ! ofafaceinJ_prime.Aboundarywalkdoesnotrepeatan 141
PAGE 152
, ! edgeinthesamedirection. 596 #Weneedtocheckthisonlywhenthespinewasopentobeginwith. 597 ifNCS.is_open: 598 fori,jincombinationsrangelencentral_face1,2: 599 ifcentral_face[i]==central_face[j]andcentral_face[i+1]== , ! central_face[j+1]: 600 some_condition_failed=True 601 break 602 ifsome_condition_failed: 603 continue 604 605 #NowwefinishcheckingObservationIV.23.2.Foreachfixedfaceof , ! J_prime,weaddanewhubvertextobearepresentativefor , ! theface.Thenforeachedgeontheboundaryoftheface, , ! anothervertexisaddedwhichisconnectedtoboththe , ! endpointsoftheedgeandtothemidpointoftheedgeand , ! tothehubvertexrepresentingtheface.Inotherwords, , ! weglueawheellikestructureintoeachfaceina , ! particularwayalongthefaceboundary.Then,wewill , ! checktheresultinggraphforplanarity. 606 607 i=J_prime.order #iwillindexthelabelofeachnewvertex. 608 609 #First,wesubdivideeachedgesothatwecanconnectsomeofournew , ! verticestothemidpointsofouroriginaledges. 610 edge_dict={} #edge_dictwillkeeptrackofthelabelsofthemidpoints , ! ofouroriginaledges. 611 foredgeinJ_prime.edges: #TheGraphedgesiteratordoesnotaddedges , ! partwaythroughtheforloop.Eventhoughtheedgesof , ! J_primearechangingoverthecourseoftheforloop,the , ! objectsintheiteratorremainonlythoseoriginallyin , ! J_primewhentheforloopfirststarted. 612 J_prime.subdivide_edgeedge[0],edge[1],1 613 edge_dict[edge[0],edge[1]]=i 614 edge_dict[edge[1],edge[0]]=i #Keeptrackofbothorientationsof , ! theedgewedonotknowwhichorientationswewillneed. 615 i+=1 616 617 forfaceinnew_faces: 618 face_hub_vertex=i #face_hub_vertexisthehubofthewheellike , ! structurebeingembeddedontheface. 619 i+=1 620 J_prime.add_vertexface_hub_vertex 621 forjinrangelenface: 622 edge_hub_vertex=i #Foreachedgeontheface,edge_hub_vertexis , ! thevertexwhichisadjacenttoface_hub_vertexandalsoto , ! bothendpointsandmidpointoftheedge. 623 i+=1 624 J_prime.add_vertexedge_hub_vertex 625 J_prime.add_edgeedge_hub_vertex,face[j1] #Firstendpoint. , ! Stillworkswhenj==0duetoPython'sindexing. 626 J_prime.add_edgeedge_hub_vertex,face[j] #Secondendpoint. 627 J_prime.add_edgeedge_hub_vertex,edge_dict[face[j1],face[j]] , ! #Midpoint. 628 J_prime.add_edgeedge_hub_vertex,face_hub_vertex 629 630 631 #Finally,checkforplanarity. 632 ifJ_prime.is_planar: 633 #Ifwemadeitthisfar,thenallconditionswerepassed! 634 countCS+=1 635 #PrintinfoandyieldJnotJ_prime. 142
PAGE 153
636 print 637 print">>>"+"CoreSubgraph#%d"%countCS,"Partition#%d"%count 638 print""*10+"Partition:%s"%strpartition 639 print""*10+"Edges:%s"%str[e[:2]foreinJ.edges] 640 yieldJ,new_faces 641 642 print"Total#partitions:",count 643 644 645 646 647 648 649 650 651 652 653 654 655 #656 #Section3:StemStructureGeneration 657 #658 659 660 661 662 663 664 665 defget_open_region_rootsgraph,given_faces: 666 #graphisjusttheGraphobjectfromthecoresubgraphgenerator. 667 #given_facesisalistofsomefacesingraphthecentralface/spineaswell , ! asanyotherspecifiedfaces.Somefacesmighthavebeen , ! identifiedbycore_subgraph_generatorinthiscase,only , ! onerepresentativeremainsingiven_faces.Thecyclic , ! orderingforeachfaceisinthesameclockwiseorientation. 668 #given_faces[0]isthecentralface/spine. 669 #Weturneachedgeofthegraphintotwooppositelydirectededgesandthen , ! removeanyoftheedgesgoinginthedirectionof , ! given_faces.Theremainingdirectededgesarethen , ! partitionedintodisjointdirectedcycles,eachofwhichis , ! anopenregionofthegraph. 670 #Wereturnalistofopenregions,eachgivenasalistofrootsinthatregion , ! inclockwiseorder. 671 672 673 #First,weconsideralldirectededgesinthegraph. 674 all_directed_edges={e[0],e[1]foreingraph.edges}{e[1],e[0]fore , ! ingraph.edges} 675 #e[0],e[1]isonedirection,e[1],e[0]istheotherdirection.These , ! directionsarebasedonhowedgesarestoredingraph,not , ! ontheorientationingiven_faces. 676 677 #Inadditiontotheedgesingraph,wealsowanttocloseupthespineifthe , ! centralfaceisopen.Thisisbecausethespineendsare , ! connectedbysomeclosedcurve,separatingthecentralface , ! fromotheropenregions. 678 #Ifthecentralfacewasspecifiedtobeginwithorwasclosedby , ! core_subgraph_generator,thenthisnextlineisredundant. 679 all_directed_edges={given_faces[0][0],given_faces[0][1], , ! given_faces[0][1],given_faces[0][0]} 680 143
PAGE 154
681 #Second,weremovealldirectededgesfromgiven_facesincludingacrossthe , ! spineends. 682 facial_directed_edges={face[j1],face[j]forfaceingiven_facesforjin , ! rangelenface} 683 #pointer_dictisadictionarywhichassignseachtailofaremainingdirected , ! edgetotheheadofthedirectededge. 684 pointer_dict={e[0]:e[1]foreinall_directed_edgesfacial_directed_edges} 685 #Thedirectedgraphinducedbyall_directed_edgesfacial_directed_edgesisa , ! collectionofdisjointdirectedcyclesbecausethe , ! remainingdirectededgesarepreciselytheboundariesof , ! thefacesnotingiven_facesandbecauseeachedgeofthe , ! graphisontheboundaryofatleastonefacefrom , ! given_faces.Hencepointer_dictassignsavaluetoeach , ! keypreciselyonce. 686 outer_regions=[] #outer_regionswillbeourlistofopenregions. 687 688 whilepointer_dict: 689 v=pointer_dict.keys[0] #visanarbitraryinitialvertex. 690 new_region=[v] #new_regionwilleventuallybeadirectedcycle. , ! Initializeitasthelistcontainingjusttheelementv. 691 vtx=pointer_dict[v] #vtxisthenextvertexinthedirectedcycle. 692 delpointer_dict[v] #Nowthatweknowvtx,deletethedirectededgewe , ! justlookedat. 693 #Atthetopoftheloop,weknowwhatthenextvertexis,butwehavenot , ! yetaddedittonew_region. 694 whilevtx!=v: #Untilournextvertexisourinitialvertex. 695 new_region.appendvtx #Ifthenextvertexisnottheinitialvertex, , ! addittothelist. 696 next_vtx=pointer_dict[vtx] #Nowsteptothenextvertex,andlookat , ! thenewnextvertexpastit. 697 delpointer_dict[vtx] #Deletethedirectededgewejustlookedat. 698 vtx=next_vtx 699 outer_regions.appendnew_region 700 701 #Wenowhavethealltheverticesontheopenregions,butwecareonlyabout , ! theroots. 702 roots={vforvingraph.verticesifgraph.degreev==2} #Thisincludesthe , ! openspineends,ifthereareany. 703 return[[zforzinregionifzinroots]forregioninouter_regions] 704 705 706 707 708 709 710 711 712 713 714 715 716 defstem_structure_generatorroots_by_region: 717 #roots_by_regionisalistoflists,eachholdingacyclicorderingofdistinct , ! rootsinaregion.Wegenerateallpossiblewaysofadding , ! newedgesornewstemsofdegree1,2,or3thatpreserve , ! planaritywithineachregion. 718 #Weloopthroughthepossibilitiesforidentifyingthelastrootinthelast , ! regionwithearlierrootsinthelastregion.Foreach , ! possibility,wefragmentthelastregionintotheresulting , ! smallerregionsandrecursivelycallthegenerator. 719 #Theyieldedoutput"structure"isalistofthreelists:thepairsfrom , ! alltheregionswhichformanewedge,thepairswhich 144
PAGE 155
, ! solelyshareastem2stem,andthetripleswhichsharea , ! stem3stem. 720 721 #Note:Wedonotbothertocheckifa"new"edgealreadyexistsinthecore , ! subgraphforexample,iftworootsareadjacentonaface, , ! thenthereisalreadyanedgebetweenthem.Iftheedge , ! isalreadypresent,thenwhenweadditin , ! core_square_graphthereisnoeffect.Sowearegenerating , ! redundantrealizationsinexchangeforsimplicity.In , ! fact,wegenerateredundantrealizationsasaresultof , ! certain2stemsand3stemsaswell. 722 723 #Iftherearenoregionswithanyavailablerootsleft,thenyieldtheempty , ! structure. 724 iflenroots_by_region==0: 725 yield[[],[],[]] 726 return 727 728 #Otherwise,examinethelastregion. 729 else: 730 roots=roots_by_region[1] 731 732 #Ifthelastregionhasatmostoneroot,thentherearenopossiblepairs , ! ortriplesinthatlastregion.Thismeansthatthe , ! structureswecanobtainfromroots_byregionareexactly , ! thestructureswecanobtainfromroots_by_region[:1]. 733 iflenroots<2: 734 forsubstructureinstem_structure_generatorroots_by_region[:1]: 735 yieldsubstructure 736 return 737 738 #Ifthelastregionhasatleasttworoots,thenwecantrytoformpairs , ! ortriples.Wedosoconditionedonthelastroot. 739 else: 740 741 #Case1:Conditiononthelastrootbeingina3stem. 742 fortwoincombinationsrangelenroots1,2: 743 #Breakupthelastregionintothreeregions. 744 new_roots_by_region=roots_by_region[:1] 745 new_roots_by_region.appendroots[:two[0]] 746 new_roots_by_region.appendroots[two[0]+1:two[1]] 747 new_roots_by_region.appendroots[two[1]+1:1] 748 #Foreachsubstructureonnew_roots_by_region,appendourtripleto , ! thelistof3stemsandyield. 749 forsubstructureinstem_structure_generatornew_roots_by_region: 750 structure=[[setxforxiny]foryinsubstructure] 751 structure[2].append{roots[two[0]],roots[two[1]],roots[1]} 752 yieldstructure 753 754 #Case2:Conditiononthelastrootbeinginanewedge. 755 foroneinrangelenroots1: 756 #Breakupthelastregionintotworegions. 757 new_roots_by_region=roots_by_region[:1] 758 new_roots_by_region.appendroots[:one] 759 new_roots_by_region.appendroots[one+1:1] 760 #Foreachsubstructureonnew_roots_by_region,appendourpairto , ! thelistofedgesandyield. 761 forsubstructureinstem_structure_generatornew_roots_by_region: 762 structure=[[setxforxiny]foryinsubstructure] 763 structure[0].append{roots[one],roots[1]} 764 yieldstructure 765 145
PAGE 156
766 #Case3:Conditiononthelastrootbeingina2stem.Virtually , ! identicaltoCase2. 767 foroneinrangelenroots1: 768 #Breakupthelastregionintotworegions. 769 new_roots_by_region=roots_by_region[:1] 770 new_roots_by_region.appendroots[:one] 771 new_roots_by_region.appendroots[one+1:1] 772 #Foreachsubstructureonnew_roots_by_region,appendourpairto , ! thelistof2stemsandyield. 773 forsubstructureinstem_structure_generatornew_roots_by_region: 774 structure=[[setxforxiny]foryinsubstructure] 775 structure[1].append{roots[one],roots[1]} 776 yieldstructure 777 778 #Case4:Conditiononthelastrootbeingina1stembyitself. 779 #Removethelastrootfromthelastregion. 780 new_roots_by_region=roots_by_region[:1] 781 new_roots_by_region.appendroots[:1] 782 #Inthiscase,thestructureswecanobtainfromroots_byregionare , ! exactlythestructureswecanobtainfromnew_roots_by_region. 783 forsubstructureinstem_structure_generatornew_roots_by_region: 784 yieldsubstructure 785 786 #Afterconsideringallthepossibilitiesforthelastrootinthelast , ! region,wearefinished. 787 return 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 #814 #Section4:CheckingRealizations 815 #816 817 818 819 820 defcheck_all_stem_structures_for_given_core_subgraphgraph,open_region_roots: 821 globalch_timer 822 823 #Givenacoresubgraphasagraphandalistofrootorderingsintheopen 146
PAGE 157
, ! regions,wegenerateallstemstructuresamongtheroots , ! intheirrespectiveopenregions.Foreachresulting , ! realization,wecheckcorechoosability. 824 825 #Initializesummaryvariables 826 begin=time.clock 827 count=0 #Totalnumberofstemstructuresandthusrealizationsforthis , ! coresubgraph 828 good_count=0 #Numberofcorechoosablerealizations 829 bad_count=0 #Numberofnoncorechoosablerealizations 830 831 print""*15+"IndexGoodBadTimeCSCum.StemStructure" 832 833 #Nowwecheckthemall. 834 i=0 #iistheindexofeachstemstructure,forprintingpurposes 835 forSSinstem_structure_generatoropen_region_roots: 836 i+=1 837 G_sq,f=core_square_graphgraph,SS 838 839 #fChoosabletakesagraphandalistsizefunctionandreturnsatupleof , ! atleasttwoelements.Thefirstelementisboolean:True , ! meansthatthegraphisfchoosable,andFalsemeansitis , ! not.Thesecondelementisastringindicatingthemethod , ! usedforitsevaluation:'error','greedy','CNS',or'brute' 840 ch_begin=time.clock 841 y=ch.fChoosableG_sq,f,inprocess=4 842 ch_end=time.clock 843 ch_timer+=ch_endch_begin 844 ify[0]: 845 good_count+=1 846 else: 847 bad_count+=1 848 ti=timestringtime.clockbegin 849 print""*20lenstri+stri+" , ! "*10lenstrgood_count+strgood_count+" , ! "*6lenstrbad_count+strbad_count+" , ! "*17lenti+ti+""+strSS 850 851 #Printaconcludingstatement. 852 ifbad_count: 853 print">>>Uhoh!Problem!" 854 else: 855 print">>>Thiscoresubgraphisgoodwithallstemstructures!" 856 print 857 858 #Returnthetotalnumberofrealizationsandthenumberofbadrealizations. 859 returngood_count,bad_count 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 defcheck_all_realizations_from_initial_plane_graphNCS,forbid_identifications={}: 147
PAGE 158
875 #NCSisanobjectfromtheNaturalCoreSubgraphclasswhichholdsallthe , ! informationweneedtopassontocore_subgraph_generator. , ! ForLemma20,wedonotneedtochangeanythingaboutNCS , ! fromwhatthecontructordid.However,forLemma29we , ! willhavealreadymadesomechangesmanually. 876 #forbid_identificationsisadictionaryholdingvertex:{setofverticeswhich , ! cannotbeidentifiedwithvertex}.Inadditiontothe , ! forbiddenidentificationsfromLemma9thatweusein , ! core_subgraph_generator,thisallowsustomanuallyinsert , ! otherrestrictionsforLemma29. 877 #Weusecore_subgraph_generatortogenerateallcoresubgraphswhichcanbe , ! formedfromourinitialplanegraph.Foreachofthese,we , ! findtheopenregionsandlisttherootsineachregionin , ! cyclicorder.Usingthisinformation,foreachcore , ! subgraphwegenerateallpossiblestemstructuresandcheck , ! theresultingrealizationsforcorechoosability.The , ! resultsareprinted. 878 879 #Initializesummaryvariables 880 begin=time.clock 881 core_subgraph_count=0 #Countsthetotalnumberofcoresubgraphs 882 realization_count=0 #Countsthetotalnumberofrealizations 883 bad_count=0 #Countsthetotalnumberofrealizationswhicharenot , ! corechoosable 884 885 #totals_strwillkeeptrackoftheindividualtotalsforeachcoresubgraph 886 totals_str="CS##SS#Badn" 887 888 #Foreachcoresubgraph,wegenerateeachstemstructureandcheckthe , ! resultingrealizationforcorechoosability. 889 forCSincore_subgraph_generatorNCS,forbid_identifications: 890 #CSisatupleofagraph,alistoffacesinthegraph. 891 892 #Getthenecessaryinformationforthestemstructuregenerator. 893 #open_region_rootsisalistcontainingorderingsofrootsfromeachopen , ! regionfromthecoresubgraph. 894 open_region_roots=get_open_region_rootsCS[0],CS[1] 895 896 #Checkthestemstructures 897 good_stem_structure_count,bad_stem_structure_count= , ! check_all_stem_structures_for_given_core_subgraphCS[0], , ! open_region_roots 898 899 #Updatethesummaryinfo 900 core_subgraph_count+=1 901 realization_count+=good_stem_structure_count+bad_stem_structure_count 902 bad_count+=bad_stem_structure_count 903 core_subgraph_count_str=strcore_subgraph_count 904 stem_structure_count_str= , ! strgood_stem_structure_count+bad_stem_structure_count 905 bad_stem_structure_count_str=strbad_stem_structure_count 906 totals_str+=""*max9lencore_subgraph_count_str,0+ , ! core_subgraph_count_str+""* , ! max18lenstem_structure_count_str,0+ , ! stem_structure_count_str+""* , ! max11lenbad_stem_structure_count_str,0+ , ! bad_stem_structure_count_str+"n" 907 908 #Nowwrapupandprintallthatinformation! 909 910 #First,printthesummaryforeachcoresubgraph. 911 print"Done!nSummary:" 148
PAGE 159
912 printtotals_str 913 914 #Second,printaconcludingstatementandtotals 915 ifbad_count>0: 916 print"Nope!Somerealizationsarenotcorechoosable.n" 917 else: 918 print"Good!Allrealizationsarecorechoosable!n" 919 920 print"Totalsfor%s:"%NCS.name 921 print"Total#coresubgraphs:",core_subgraph_count 922 print"Total#realizations:",realization_count 923 print"Total#noncorechoosablerealizations:",bad_count 924 print"Totaltime:"+timestringtime.clockbegin 925 print"CumulativeTimeinfChoosable:"+timestringch_timer 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 defcheck_all_realizations_of_configurationconfig_str: 941 #Givenaconfigurationasstringinthec/anotationdescribedinacomment , ! above,generatesandcheckseveryrealizationfor , ! corechoosability. 942 #Thissimplypreparesthenaturalcoresubgraphandfeedsitinto , ! check_all_realizations_from_initial_plane_graph. 943 944 print"Configuration:",config_str 945 print"Checkingallrealizationsforcorechoosability.n" 946 947 #TheNaturalCoreSubgraphclasspreparesalltheinformationweneedaboutthe , ! naturalcoresubgraphoftheconfiguration. 948 NCS=NaturalCoreSubgraphconfig_str 949 950 check_all_realizations_from_initial_plane_graphNCS,forbid_identifications={} 149
PAGE 160
APPENDIXG DiscussionofCodeImplementationforChapterIV Forthoseinterestedinunderstandingthebigideasofourimplementationwithout readingthecodelinebyline,wehaveincludedherediscussionofcertainroutinesofour code. NaturalCoreSubgraph Inourcode,wedenetheclass NaturalCoreSubgraph tocontainallthenecessary informationforgeneratingcoresubgraphs.Givenacongurationname, NaturalCoreSubgraph constructsanobjectwhichstorestheedges,spine,andspecied facesofthenaturalcoresubgraph,amongotherthings.Sothemaintaskofthe constructoristobuildthegraphfromastring. Wewilluseaboolean is open todistinguishbetweenopencongurationsTrueand thosewillspeciedcentralfacelengthsFalse.Wewillusethelist facial length list to storethefaciallengthlist,withspeciedentriesasintegersandwildcardcharactersasthe string `x' .Wewillstorethecentralandspeciedfacesinthelist faces .Eachentryof faces willbealistofverticeswhichformaclockwiseboundaryofaspeciedfaceofthe naturalcoresubgraph.Theonlyexceptiontothisiswhenthecongurationisopen,in whichcasethelistcorrespondingtothecentralfaceistheclockwiseorderingofthevertices onthespine.In faces ,thespine/centralfaceistherstentry,followedbythefaces speciedbythefaciallengthlistoftheconguration. Theemphasisofthepseudocodebelowistodescribehowthegraphisbuiltandhow thecentralandspeciedfacesarestored.Inouractualcode,westoretheedgesinsteadof makingtheSageGraphobject.Wealsomakenoteofseveralotherthingsaswell.Also,we assumeifthecentralfacelengthisspeciedassome k ,thatthefaciallengthlisthas strictlyfewerthan k entries. 150
PAGE 161
Algorithm2 Buildthenaturalcoresubgraph 1: procedure NaturalCoreSubgraph conguration string . Inputisgiveninc/a notation. 2: Parse conguration string toobtain is open booleanand facial length list list. 3: Initialize faces astheemptylist. . faces willstorelistsofvertices. 4: if is open then . Buildtheopencentralface. 5: Buildthecentralfaceasapathonvertices0,..., len facial length list . 6: Append[0,..., len facial length list ]to faces . 7: else . Buildthecentralfaceofspeciedlength. 8: Parsethestringtoobtain central face length integer. 9: Buildthecentralfaceasacycleonvertices0,..., central face length 1. 10: Append[0,..., central face length 1]to faces . 11: endif 12: forall i 0,..., len facial length list 1 do 13: if facial length list [ i ] 6 = `x' then . Buildthecorrespondingspeciedface. 14: Lookatthepreviousentryortwoof facial length list . 15: Makenoteofhowmanyedgesthenewfaceshareswithpreviousfaces. 16: Buildanyremainingedgesforthenewspeciedfacetocloseotheshared edges. 17: Append[ i +1, i ,...]tofaces,where..."representssharedverticesfollowed bynewvertices. 18: endif 19: endfor 20: endprocedure Belowwegiveanexamplefortheconguration45 5showingthestateofthecodeat line11andeachoccurrenceatline18. Line11: Variable Value conguration string `cxa45x5' doesnotchange is open True doesnotchange facial length list [4,5,`x',5] doesnotchange faces [[0,1,2,3,4]] graph 151
PAGE 162
Line18: Variable Value faces [[0,1,2,3,4],[1,0,5,6]] i 0 graph Line18: Variable Value faces [[0,1,2,3,4],[1,0,5,6],[2,1,6,7,8]] i 1 graph 152
PAGE 163
Line18: Variable Value faces [[0,1,2,3,4],[1,0,5,6],[2,1,6,7,8]] i 2 graph Notethattherearenochangesin faces orthegraphfromthepreviousstep. Line18: Variable Value faces [[0,1,2,3,4],[1,0,5,6],[2,1,6,7,8],[4,3,9,10,11]] i 3 graph 153
PAGE 164
restricted partition generator Whengeneratingcoresubgraphsofaconguration,byObservation4.20wecan generateallidenticationsofverticesofthenaturalcoresubgraph.Eachofthese identicationsisrepresentedbyapartitionofthevertices.However,thenumberof partitionsgrowsquicklywiththenumberofverticesseeOEISA000110[1].By Observations4.21and4.22,wecanprunethenumberofpartitionswegenerateby observingrestrictionsduringthepartitiongeneration.Weuseastandardapproachto recursivepartitiongenerationsee[9],butaddachecktoprunerestrictedpartitions duringthegeneration. Thepurposeof restricted partition generator istogenerateallpartitionswhich avoidcertainpairsofobjectsbeingplacedinthesamepart.Thegeneratorneedstobe givenalist list ofdistinctobjectsaswellasadictionary forbidden dict whichcontainsall oftherestrictionsweareavoiding.Foreachelement a of list ,thedictionary forbidden dict maps a toasetofelementswhichwewillpreventfrombeinginthesamepartas a .The generatorwillusethisinformationtorecursivelygenerateallpermissiblepartitions. Ourcodediersfromthefollowingpseudocodeinthatitavoidsmakingcopiesand insteadmodiesthepartitionsinplace. 154
PAGE 165
Algorithm3 Generatepartitionsavoidingrestrictions 1: procedure restricted partition generator list , forbidden dict 2: if len list =0 then 3: yield [] . Yieldtheemptypartition. 4: return 5: else . Otherwise,callthegeneratorforasmallerlist. 6: Dene last element tobethelastelementof list . 7: Dene li tobeacopyof list without last element . 8: forall li partition yieldedby restricted partition generator li , forbidden dict do 9: forall i 0,..., len li partition 1 do 10: if partition [ i ] forbidden dict [ last element ]= ? then . Checkfor restrictions. 11: Dene partition tobeacopyof li partition . 12: Add last element totheset partition [ i ]. 13: yield partition 14: endif 15: endfor . Nowmakeanewpartcontainingonly last element . 16: Dene partition tobeacopyof li partition . 17: Appendthesingletonset f last element g tothelist partition . 18: yield partition 19: endfor 20: return 21: endif 22: endprocedure core subgraph generator With NaturalCoreSubgraph and restricted partition generator inhand,wecan generatecoresubgraphs.Wegivethisgeneratoranobject NCS fromthe NaturalCoreSubgraph classandadictionary forbid identications whichoptionally containssomeadditionalrestrictionsotherthanthosestatedinObservations4.21and4.22. ThegeneratorthencreatesadictionaryoftherestrictionsstatedinObservations4.21 and4.22andaddsthosefrom forbid identications .Foreachpartitionavoidingthese restrictions,thegeneratorcheckstheconditionsinobservation4.23.Ifallconditionsare passed,thenthegeneratoryieldsboththeidentiedgraphandalistofthespeciedfaces intheidentiedgraph. Inourcode,wedonotmakethegraph J beforethesubcubictestaswedointhe 155
PAGE 166
pseudocodeline5.ToavoidmakingtheSageGraphobjectuntilnecessary,weusealist ofedgesstoredin NCS . Algorithm4 Generatecoresubgraphswhichcanappearinaminimalcounterexample 1: procedure core subgraph generator NCS , forbid identications 2: Createthedictionary forbidden dict withrestrictionfromObservations4.21and4.22. 3: Addtherestrictionsfrom forbid identications to forbidden dict . 4: forall partition yieldedby restricted partition generator NCS.vertices , forbidden dict do 5: Createtheidentiedgraph J from NCS.graph byidentifyingthepartsof partition . Thepart partition [ i ]becomesvertex i in J . 6: if J isnotsubcubic then 7: continue . Returntotopofloop. 8: endif 9: Createthegraph J' from J byclosingthecentralfaceifitisstillopen. 10: Createthelist new faces bycopying NCS.faces andrelabelingtheelementsinthe lists. Avertex v isrelabeled i ifandonlyif v 2 partition [ i ]. 11: Removeanyduplicatelistsfrom new faces whichhavethesamesetofnewvertices. 12: if any2vertexof J' islistedmorethanonceanywherein new faces then 13: continue . Returntotopofloop. 14: endif 15: if NCS.is open and new faces [0]wrapsonitself then 16: continue . Returntotopofloop. 17: endif 18: Subdivideeachedgeofthegraph J' . 19: Foreachfacein new faces ,attachawheellikestructuretotheboundary. . Describedbelow. 20: if J' isplanar then 21: yield J , new faces . Allconditionshavebeenpassed. 22: endif 23: endfor 24: return 25: endprocedure 156
PAGE 167
APPENDIXH ReducibleCongurationsforTheorem4.9 Belowwehaveincludeddetailsforthe76reduciblecongurationsinthetargetset. Alongwiththenameoftheconguration,somedatafromthecomputationverifyingthe reducibilityofthecongurationislisted.Totherightofthisdataisthenaturalcore subgraphoftheconguration. #Partitions"isthetotalnumberofidenticationsofcoreverticesexceptthose describedinObservation4.21andObservation4.22.Foreachofthese,theconditions ofObservation4.23werechecked. #CoreSubgraphs"isthetotalnumberofidenticationswhichpassedtheconditions asdescribedabove.Foreachofthese,wegeneratedandcheckedtherealizationsfor theresultingcoresubgraph. #Realizations"isthetotalnumberofrealizationsforthecongurationoverallcore subgraphs.Eachoftheserealizationswereveriedtobecorechoosable. Thenaturalcoresubgraphforthecongurationisembeddedsuchthatthespinefalls onahorizontallinewiththecentralfacebelow.Inadditiontoshowingthegraph,we haveplacedaboveeachedgeofthespinethecorrespondingentryfromthe conguration'sfaciallengthlist.Thelengthofthecentralfaceor ,ifthe congurationisopenhasbeenplacedbelowthespine. Overall76congurations,thetotalnumberofpartitionsgeneratedwas20,992,414,445. Thetotalnumberofcoresubgraphsgeneratedwas529.Thetotalnumberofrealizations generatedwas773,772.Thetotalrunningtimewas4days7hours50minutes54seconds. Ofthis,thetotaltimespentinthe fChoosable routinewas1hour27minutes51seconds. ThecomputationsverifyingTheorem4.9wereperformedsinglethreadedona machinewithanIntelXeonE526952.1GHzprocessor.ThemachinerunsUbuntu18.04.2, andthesourcecodewasexecutedbySageMath8.1[54]. 157
PAGE 168
Details NaturalCoreSubgraph Conguration:33 #Partitions:2 #CoreSubgraphs:1 #Realizations:3 RunningTime: < 1s 3 3 Conguration:3 3 #Partitions:15 #CoreSubgraphs:2 #Realizations:26 RunningTime: < 1s 3 3 Conguration:3 3 #Partitions:52 #CoreSubgraphs:2 #Realizations:82 RunningTime: < 1s 3 3 Conguration:3 3 #Partitions:203 #CoreSubgraphs:2 #Realizations:277 RunningTime: < 1s 3 3 158
PAGE 169
Conguration:3 5 3 #Partitions:60,814 #CoreSubgraphs:6 #Realizations:3,464 RunningTime:13s 3 5 3 Conguration:34 #Partitions:3 #CoreSubgraphs:1 #Realizations:8 RunningTime: < 1s 3 4 Conguration:3 4 #Partitions:37 #CoreSubgraphs:2 #Realizations:82 RunningTime: < 1s 3 4 Conguration:35 4 #Partitions:1,013 #CoreSubgraphs:4 #Realizations:279 RunningTime: < 1s 3 5 4 159
PAGE 170
Conguration:3 54 #Partitions:1,013 #CoreSubgraphs:3 #Realizations:280 RunningTime: < 1s 3 5 4 Conguration:3 54 #Partitions:4,762 #CoreSubgraphs:3 #Realizations:964 RunningTime:3s 3 5 4 Conguration:3 54 #Partitions:24,207 #CoreSubgraphs:4 #Realizations:3,432 RunningTime:12s 3 5 4 Conguration:355 #Partitions:114 #CoreSubgraphs:1 #Realizations:81 RunningTime: < 1s 3 5 5 160
PAGE 171
Conguration:375 #Partitions:658 #CoreSubgraphs:5 #Realizations:965 RunningTime:3s 3 7 5 Conguration:3 555 #Partitions:378,791 #CoreSubgraphs:6 #Realizations:3,459 RunningTime:29s 3 5 5 5 Conguration:36 #Partitions:5 #CoreSubgraphs:1 #Realizations:81 RunningTime: < 1s 3 6 Conguration:356 #Partitions:295 #CoreSubgraphs:2 #Realizations:275 RunningTime: < 1s 3 5 6 161
PAGE 172
Conguration:44 #Partitions:7 #CoreSubgraphs:1 #Realizations:25 RunningTime: < 1s 4 4 Conguration:454 #Partitions:151 #CoreSubgraphs:2 #Realizations:82 RunningTime: < 1s 4 5 4 Conguration:464 #Partitions:372 #CoreSubgraphs:2 #Realizations:277 RunningTime: < 1s 4 6 4 Conguration:474 #Partitions:799 #CoreSubgraphs:4 #Realizations:967 RunningTime:3s 4 7 4 162
PAGE 173
Conguration:4 54 #Partitions:4,762 #CoreSubgraphs:4 #Realizations:972 RunningTime:4s 4 5 4 Conguration:4 55 4 #Partitions:34,917,171 #CoreSubgraphs:17 #Realizations:46,418 RunningTime:13m30s 4 5 5 4 Conguration:4 555 4 #Partitions:6,638,968,242 #CoreSubgraphs:27 #Realizations:172,325 RunningTime:1d3h52m11s 4 5 5 5 4 Conguration:4 4 4 4 #Partitions:103,004,851 #CoreSubgraphs:30 #Realizations:47,101 RunningTime:17m43s 4 4 4 4 163
PAGE 174
Conguration:4 45 #Partitions:4,762 #CoreSubgraphs:4 #Realizations:967 RunningTime:1s 4 4 5 Conguration:4555 #Partitions:47,234 #CoreSubgraphs:2 #Realizations:961 RunningTime:2s 4 5 5 5 Conguration:4 5555 #Partitions:434,709,740 #CoreSubgraphs:13 #Realizations:45,993 RunningTime:1h20m52s 4 5 5 5 5 Conguration:456 #Partitions:1,543 #CoreSubgraphs:3 #Realizations:964 RunningTime:3s 4 5 6 164
PAGE 175
Conguration:535 #Partitions:15 #CoreSubgraphs:1 #Realizations:25 RunningTime: < 1s 5 3 5 Conguration:555555 #Partitions:12,172,710,066 #CoreSubgraphs:11 #Realizations:45,536 RunningTime:2d16h14m56s 5 5 5 5 5 5 Conguration:546 #Partitions:1,543 #CoreSubgraphs:5 #Realizations:975 RunningTime:3s 5 4 6 Conguration:3:57 #Partitions:115 #CoreSubgraphs:3 #Realizations:278 RunningTime: < 1s 5 7 3 165
PAGE 176
Conguration:4:55 #Partitions:114 #CoreSubgraphs:1 #Realizations:81 RunningTime: < 1s 5 5 4 Conguration:4:56 #Partitions:295 #CoreSubgraphs:2 #Realizations:275 RunningTime:2s 5 6 4 Conguration:4:57 #Partitions:658 #CoreSubgraphs:4 #Realizations:960 RunningTime:5s 5 7 4 Conguration:4:66 #Partitions:953 #CoreSubgraphs:4 #Realizations:962 RunningTime:3s 6 6 4 166
PAGE 177
Conguration:4:585 #Partitions:47,224 #CoreSubgraphs:7 #Realizations:3,449 RunningTime:20s 5 8 5 4 Conguration:4:676 #Partitions:419,164 #CoreSubgraphs:13 #Realizations:12,586 RunningTime:57s 6 7 6 4 Conguration:4:686 #Partitions:1,442,042 #CoreSubgraphs:19 #Realizations:46,346 RunningTime:3m26s 6 8 6 4 Conguration:5:555 #Partitions:7,754 #CoreSubgraphs:2 #Realizations:275 RunningTime:1s 5 5 5 5 167
PAGE 178
Conguration:5:556 #Partitions:29,982 #CoreSubgraphs:3 #Realizations:959 RunningTime:4s 5 5 6 5 Conguration:5:565 #Partitions:29,982 #CoreSubgraphs:2 #Realizations:956 RunningTime:3s 5 6 5 5 Conguration:5:566 #Partitions:131,092 #CoreSubgraphs:6 #Realizations:3,418 RunningTime:21s 5 6 6 5 Conguration:5:575 #Partitions:101,110 #CoreSubgraphs:6 #Realizations:3,419 RunningTime:36s 5 7 5 5 168
PAGE 179
Conguration:5:656 #Partitions:131,092 #CoreSubgraphs:8 #Realizations:3,426 RunningTime:47s 6 5 6 5 Conguration:5:666 #Partitions:633,404 #CoreSubgraphs:12 #Realizations:12,437 RunningTime:1m33s 6 6 6 5 Conguration:5:4 55 #Partitions:13,221 #CoreSubgraphs:3 #Realizations:280 RunningTime: < 1s 4 5 5 5 Conguration:5:5 65 #Partitions:254,769 #CoreSubgraphs:9 #Realizations:3,483 RunningTime:34s 5 6 5 5 169
PAGE 180
Conguration:5:5585 #Partitions:14,113,147 #CoreSubgraphs:10 #Realizations:12,482 RunningTime:5m10s 5 5 8 5 5 Conguration:5:5 66 #Partitions:1,173,468 #CoreSubgraphs:13 #Realizations:12,658 RunningTime:6m4s 5 6 6 5 Conguration:5:55 6 #Partitions:254,769 #CoreSubgraphs:10 #Realizations:3,480 RunningTime:1m10s 5 5 6 5 Conguration:5:56 6 #Partitions:1,173,468 #CoreSubgraphs:16 #Realizations:12,645 RunningTime:2m57s 5 6 6 5 170
PAGE 181
Conguration:5:6 66 #Partitions:5,939,311 #CoreSubgraphs:24 #Realizations:46,632 RunningTime:16m48s 6 6 6 5 Conguration:7:3 4 #Partitions:198 #CoreSubgraphs:1 #Realizations:274 RunningTime: < 1s 3 4 7 Conguration:7:3 5 #Partitions:909 #CoreSubgraphs:3 #Realizations:957 RunningTime:1s 3 5 7 Conguration:7:4 4 #Partitions:1,107 #CoreSubgraphs:3 #Realizations:959 RunningTime:1s 4 4 7 171
PAGE 182
Conguration:7:4 55 #Partitions:157,189 #CoreSubgraphs:6 #Realizations:3,434 RunningTime:13s 4 5 5 7 Conguration:7:4 55 #Partitions:157,189 #CoreSubgraphs:3 #Realizations:3,405 RunningTime:13s 4 5 5 7 Conguration:7:4 5 5 #Partitions:1,414,243 #CoreSubgraphs:13 #Realizations:12,593 RunningTime:1m12s 4 5 5 7 Conguration:7:55 5 #Partitions:918,699 #CoreSubgraphs:13 #Realizations:12,502 RunningTime:27m46s 5 5 5 7 172
PAGE 183
Conguration:8:3 4 #Partitions:315 #CoreSubgraphs:2 #Realizations:956 RunningTime:1s 3 4 8 Conguration:8:3 4 #Partitions:315 #CoreSubgraphs:1 #Realizations:953 RunningTime:1s 3 4 8 Conguration:8:35 5 #Partitions:61,281 #CoreSubgraphs:8 #Realizations:3,480 RunningTime:12s 3 5 5 8 Conguration:8:35 5 #Partitions:61,281 #CoreSubgraphs:7 #Realizations:3,443 RunningTime:12s 3 5 5 8 173
PAGE 184
Conguration:8:35 5 #Partitions:61,281 #CoreSubgraphs:7 #Realizations:3,423 RunningTime:13s 3 5 5 8 Conguration:8:35 5 #Partitions:61,281 #CoreSubgraphs:9 #Realizations:3,466 RunningTime:12s 3 5 5 8 Conguration:8:3 55 55 #Partitions:1,377,549,896 #CoreSubgraphs:12 #Realizations:12,438 RunningTime:7h28m53s 3 5 5 5 5 8 Conguration:8:45 4 #Partitions:71,473 #CoreSubgraphs:4 #Realizations:3,408 RunningTime:10s 4 5 4 8 174
PAGE 185
Conguration:8:455 5 #Partitions:20,444,362 #CoreSubgraphs:11 #Realizations:12,454 RunningTime:5m39s 4 5 5 5 8 Conguration:8:4 5 4 4 #Partitions:43,566,549 #CoreSubgraphs:15 #Realizations:12,739 RunningTime:10m33s 4 5 4 4 8 Conguration:9:3 4 #Partitions:472 #CoreSubgraphs:3 #Realizations:3,406 RunningTime:5s 3 4 9 Conguration:9:3 4 #Partitions:472 #CoreSubgraphs:2 #Realizations:3,397 RunningTime:6s 3 4 9 175
PAGE 186
Conguration:9:35 5 #Partitions:140,727 #CoreSubgraphs:12 #Realizations:12,624 RunningTime:46s 3 5 5 9 Conguration:9:455 4 #Partitions:8,485,458 #CoreSubgraphs:8 #Realizations:12,431 RunningTime:2m51s 4 5 5 4 9 Conguration:9:455 5 #Partitions:64,259,686 #CoreSubgraphs:16 #Realizations:45,883 RunningTime:28m53s 4 5 5 5 9 Conguration:9:545 5 #Partitions:64,259,686 #CoreSubgraphs:22 #Realizations:46,314 RunningTime:20m42s 5 4 5 5 9 176

