A Rainbow Clique Search Algorithm for BLT-Sets Abdullah Al-Azemi1 , Anton Betten2 , and Sajeeb Roy Chowdhury3 1
Kuwait University, Kuwait
[email protected] 2 Colorado State University, USA
[email protected], http://www.math.colostate.edu/∼betten/ 3 Colorado State University, USA
[email protected]
Abstract. We discuss an algorithm to search for rainbow cliques in vertex-colored graphs. This algorithm is a generalization of the BronKerbosch algorithm to search for maximal cliques in graphs. As an application, we describe a larger algorithm to classify a certain type of geometric-combinatorial objects called BLT-sets. We report on the classification of BLT-sets of order 71. Keywords: Classification, Rainbow Clique, Graph, BLT-set, Finite Geometry
1
Introduction
Let PG(n, q) denote the n-dimensional projective space over the field Fq . A Q(4, q) space is a projective space PG(4, q) equipped with a quadratic form, such as x20 + x1 x2 + x3 x4 = 0. There is an associated bilinear form β(x, y) and a group which preserves the quadratic form (for more details, see [13]). By considering the points and lines on the quadric with respect to inclusion, an incidence structure of points and lines is obtained. There are (q 2 + 1)(q + 1) points and equally many lines. Each point is on q + 1 lines and each line has q + 1 points. It is an example of a finite generalized quadrangle [12]. This means that if a point is not on a line, the point is collinear to exactly one point on the line. The symmetry group of the incidence structure is the orthogonal group PΓO(5, q). A BLT-set (named after the initials of the authors of [2]) of Q(4, q) is a set of q + 1 points such that no point on the quadric is collinear to three points in the set. In terms of the collinearity graph associated to Q(4, q), a BLT-set induces an equitable partition. BLT-sets are interesting because they give rise to quadratic flocks, which in turn give rise to translation planes. In a curious twist, BLT-sets predate themselves, having been introduced in [8] under the name (0, 2)-sets (by the same author). BLT-sets give rise to generalized quadrangles
2
Al-Azemi-Betten-Chowdhury
and other objects of interest to the finite geometry community. Two BLT-sets over the same field Fq are equivalent if there is an orthogonal transformation which takes one to the other. We consider the problem of classifying BLT-sets up to equivalence. It is known that BLT sets in Q(4, q) exist if and only if q is odd. A list of the 40 points Pi of Q(4, 3) is given in Tab. 1. Based on this labeling
0 : 0, 1, 0, 0, 0 1 : 0, 0, 1, 0, 0 2 : 0, 0, 0, 1, 0 3 : 0, 1, 0, 1, 0 4 : 0, 1, 0, 2, 0 5 : 0, 0, 1, 1, 0 6 : 0, 0, 1, 2, 0 7 : 0, 0, 0, 0, 1 8 : 0, 1, 0, 0, 1 9 : 0, 1, 0, 0, 2
10 : 0, 0, 1, 0, 1 11 : 0, 0, 1, 0, 2 12 : 0, 1, 2, 2, 2 13 : 0, 1, 2, 1, 1 14 : 0, 1, 1, 2, 1 15 : 0, 1, 1, 1, 2 16 : 1, 2, 1, 0, 0 17 : 1, 1, 2, 0, 0 18 : 1, 2, 1, 2, 0 19 : 1, 1, 2, 2, 0
20 : 1, 2, 1, 1, 0 21 : 1, 1, 2, 1, 0 22 : 1, 2, 1, 0, 1 23 : 1, 1, 2, 0, 1 24 : 1, 2, 1, 0, 2 25 : 1, 1, 2, 0, 2 26 : 1, 0, 0, 2, 1 27 : 1, 2, 0, 2, 1 28 : 1, 1, 0, 2, 1 29 : 1, 0, 1, 2, 1
30 : 1, 0, 2, 2, 1 31 : 1, 0, 0, 1, 2 32 : 1, 2, 0, 1, 2 33 : 1, 1, 0, 1, 2 34 : 1, 0, 1, 1, 2 35 : 1, 0, 2, 1, 2 36 : 1, 1, 1, 1, 1 37 : 1, 2, 2, 1, 1 38 : 1, 1, 1, 2, 2 39 : 1, 2, 2, 2, 2
Table 1. The points of Q(4, 3)
of points, Tab. 2 lists the 40 lines. Each line is represented as the set of points incident with it. 0 : 0, 31, 32, 33 1 : 0, 26, 27, 28 2 : 1, 26, 29, 30 3 : 1, 31, 34, 35 4 : 15, 16, 28, 35 5 : 14, 16, 30, 33 6 : 14, 17, 27, 34 7 : 15, 17, 29, 32 8 : 6, 8, 13, 14 9 : 8, 21, 35, 37
10 : 8, 18, 29, 38 11 : 5, 9, 12, 15 12 : 9, 19, 30, 39 13 : 9, 20, 34, 36 14 : 10, 20, 32, 37 15 : 10, 19, 28, 38 16 : 4, 10, 12, 14 17 : 11, 18, 27, 39 18 : 11, 21, 33, 36 19 : 3, 11, 13, 15
20 : 5, 22, 27, 37 21 : 4, 22, 29, 36 22 : 13, 19, 22, 31 23 : 6, 24, 32, 39 24 : 3, 24, 34, 38 25 : 12, 21, 24, 26 26 : 6, 23, 28, 36 27 : 12, 18, 23, 31 28 : 3, 23, 30, 37 29 : 5, 25, 33, 38
30 : 13, 20, 25, 26 31 : 4, 25, 35, 39 32 : 0, 7, 8, 9 33 : 1, 7, 10, 11 34 : 7, 16, 22, 24 35 : 7, 17, 23, 25 36 : 0, 2, 3, 4 37 : 1, 2, 5, 6 38 : 2, 16, 18, 20 39 : 2, 17, 19, 21
Table 2. The lines of Q(4, 3)
An example of a BLT-set in Q(4, 3) is the set {P0 , P1 , P14 , P15 }: Each point of Q(4, 3) other than the four points in the BLT-set lies on either 0 or 2 lines in pencils through these points (cf. Tab. 3). The points which lie on two pencils are {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 16, 17, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35}. The points which are not collinear to points of the BLT-set are {2, 19, 19, 20, 21, 22, 23, 24, 25, 36, 37, 38, 39}. In terms of the collinearity graph of Q(4, 3), we have an equitable partition with three classes of size 4, 23 and 13, respectively.
A Rainbow Clique Search Algorithm 0, 31, 32, 33 0, 26, 27, 28 0, 7, 8, 9 0, 2, 3, 4
1, 26, 29, 30 1, 31, 34, 35 1, 7, 10, 11 1, 2, 5, 6
14, 16, 30, 33 14, 17, 27, 34 14, 6, 8, 13 14, 4, 10, 12
3
15, 16, 28, 35 15, 17, 29, 32 15, 5, 9, 12 15, 3, 11, 13
Table 3. The pencils of lines through the points in the BLT-set
Several infinite familes of BLT-sets exist. However, many examples are known that are currently sporadic. It is very likely that new infinite families can be constructed from the known examples, though this might be a difficult problem. Besides that, there is interest in resolving the problem of classifying BLT-sets for additional finite fields. At present, all BLT-sets in Q(4, q) for q ≤ 67 have been classified [6]. In this note, the case q = 71 will be settled. Our computations are facilitated using the computer algebra package Orbiter [4]. Orbiter is a library of C++ classes, devoted to the problem of classifying combinatorial objects.
2
Underlying theory
One of the centerpieces in the classfication of BLT-sets is an algorithm to find all rainbow cliques in a vertex colored graph. The reduction of the problem of classifying BLT-sets to the problem of searching for rainbow cliques in graphs is interesting. In this section, we wish to outline this reduction briefly. Let Γ = (V, E) be a finite graph. For two vertices x, y ∈ V , we say that x and y are adjacent in Γ , if {x, y} is an edge in E, and we express this by writing x ∼ y. Also, for a vertex x ∈ V , let N (x) be the set of neighbors of x in Γ , i.e. N (x) = {y ∈ V | x ∼ y}. A clique in Γ is a set T ⊆ V of vertices of Γ such that x ∼ y for any two vertices of T . The Bron-Kerbosch algorithm [7] is a systematic way to find all maximal cliques in a graph. A clique is called maximal if there is no clique which strictly contains it. The automorphism group of a graph Γ = (V, E) is the set of permutations of V which preserve the adjacency relation. This group is denoted by Aut(Γ ). Two subsets X and Y of V are called equivalent if there is an automorphism α ∈ Aut(Γ ) with Xα = Y. Let C be a finite set, whose elements are called colors. A colored graph is a tuple Γ = (V, E, C, c) where (V, E) is a graph, C is a set of colors, and c : V → C is a function which assigns exactly one color to each vertex. We assume that c(x) 6= c(y) whenever x and y are adjacent. For k ∈ C, let Ck be the set of vertices of Γ of color k, i.e. Ck = {y ∈ V | c(y) = k}. The set Ck is called a color-class. A rainbow clique in Γ is a clique which intersects each color class in exactly one element. Rainbow cliques are maximal but not every maximal clique is a rainbow clique. In this paper, we will utilize rainbow cliques to facilitate the classification of BLT-sets. This will be explained next. A partial BLT-set is a set S of points of Q(4, q) with the property that no point of Q(4, q) is collinear with more than two points of S. A BLT-set is a
4
Al-Azemi-Betten-Chowdhury
partial BLT-set of size q + 1. An efficient way to construct and classify BLT-sets is this: – (Problem 1) Classify the partial BLT-sets of some size s, say. The output from this step is a list S1 , . . . , SN of representatives of the orbits of PΓO(5, q) on the set of partial BLT-sets of size s. – (Problem 2) Given a partial BLT-set of size s, find all BLT-sets containing it. – (Problem 3) Given the data created when solving Problems 1 and 2, produce the classification of BLT-sets of Q(4, q) under the action of PΓO(5, q). For Problem 1, the poset classification algorithm described in [5] can be used. Regarding Problem 2, the rainbow clique techniques described in this paper are useful. For Problem 3, the algorithm of [5] is again useful. The choice of the parameter s is important. If s is too large, we may not be able to classify the partial BLT-sets of that size, so we fail with Problem 1. If s is too small, we may either be unable to solve Problem 2 or we may end up with too many solutions. Based on practical experiments, we find that s = 5 seems to work well. Let us now focus on solving Problem 2. Suppose we have a partial BLT-set set S of size s > 0. The goal is to find all BLT-sets which contain S. To this end, we define a graph ΓS . We say that a point P of Q(4, q) is alive with respect to S if S ∪ {P } is a partial BLT-set of size s + 1. The vertices of the graph ΓS are the live points. Two vertices of ΓS corresponding to points P1 and P2 are adjacent in ΓS if S ∪ {P1 , P2 } is a partial BLT-set of size s + 2. Now, pick a line through any point of S. Any line will do, but it is important that we fix this line. So, suppose that S = {Q1 , . . . , Qs }. Let ` be a line through Q1 , say. By the generalized quadrangle property, the points of S \ {Q1 } = {Q2 , . . . , Qs } are collinear to certain points on `. By the partial BLT-set property, these points are all distinct. Let C = {C1 , . . . , Cq+1−s } be the set of points of ` \ {Q1 } which are not collinear to any of the points in {Q2 , . . . , Qs }. The set C = {1, . . . , q + 1 − s} will serve as the set of colors of ΓS . A live point P is collinear to exactly one point of C. If P is collinear to the point Ck , then we set c(P ) = k. Assume that P1 and P2 are live points collinear to the same point Q on `. Then Q is collinear to P1 , P2 and Q1 , which contradicts the BLT-property. Hence S ∪ {P1 , P2 } is not a partial BLT-set, and so P1 6∼ P2 in ΓS . This shows that the function c : V → C is a coloring of ΓS . The following lemma from [3] is helpful to create the adjacency relation E of ΓS . Let Nq be the set of non-squares in Fq , i.e. Nq = {x ∈ Fq \ {0} | y 2 6= x for all y ∈ Fq }. Lemma 1. Let S be a non-empty partial BLT-set and let a ∈ S arbitrary. Let x, y ∈ Q(4, q) such that both S ∪ {x} and S ∪ {y} are partial BLT-sets. Then S ∪ {x, y} is partial BLT-set if and only if −β(a, x)β(a, y)β(x, y) ∈ Nq .
A Rainbow Clique Search Algorithm
5
Every BLT-set containing S corresponds to a rainbow clique in ΓS . Interestingly, the converse is true as well, though this is by no means obvious (the proof depends on a specific property of BLT-sets, see [3]). This connection is the basis of our classification algorithm. It reduces Problem 2 to the problem of finding all rainbow cliques in all graphs ΓS associated to partial BLT-sets S from a transversal of the equivalence classes found in Problem 1. Consider the example of BLT-sets in Q(4, 3). Suppose we pick s = 1 in the classification algorithm. Suppose we consider the partial BLT-set S = {P0 }, and we wish to find all BLT-sets containing it. We may pick the line `0 = {0, 31, 32, 33} through P0 . The pencil of lines through P0 is the four lines {0, 31, 32, 33}, {0, 26, 27, 28}, {0, 7, 8, 9}, {0, 2, 3, 4}. Based on this list, the set of points which are alive is {1, 5, 6, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 29, 30, 34, 35, 36, 37, 38, 39}, which is all points not contained in the pencil. The colored graph ΓS = (V, E, C, c) can now be defined. The vertex set is the set V of live points just listed. The colors are defined using the points 31, 32 and 33 on the line that we picked. By looking at the pencil of lines through each of these points, we find that the color classes are C0 = {1, 12, 13, 18, 19, 22, 23, 34, 35}, C1 = {6, 10, 15, 17, 20, 24, 29, 37, 39}, C2 = {5, 11, 14, 16, 21, 25, 30, 36, 38}. Thus we have a graph ΓS with 27 vertices and 3 colors. Each color class has size 9. For the adjacency relation, we note that 2 is the only non-square in F3 . The neighbors of 1 turn out to be {14, 15, 36, 37, 38, 39}. For instance, since −β(P0 , P1 )β(P0 , P14 )β(P1 , P14 ) = 2 is a nonsquare, 1 is adjacent to 14. Similarly, the other adjacencies can be checked. The full adajcency list is shown in Table 4. The search for rainbow
35 : 30, 11, 5, 20, 17, 24 22 : 30, 38, 21, 20, 6, 15 1 : 36, 38, 14, 39, 37, 15 13 : 36, 16, 5, 39, 17, 10 18 : 30, 36, 25, 24, 15, 10 34 : 16, 21, 25, 6, 29, 10 19 : 11, 25, 14, 37, 29, 24 12 : 38, 16, 11, 37, 6, 17 23 : 21, 5, 14, 20, 39, 29
30 : 35, 22, 18, 6, 17, 10 36 : 1, 13, 18, 37, 17, 24 38 : 22, 1, 12, 20, 39, 17 16 : 13, 34, 12, 39, 37, 29 21 : 22, 34, 23, 39, 15, 10 11 : 35, 19, 12, 20, 6, 29 25 : 18, 34, 19, 37, 6, 15 5 : 35, 13, 23, 29, 24, 10 14 : 1, 19, 23, 20, 24, 15 Table 4. Adjacency in ΓS
20 : 35, 22, 23, 38, 11, 14 39 : 1, 13, 23, 38, 16, 21 37 : 1, 19, 12, 36, 16, 25 6 : 22, 34, 12, 30, 11, 25 17 : 35, 13, 12, 30, 36, 38 29 : 34, 19, 23, 16, 11, 5 24 : 35, 18, 19, 36, 5, 14 15 : 22, 1, 18, 21, 25, 14 10 : 13, 18, 34, 30, 21, 5
6
Al-Azemi-Betten-Chowdhury
cliques in this graph will be continued below. A few words regarding the symmetry group of Q(4, q) are in order. The orthogonal group O(n, q) is generated by elements known as Siegel transformations and orthogonal reflections. A vector v is singular if Q(v) = 0. The singular vectors give rise to the points on the quadric. All q − 1 multiples of one singular vector give rise to one projective point on the quadric. The bilinear form associated to Q gives rise to a polarity ⊥. Let u be a singular vector and let v ∈ hui⊥ . The linear map ρu,v (x) = x + β(x, v)u − β(x, u)v − Q(v)β(x, u)u is known as Siegel transformation. It belongs to O(n, q). For a non-singular vector v, the linear map tv (x) = x − Q(v)−1 β(x, v)v is called orthogonal reflection and belongs to O(n, q) as well. Both types of elements suffice to generate the orthogonal group O(n, q). The projective orthogonal group PGO(n, q) is the factor group O(n, q)/ ± I, where I is the identity transformation. For q odd, the orthogonal group O(2m + 1, q) has order 2q m
2
m Y
q 2i − 1 .
i=1
The order of the projective group is half of this number. It is possible to create the orthogonal group by creating generators which are either Siegel transformations or orthogonal reflections as random. By using the order formula as a stopping rule, the algorithm will produce the full group. Let us consider an example. The orthogonal group PGO(5, 3) has order 51840. Random generators are the six group elements g1 = ρ(0,0,1,1,0),(0,1,2,0,2) , g2 = ρ(1,2,0,2,1),(2,0,1,2,2) , g3 = ρ(0,0,0,1,0),(1,0,0,0,0) ,
g4 = ρ(1,0,0,2,1),(2,0,2,0,1) , g5 = ρ(1,1,2,0,2),(0,2,2,0,2) , g6 = t(1,1,1,1,0) .
This can be verified using the following piece of Magma [11] code, which confirms the group order: K := FiniteField(3); GL53 := GeneralLinearGroup(5, K); g1 := elt; >;
A Rainbow Clique Search Algorithm
7
The output of this code is 51840, the order of PGO(5, 3). For more background on the orthogonal group, we refer to [13].
3
Technical contribution
The basis of this algorithm is the Bron-Kerbosch algorithm [7]. A modified version for rainbow cliques is described next. Let Γ = (V, E, C, c) be a colored graph. A partial rainbow clique is a clique which intersects each color class in at most one element. We say that a color has been satisfied by a set R if there is an element in R of that color. The algorithm considers a set R which is a partial rainbow clique. The set R is implemented as a stack, so we can tell in what order the elements have been added to R. The algorithm tries to extend R in all possible ways that are reasonable. A set L of live points holds all vertices under consideration at the current state. A set M ⊆ L is determined to be the minimal color class. Vertices from M are used to extend R in the next step. Here is the recursive algorithm: 1. Input: a partial rainbow clique R, a set L of live points. 2. Test if |R| = h. In this case, R is a rainbow clique and will be printed. Return to the previous level in the search. 3. Let r be the element that was added last to R. 4. Let L = L ∩ N (r). 5. Determine the set M which is the smallest among the sets Ci ∩ L where Ci varies over the color classes which have not yet been satisfied by R. If there are several choices for M , pick one arbitrarily. 6. Loop over all elements m ∈ M. 7. Form R ∪ {m} and recurse. 8. Move to the next element m ∈ M and repeat, until M has been exhausted. 9. Return to the previous level of the backtrack search. Initially, the algorithm is started with R = ∅ (the empty set) and L = {0, . . . , n− 1} (the set of vertices of Γ ). In order to illustrate the algorithm, we continue the example of BLT-sets in Q(4, 3). The search tree of the rainbow clique algorithm is illustrated in Fig. 1. The algorithm starts with the empty set, which is a partial rainbow clique. This is the root node in the figure. At this point, the live point set is all of the vertices. The algorithm then proceeds to pick a color class, say C0 . Within C0 , there are nine possible vertices that can be picked. These possibilities are represented as the nine nodes which descend from the root node. For each of the possibilities, the neighbor set is computed, and the new live point set is formed. As we have seen, there are three neighbors in each of the remaining two color classes. The algorithm picks one of the remaining color classes, and then loops over all three vertices. This amounts to the 9 × 3 = 27 vertices at depth two in the search tree. For each choice, the new live point set has size one. The algorithm picks the remaining color class and adds the unique live point to form a rainbow clique.
8
Al-Azemi-Betten-Chowdhury
Fig. 1. The search tree
This amounts to the 27 nodes at the bottom of the search tree. The resulting 27 rainbow cliques are listed in Tab. 5. The associated BLT-sets are constructed by adding S, which amounts to adding P0 . 35, 30, 17 35, 11, 20 35, 5, 24 22, 30, 6 22, 38, 20
22, 21, 15 1, 38, 39 1, 36, 37 1, 14, 15 13, 36, 17
13, 5, 10 13, 16, 39 18, 36, 24 18, 25, 15 18, 30, 10
34, 25, 6 34, 16, 29 34, 21, 10 19, 25, 37 19, 14, 24
19, 11, 29 12, 11, 6 12, 16, 37 12, 38, 17 23, 5, 29
23, 21, 39 23, 14, 20
Table 5. Rainbow cliques in ΓS
4
Application
We will now describe an application of this algorithm. The problem is that of classifying BLT-sets in Q(4, 71). This is the next open case following the results published in [6]. Theorem 1. The number of BLT-sets in Q(4, 71) up to equivalence is 8. The BLT-sets are the Linear, the Fisher, the Penttila, and the Fisher-Thas, together with four more, which do not fall into any of the known families. The four sporadic sets have automorphism groups of order 3, 8, 24 and 24. One of the sets with automorphism group of order 24 was described in Law [9]. The two BLT-sets with groups of order 24 can be distinguished by the number of planes which intersect them in 4 points. One has 810 and the other has 876 such planes. The computations leading to this result were performed on the Summit compute cluster [1]. We used Orbiter [4] to perform all computations. The number of partial BLT-sets of size 5 in Q(4, 71) is 196891. This is also the number of
A Rainbow Clique Search Algorithm
9
instances of rainbow clique finding problems that had to be solved. Each graph has 67 color classes, so each rainbow clique has size 67. In the hardest instance, the graph had 18,211 vertices. The search for this instance took about 53 minutes. On average, the graphs were smaller and the search was shorter, in part because we used the lexicographic ordering reduction described in [6].
5
Acknowledgements
The authors acknowledge generous access to the HPC resource Summit [1], which was essential to perform the computations necessary for this work.
References 1. Jonathon Anderson, Patric J. Burns, Daniel Milroy, Peter Ruprecht, Thomas Hauser, and Howard Jay Siegel. 2017. Deploying RMACCS Summit: An HPC Resource for the Rocky Mountain Region. In Proceedings of PEARC 17, New Orleans, LA, USA, July 09-13, 2017, 7 pages. 2. Laura Bader, Guglielmo Lunardon, and Joseph A. Thas. Derivation of flocks of quadratic cones. Forum Math., 2(2):163–174, 1990. 3. Laura Bader, Christine M. O’Keefe, and Tim Penttila. Some remarks on flocks. J. Aust. Math. Soc., 76(3):329–343, 2004. 4. Anton Betten. Orbiter – A program to classify discrete objects, 2016, https://github.com/abetten/orbiter. 5. Anton Betten. How fast can we compute orbits of groups? 2018. This volume. 6. Anton Betten. Rainbow cliques and the classification of small BLT-sets. In ISSAC 2013—Proceedings of the 38th International Symposium on Symbolic and Algebraic Computation, pages 53–60. ACM, New York, 2013. 7. Coen Bron, Joep Kerbosch. Algorithm 457: finding all cliques of an undirected graph, Communications of the ACM, Volume 16 Issue 9, Sept. 1973, 575–577. 8. M. De Soete and J. A. Thas. A characterization theorem for the generalized quadrangle T2∗ (O) of order (s, s + 2). Ars Combin., 17:225–242, 1984. 9. Maska Law. Flocks, generalised quadrangles and translation planes from BLT-sets. Thesis presented to the Department of Mathematics and Statistics, The University of Western Australia, March 2003. 10. Maska Law and Tim Penttila. Classification of flocks of the quadratic cone over fields of order at most 29. Adv. Geom., (suppl.):S232–S244, 2003. Special issue dedicated to Adriano Barlotti. 11. Magma. The Computational Algebra Group within the School of Mathematics and Statistics of the University of Sydney, 2004. 12. Stanley E. Payne and Joseph A. Thas. Finite generalized quadrangles. EMS Series of Lectures in Mathematics. European Mathematical Society (EMS), Z¨ urich, second edition, 2009. 13. D.E. Taylor. The geometry of the classical groups, volume 9 of Sigma Series in Pure Mathematics. Heldermann Verlag, Berlin, 1992.