Alternative Branching Strategies in the Branch and Bound Algorithm by Using a K-Clique Covering Vertex Set for Maximum Clique Problems

The maximum clique problem (MCP) is graph theory problem that demand complete subgraph with maximum cardinality (maximum clique) in arbitrary graph. Solving MCP usually use Branch and Bound (BnB) algorithm. In this paper, we will show how n + 1 color classes (where n is the difference between upper and lower bound) selected to form k-clique covering vertex set which later used for branching strategy can guarantee finding maximum clique.


Introduction
The maximum clique problem (MCP) is the problem of finding a complete subgraph with the maximum number of vertices in it (maximum clique) on any graph G = (V, E), the maximum clique cardinality in G is denoted by ω(G). The maximum clique has a wide range of applications including social network analysis (Balasundaram et al., 2011), economics (Boginski et al., 2006), bioinformatics (Szabó and Zavalnij, 2018), and biochemistry (Pardalos and Xue, 1994). In solving MCP generally using the Branch and Bound (BnB) algorithm (Wu et al., 2019), examples of the BnB algorithm for MCP can be found in (Aslan and Baykan, 2016) and a review of the algorithm for MCP can be seen in (Wu et al., 2019;Blum et al., 2020;Smith et al., 2019;Guo et al., 2019). Pardalos and Xue (1994) formulated three main keys to the BnB algorithm for MCP, namely: (1) How is a good lower bound?
(2) How is a good upper bound of the maximum clique size determined?
(3) How is the search carried out?
According to Babel and Tinhofer, G. (1990), there are two stages in the BnB algorithm, namely the bounding stage and the branching stage, the branching stage is carried out to break the problem into smaller sub-problems (in the form of subgraphs) so that the search for maximum clique will be easier to do, then at the limitation stage, the upper bound (UB) and the lower bound (LB) are determined to cancel the subgraph of the branching result which will not produce maximum clique. Szabó and Zaválnij (2019) describe how a k-clique covering vertex set is used for branching on BnB for MCP. In this paper, the method for determining the k-clique covering vertex set uses a color class, but they note that this method can guarantee that the set has a minimum size so that it will affect the length of the branching process, then we realize that choosing an incorrect color class can causing no maximum clique to be found. So that it is motivated by this in this paper to explain how the selection of color classes is carried out to form the k-clique covering vertex set which will later be developed into a branching strategy in BnB for MCP.

Definitions and Notation
In this paper, the graph used is a simple graph, the graph G = (V, E) is said to be a simple graph if the graph does not have directed edges, double edges and loops. The set of vertices which are adjacent to vertex v is denoted by Clique is a subgraph in which every vertex within is adjacent to one another, k-clique is clique with k vertices (Yang et al., 2019;Blanuša et al., 2020). k-clique is said to be maximum on the graph if there is no (k + 1) -clique on the graph, the maximum cardinality of clique in G is called the clique number G denoted by (G). Graph coloring is the color labeling of vertices with the condition that there are no the same color on two adjacent vertices, a set of vertices that have the same color is called a color class, in this paper the color class will be denoted by CC n where the number of n is as many as the colors on the graph. The minimum number of colors from the coloring results on graph G is called the chromatic number denoted by (G). Let C be the maximum clique on G, the coloring of the graph against C requires exactly as much color (G) and since C is a subgraph of G, then the coloring on G is at least as much (G) or Let G = (V, E) is a simple finite graph and W⊆V, if each k-clique has at least one vertex on W, then W is called the k-clique covering vertex set (see Szabó and Zavalnij, 2018). An illustration of the k-clique covering vertex set can be seen in Figure 1.
The 4-clique covering vertex set on the graph in Figure 1 contains vertex b, but if selected the set of vertices c, d, then the 4-clique covering vertex set is a set of vertices covering k-clique on a graph is not a unique set.

Branching with vertices covering the k-clique
This section describes the results of study and discussions which are taken from transcription of interview and questionnaire. The findings are intended to answer the purposes of study which include analyzing how the teacher integrated technologies in blended learning, how the students perceive blended learning using technologies, and what challenges overcome by the teacher and students during blended learning. Let is formed where 1 ≤ i ≤ n according to the definition of the set of vertices covering k-clique, then in the induced subgraph k vertices of v or in other words there are kclique in . By making induced subgraphs all k-clique have been mapped in each subgraph so that it is easier for us to find k-clique on graph G.
To find k-clique covering vertex set where k is the maximum can be obtained from the vertex coloring of the graph. Let G = (V, E) is a simple graph that has been colored vertices on it where (G) = k, it will be clear that the set of vertices that make up the maximum clique has a different color on each vertex by as many as k colors. Let ∆ is the maximum clique in G and C n is the color class, in this condition if an induced subgraph is formed from ∈ ∩ ∆ this will result in the induced subgraph, or in other words we only need to select the color class where the color is is on that which has been colored. However, it is difficult to know whether the colors in the selected color class are included in the maximum clique color.
Example: will illustrate the process of branching by utilizing the k-clique covering vertex set. Notice that the graph G below has (G) = 4 and (G) = 4 where the color classes are  It should be noted, the method of finding a k-clique covering vertex set with a color class does not guarantee a minimum set size, meaning that the more vertices in the color class, the more subgraphs will be formed so that it will take more time to work on it. On the other hand, not all vertices in the color class can produce maximum clique in its branching subgraph as subgraph G = [N [m]] above. The use of a color class where the color is not used in the maximum clique coloring causes no maximum clique in the branching subgraphs, see the Figure 3. In Figure 3, the use of the purple color class for the branches does not produce a maximum clique in it, this is because purple is not included in the maximum clique color combination (red, yellow, green, blue).

Selection of color classes.
According to equation (1), for every graph ( ) ≤ (G), so that the branching stage of the search for clique on the graph will be viewed according to two conditions, namely the graph with (G) = (G) and (G) < (G). On the graph (G) = (G), the branching process of finding a clique is easier than (G) < (G), because a graph with (G) = (G) has only one combination of clique coloring the maximum is C( (G), (G)) = 1, meaning that all the colors on the graph are used for maximum clique coloring so that only taking one color class can be ensured that the set of vertices covers the k-clique W ⊆C n for every 1 ≤ n ≤ (G). However, if a graph has! (G) < (G), then this will result in more than one color combination is C( (G), (G)) = ( )! ( )!( ( )− ( ))! > 1, because it is not known how many clique the maximum number of clique is in graph G and the form of graph, that way the graph has the most possible color combinations in the maximum clique and there is at least one maximum clique color combination on the graph. Inappropriate selection of color classes can result in not all of the maximum clique found by the clique search branching subgraph until the worst case, namely the absence of maximum clique in these subgraphs. In the condition (G) < (G), it is difficult to determine how many color combinations are used to form the maximum clique on the colored graph. Proof. The subset combination will be divided according to the smallest to largest number sequentially. Suppose the combination starts from number 1, the number of combinations based on number 1 will be as much as C( − 1, − 1). Then the number of the next combination based on number 2 will be as much as C( − 2, − 1), − 2 because number 1 has been loaded in the previous combination. So that the combination with the number x is as much as C ( − x, − 1), the subset group will stop at number (y = n − r) + 1 where C(n − (y + 1), − 1) = C((n − y) -1, − 1) = C( − 1, − 1) = 1. Combines all combinations based on numbers from 1 until y + 1 gives C(n, r) , so Theorem 3.2 is proven.
In the previous explanation, the use of color classes where the color is in the maximum clique color combination can find the maximum clique in the subgraph of the results of the branching, to overcome the problem of not knowing which maximum clique color combination is present in a graph, in this paper it will be assumed that there are all color combinations maximum clique on the graph. To reduce the number and size of subgraphs resulting from the branching, color classes with cardinality and quantity will be selected minimum degree. Suppose on any graph G has vertices with degrees| | − 1, if G is colored by vertices on them, vertices with degrees | | − 1will become color classes with the vertices themselves. The induced subgraph of the vertex of the color class will produce the same subgraph as the previous graph so that the color class to be avoided in the color class selection is the vertex having the degree| | − 1. In the selection of more than one color class, the formation of induced subgraphs with vertices in the color class must be reduced by the color class that has been used, for example, the CC 1 , CC 2 , CC 3 color classes are selected, then the induced subgraph formation with these color classes is sequentially (CC 3 , CC 1 , CC 2 ) then all CC 1 induced subgraphs will be reduced by CC 3 then all CC 2 induced subgraphs will be reduced CC 3 ∪ CC 1 .

BnB Algorithm
According to Wu and Hao (2015) to solve MCP generally using BnB. Babel and Tinhofer, (1990) states there are two stages in the BnB algorithm, namely the bound stage and the branching stage. The previous explanation has discussed the use of a set of vertices covering the k-clique as a branching strategy and how to select color classes to be used as a set. This method will be used for the branching stage of this paper, then for the bound stage an algorithm is needed to determine the upper and lower bound. Algorithms for determining the upper bound and lower bound can be found in (Babel and Tinhofer, 1990;Suyudi et al., 204), various comparisons of the algorithm for determining the upper bound can be seen in (Aslan and Baykan, 2016). For each clique on graph G is the lower bound (LB) of (G) and for each color on the graph G is the upper bound (UB) of (G) (Suyudi et al.,204),: Suppose that UB* is the upper bound on subgraph H, if UB* ≤ LB then according equation (2) (H) ≤ LB or subgraph H will not have a maximum clique greater than LB. On this basis, the search for maximum clique will only focus on subgraphs with UB*≥ LB and pruning subgraphs that do not meet these requirements. The following is an example of an algorithm for determining the lower bound (Babel and Tinhofer, 1990;Suyudi et al., 204): In determining the upper limit, we can use node coloring algorithms such as DSATUR, Welsh-Powell (WP), Incidence Degree Ordering, etc. This paper will show an example of the WP algorithm as follows: if (G) < LB then (G) := LB if UB = LB and i > |W( )| then CLIQUE is the maximum clique else Prune while all graphs at level-k have been defined UB and LB; if there are no more branchable graphs then search stopped else go to (3) Step (3) Branching do if UB ≥ (G) then graph branch else Prune while all graphs at level-k have been branched; go to (1)

Conclusion
It has been explained how the use of color classes as a branching strategy in the BnB algorithm for MCP, in selecting the color class it is necessary (n = UB−LB) + 1 color class in order to find the maximum clique. The overall BnB algorithm has also been shown in this paper but it is necessary to make a program for the algorithm in order to see the algorithm's performance.