HRflHanaHi HmMHr MQHTlF Hffl m WPww W MwW H 11 1 B ras ip ll&raHllllm 10 Eswi8H bSmShhSBSH nraH oraK m 1 I Eflgl In BBS H HB B H g ffMM iliiil jKs H3Gj Br JmMWifWQKirzz JflB Bui2 B 1111 »&$ BJ^HB&ffi&I ■ ■CSz BHKvjQwbCX JWWmXWC LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 5IO. S4 )no. 800 - 8o*3 Digitized by the Internet Archive in 2013 http://archive.org/details/computationoffou802koch M w,' V UIUCDCS-R- 76-802 pu- L * i COMPUTATION OF FOUR COLOR IRREDUCIBILITY by John Allen Koch May 1976 The Library of the JUN 2 8 1976 University ot Illinois at Urbana -Champaign DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA, ILLINOIS UIUCDCS-R-76-802 COMPUTATION OF FOUR COLOR IRREDUCIBILITY *y John Allen Koch May 1976 Department of Computer Science University of Illinois at Urbana-Champaign Urbana, Illinois 6l801 This work was supported in part by the Department of Computer Science and in part by the National Science Foundation under Grant MCS 73-03^08, and was submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science, 197& • Ill ACKNOWLEDGMENTS The author wishes to express his gratitude to his thesis advisor, Professor Kenneth Appel, and to his Committee Chairman, Professor C. L. Liu, for their many suggestions and continuous encouragement . Thanks are also in order to my office mates, Jim Bitner and Brian Hansche, for many enlightening discussions. The consultants of the Computing Services Office are also to "be thanked for their assistance in debugging and system interface. The speedy and accurate typing of Connie Slovak is greatly appreciated. Finally, this thesis is dedicated to my wife, Mimi, whose support and encouragement enabled this thesis to be completed. IV TABLE OF CONTENTS CHAPTER Page 1 . INTRODUCTION AND HISTORY 1 2 . DEFINITIONS 6 3 . DIRECT AND INDIRECT COLORATIONS 25 k . REDUCER GENERATION kO 5 . IMPLEMENTATION OF REDUCER GENERATION 58 6 . C-REDUCTION 72 7 . PROGRAM OUTPUT 80 8 . CONCLUSIONS AND EXTENSIONS 88 LIST OF REFERENCES 91 APPENDIX A 93 APPENDIX B 103 APPENDIX C 106 APPENDIX D 108 APPENDIX E -. . . 112 VITA Uk CHAPTER 1 INTRODUCTION AND HISTORY The Four Color Conjecture (4CC) has remained a conjecture for over 100 years despite numerous attempts to prove or disprove it. The 4CC is intriguing because it can be simply stated but has been so difficult to prove. The Conjecture is concerned with coloring the countries (regions) of a planar map. A planar map may be thought of as a graph that can be embedded in the plane. A country of the map must be a region of the graph. Two countries, say A and B of Figure 1.1(a), are called adjacent when they share a common border that is not just a single point. A coloring of the map is an assignment of a color to each country. Four Color Conjecture : The countries of every planar map can be colored using a maximum of k colors so that no two countries that are adjacent have the same color. The dual formulation of the i^CC in graph theoretic terms is used in this thesis. (All terms used in Chapter 1 are defined in Chapter 2.) The conjecture now becomes: Four Color Conjecture ; The vertices of every planar graph can be colored using a maximum of k colors so that no two adjacent vertices have the same color. (a) Countries of a map (b) A ^-coloring of a map Figure 1.1 Planar maps The history of the i+-CC is interesting and varied. The first known statement of the Ij-CC was made in about 1856 by Frances Guthrie [10] . The first erroneous proof of the 1+CC was published by A. B. Kampe [15] in 1879. His proof contained the first configurations that were shown to be reducible. A configuration may be thought of as a connected, completely triangulated graph surrounded by a circuit of vertices. Informally, a configuration is reducible if it cannot be a subgraph of a minimal counterexample to the IfCC. (This is only an informal definition since the reducibility of a configuration might depend on the truth of the 4CC.) Kempe's proof used a set of configurations which was unavoidable in the sense that it could be shown that every planar graph had to contain at least one element of this set. By supposedly showing all the elements of his unavoidable set were reducible, Kempe thought he had proven that a counterexample to the ^4-CC could not exist. However, the demonstration of reducibility for one configuration of Kempe's unavoidable set was incorrect and this fact appeared in P. J. Heawood's rebuttal [13] in 189O. Heawood was able to use Kempe's reduction techniques to prove that all planar graphs can be colored using 5 or fewer colors. In 1913* G. D. Birkhoff [8] showed that several configurations were reducible by using a technique, based on Kempe's reduction technique, that became known as C-reduction. P. Franklin [9] used C-reduction to find more reducible configurations and to prove that the ^CC was true for graphs with fewer than 26 vertices. By showing sets of reducible configurations which are unavoidable in all planar graphs with a restricted number of vertices, C. E. Winn [2k], 0. Ore and J. Stemple [19], W. Stromquist [21] increased this restricted number until J. Mayer [17] has recently shown that all planar graphs with fewer than 96 vertices are lj- color able. It is interesting to note that the number of colors necessary and sufficient to color all graphs with genus higher than the genus of planar graphs has been exactly determined. For planar graphs, clearly there are some graphs that require more than four colors: _ Thus, h colors are necessary and 5 colors are sufficient to color all planar graphs. For graphs of higher genus, G. Ringel and J. W. T. Youngs (see [20] for farther references) were able to show that 7 + N/i+l+8n colors are sufficient to color all graphs of genus n > 0. Since Birkhoff introduced C-reduction, many configurations have been shown to be reducible (see Tables I and II [1]). This thesis is concerned with the problem of exhaustively checking configurations for reducibility so that if a configuration is not shown C-reducible, one may assert its C-irreducibility. This exhaustive study of reducibility for all configurations of 15 or fewer vertices that have a ring size, n, 6 ^ n ^ 11, and m interior vertices, m ^ 15 -n has important implications for configurations with larger ring size (n > 11) (discussed in Chapter 8) A configuration is C-irreducible when it is not C-reducible. (The reduction methods are described in Chapters 2 and 3-) Not much work has been done to show configurations to be irreducible [11] . The number of calculations needed to compute irreducibility requires the use of a computer on all but the smallest configurations. Chapter 2 contains definitions of terms, methods of reduction and the reasons for examining configurations for reducibility, Chapters 3 and 6 concern implementation of the methods of reduction; while Chapters k and 5 detail the generation of potential reducers of configurations. Demonstration of irreducibility and extensions and conclusions of this work are discussed in the final two chapters, 7 a nd CHAPTER 2 DEFINITIONS In this chapter, concepts and basic terminology of graph theory and reduction are presented. The graph theoretic terminology is basically the same as the terminology of Harary [12]. An abstract graph consists of a set of vertices, V, along with a specified set, E, of unordered pairs of distinct vertices of V. Since a set is a collection of distinct elements, each pair of vertices is allowed to appear only once in E. An edge is a pair of vertices, x = (u,v), in E and the edge, x, joins vertex u and vertex v; vertex u and edge x are said to be incident with each other. Two vertices that are joined by an edge are called adjacent vertices . Note that the definition of an abstract graph does not allow self-loops (an edge that joins a vertex to itself as in Figure 2.1(a)) or multiple edges (when two vertices are joined by more than a single edge as in Figure 2.1(b)). An abstract graph is usually represented by a diagram which is referred to as a graph. In the graph of Figure 2.2, the vertices are the lettered points and an edge is a line that joins two adjacent vertices. The degree of a vertex is the number of edges incident upon that vertex. In Figure 2.2, vertex b has degree k; vertex d has degree 1. A planar graph is a graph that can be drawn in the plane so that no edges intersect. Figure 2.2 shows a planar graph, G, and one method of drawing G in the plane. All graphs from now on are assumed to be planar. A Q (a) Self -loop (t>) Multiple edges joining b and c Figure 2.1 Subgraphs that are not allowed, 8 A connected, planar graph, G, with 8 vertices, 11 edges and 5 regions . G = (V,E) V = [a,b, c,d,e,f,g,h] E = {(a,b),(a,f),(a,g),(b,c),(b,e), (b,f),(d,c),(c,e),(e,f),(e,h), (g,h)] Figure 2.2 A planar connected graph. region of a graph is an area of the plane that is bordered "by edges of the graph and that contains no vertices or edges of the graph. There are 5 regions in Figure 2.2. (The area outside the graph is also a region.) A subgraph of a graph G is itself a graph consisting of some vertices and edges of G. The property that a graph is connected is developed in the following section. A walk of a graph, G, is a sequence of vertices, v A ,v,,v n , ...,v , in which each sequential pair of vertices of the walk must be an edge of G. A path of G is a walk in which all the vertices of the walk are distinct. A walk is closed if v A = v . A closed walk n is a circuit provided its n vertices are distinct and n ^ 3- A graph is connected if it is possible to find a path that joins any two vertices of the graph. A proper coloring of a graph is the assignment of a color to each vertex of the graph so that no two adjacent vertices have the same color. From now on, a coloring of a graph is assumed to be a proper coloring. An n-coloring of a graph is a coloring of the graph that uses a maximum of n different colors. All graphs that are considered in this thesis will be completely triangulated. A graph is completely triangulated if all regions of the graph are bordered by exactly 3 edges. This restriction can be imposed for the following reasons. If all completely triangulated planar graphs are if-colorable, then all planar graphs are ^--colorable. Conversely, if a planar graph, G, is not ^-colorable, then a completely triangulated graph, G', which may be obtained by adding edges (but no vertices) to G, cannot be ^-colorable. 10 The transformation from planar maps to the dual formulation as planar graphs can be described as follows. Each country of the map is represented by a vertex in the graph. Two vertices are joined in the graph if their corresponding countries are adjacent in the map. A vertex is then assigned the color that is assigned to its country in the map. Definitions that are peculiar to four color reducibility theory will now be presented. A minimal five chromatic graph is a non-ij-- colorable graph such that any graph with fewer vertices is ^-colorable. A minimal five chromatic graph may be thought of as a counterexample to the ^t-CC that has the smallest number of vertices of all counterexamples. (The existence of a counterexample to the Ij-CC is not presumed; a possible proof of the ij-CC consists of proving that a minimal five chromatic graph cannot exist.) An n-ring is a circuit of n vertices. An n-ring divides the plane into two parts, the interior and the exterior of the ring. Vertices and edges inside the n-ring are called interior vertices and interior edges . The vertices of the n-ring are ring vertices , and edges that join two consecutive ring vertices are ring edges . A diagonal is an interior edge that joins two ring vertices (see Figure 2.9) • A configuration is a connected subgraph of a completely triangulated planar graph that consists of an n-ring and the vertices and edges of the n-ring' s interior (called the interior of the configuration) and such that the n-ring contains no diagonals. A subconfiguration is a connected subgraph of a configuration that is itself a configuration. The interior vertices of a configuration are said to be surrounded by the vertices of the n-ring. Configurations are classified by the ring size, 11 n, and the number of interior vertices, m. Configurations are called n-ring configurations. Figure 2-3 shows a 9- r ing configuration containing 3 interior vertices. Since the interior of a configuration is completely triangulated, the n-ring is uniquely determined "by the degrees of the interior vertices and the edges that join these vertices. Thus, configurations are shown without the ring vertices using the following code (due to H. Heesch) for the degree of interior vertices: code "* >k degree 5 6 7 8 9 n ^ 10 Configurations do not contain vertices of degree less than 5 since they are reducible configurations (see examples of reduction procedures later). The configuration of Figure 2.3 is shown with and without its surrounding ring. A configuration is called reducible if it can be shown by certain specific methods to be described later that no graph containing this configuration can be minimal five chromatic. An algorithm which can be used to prove configurations reducible will be called a reduction procedure . A set of graphs is called an unavoidable set if every graph must contain at least one element of this set as a subgraph. The following theorem defines one unavoidable set. Theorem : In a connected, planar graph with no self loops or multiple edges, there is a vertex of degree ^ 5 • A concise proof of this theorem is found in Liu [l6], p. 106. Let v. denote a vertex of degree i and the i vertices it is adjacent to, then one unavoidable set is composed of 5 graphs: (v ,v ,v ,v, ,v } . 12 Figure 2.3 A 9-ring configuration with 3 interior vertices in two forms. 13 One possible way to prove the ^4-CC would be to show that all the elements of an unavoidable set are reducible configurations. Then a minimal five chromatic graph could not exist and the 4CC would be proved . Two examples will be used to illustrate a reduction procedure that is known as D-reduction. First, consider the configuration that is a degree 3 vertex (surrounded by a 3-ring) . This configuration is assumed to be a subgraph of a minimal five chromatic graph, Z (see Figure 2.^(a)). Z is assumed to consist of Q, vertices. The degree 3 vertex, j, is removed and the remaining graph, Z', of Q-l vertices is 4-colorable by definition. Suppose Z' is ^-colored. Since only 3 colors can appear on the 3-ring (A, B, C), j can always be replaced and colored the remaining (fourth) color. This produces a ^-coloring of Z which is a contradiction to the assumption that Z was minimal five chromatic. Therefore, a degree 3 vertex (and its surrounding 3-ring) is a reducible configuration. Single vertices of degree 1 and degree 2 can similarly be shown to be reducible. A few more definitions are required before the second example can be shown. The x-y skeleton of a four-colored graph, Z, is the graph consisting of all those vertices of Z that are colored either color x or color y and the edges that connect these vertices. The connected components of the x-y skeleton are called x-y components . For instance, there are 5 vertices and k edges in the 1-3 skeleton of Figure 2.5(a) and these form a single 1-3 component. There are two 0-2 components of Z (Figure 2.5(b)). An x-y interchange on an x-y component, I, of Z is the result of interchanging the colors x and y on the vertices of I. It is quite obvious that an x-y interchange applied to a proper coloring of Z produces a new proper coloring of Z (see Figure 2.5(c)). Ik (a) Z, a minimal five chromatic graph of 0. vertices that contains j, a degree 3 vertex (b) Z 1 , the graph of Q-l vertices that remains when j is removed from Z Figure 2.k Reduction of a degree 3 vertex. 15 l w ~3 (a) The (unique) 1-3 component of a ^-colored graph, Z, Component I 2 Component II 1 w w 3 (b) Two 0-2 components, I and II, of Z. Component I (c) A 0-2 interchange was performed on component I without destroying the proper 4-coloring or changing the colors of the vertices in component II. Figure 2.5 x-y components and interchanges. 16 The second example will prove that a degree k vertex, k, is a reducible configuration, k is assumed to be a subgraph of a minimal five chromatic graph, Z. k is removed from Z producing a graph, Z', of Q-l vertices that is then 4-colored (Figure 2.6(a) and (b)). All the colors that can appear on the U-ring, A, B, C,D, are examined. If only 2 or 3 different colors are assigned to the vertices of the lj--ring, x can be replaced and colored with the remaining color. However, if all k colors appear on the J+-ring, then all the possible component structures of the graph outside the lj~ring must be considered. (Without loss of generality, the 1^-ring, A, B, C, D, is colored as shown in Figure 2.6(c) and (d)). Case 1 : Vertices B and D are in the same 0-2 component of Z'. In other words, there is a path from B to D where the vertices are colored either or 2. Since Z' is planar, there cannot be a path consisting of vertices from A to C that are colored 1 or 3 • Thus, A and C are in different 1-3 components; and, a 1-3 interchange can be performed on the 1-3 component containing vertex C that will not change the color of vertex A. Since the color of vertex C has been changed to color 1, vertex x can be replaced and colored with color 3« Case 2 : Vertices B and D are in different 0-2 components of Z'. Thus, a 0-2 interchange can be performed on the 0-2 component containing vertex D without changing the color of vertex B. Vertex D having been changed to color 0, vertex x can then be replaced and colored color 2. 17 remove k (a) A degree k vertex, k, in a minimal five chromatic graph, Z. (b) Z 1 , a graph of Q-l vertices that is ^-colorable, Case 1: Case 2: (c) B, D in same 0-2 component. Figure 2.6 Reduction of a degree k vertex. (d) B,D in different 0-2 component . 18 Therefore, when all k colors appear on the l|— ring, a color interchange can always he performed to produce a 3-coloring of the ring. With a 3-coloring of the ^-ring, vertex k can he replaced as before. Thus, a degree k vertex is also a reducible configuration. The reduction procedure suggested by the last example was discovered by Kempe and is known as Kempe chaining. D-reduction is a reduction procedure (two algorithms are presented in Chapter 3) that uses Kempe chaining. In attempting D-reduction, all possible colorations of the n-ring that surrounds a configuration are considered. A (proper) coloration of an n-ring is determined by listing the colors of the vertices of the n-ring in clockwise order beginning with a specified initial vertex (see Figure 2.7(a)). The term "coloration" will be used to denote such a listing. A coloration is said to extend to the interior of an n-ring if there is at least one proper ^-coloring of the ring and its interior. A coloration extends to the exterior of an n-ring if there exists at least one proper ^-coloring of the ring and the exterior vertices. The set of all possible colorations of an n-ring (enumerated in Figure 7*3) is divided into several types of colorations when the D-reduction of a configuration, W, is attempted. A direct coloration of the unique n-ring surrounding W is a coloration that extends to the interior vertices of W (Figure 2.7(b)). D(w) is the set of direct colorations of ¥. An indirect coloration of the unique n-ring surrounding W is a coloration to which Kempe chaining can be applied to produce a direct coloration of W regardless of the component structure of the outside graph. The coloration '0123' in Figure 2.7(c) cannot lead to a proper U-coloring of the interior, but '0123' can be changed by color interchanges into a 3-coloring of the k- ring (see the reduction of a 19 initial vertex (a) coloration: '0123' .0 (t>) direct coloration: '0121' (c) indirect coloration: '0123' Figure 2.7 Ring colorations. 20 degree k vertex above) . Thus, colorations of the lj--ring that consist of 2 or 3 distinct colors are direct colorations while '0123' is an indirect coloration. l(W) is the set of indirect colorations of a configuration, W. The good colorations, G(W) , of W are all the colorations that are either direct or indirect colorations of W. Colorations that are not good colorations are called bad colorations . A configuration, W, is D-reducible if all possible colorations of its n-ring are in G(W) . D-reduction begins with D(w) and iteratively applies Kempe chaining to all colorations that are not yet good colorations until no more indirect colorations are found. A D-reducible configuration, W, can always be ^-colored no matter what coloration appears on the n-ring surrounding W. All possible colorations of an n-ring must be good colorations for a configuration to be D-reducible. However, it is possible to prove a configuration reducible by considering a subset of all the possible colorations of an n-ring. For example, there is another method that can be used to show that a degree k vertex is reducible. The degree i|. vertex, k, is again removed from a minimal five chromatic graph, Z, yielding Z* (see Figure 2.8(a) and (b)). This time vertices B and D are identified. When two vertices, B and D, are identified they are coalesced into a single vertex, E (see Figure 2.8(c)). The multiple edges that are produced when B and D are identified are replaced by single edges. (in this example, if a self- loop is produced at vertex E, then vertices A and C are coalesced.) Thus, B and D must have the same color in any k- coloring of Z'. An identification of two vertices will be represented by a pair of parallel edges joining those two vertices (see Figure 2.8(b)). This identification may be thought of as a generalized edge that joins 21 (a) A degree k vertex, k, in Z, a minimal five chromatic graph (b) Z' (c) Z" reducer Figure 2.8 Reduction of a degree 4 vertex using a reducer. 22 two ring vertices. (No ambiguity results from using two parallel edges to represent an identification since multiple edges have been excluded . ) Now the direct colorations of the i^-ring can only contain 2 or 3 distinct colors. Z' can be ^-colored in the same "way Z" is ^-colored using the color of vertex E as the color of vertices B and D. But a 2- or 3-coloring of the ring is a good coloration of W. Thus, k can always be replaced and colored the remaining color producing a ^-coloring of Z. A generalized n-ring configuration is a graph consisting of an n-ring whose interior is completely triangulated using edges, vertices and generalized edges (identifications) . There are no restrictions on diagonals in generalized configurations. A potential reducer of an n-ring configuration that has m interior vertices is defined to be a generalized n-ring configuration that contains fewer than m interior vertices. Therefore, whenever a configuration in a minimal five chromatic graph, Z, is replaced by a potential reducer, the resulting graph, Z', has fewer vertices than Z, and Z' is ^-colorable. Since Z' is 4-colorable, some coloration of the potential reducer's n-ring must extend to the portion of Z' that is exterior to the n-ring. The only colorations that can extend to the portion of Z' that is exterior to the n-ring are the direct colorations of the potential reducer. Suppose every direct coloration of the potential reducer's n-ring is also a good coloration of the configuration's n-ring. Then, some good coloration of the configuration's n-ring must extend to the portion of Z that is exterior to the n-ring and, thus, the configuration is reducible. When the direct colorations of a potential reducer, P, are a subset of the good colorations of a configuration 23 W, then W is called C-reducible , and P is called an effective reducer of W. (Note that all potential reducers of a D-reducible configuration are effective reducers.) For the remainder of this thesis, potential reducers will be called reducers . When it is important to distinguish, the term effective reducer will be used. Whenever the direct colorations of a reducer, P, are not a subset of the good colorations of a configuration, W, then P is said to have failed to reduce W. Potential reducers can be constructed by placing identifications, diagonals and interior vertices inside an n-ring to produce a completely triangulated (in the sense of thinking of identifications as generalized edges) interior of the n-ring (see Figure 2.9) • A configuration, W, is irreducible when W is not D-reducible and when there are no effective reducers of W (all potential reducers fail) . This thesis is concerned with testing reducibility of configurations by testing all of their potential reducers. A side result is that certain configurations are shown to be irreducible since they have no effective reducers. The generation of potential reducers is described in Chapters k and 5. Chapter 3 describes how the direct and indirect colorations of a configuration were obtained. 2k ^ring vertex Figure 2-9 Potential reducer of an 8-ring configuration with ^ 2 interior vertices 25 CHAPTER 3 DIRECT AND INDIRECT COLORATIONS In this chapter, the algorithms used to determine the direct and indirect ring colorations of a configuration are described. The canonical form and the data representation of a ring coloration are shown first. The four "colors" used to color graph vertices are 0,1,2,3, because each of these numbers has a natural representation that uses only two binary digits. Given a ring of n vertices that was four-colored, the canonical form of this ring coloration was created as follows. The ring had a specified initial vertex and the vertices were numbered clockwise from #1 to #n. Without loss of generality, the color of the initial vertex was called color 0. The color of vertex #2 (which had to be different from the color of vertex #1) was called color 1. Proceeding clockwise around the ring, the color of the next vertex not colored or 1 was called color 2. The remaining color was called color 3. Multiple copies of the same ring coloration with different color names were thus eliminated from consideration. The following three consequences of putting every coloration into canonical form simplified the data representation of ring colorations First, vertex #n cannot be colored 0, since it is adjacent to vertex #1 which is always colored 0. Second, vertex #3 cannot be colored 1 or 3 for the following reasons. Vertex #3 is adjacent to vertex #2 which is 26 always colored 1; hence, vertex #3 cannot be colored 1. Whenever vertex #3 is not colored 0, its color cannot be called color 3 because of the definition of canonical form. Thus, vertex #3 must be colored either color or color 2. Third, vertices #1 and #2 are always colored and 1 respectively. Since the colors of vertices #1 and #2 remained constant, the colors of these vertices were not listed in the data representation of any ring coloration. Each of the remaining n-2 vertices needed two bits to record its color. A single 32 bit word was used to store a ring coloration composed of 18 or fewer vertices. It was desired that the data representation permit a rapid test of whether a coloration was "good". If a bit list area were formed in such a way that each ring coloration were the address of a bit, an n-2 area of k bits would have been needed. Since each computer byte contains 2 bits, this means 2 bytes would have been required; for n =11, 2 22 " 7 = 2 15 =32,768 bytes. Several techniques were used to significantly reduce the size of this bit list area. The address of the bit associated with a coloration consisted of a modification of the coloration itself. Since vertex #n could not have the same color as vertex #1, listing the coloration counter- clockwise from vertex #n meant that the addresses with vertex #n colored '00' could be ignored. In addition, the last bit in the representation of the allowable colors of vertex #3 ('00' and '10') was always a '0' and was ignored. Finally, only the addresses of bits between the smallest and largest possible colorations were required. Thus, when the number of vertices, n, of a ring coloration was even, the largest and smallest possible colorations were: 27 vertex #n #n-l #n-2 #n-3 . . largest: 11 10 11 10 smallest : 01 00 01 00 #6 #5 #^ #3 #2 #1 ll 10 11 1° 01 00 01 00 01 i ao i not 01 00 listed Considering the representations as hexadecimal numbers and subtracting: 777-.. 7 -222... 2 16 16 555... 5- n-2 ,. .. -g- digits A similar analysis was performed when n was odd: vertex #n #n-l #n-2 #n-3 ... #5 #^ #3 largest: 11 10 11 10 ... 11 01 1)0 1 smallest: 01 00 01 00 ... 01 1DD...DDB , -o88...882 l6 155... 559^ 00 Jo 1 n-1 digits The area required for n =11 now was 15559 ^ =87385 bits =10,922 bytes, as opposed to 32,768 bytes. The regions for k g n ^ 16 are shown in Figure 3«1. 28 ring size 4 5 6 7 8 9 10 11 12 13 14 15 16 number of "bits in number of bytes in bit list area bit list area 5 1 11 2 85 11 331 42 1,365 171 5,^51 682 21,845 2,731 87,371 10, 922 349, 525 43,691 1,398,091 174, 762 5,592,405 699,051 22,369,611 2, ,796,202 83, 886, 080 10] ,485,761 Figure 3-1 Number of bytes required for bit list area. 29 The programs to find direct and indirect colorations both used the preceding ring coloration representation. There are other representations that would require a smaller bit area, but the time required to test a bit would have been increased. Since the chosen representation was a hashing technique, the bit associated with a coloration was found rapidly. Only 8 statements (IBM 360 Assembly language) were required to find and text a coloration's associated bit. The program to obtain the direct colorations of a configuration, DIRECT, used a modified backtrack method. Each vertex in the configuration had four bits associated with it. These bits formed a "prohibition list" indicating which of the four colors could not be used to color the vertex. A section of macro-generated code was created for each vertex of the configuration. This code selected the color of the vertex and then went to the subroutine EXTEND. This subroutine extended the prohibition of the color selected to all the vertices adjacent to the vertex just colored. When a vertex had 3 colors prohibited, it was immediately colored with the remaining color. If a vertex had all h- colors prohibited, the program, DIRECT, would backtrack since such a coloring of the configuration was impossible. After completely coloring the configuration, the ring coloration was recorded and the program backtracked to the last ring vertex colored. This prevented the generation of multiple colorings of the interior of a configuration for a single ring coloration. Once the direct colorations were determined, the indirect colorations had to be generated by program DRED. D-reduction and the determination of indirect colorations were described briefly in Chapter 2. 30 The basic D-reduction algorithm, using multiple passes of the coloration list, is shown in Algorithm Al. By storing information in Steps H and K, it was possible to make only a single pass through the coloration list (Algorithm A2) . The implementation of Algorithm Al (parts of which were also used to perform Algorithm A2) is described below. When a bad coloration was found, the component structure of the outside graph had to be considered. There are three ways to select color pairs from k colors: (01,23), (02,13), (03,12). Each color pairing determines the number of X-Y segments of a specific coloration. An X-Y segment is the longest string of vertices colored either X or Y. An X-Y segment is the portion of an X-Y component that is composed of vertices on the ring, For example, Coloration: 01230101232 Number of Color pairing 0-Y segments 0-Y segments (01,23) f6"~Tl2 3^0 1 1*2 3 2 2 (02,13) "oil ^2)3foU(oU(2^3 IT 5 (03,12) foU 2|T"o)i(o)i 2(3)2 h As in the D-reduction of a degree k vertex, every possible joining of these segments must be examined. One method of visualizing this process is to consider each color pairing to have an associated matrix of colorations. A column of a matrix corresponds to the choice of a particular segment structure. A segment structure is the manner that the X-Y segments of a coloration are joined. In the above example, 31 Color pairing (01,23) Column 1 Column 2 1(23)0 1 1(232*1 (01)2 3(0 10 1)2 3 2 The number of segments of one color pair determines the number of columns. Once a segment structure is chosen, the column is composed of color interchanges within segments (see Figure 3«2). If each column in the matrix of a color pairing contains a good coloration, then the original coloration is an indirect coloration. All possible segment structures were encoded into segment tables in the implementation of Algorithms Al and A2. in the example, two segments are joined, leaving 3 segments in which colors might be interchanged: #2 1(23)0 1 1(232) #1 #3 To insure that all possible interchanges were performed, a special binary reflected Gray code was used. By letting '1' indicate a color pair interchange from the original coloration, all possible combinations were obtained using the following portion of the Gray code: 32 Color pair interchanges position performed to restore interchanged Column 1 coloration to canonical form o 1(23)0 1 1(232) 1 1 0(23)0 1 1(232) °£ 01231010232 -CT 7=^ 0,l;2,3 2 1 0(32)0 1 1( 3 2 3 ) ■* 01231010232 1 ip^O 1 lf3 2 3) -► 01230101232 3 lfg^ l 1 (3 2 3^| ^ 01231010232 rr ^ZL_ 0,l;2,3 1 1 opl)i 1 0/323) -* 01230101232 2 1 0(23^1 1 0/ 2 3 2* ) i> 0123010 1232 1 1(23)1 1 0(232) Figure 3.2 Colorations within a column, 33 position 12 3 position changed original 10 1 110 2 10 1 Oil 3 111 1 10 1 2 1 1 This code also had the advantage that between each number, only one position was changed. Thus, a minimum amount of work had to be done to generate the colorations in a column. In addition, the requirement that all ring colorations be kept in canonical form saved some work. For instance, there are really only two different colorations in Figure 3.1, 01230101232 (original) and 01231010232. Once a coloration in a column was generated, it was checked to see if it was good. If the coloration was bad, the generation of the columns continued. If the coloration was good, the column was marked as a good column and work proceeded with the next column. If all of the columns of a certain color pairing were good, the original coloration was marked as a good coloration. A coloration remained bad if there was at least one bad column in each of the three color pairing rows. Successive iterations of Algorithm Al were performed until an iteration was reached in which no colorations were made good. Since further iterations could not then make any new colorations good, the procedure terminated. Only a single iteration of Algorithm A2 was needed, since information was stored in the data structure described below. 3k LIST is a list of all possible colorations of an n-ring. When Algorithm Al begins, LIST also indicates whether a coloration is a direct coloration of the configuration. A portion of each of the tables used in this algorithm is shown below: Gray code position indicator k G(k) 1 1 2 2 3 h 1 3 5 6 l 2 7 1 Y 1 Number of Number of Segments S Columns COL(S) 1 2 2 3 k 5 Ik k2 5 132 for S = 2 Segment Structure Type A [Type Bj Type A (Type 'Type T) Type B /Type A^j Type B G(k) is the number of a segment in a coloration, W. The actual vertex positions of W that are to participate in a color pair interchange are determined by the segmentation of W and the way these segments are joined (indicated by Y) . Step A Obtain the next bad coloration, C, from LIST. Step B Set S *- number of segments created in C by the color pairing (01,23), i - 1. Go to Step E. Step C Set S «- number of segments created in C by the color pairing (02,13), i 4-2. Go to Step E. Step D Set S «- number of segments created in C by the color pairing (03,12), i <-3- Go to Step E. Step E If S = 1, go to Step I. Set Y - 0, COUNT *- and MAX «- COL(S) (maximum number of columns) . Step F If Y > MAX, go to Step J. Y indicates the segment structure of C to be used for a column. Set Y <- Y +1, W *- C, k <- 1. Step G (Color interchange) Determine the positions to be interchanged in W from G(k), Y and the segmentation of C. Perform the color interchange on W producing a coloration X. Algorithm Al Multiple pass D-reduction (continued) 35 Step H If X is a good coloration, then set COUNT «- COUNT+1 and go to Step F. Otherwise, set k «- k +1. If k > 2 S+1 -1, go to Step I. Set W «- X and go to Step G. Step I (All colorations in a column are bad) If i = 1, go to Step C. If i = 2, go to Step D. If i = 3, go to Step K. Step J If COUNT = MAX, mark C as a good coloration. Step K If there are more bad colorations below C in LIST, go to Step A. If GOOD = 1, set GOOD «- and start another pass through LIST, go to Step A. Otherwise, stop. Algorithm Al Multiple pass D-reduction. 36 The data structure shown in Figure 3-3 was built up for every coloration that was not made good by the D-reduction algorithm. A list of columns that remained bad was kept. For every coloration in a bad column, a back link entry was created which pointed to the bad column. If a coloration became good, its back link entries were followed. In some cases, the new good coloration decreased the number of bad columns of a previous coloration. If all the columns of a color pairing of a coloration became good, the coloration itself became good. Both Algorithms Al and A2 had advantages. Algorithm A2 generally performed faster than Algorithm Al in the following cases: 1. A configuration with ring size less than 10. 2. For n = 10,11 when the number of bad colorations was less than 3. For n = 10,11 any configuration that was D-reducible. For those configurations with ring size greater than 9 that had a large number of bad colorations, the size of the area required to store Algorithm A2's back links became prohibitive (for n =9, 2^2,000 bytes of core storage was normally required; for n =10, approximately three times the storage of n =9 would have been required). The implementation of Algorithm Al using the segment tables and the ring coloration representation proved to be rapid enough for use through rings of size lk (see Chapter 8). Algorithm Al was thus the choice for rings of size greater than 9« Algorithm A2 was used when the ring size was less than 10. If some bad colorations remained after the direct and indirect colorations were determined, C-reduction was attempted. A complete set 37 Coloration List Links bad columns for color pairing (01,23) bad columns for C color pairing (02,13)) bad columns for C color pairing (03,12)/ Back Link Entry: A B C A: Displacement in coloration list to affected coloration. B: Color pairing indicator: '00' — (01,23) '08' — (02,13) '10' — (03,12) C: Affected column number (1-42). 7 back link entries Figure 3 .3 Data structure used by Algorithm A2 38 The following steps are changed from Algorithm Al to produce Algorithm A2. Step A If the end of the coloration list has been reached, stop. Otherwise, obtain the next bad coloration, C, from the list. Step H If X is good, set COUNT - COUNT+1 and go to Step F. Otherwise put (X,Y,i) on STACK, k «- k +1. If k > 2 S -1, go to Step L. Otherwise, set W <- X and go to Step G. Step J If COUNT 4 MAX; S° to ste P I- Otherwise, mark C as a good coloration. Follow all C's back link entries making the appropriate columns good. If all the columns of a color pairing of a coloration, Z, became good, set C *- Z and repeat Step J. Step K For each triple (X,Y,i) on STACK, create a back link entry for C. Go to Step A. Algorithm A2 Single pass D-reduction. 39 of reducers to use in C-reduction was needed in order to show irreducibility. The creation of these reducers is described in the next two chapters . 1+0 CHAPTER k REDUCER GENERATION , All potential reducers of configurations with ring size 6 < n ^ 11 and with l6-n interior vertices were generated. These potential reducers form the complete set of reducers, R(n, m), with 6 ^ n ^ 11 and m ^ 15 -n. The algorithm to generate all potential reducers was designed to eliminate as many redundant reducers as possible. A reducer, B, is called redundant when the set of direct colorations of B is a superset of the set of direct colorations of another reducer, A. In other words, B is redundant since A can replace B in any reduclbility or irreducibility proofs. Lemma k.l : A redundant reducer can be eliminated from the complete set of reducers R(n,m) . Proof : Let X,Y be reducers with D(X) c D(Y) . Case 1: Let W be a configuration that is reduced by Y. Then D(Y) ^ G(W) . But, D(X) 5 D(Y) <= G(W). Therefore, whenever Y reduces a configuration, X also reduces it. Case 2: Assume X does not reduce W. Thus, there is at least one coloration c, ceD(X), such that c^G(W) . Since D(X) c d(y), ceD(Y) . Therefore, if X does not reduce W, Y cannot reduce W. ill Since X has a smaller direct set, it is clearly more efficient to use X in place of Y in all reducibility computations. Thus, Y can be eliminated from R(n,m) . The following restrictions prevented a number of redundant reducers from being generated. Lemma k . 2 : A reducer with an interior which is not completely triangulated is redundant. Proof ; Let R be a reducer whose interior is not completely triangulated. Let T be a completely triangulated reducer obtained by adding all possible interior edges to E. Let T be four- colored; then, transform T to R by removing the appropriate edges. Removing an edge lessens the restrictions on the allowable colors for the two vertices on that edge. Thus, every four coloring of T is a four coloring of R and D(T) c D(R) . Therefore, R is redundant. Lemma h.3 : A reducer with a reducible sub- configuration is redundant. Proof : Let R be a reducer containing X, a sub-configuration which is reduced by Y. Thus, D(y) <= G(X) . Let S be the reducer obtained by replacing X by Y in R. ^ v. y> «. r( ©J ( ©Js Since D(y) c g(X), all four colorings of R are also four colorings of S. D(S) <=D(R). Therefore, R is redundant. Corollary k.l : A reducer with a vertex of degree less than 5 is redundant (see Chapter 2) . k2 For these reasons, all the reducers that were generated were completely triangulated, and all interior vertices had degree 5 or more. To each reducer a graph was associated. To obtain the graph corresponding to a reducer, all pairs of identified vertices ( # # ) were collapsed into single vertices (see Figure ^.l). Collapsing vertices produced articulation vertices in the corresponding graphs. An articulation vertex is a vertex whose removal causes the graph to become disconnected. The articulation vertices of a reducer will be called collapsed vertices . (Collapsed vertices in the graph represent 2 or more ring vertices in the corresponding reducer.) The graphs of reducers in R(n,m) are elements of the set of all connected planar graphs with at most n+m vertices. Since any planar graph can be generated by starting with one of its spanning trees and adding edges, the reducers could have been generated by adding edges to spanning trees. A spanning tree of a graph, G, is a connected subgraph of G that has no circuits but contains all the vertices of G. This method of creating reducers by adding edges to spanning trees will be called the basic algorithm for generating reducers. The basic algorithm is displayed in Figure k.2. The set of all spanning trees of v vertices is the top entry in column v of Figure h.2. Each element of the second set in a column was obtained by adding a single edge to an element of the top set at some position which would create a triangulated reducer. Because the reducers must be completely triangulated, an edge could only be added between two ring vertices that were separated by exactly one other vertex on the reducer's ring. Adding an edge caused the reducer's ring size, n, to decrease by 1. The table of reducer ring sizes determined by the number of vertices, v, and the number of edges, e, in the graphs is shown in Figure k.^>. k3 Reducer n = 11 m = 1 v = 12 Graph Figure h.± Reducer and its corresponding graph. v = 3 v = k IttiA n=6 <> n=4 1+1+ v = 5 v = 6 r+.ri!f-f X * n =10 > -•-# A. n =7 n =6 n=8 ^ &&^ n=5 <£>< *^< n=7 Figure 1+.2 Generation of graphs from spanning trees 45 vv = v-1 V v+1 v+2 456 7 8 9 10 11 12 13 14 15 6 8 10 12 14 16 18 20 22 24 26 28 7 9 11 13 15 17 19 21 23 25 27 fk) 6* 8 10 12 14 16 15 18 17 20 19 22 21 24 23 26 ©A 9 11 13 25 f 6*) 8 10 12 14 13 16 15 18 17 20 19 22 21 24 5 ©A 11 23 6* f 8 J 10 12 Ik 13 16 15 18 17 20 19 22 T© 11 21 6* 8 10 9 12 14 13 16 15 18 17 20 7 1.1 19 6 8 7 10 9 12 14 13 16 15 18 11 17 6 8 7 10 9 12 14 13 16 11 15 6 5 8 7 10 9 12 14 11 13 6 8 ' 10 12 1 11 10 9 Figure 4.3 Table of ring sizes for reducers given the number of vertices, v, and the number of edges, e. The following definitions are needed for the subsequent discussion and lemmas. S(v, n) is the set of all reducers of ring size n whose graphs contain exactly v vertices. Each entry in Figure k.~5 represents one set S(v,n). S' (v, n) is the subset of S(v,n) consisting of reducers with no interior vertices. Finally, Sj_(v,n) is the subset of S(v, n) in which each reducer has an uncollapsed ring vertex of degree less than or equal to i. The degree of a ring vertex , x, is determined by the number of interior edges and ring edges that are incident with x. The set of potential reducers of a configuration with ring size n and with m interior vertices is the union of the sets S(v, n) where v-n 38l possible colorations for n=ll while C = 22, 1M-. Less than half the disk storage space needed for a bit string (see Chapter 6) of good colorations for a reducer with n =12 was required for a reducer with n = 11 (2,768 versus 923 bytes). Similarly, the hashing technique of Chapter 3 required 10,922 bytes for n =11 and V3*691 bytes when n=12. Finally, a listing of the colorations of an 11 -ring using k bytes per coloration was written to disk in one contiguous block (29,^2^ bytes) ; however, such a listing for 12 -ring exceeded the maximum number of bytes (32,768 bytes) that could be written in a single record. For these reasons, the ring size was limited to n ^ 11. The number of ^7 vertices in a reducer was restricted to v ^ 15 "by limitations of time and core storage (discussed in Chapter 5) • Since the ring size was limited to n I 11, the desired reducers are in the sets below and to the left of the double line in Figure k.J>. If the basic algorithm had been used, all of the sets in Figure h.3 would have had to be generated and stored. Several estimates were made of the number of graphs in the sets S(v, n) where v ^ 15 but n > 11. One estimate was to lower bound the number of spanning trees of a graph with v vertices (the sets in the top row of Figures k.2 and k.3)- This lower bound was obtained by examining the count of unrooted, unlabeled trees of v vertices: v if 5 6 7 8 9 10 11 12 13 Ik 15 number of trees 2 3 6 11 23 ^ 106 235 551 1301 3159 77^1 This count was only a lower bound on the number of elements in S(v, 2v-2) for the following reason. When v = 7, one of the eleven unrooted, unlabeled trees actually represented the following two spanning trees (and their corresponding reducers) : graphs ' '/V ' reducers 48 It is not known if this lower bound is close to the actual number of spanning trees since the sets S(v, 2v-2) for v > 7 were not generated. The second estimate was the number of elements in S'(n, n) (calculated by F. Bernhart [6] and shown in Figure 4.4). Since S' (15,15) i s a subset of S(15,15), there are at least 24,833 elements In S(l5,15). Thus, the time and disk storage space required to generate all the sets represented in Figure 4.3 would have been prohibitive. Several modifications were made to the basic algorithm which permitted only the sets S(v, n) where v ^ 15 and n I 11 to be generated (these sets are represented by entries below and to the left of the double line in Figure 4.3). The following seven lemmas are used to show that all the stated reducers were generated. The lemmas are followed by the modifications of the basic algorithm (Steps 1-4) . Lemma 4.4: A reducer with no collapsed or interior vertices has a ring vertex of degree 2. Proof : Since the interior of a reducer in S'(n,n) is completely triangulated, there are n-2 triangular faces by Euler's formula. Each triangular face is bordered by 0, 1, or 2 of the n ring edges. By the pigeonhole principle, there must be at least one face that is bordered by 2 ring edges. The vertex adjacent to those two ring edges is the desired ring vertex of degree 2. Lemma 4.5 : A reducer in S(v, i), 2v-6 Si S2v-2, contains no interior vertex. Proof: Let x be the graph of a reducer in S(v, i), 2v-6 Si ^2v-2. Thus, x has fewer than v+4 edges. In other words, fewer than 5 edges are added n • 3 k 5 6 7 8 9 10 11 12 13 T 1 2 5 1^ ^2 132 U-S9 11+30 1+862 16,796 "58,786 n F 1 1 1 3 ^ 12 27 82 228 733 2,282 n lit- 15 16 17 T 208,012 71+2,900 2,674,1+1+0 9,691+, 81+5 n F n 7,528 2i+,833 83,897 285,357 Figure 1+.1+ F n = the number of elements in S'(n, n) T R = the number of elements in S'(n, n) without isomorph rejection. 1+9 50 to a spanning tree of x. Since each interior vertex must have degree greater than k (Corollary + .1), at least five edges must be added to a spanning tree to form an interior vertex. Therefore, x has no interior vertex. No reducer in the sets above the dashed line in Figure k.~5 has an interior vertex. Removing a non-disconnecting ring edge from a graph in S(v, n) results in a graph in S(v, n+l). in S(5,6) in S(5,7) The consequence of removing such an edge was to move to the next higher set in a column of Figure I4- -3 - Lemma h.6 : S(v, n+l) can be obtained from S(v,n). Proof : When generating graphs from their spanning trees in the basic algorithm, a graph in S(v, n) is generated by adding a single edge to a graph in S(v, n+l). This process can be reversed to generate S(v, n+l) given S(v, n). A non-disconnecting ring edge is removed from a graph in S(v, n) to obtain a graph in S(v, n+l). Lemma k.'J : Each graph in S'(v,n), v < n, contains a collapsed vertex. Proof ; Since the number of vertices in the graph is less than the reducer's ring size, there must be at least one collapsed vertex in the graph. 51 Lemma k.Q: If t in, S'(v, n+l) can be obtained from S'(v, n). Proof : The process of generating graphs from their spanning trees in the basic algorithm at the stage when S(v, n+l) goes to S(v, n) is examined. S(v,n+1) I add an edge t S(v,n) Graphs in S(v, n+l) with interior vertices can only generate graphs in S(v, n)-S ' (v, n) ; therefore, arrow 0) can be ignored. Arrow @ can be reversed. The one concern is that there might exist a graph, xeS'(v,n+l), that only generates elements in S(v, n)-S' (v, n) (arrow (2) ). However, by Lemma If... 7 and because v is less than n+1, every graph in"S'(v, n+l) has a collapsed vertex. Adding an edge connecting two neighbors of a collapsed vertex creates no new interior vertices: O- in S'(5,6) in S'(5,5) Thus, x must also generate elements in S'(v,n). 52 .". Every element of S'(v, n+l) generates an element of S'(v, n) . This generation can "be reversed by removing a non-disconnecting ring edge from the graphs in S'(v, n) to obtain all the graphs in S'(v,n+1). Lemma k.$ : The graph of a reducer in S(v,ri) has 3v-3-n edges. Proof : For each v, column v begins with the set S(v, 2v-2) which contains all spanning trees of v vertices. A spanning tree of a graph of v vertices has v-1 edges. Thus, for n = 2v-2, v-1 =3v-3-(2v-2) =3v-3-n. Going down a column, the number of edges is increased by 1; and, n, the ring size is decreased by 1. Thus, the number of edges in S(v,n) is 3v-3-n. Lemma 4.10 : S.(v, n) = S(v, n) when i =l^-n and the number of interior vertices, m, of a reducer in S(v, n) is less than or equal to 15-n. Proof : Assume there exists a graph, x, of a reducer that is in S(v, n) but not in S.(v,n). From Lemma k.9, the number of edges in x is 3v-3-n. The sum of the degrees of the vertices in x is 2(3v-3-n) since each edge contributes 2 to this sum. Since x/s.(v,n), each uncollapsed ring vertex of x must have at least degree i+1. Let c be the number of collapsed vertices of x; u be the number of uncollapsed ring vertices of x; m be the number of interior vertices of x; v =c+u+m be the total number of vertices of x; n be the ring size of the reducer associated with x; 53 e =n-u be the number of vertices in the reducer associated with x that are collapsed vertices of x. The sum of the degrees of the vertices of x must be greater than 5m+(i+l)u+2c. The summands are justified as follows: 5m: since each interior vertex degree is greater than k (Corollary k.l) . (i+l)u: since each uncollapsed ring vertex degree is ^ i+1 (see definition of S.(v, n) and of x) . 2c: since each collapsed vertex degree is ^ 2 (otherwise, the vertex cannot be collapsed) . .'. 2(3v-3-n) l 5m+(i+l)u+2c 6v-6-2n ^ 5m+(i+l)u+2c Substitute v =c+u-+m 6c+6u+6m-6-2n s 5m+(i+l)u+2c 6m-5m ^ -6c-6u+6+2n+(i+l)u+2c m ^ 6+2n-6u+(i+l)u+2c-6c m ^ 6+(2n-2u)-^u+iu+u-l|c m ^ 6+2(n-u)-3u+iu-^-c Substitute e =n-u m 1 6+2e+(i-3)u-i|-c m § 6+(i-3)u+2e-4c 5h e l 2c since each collapsed vertex in x comes from collapsing at least 2 vertices of the reducer associated with x. /. 2e-4c ^ .'. m-(2e-i+c) a 6+(i-3)u Since m ^ m-(2e-l|c), rewrite m 1 m-(2e-^c) ^ 6+(i-3)u or m ^ 6+(i-3)u Since there must be at least 1 uncollapsed vertex in x, u 1 1. .'. m ^ 6+(i-3)-l =6-3+i =3+i Substitute i =ll+-n .*. m ^ 3+^-n =17-n However, m ^ 15-n was assumed. .'. x cannot exist .*. S. (v, n) = S(v, n) when i = lU-n and m ^ 15-n. The modifications to the basic algorithm are described below. These modifications allowed the sets S(v, n), where n ^ 11 and v ^ 15, to be generated. Step 1 : The sets, S'(n, n), of all n-ring reducers, n ^ 9> that have no collapsed or interior vertices were generated. • > -O in S'(n,n) in S*(n+l,n+l) 55 As shown possible by Lemma k.h, S'(n+1, n+l) was generated from S'(n, n). A vertex of degree 2 was added to each reducer in S'(n, n). When isomorphic reducers were rejected, the resulting set was S'(n+1, n+1). The number of elements in S'(n, n) is calculated in Figure k.k. The reducers generated in Step 1 formed a subset of the circled entries in Figure k.3- Step 2 : The sets S'(v, n) for v < n ^ 9 were generated. By Lemma k.8, S'(v, n+l) can be obtained from S'(v, n) . Step 2 removed a non-disconnecting ring edge from every reducer in S'(v, n) to obtain S'(v,n+l). 8(v+l): interior vertex displacement to the next vertex around the rin£ collapsed vertex Blank; used for vertex numbering Degree of vertex in the graph Collapsed vertices point to a chain of halfword entries F T B P Number of 'From' vertex in ring sequence (< l6) Number of 'To' vertex in ring sequence (< l6) Blank; used for vertex number Pointer to next collapsed entry or '0' end of chain Each reducer requires 60 words: 2 Initial words 30 Up to 15 vertex entries l8 Up to 36 collapsed vertex entries 10 Reducer code word Figure 5-1 Data structure for representing graphs . 6o Lemma 5.I ; A reducer containing no collapsed or interior vertices is uniquely represented (up to a circular permutation) by listing the degrees of the vertices in order around the ring. Proof ; The proof will proceed by induction on the number of vertices, v, in the graph of a reducer. For v = 3, there is only one graph, « r » • This graph is uniquely represented by '222'. Assume the lemma is true for v ^ n. Examine the case when v = n+1. Let x be a reducer with n+1 vertices. By Lemma k-.k, x has a ring vertex, b, of degree 2. Remove b from x leaving a graph, x', of n vertices. By assumption, x' has a unique representation d d . . .d.d. . . .d 2 1, d. = degree of vertex i The representation of x is d d . . . (d. +l)2(d.+l) . . .d . This representation is unique since the representation for x' was unique and since b, a degree 2 vertex, is adjacent to vertices i and j . Conversion from the representation to the graph is as follows. Find a degree 2 vertex, j, in the representation: 1 d ... d. 2 i . . . d . 12 ik n j is fixed between i and k. The interior of the reducer is completely triangulated; this implies that there must be an edge from i to k. 6l Continue the conversion by finding a degree 2 vertex in the representation d d . . . (d. -l) (d. -l) . . .d . The conversion from representation to graph is deterministic. This proves the lemma true for all n. Considering the code (representation) as an n-digit number, each graph could be assigned several codes (due to permutation of the starting position) . The largest such code was chosen to represent the graph . The codes of all non-isomorphic graphs were kept in a binary tree . A binary tree was selected over other search methods, such as sorted or unsorted linear lists. The binary tree method offered search time savings over unsorted linear lists. Keeping a sorted linear list would have involved more program overhead than keeping a binary tree. A comparison of the cost of the binary tree to the cost of linear lists is in Figure 5-2. Once a graph was generated, the code representing the graph was found. A search was made for the new code in the binary tree containing the codes of previously generated graphs. If the new code was not found, it was inserted into the tree and the data structure of Figure 5*1 was output to disk. If the new code was found in the tree, it was ignored since the graph had been previously generated. In this manner, rejection of isomorphic graphs was accomplished. 62 Linear Search 1. Load code from pointer 2. Test equality 3. Branch equal k. Increment pointer 5. Branch on count to 1 Binary Tree 1. Load code from pointer 2. Test 3 . Branch if high k. Branch if equal 5. Load low pointer 6. Branch to 1 Inner Loop Code Left/Right i Storage Reducer Size of Code Pointers Size Increase No interior vertices 2 words 1 word 33% 10 vertices 5 words 1 word iii 15 vertices 9 words 1 word n$ Figure 5-2 Storage overhead increases of binary tree method over storing only the codes. 63 Note that a graph, g, in S(v,n) could not be isomorphic to any graph, h, in S(i, j), where i / v or j / n. g differed from h in the number of vertices or the number of edges or both. Thus, in Steps 1-4, the isomorphism check was performed only between graphs in the same set, S(v, n). Step 1 was finished when the set S'(n,n), for n = 4, ...,9> had been generated. Step 2 involved removing a non-disconnecting ring edge from a reducer. This removal created a reducer with a greater ring size. By removing a ring edge from an element in S'(v, n), an element of S'(v,n+l) was obtained. From the circled entries in Figure 4.3, Step 2 was applied to generate S'(v,i), for i < v. By Lemmas 4.5 and 4.8, the sets above the dashed line in Figure 4.3 were complete sets. Step 3 involved adding an edge between two ring vertices separated by one other ring vertex. The middle vertex was either a collapsed vertex or a vertex of degree greater than 4 (Corollary 4.1). Performing this step involved moving down the columns of Figure 4.3 • Since these reducers could have interior vertices, a new method of encoding the graph was developed from L. Weinberg's algorithm [23] for encoding a planar triply- connected graph. Graphs of reducers were not triply- connected, but reducers were constrained by the fact that they were surrounded by a ring of n vertices. In addition, the interiors of reducers were completely triangulated. Thus, there were only two ways to embed the graph of a reducer in the plane. These two embeddings were mirror images of each other. 6k Weinberg's algorithm used a Depth- First Search to traverse all edges of a graph. Each edge was traversed twice (once in each direction) . The code was a record of each edge traversed and the direction of traversal. A pair of vertex numbers, ij, in the code represented the edge between vertices i and j, traversed" from vertex i to vertex j . The first edge traversed by the modified algorithm (A3) was a ring edge . By starting the code with a ring edge, a circuit of ring edges was visited before visiting any interior edges. Given such a code, there was an easy method to check whether a reducer was also a configuration. (A reducer with no collapsed vertices or diagonals was a configuration.) A code beginning with 2 3««« n lnn+1 and ending with n+1 n... 21 contained no collapsed vertices (see Figure 5.3(a)). Graphs of two reducers and their codes are shown in Figure 5 -3- Algorithm A3 required a clockwise ordering of the adjacency list for each vertex. A method was developed for creating this ordered listing by using the adjacency matrix of a graph and the order of the vertices around the ring. An adjacency matrix of a graph is a matrix whose entries, a. ., are defined as follows: 1, if vertex i is adjacent to vertex j a. . = X J 0, if i =j or if vertex i is not adjacent to vertex j Row i of an adjacency matrix is the adjacency row for vertex i. 65 Code: 23W167 17818289 2939^ 9^ A5A7A987 5765^321 (a) Reducer that is a configuration Code: 232^5671 76168182 8^85865^ 21 (b) Reducer with a collapsed vertex Figure 5-3 Graphs of two reducers and their codes. 66 Each vertex, i, has ADj(i) which is a circular listing of the vertices adjacent to i in clockwise order. The new number assigned to a vertex is NEW(i). The graph has v vertices. EDGE(i, j) is a binary indicator, 1 if edge i to j has been traversed. Step A (initialize) Choose an initial ring vertex, i, and the next vertex, j, around the ring from i. Set NEW(i) «- for k =1, ...,v NEW(i) «- 1, MM - 2, EDGE(i,j) «- for every i,j. Step B (Old or new vertex?) Set EDGE(i, j) <- 1. If NEW(j) = 0, go to Step C. Output NEW(j) to the code. If EDGE(j,i) = 1, go to Step D. Set k «- i, i •*- 3 } j *- k (interchange i,j). Repeat Step B. Step C (New vertex) Set MEW(j) *- NUM, NUM «- MJM+1 and output NEW(j) to the code. Step D (Find untraversed edge) Find i in ADJ(j). Set i *- j, j *- next entry in ADj(j). If EDGE(i,j) = 0, go to Step B. If i =1, j =2, halt. Repeat Step D. Algorithm A3 Generate code for a reducer. The method for creating the listing is shown in the following subgraph and portion of an adjacency matrix: 67 Adjacency matrix b c d ■ e b 1 1 c 1 1 1 d 1 c 1 1 1 The listing of c's adjacent vertices begins with d, e. Taking the logical conjunction (AND) of rows c and e produces two possibilities, b and d, for the next entry in the listing. Since d begins the listing, b is chosen as the next vertex in clockwise order. The listing of the vertices adjacent to c in clockwise order is d, e,b. The logical conjunction (AND) of two rows of the adjacency matrix could have produced at most 2 possibilities for the next entry in the listing. (This is a consequence of the facts that interiors were completely triangulated and interior vertices had degree greater than k.) Thus, two initial vertices of the adjacency list had to be known before the remainder of the list could be created. For a ring vertex, the adjacency list began with the next vertex (in clockwise order) around the ring. These two ring vertices could have both been adjacent to a single vertex. If both vertices were adjacent to a single vertex, this single vertex was then the second vertex in the adjacency list. For an interior vertex, the initial two vertices of the adjacency list were found while generating the lists for the other vertices. By starting with ring vertices and spiraling inward, the adjacency lists for all vertices were generated. 68 Algorithm A3 produced a code that could have started at any ring vertex of a reducer. The lexicographically largest code was chosen to represent the reducer in a binary tree. The length of the code was dependent on the number of edges in the graph. For a given number of vertices, v, and ring size, n, the number of edges in the graph was 3(v-l)-n. Since v was less than l6, the vertex numbers were represented by h bits (.1 byte) . Since each edge required two vertex numbers, the number of words required to encode a reducer was [Mv^n-|. The area required to store all the codes of generated reducers in a binary tree is shown in Figure 5«+- Enough core storage was available on the IBM 360/75 to keep the whole tree in core for Step 3- For Step k, it was necessary to store part of the tree on disk storage. The tree was allowed to grow until the available core storage was exhausted. Then the remaining tree entries were placed on disk storage. However, only leaves of the tree were placed on disk. Since the root and intermediate nodes of the tree were kept in core, the number of disk reads was kept to a minimum. In Step k, the algorithm proceeded from S(v, 11) to S (v+1, 13) by adding an isthmus (single vertex and an edge) to each ring vertex of reducers in S(v, 11). After two applications of Step 3 to S (v+1, 13), the set S (v+1, 11) = S (v+1, 11) was obtained (Lemma ij-.lO). A significant aspect of Step k was that the generation of the reducers above the double line in Figure k.l was not required. Step h used the same data structures as Steps 1-3 and also used the isomorphism check of Step 3- 69 n, number of vertices, v ring size 12 21 1A 15 13 9 min. 250K 17 min. kkkK 33 min. 675K 7^+ min 1130K 12 9 min. 263K 19 min. 563K 35 min. 5^1K 80 min 1070K 11 h min. 116K 8 min. 212K 15 min. 196K 37 min ^95K 10 1 min. 38K 2 min. 65K 5 min. 72K 13 min 179K 9 22 sec. 10K k-5 sec. 20K 1.5 min. 21+K 5 min 76K 8 6 sec. 3K 14 sec. 6K 32 sec. 9K 2 min 32K 7 1 sec. 5 sec. 14 sec. kO sec IK 2K 3K UK Figure 5.1+ CPU time and core storage (in K =1,024 - bytes) requirements to generate S(v, n) TO The number of reducers in S(v, n) for h % v ^ n and 6 ^ n ^ 13 is shown in Figure 5«5» The number in parenthesis is the number of reducers if isomorphic reducers are not rejected. The generation of all the reducers was broken into steps, each of which could be run as a single program on the 360/75 as many times as necessary. Although the programs used large amounts of core storage (up to 1 million bytes) and disk storage (13 million bytes for the largest file; 18 million total bytes), the factor that limited further generation was the amount of CPU time allowed for one program. The longest program run (80 CPU minutes) translated to about h hours real time. This was close to the mean time between two system errors of the 360/75 (when all programs must be restarted) . In addition, generation of graphs with 16 or more vertices would have required modification of the data structures. 71 number of vertices, v _*l L^| VO| M CO| OA| Ol HI OJl NA| -cH UN) t- OJ HMD J" C— OA O ONO -d MD ro, ua.^- na t- OJ H OJ O unmd 3 vp H mj \DO\ U)4 Ot- f-H 00O\ HCK NA OJ MD O H_=l- CO UN J-H NA ON t*- .H 00 HOD IAO H OJ J" ON OJ oi ^- C04- vooo \^^0 f-iA roj- ra ia OA_=h O MO NA NA c— H OJ H MD 00 _=J- UA OJ LT\ C— C— MD ai c- 00 _d- MD 00 M0 MO f- UA KA-4" -rf o O OJ 0J OJ MO 00 NA KN O -d- ON H -3- OJ OJ ^t- CO CO [— IT\ UA v — y OJ UA o OA H UA -— ' s — ' ' H H NA O O H O -d- O J- OJ M0 UA t-co CO OJ NA OJ UN-3- OJ NA O CO t- H KA KA -d D- D— MA d -=*" -3- UA t— NA NA H OA OJ MD LT\ H O OJ CO KA O H J- o NA-4- H UA H H OJ H O NA UA UACO OJ OA H OJ -4- M0 H H H MD OJ MOOJ HO -d-O t— O OJ UA COCO COO c— o -3- o oo O _;h NAOJCOUA.^-UAUAOJ H H MD OJ HOAOAH OAH * H *— • J- NAHUAOJUA^OO UAMD OA _rj- 0-_=l- J- MD V -— 'HOJ-=h!^-OI^H-d-J-t- N ^-v_^^--^hHnA0O CO 9 H OA CO 00 -=hMD OJ NA NA H O -=J- NA MD r-oo UACO CO [--CO OACO UA H C— OJ O 00 H C- H O OJ UA O H UA OJ OA O MD NA OJ UA MD -=h CO NA UA H O H MD CO NA O H O NA NA-3" H o j- H CO UACO H MD H OO CO H OA H NA UA OJ CO OJ NAMD OJ c— OJ OJ oo OJ H MD _=h H UA O MD 00 H H H J- -4" OJ CO OJ H NA MD -d- OJ O t- O H NAH UACA UN OA MDO _=t"OJ -4- OJ UAOJ OAUA f-UA-Ht— CAmD OJ -=j- J$ UA -4" -3- -=f OOJHOAOJMDO H NA H OJ MD — ' ^ H NA VO OJUA NAUA NA-=T OJ t— HNA HOJ HNA HMD _=t"0 HUA t- H *-" H h «^-' *•— ' ^-" — ■ ^- ' OJ H CO NAUA NA (The number of reducers generated before isomorph rejection is shown in parentheses) Figure 5.5 Number of reducers in S(v,n). 72 CHAPTER 6 to C-REDUCTION Once the reducers were generated, they had to be prepared for use in C-reduction. In this chapter, C-reduction and the generation of the direct colorations of the reducers are discussed. The generation of the direct colorations of the reducers was done in a manner similar to the generation of the direct coloration of configurations . Instead of an adjacency list, the reducers were input using the data structure of Figure 5-1. Also, the output was in a different format. Two decisions were made that minimized the disk storage space needed to store the direct colorations of the reducers . The first choice was to store a bit string with one bit per possible coloration. The comparison of a bit string to the ring coloration representation described in Chapter 3 is shown in Figure 6.1. The rapid look-up (hashing) feature that was useful in determining the direct and indirect colorations of configurations was no longer needed. A configuration, B, is C-reduced by a reducer, R, whenever the direct set of colorations of R is a subset of the good colorations of B. A bit string was well suited to checking the condition D(R) c G(B) . The second decision involved storing only 1 bit string per reducer. The ring of the reducer had to be matched to the ring of the configuration in every possible way. Selecting one of the n vertices as the initial vertex and reading the remaining ring vertices in clockwise or counterclockwise order, yields 2n possible distinct ways 73 ring size k 5 6 7 8 9 10 n 12 13 llj. 15 16 number of bytes number of bytes required for bit required using 1 bit list area per coloration 1 1 2 2 11 h 1+2 12 171 35 682 103 2,731 308 10, 922 923 ^3,691 2,768 Yjk, 762 8,301+ 699, 051 2k, 912 2, 796, 202 7^73*+ 10,U85,760 224,202 Figure 6.1 Comparison of bit list area and 1 bit per coloration schemes 7^ to match reducer to configuration. The decision was made to fix the initial vertex and ordering of the colorations of each reducer, and the colorations of the configuration were to be shifted. This decision allowed only 1 bit string to be stored per reducer; however, each good coloration of a configuration had to be listed in 2n ways. In this manner, disk storage space and disk reads were saved. Given a ring coloration, it is a simple matter to choose a new initial vertex and ordering. The only difficulty arises when color interchanges have to be performed to restore the coloration to canonical form. This procedure was mechanized to generate 2n bit strings of good colorations from the bit string initially calculated. The generation of the 2n bit strings was accomplished by using two program-generated routines, SHIFT and FLIP. In these routines, three statements were generated for every possible ring coloration. These statements tested the condition of the bit representing a coloration in the original string and set this condition in the new string. The SHIFT program changed the initial vertex of a coloration to the next vertex counterclockwise on the ring. initial new initial #1) vertex vertex color^ vertex # Coloration Coloration in canonical form 012 . . .31 1012 . . .3 p- 0102 . . .3 75 The FLIP program changed the ordering of the coloration from clockwise to counterclockwise : initial vertex ^_ ^ initial vertex #3 # n "! FLIP. vertex # Coloration Coloration in canonical form 012... 31 013... 21 ►- 012... 31 The program SHIFT was applied n-1 times to the original bit string of the configuration. The program FLIP was applied to the original hit string; and then, the output from FLIP was shifted n-1 times by applying the routine SHIFT. The application of the two routines resulted in 2n bit strings. These 2n bit strings were compared to the single bit string of each reducer. The program to attempt C-reduction (CEED) was written to allow any of the following procedure choices. For each configuration, CEED could provide the following information if requested: 1. All reducers which reduced the configuration; 2. The first reducer (in the order of generation) which reduced the configuration; 3- A list of the direct colorations of each reducer that were bad colorations of the configuration; 76 k. The first reducer with the smallest number of direct colorations which were bad colorations of the configuration. The reducers were sorted by ring size. Within ring size, the reducers were ordered by increasing number of interior vertices. There were three advantages to this ordering. First, it allowed the reducers with the smallest number of direct colorations to be tried first. These reducers seemed more likely to reduce a configuration than reducers with a larger number of direct colorations. Second, this ordering speeded up the removal of redundant reducers . By grouping reducers with the same number of interior vertices, the disk file could be read sequentially which minimized the time required to examine all potential reducers. Third, since the potential reducers were sorted by the number of interior vertices, the first effective reducer found contained the minimum number of interior vertices of any effective reducer of the configuration. The reducers enumerated in Figure 5«5 were sorted by the number of total vertices. Figure 6.2 shows the number of reducers after they were sorted by the number of interior vertices. After all of the reducers were generated and their direct colorations listed, the redundant reducers were removed. To determine whether a reducer, x, was redundant, the indirect colorations of x were generated. Then, C-reduction was attempted using reducers with fewer interior vertices than x. Since all configurations of ring size n, 6 ^ n ^ 11 and m ^ 15-n, were in the list of reducers, one added result of the removal operation was the determination of the reducibility or irreducibility of each such configuration. 77 Number of interior vertices 6 7 King 8 size 9 10 11 8 12 ko 95 323 982 1 2 7 27 112 11-63 1883 2 1 it- 23 108 5^ 2685 3 1 U 23 114-3 820 ^72 h 1 5 39 2^1 1490 9332 5 1 8 70 14-83 3378 ^521 6 k 25 188 1322 1^59 7 9 73 560 49^ 8 29 287 216 Total 66 1^25 1186 2998 8I4-7T 23875 Figure 6.2 Number of reducers generated for each ring size and number of interior vertices. 78 Since all potential reducers were generated, all the effective reducers of a configuration having ring size 6 % n % 11 and m ^ 15-n could be examined. For instance, it was discovered that there is only one effective reducer of the following configuration: Configuration Reducer This effective reducer was found by A. Bernhart [h] . The following definitions are used in the subsequent conjecture A configuration is geographically very good if: 1. No interior vertex of the configuration has 3 non-consecutive adjacent vertices on the ring. and 2. No interior vertex of the configuration has the property that its removal splits the interior vertices into components one of which has exactly two vertices. A configuration is acceptable if it contains a geographically very good sub- configuration. Conjecture: All reducible configurations are acceptable configurations. 79 In the process of eliminating redundant reducers, this conjecture was shown true for configurations with ring size 6 ^ n ^ 11 having m interior vertices, m ^ 15-n. An attempt was made to disprove the conjecture by finding a configuration that was not acceptable but was reducible. A list of the attempted configurations is in Appendix A. No sub-configuration of any configuration attempted was geographically very good. The configurations in Appendix A contain m interior vertices where m is less than or equal to the ring size, n. Since it has been observed that an acceptable configuration with m l n-2 is almost certain to be reducible, the unacceptable configurations used in the attempt were chosen to satisfy this condition. One of the most important results of this thesis work is a list of reducible configurations which have no effective reducers without interior vertices. Appendix B contains four configurations and the first effective reducers found by CEED. (Although the 10-ring configuration was previously reduced by F. Allaire and E. Swart [l], it was not known if the configuration had any effective reducers with no interior vertices.) Each effective reducer in Appendix C contains more than one interior vertex; therefore, all reducers with no interior vertices fail for these configurations. This conclusion is a result of the previously mentioned order of search through the reducers. Hence, the use of only reducers without interior vertices is not sufficient to reduce all reducible configurations . 8o CHAPTER 7 PROGRAM OUTPUT Demonstration of the reducibility or irreducibility of configurations with large ring sizes involves a large amount of output. This chapter is an examination of the output used to initially- check each program and a discussion of how large a truly "hand-checkable" proof might be. The program DIRECT produced the direct colorations of a configuration. Initially, a list of the direct colorations and of the corresponding colors of the configuration's interior vertices was used to verify that DIRECT was correct. Such a list for an 11-ring configuration would involve listing between 30%-50$, of the 7> 3^1 possible colorations of an 11-ring (between 2,214 and 3,690 colorations). One method to speed up the checking of the direct colorations that was attempted used the following idea: A planar representation of the configuration with each vertex replaced by its color can be rapidly checked visually (see Figure ^ .1) . Thus, two adjacent vertices that have the same color are easily spotted; and, an entire page of direct colorations in picture format is easier to check visually than a list of the colors of the vertices. The picture format, however, required more pages of output than a list of the direct colorations. In addition, the picture format was not easily automated. New formats had to be created for each new configuration. .0. • • • • • • • • • • 1 • .0. • • • : 1. .0 : • • * 8l Configuration (5-5-5 triangle in a 6-ring) -0- / I . / I . / I / I 3 2 1 I • / . /| I . / . / | | i , I / . / . | 1/ • / .1 2 3 2 Printouts Figure 7.1 Example formats of coloration printout! 82 An option in DIRECT allowed a list of the direct colorations of a configuration to be printed, but such lists were not generally produced because of their size. The indirect colorations, a product of the program DEED, required more computation (and thus more output to check) than the direct colorations. D-reduction involved the determination of the color pair segments of a coloration and color pair interchanges within segments (described in Chapter 3) • An example of the output used to depict the operations performed by DEED is shown in Figure "J. 2. Each of the three possible color pairings is followed by the columns determined by that color pairing. Within each column, the colorations produced by interchanges are listed. These colorations are followed by a pictorial representation of the color interchanges that were performed on the original coloration. For instance, column 2 of color pair 02,13 in Figure 7.2 shows the following: "01-0212 __-*_". The segment structure is f0102)5p\. The asterisk (*) indicates the position in the four rightmost positions that had a color interchange. (Recall that segments connected to the first two vertices, 01, were never used in color pair interchanges.) A dash (-) shows each position that remained unchanged. To the right of the listing of each good coloration the word "GOOD" was printed. Nothing was printed for a bad coloration. In some cases, it was necessary to interchange the colors 2 and 3 throughout the entire coloration to return the coloration to canonical form. The phrase "2-3 INT" was printed whenever such an interchange was necessary. The listing of the coloration printed was the listing after this 2-3 interchange had been performed. When at least one good coloration had been found in every column of a 83 * COLORATION 0.1- 0232 * XXXXXXXXXXXXXX -X-X- XXXXX -tt XXXXXXXXX COLOR PAIR (01,23) COLOR PAIR (02,13) COLUMN 1 01- 2032 **-- COLUMN 2 01- 0212 --*- COLOR PAIR (03,12): COLUMN 1 01- 2323 *--- 2-3 INT GOOD COLUMN 2 01- 0123 -*-- 2-3 INT GOOD COLUMN 3 01- 2303 *-*- 2-3 INT GOOD COLUMN k 01- 0202 --*- GOOD COLUMN 5 01- 2323 *— 2-3 INT GOOD COLORATION 01- 0232 MADE GOOD Figure "J. 2 D-reduction sample printout 8k color pairing, the original coloration had been made good and the phrase printed was "COLORATION 01-XXXX MADE GOOD". The output presented in the format shown in Figure "J .2 was used to verify the operations of both the single pass (DEED) and multiple pass (DREDP) D-reduction programs. This format clearly- displayed the operations involved in D-reduction and allowed the operations to be checked by hand. However, this format created a large amount of output for each configuration. The matrices of colorations that remained bad after DREDP were printed each time a pass was made through the coloration list. The multiple printing of matrices was eliminated in DRED by using only a single pass through the coloration list. In DRED, if one coloration became good it could cause other colorations to become good. Thus, it was sometimes necessary to examine the matrices between the time D-reduction was attempted for a certain coloration and the time that coloration became good. While the operation of D-reduction could be checked using the output format of Figure 7.2, the amount of output produced was large and varied greatly between configurations. The amount of output decreased as the number of good colorations increased. However, for a 9-ring configuration with 22k direct colorations and 2l8 indirect colorations (out of a possible 820 colorations), 800 pages of output were produced. Instead of this large output, counts of the direct and indirect colorations were used as rapid checks of D-reduction. These two counts were compared with the counts of previously reduced configurations and D-reduction was correct if the counts were equal . For R to be an effective reducer of a configuration, W, D(R) had to be a subset of G(W) (the union of D(W) and l(W)). To verify 85 C-reduction, the direct colorations of R had to be verified as well as the direct and indirect colorations of W. G(w) was verified by checking the output of DIRECT and DRED after they were applied to the configuration, W. An option of the C -reduction program (CRED) permitted the printing of the direct colorations of an effective reducer. In most cases, the output from CRED was limited instead to listing the encoding of an effective reducer. Along with the encoding, the initial position of the colorations of the configuration was indicated by printing the flipped and shifted conditions of the colorations. For example, CONFIGURATION C-REDUCED BY #56^8 CONFIGURATION WITH 2 SHIFTS AND FLIPPED; 231+56789 19A1AB1B 5b6bc6ct c8cacba8 A9876515 ^1^31321 D1000000 Proving the irreducibility of a configuration, W, involved much more work and output than proving reducibility. The outputs from DIRECT and DRED applied to W were again checked. An option in CRED permitted the printing, for each reducer R, the colorations in D(R) that were not in G(w) . Even when only one such coloration was printed for each reducer, the output produced was large. For an 11-ring configuration containing 5 interior vertices, it would have required listing 22 colorations for each of the 2l+,395 reducers. One coloration is required for each of the 2-n (2*11 =22) possible shifted and/or flipped positions of the configuration. (The number of positions could be somewhat decreased 86 by eliminating isomorphic positions of the configuration.) Irreducibility proofs for configurations with rings of 9 °r more vertices involved so much computation as to make hand verification impractical. For configurations of this size the only practical check of irreducibility is an independently written reduction program. Indeed, even reducibility of configurations with rings of 12 or more vertices cannot be easily checked by hand because of the large number of possible ring colorations (> 22,000; see Figure 7-3) • Thus, while the options were written into DIRECT, DEED and CRED to print hand- checkable proofs, the sheer size of the output prevented the printing of such proofs . No effective reducers were found for any of the 9-ring configurations listed in Appendix D. These configurations were listed in Table 2 [7] and Frank Bernhart had conjectured that these configurations were irreducible. Along with each configuration in Appendix D is the number of direct and indirect colorations of the configurations. 87 ring size number of colorations 6 31 7 91 8 274 9 820 10 2l+6l 11 7381 12 221M- 13 66ij-30 Ik 199291 15 597871 16 17936U Figure 7*3 Total number of possible colorations of an n-ring. 88 CHAPTER 8 CONCLUSIONS AND EXTENSIONS The Four Color Conjecture would be proven true if an unavoidable set of reducible configurations was found. The study of reducibility for configurations having ring size 6 i n § 11 and m ^ 15-n interior vertices using a complete set of potential reducers has important implications for reductions of larger configurations (n > 11) . First, reducers containing interior vertices are necessary for reduction (Chapter 6) . Second, acceptable configurations with n > 11 are likely to be reducible (Conjecture from Chapter 6) . Third, the configurations that were reduced (Appendices B and C) are useful since all larger configurations which contain them as sub-configurations are also reducible. Finally, many of the techniques used to reduce configurations with ring size n ^ 11 can be extended to configurations with larger ring size. My work also allowed other reducibility results to be verified. After this work was nearly complete, the work of F. Allaire and E. Swart (to appear [l]) to set up a comprehensive list of reducible configurations up to ring size 10 was brought to my attention. All of their reducibility results were confirmed; in addition, the 10-ring configuration in Appendix C was shown to have no effective reducers without interior vertices. All of the configurations that Allaire and Swart listed as 'NR' (not reducible) were shown to be irreducible (if m ^ l6-n) or partially irreducible (m > l6-n) . 8 9 The programs DIRECT and DEED were written so they could be extended to configurations with n > 11. K. Appel [3] has extended these programs to configurations with n =12, 13, lV. The ring coloration representation of Chapter 3 was used by Appel even though it required a bit list area of 699*051 bytes for n =±K. As was mentioned in Chapter 3, other schemes exist that can reduce the size of the bit list area; but, such schemes increase the time required to determine if a coloration is good. Since the number of possible ring colorations increases by a factor of 3 for each ring vertex added (see Figure 7«3), D-reduction above n =l6 is not considered practical at present. The speed and core storage of present computers is simply not adequate. My technique for C-reduction using a complete set of reducers whose direct colorations are stored on disk cannot easily be extended , to n =12 or more. Such an extension would involve a significant expansion in the required disk storage space. The size of the disk storage space required can be lower bounded by considering the reducers in S(v,12) that were used to generate S, (v, 1.1) (Chapter 5)- Each 12-ring reducer would require 2,768 bytes to store its direct colorations. Thus, 170 million bytes or approximately 170 removable IBM 231^ disk packs would be required to store the direct colorations of the 62,831 reducers in S (v, 12) (see Figure 5.5) • Computation of irreducibility for configurations with ring sizes n > 11 appears to be limited by the number of potential reducers that must be examined. It will be mentioned now that A. Bernhart [5] has discovered a technique that sometimes increases the number of good colorations 90 beyond direct and indirect colorations. However, no irreducible configuration has been found that becomes reducible when the increased number of good colorations was used. In fact, the two configurations in Appendix E remained irreducible even when the extra good colorations (calculated by F. Bernhart [6]) had been added. Further research can be done to determine the reducers most likely to reduce a configuration. Since only one effective reducer is needed out of the huge number of potential reducers when n > 11, more configurations could be reduced if such research were successful. Many heuristics are now being used to select the configurations most likely to be reducible but not to select the reducers most likely to reduce a given configuration. Some results on the selection of such reducers could come from the work on Splicing Theory and open sets [22] . In fact, the reducers of the configurations in Appendix C do conform to the Splicing Theory. However, this theory has not yet been developed to the point where it can be used to select effective reducers or even reducers that are most likely to be effective reducers. 91 LIST OF REFERENCES F. Allaire and E. R. Swart, "A systematic approach to the determination of reducible configurations in the four- color conjecture, " to appear in J. Comb. Theory . K. I. Appel and W. Haken, "The existence of unavoidable sets of geographically good configurations," preprint. K. I. Appel, W. Haken and J. A. Koch, "Reducible configurations with ring sizes up to 14 vertices," in preparation. A. F. Bernhart, "Another reducible edge configuration," Amer . J . Math. 70 (1948), 114-4-114.6 . A. F. Bernhart, "irreducible six-rings in minimal five- color maps," Amer. J. Math. 69 (19I4.7), 391-412. F. R. Bernhart, "Topics in graph theory related to the five-color conjecture," Thesis, Kansas State University, 1973 • F. R. Bernhart, "On the characterization of reductions of small order, " preprint. G. D. Birkhoff, "The reducibility of maps," Amer. J. Math. 35 (1913), 114- 128. P. Franklin, "Note on the four color problem," J. Math. Phys. 16 (1938), 172-184. F. Guthrie, "Note on the colouring of maps," Proc. Royal Soc. Edinburg 10 (1880), 729. B. T. Goldbeck, "8-rings in minimal maps," Thesis, University of Oklahoma, 1957- F. Harary, Graph Theory , Addison -Wesley, Reading, Mass., 1969* P. J. Heawood, "Map-colour theorem," Quart. J. Math. 24 (1890), 322-338. H. Heesch, Untersuchungen zum Vierfarbenproblem , Bibliographisches Ins ti tut AG, Mannheim, 1969' A. B. Kempe, "On the geographical problem of the four colours," Amer. J. Math. 2 (1879), 193-204. 92 [l6] C. L. Liu, Topics in Combinatorial Mathematics , Mathematical Association of America, 1972. [17] J. Mayer, "Prohleme des quatres couleurs: Un contre-example doit avoir au moins 96 sommets, " to appear in J. Comb. Theory . [l8] 0. Ore, The Four Color Problem , Academic Press, New York, 1967. [19] 0. Ore and J. Stemple, "Numerical calculations on the four color problem," J. Comb. Theory 8 (1970), 65-78. [20] G. Ringel and J. W. T. Youngs, "Solution of the Heawood Map Coloring Problem," Proc. Nat. Acad. Sci. 60 (1968), kjQ-kkS. [2.1] W. Stromquist, "The four color theorem for small maps," J . Comb . Theory 19 (1975), 256-268. [22] W. Stromquist, "The four color conjecture and splicing," Thesis, Harvard University, 1975. [23] L. Weinburg, "A simple and efficient algorithm for determining isomorphism of planar triply connected graphs, " IEEE Trans. Circuit Theory CT-13, 2 (1966), 1^2-148. [2^] C. E. Winn, "On the minimum number of polygons in an irreducible map," Amer. J. Math. 62 (19^0), I+O6-U16. 93 APPENDIX A Configurations with ring size 8, 9> 10 or 11 that are not acceptable configurations and that were not reduced. 9h m n direct indirect 237 267 7 10 560 1022 7 11 1320 385U 8 10 608 890 95 m n direct indirect 6 8 101 99 6 9 237 267 7 9 265 326 7 9 268 301 96 m n direct indirect 6 10 507 1375 8 10 59^ 79^ 9 10 703 8^5 8 10 657 9^9 97 m n direct indirect 9 10 7^9 Slk 8 10 616 988 9 10 709 688 b-M 9 10 61+8 799 98 m n direct indirect 7 11 1257 ^°1° 8 11 137^ 2873 9 11 15^3 2578 9 11 1557 2596 99 m n direct indirect 9 11 1517 2597 9 11 1562 3006 9 11 15^5 3004 9 11 15^5 3206 100 m n direct indirect 10 11 1690 1836 10 11 2035 2Ul6 10 11 1825 25^0 10 11 1668 238U 101 m n direct indirect 10 11 1838 2590 10 11 1830 2739 10 11 197^ 2521 102 m n direct indirect 10 11 1825' 2540 io ii 1785 2180 103 APPENDIX B Four reducible configurations that require effective reducers with interior vertices. io)+ Configuration Reducer m =6 n =10 direct = 531 indirect = 672 m =6 n =11 direct = 1078 indirect = 3^52 105 Configuration Reducer m =7 n =11 direct = 1297 indirect = 2796 m =6 n =11 direct = 1109 indirect = 3309 APPENDIX C Two reducible 11-ring configurations and their effective reducers. 107 Configuration Reducer m =7 n =11 direct = 1322 indirect = %80 m = 7 n = 11 direct = 1287 indirect = 3855 108 APPENDIX D Irreducible 9-rlng configurations. 109 & &> &a &* 3 direct = = 224 221 224 257 197 indirect = - 376 376 378 315 14-56 •££ ^ & <$3 direct = = 219 224 225 201 indirect = = 362 356 352 4^4 ^SS» ^ v& ^ 5A direct = 208 2l8 212 indirect = 459 332 320 direct = 243 224 223 222 206 indirect = 329 443 350 336 484 110 £j>* ^>- >^> direct = 2l8 indirect = 402 215 392 237 267 265 326 •X* ^A^ AJi P4>+ direct = 160 indirect = 65^- 19^ 1+80 219 '410 2^+7 312 ^t> *m Ixtr direct = 219 indirect = 366 201 1+70 252 275 2U6 28l Ill direct = 249 238 2l6 indirect = 309 332 354 •-*V» direct = 238 215 indirect = 35^ M<-0 I If' APPENDIX E Two irreducible 9- r ing configurations with additional good colorations. 113 ^y direct colorations = 22^ indirect colorations = 2l8 additional good colorations = Ik .^ direct colorations = 219 indirect colorations = 239 additional good colorations = l8 uh VITA John Allen Koch was born in Urbana, Illinois, on October 31, 19^-8. He graduated from Bucknell University with a B.S. in Mathematics in May, 1970* He received his M.S. in Computer Science from the University of Illinois in May, 1972. He has been a Research Assistant in the Department of Computer Science from September, 197°, to May, 197&- He was elected to the Mathematics honorary, Pi Mu Epsilon, in 1969, to the Society of Scientific Researchers, Sigma Xi, in 197 2 and to the National Scholastic Honorary, Phi Kappa Phi, in 1975* He is a member of the American Mathematical Society and the Association for Computing Machinery. 3LI0GRAPHIC DATA EET 1. Report No. UIUCDCS-R-76-802 3. Recipient's Accession No. rule and Subtitle COMPUTATION OF FOUR COLOR IRREDUCIBILITY 5- Report Date May 1976 \uthor(s ) John Allen Koch 8. Performing Organization Rept. No. Performing Organization Name and Address Department of Computer Science Jniversity of Illinois at Urbana-Champaign Jrbana, Illinois 61801 10. Project/Task/Work Unit No. .11. Contract/Grant No. NSF MCS 73-O3I1O8 Sponsoring Organization Name and Address National Science Foundation Washington, D.C. 13. Type of Report & Period Covered 14. Supplementary Notes t Abstracts A critical part of a possible proof of the Four Color Conjecture would be the letermination of the reducibility or irreducibility of a collection of configurations. ^ configuration is a planar graph bounded by a simple circuit (ring) of vertices, [nformally, a reducible configuration is one that cannot be a subgraph of a minimal jounterexample to the Four Color Conjecture. Formally, a configuration is irreducible rtien a certain collection of known methods of proving reducibility fail. D-reduction and C-reduction (methods of proving reducibility defined by H. leesch in Untersuchungen zum Vierfarbenproblem ) are used to determine reducibility >r irreducibility of configurations with ring size n, 6 ^ n ^ 11, and with fewer than .6-n interior vertices. Two algorithms for performing D-reduction are presented, ^-reduction was performed using all possible potential reducers. The methods devised ;o generate all possible potential reducers are discussed in detail. Four '.onfigurations that require reducers which contain interior vertices are shown. 7