Two New Upper Bounds for the Maximum -plex Problem
Abstract
A -plex in a graph is a vertex set where each vertex is non-adjacent to at most vertices (including itself) in this set, and the Maximum -plex Problem (MKP) is to find the largest -plex in the graph. As a practical NP-hard problem, MKP has many important real-world applications, such as the analysis of various complex networks. Branch-and-bound (BnB) algorithms are a type of well-studied and effective exact algorithms for MKP. Recent BnB MKP algorithms involve two kinds of upper bounds based on graph coloring and partition, respectively, that work in different perspectives and thus are complementary with each other. In this paper, we first propose a new coloring-based upper bound, termed Relaxed Graph Color Bound (RelaxGCB), that significantly improves the previous coloring-based upper bound. We further propose another new upper bound, termed RelaxPUB, that incorporates RelaxGCB and a partition-based upper bound in a novel way, making use of their complementarity. We apply RelaxGCB and RelaxPUB to state-of-the-art BnB MKP algorithms and produce eight new algorithms. Extensive experiments using diverse values on hundreds of instances based on dense and massive sparse graphs demonstrate the excellent performance and robustness of our proposed methods.
1 Introduction
Given an undirected graph , a clique is a set of vertices that are pairwise adjacent, and a -plex Seidman and Foster (1978) is a set of vertices where each vertex is non-adjacent to at most vertices (including itself) in . The Maximum Clique Problem (MCP) is to find the largest clique in , while the Maximum -plex Problem (MKP) is to find the largest -plex in .
MCP is a famous and fundamental NP-hard problem, and the clique model has been widely investigated in the past decades. However, in many real-world applications, such as social network mining Seidman and Foster (1978); Pattillo et al. (2013); Conte et al. (2018); Zhu et al. (2020); Wang et al. (2023a) and biological network analysis Grbic et al. (2020), dense subgraphs need not to be restrictive cliques but allow missing a few connections. Therefore, investigating relaxation clique structures like -plex is significant, and studies related to -plex have sustainably grown in recent decades Balasundaram et al. (2011); McClosky and Hicks (2012); Berlowitz et al. (2015); Conte et al. (2017); Wang et al. (2022).
Many efficient exact methods for the NP-hard MKP have been proposed Xiao et al. (2017); Gao et al. (2018); Zhou et al. (2021); Jiang et al. (2021); Chang et al. (2022); Wang et al. (2023b); Jiang et al. (2023), resulting in various effective techniques, such as reduction rules, upper bounds, inprocessing methods, etc. Most of these studies follow the branch-and-bound (BnB) framework Lawler and Wood (1966); Li and Quan (2010); McCreesh et al. (2017), and their performance heavily depends on the quality of the upper bounds.
A BnB MKP algorithm usually maintains the current growing partial -plex and the corresponding candidate vertex set . Methods for calculating the upper bound on the number of vertices that can provide for in existing BnB MKP algorithms can be divided into two categories. The first calculates the upper bound by considering the connectivity between vertices in only, such as the graph color bound (GCB) proposed in the Maplex algorithm Zhou et al. (2021). The second considers the connectivity between vertices in and vertices in , including the partition-based upper bounds (PUB) proposed in the KpLeX Jiang et al. (2021) algorithm and also used in the kPlexS Chang et al. (2022) and KPLEX Wang et al. (2023b) algorithms.
In this work, we observe that the upper bounds of the above algorithms are still not very tight. For a graph , an independent set is a subset of where any two vertices are non-adjacent. Graph coloring assigns a color to each vertex such that adjacent vertices are in different colors, which is widely used for finding independent sets in graphs. GCB Zhou et al. (2021) claims that an independent set can provide at most vertices for , which actually ignores the connectivity between vertices in and vertices in . While PUB Jiang et al. (2021) simply regards as a clique. Also, due to different motivations of the two kinds of upper bounds, they show complementary performance in various instances, as indicated in our follow-up examples and experiments.
To this end, we propose a new upper bound based on graph coloring called Relaxed Graph Color Bound (RelaxGCB). RelaxGCB first calculates an upper bound for each independent set that is strictly no worse than GCB by considering the connectivity between not only vertices in themselves but also vertices in and vertices in . Furthermore, RelaxGCB relaxes the restrictive structure of independent sets, allowing to add some extra vertices to a maximal independent set (i.e., not contained by any other independent set) without increasing the upper bound.
Based on our observation that the coloring-based and partition-based upper bounds are complementary, we propose another new upper bound called RelaxPUB. RelaxPUB combines our RelaxGCB with a refined PUB called DisePUB proposed in DiseMKP Jiang et al. (2023). Different from common methods for combining various upper bounds that sequentially calculate them until the branch can be pruned or cannot be pruned by any upper bound, RelaxPUB combines RelaxGCB and DisePUB in a novel and compact way. When calculating the upper bound of the number of vertices that can provide for , both of them iteratively extracts a subset from , calculating the upper bound of the number of vertices that can provide for and accumulating the upper bounds. In each iteration, RelaxPUB uses RelaxGCB and DisePUB to respectively extract a subset from and selects the better one, and repeats such a process until is empty.
We evaluate our proposed two upper bounds by applying them to state-of-the-art BnB MKP algorithms, including Maplex, kPlexS, DiseMKP, and KPLEX. Among them, Maplex only applies coloring-based upper bound, i.e., GCB, and the others only apply PUB. We replace their original upper bounds with our RelaxGCB and RelaxPUB. Extensive experiments show that in both dense and massive sparse graphs using various values, RelaxGCB is a significant improvement over the GCB, and RelaxPUB can significantly improve the baseline algorithms, indicating the excellent and generic performance of our methods.
2 Preliminaries
2.1 Definitions
Given an undirected graph , where is the vertex set and the edge set, the density of is , we denote as the set of vertices adjacent to , which are also called the neighbors of . Given a vertex set , we denote as the subgraph induced by . Given an integer , is a -plex if each vertex satisfies that .
For a growing partial -plex , we define as the size of the maximum -plex that includes all vertices in , and as the number of non-neighbors of vertex in . Given an integer , we further define to facilitate our algorithm description. If , indicates the maximum number of non-adjacent vertices of that can be added to . Otherwise, it indicates that, including itself, the maximum number of its non-adjacent vertices that can be added to .
2.2 Framework of BnB MKP Algorithms
During the course of a general BnB MKP algorithm, a lower bound on the size of the maximum -plex is maintained, which is usually initialized by some heuristic algorithms Zhou et al. (2021); Jiang et al. (2021); Chang et al. (2022), and is updated once a larger -plex is found.
A general BnB MKP algorithm usually contains a preprocessing stage and a BnB search stage. During the preprocessing, the algorithm uses some reduction rules Gao et al. (2018); Zhou et al. (2021); Chang et al. (2022) to remove vertices that are impossible to belong to a -plex of size larger than . In the BnB search stage, the algorithm traverses the search tree to find the optimal solution. During the search, the algorithm always maintains two vertex sets, the current growing partial -plex , and its corresponding candidate set containing vertices that might be added to . Once the algorithm selects a branching vertex to be added to from , it calculates an upper bound on the size of the maximum -plex that can be extended from , and the branch of adding to will be pruned if .
3 The RelaxGCB Bound
Given a growing partial -plex and the corresponding candidate vertex set , the graph color bound (GCB) proposed in Maplex Zhou et al. (2021) claims that an independent set can provide at most vertices for . As introduced in Section 1, our proposed Relaxed Graph Color Bound (RelaxGCB) improves GCB from two aspects, i.e., calculating a tighter bound for each independent set and allowing add extra vertices to a maximal independent set without changing the upper bound.
In the following, we first introduce our two improvements and provide an example for illustration, then present our RelaxColoring algorithm for calculating the RelaxGCB bound.
3.1 A Tighter Upper Bound for Independent Sets
Since vertices in the candidate set might be non-adjacent to some vertices in the growing partial -plex , an independent set actually cannot provide vertices for sometimes even when . We introduce a Tighter Independent Set Upper Bound (TISUB) on the number of vertices that an independent set can provide for .
Lemma 1 (TISUB).
Suppose is an independent set and , is an upper bound of the number of vertices that can provide for .
Proof.
Firstly, ignoring the constraint of at most non-neighbors of vertices in , is one of the best orders for adding vertices in to to obtain the largest -plex in , because the more non-neighbors in (as indicated by ), the easier it is for vertices to violate the constraint. Secondly, suppose vertices are going to be added to , further adding to leads to non-neighbors of in (including itself). Therefore, only vertices with , i.e., , can be added to , and can provide at most vertices for . ∎
For convenience, in the rest of this paper, we regard the vertices in any independent set , i.e., , as sorted in non-ascending order of their values. We further define TISUB as the upper bound calculated by TISUB on the number of vertices that can provide for . Note that the value of TISUB is obviously bounded by since , which eliminates the need for term in TISUB. Moreover, since , holds, and TISUB is also bounded by . Therefore, TISUB is strictly never worse than GCB (i.e., ).
3.2 Relax the Independent Sets
Since the relaxation property of -plex over clique, an independent set in the candidate set can usually provide more than one vertices for the growing the partial -plex , and the restriction of independent sets can also be relaxed to contain more vertices.
In the following, we define two kinds of vertices and then introduce two different rules for relaxing the restriction of independent sets and making maximal independent sets contain extra vertices without increasing their TISUB.
Definition 1 (Conflict Vertex).
Given a vertex set , we denote vertices that are adjacent to at least one vertex in as conflict vertices.
Definition 2 (Loose Vertex).
Given a -plex and a vertex set , suppose is an upper bound of the number of vertices that can provide for , we denote each vertex with as a loose vertex.
Rule 1. Suppose is an upper bound of the number of vertices that a vertex set can provide for . It is allowed to add vertex to if the number of vertices that are loose or conflict in is no more than .
Lemma 2.
After adding any vertex to according to Rule 1, is still an upper bound of the number of vertices that can provide for .
Proof.
On one hand, if adding a vertex that is neither conflict nor loose to , then at most other vertices in can be added to . On the other hand, by Rule 1, we require the number of conflict or loose vertices in to be no more than . Therefore, at most vertices in can be added to . ∎
Rule 2. Suppose is an upper bound of the number of vertices that a vertex set can provide for . It is allowed to add vertex to if is adjacent to at most vertices in .
Lemma 3.
After adding any vertex to according to Rule 2, is still an upper bound of the number of vertices that can provide for .
Proof.
On one hand, if adding to , at most other vertices that are non-adjacent to in can be added to . Since is adjacent to at most vertices in , thus after adding to , can still provide at most vertices for . On the other hand, if not adding to , itself can only provide at most vertices for . ∎
Given a maximal independent set , both Rule 1 and Rule 2 can add extra vertices to without increasing its TISUB. Actually, Rule 1 allows us to add finite (at most TISUB - 1) conflict vertices to , and Rule 2 can be repeatedly used to add any vertex satisfying the rule to .

3.3 An Example for Illustration
We provide an example in Figure 1 to show how the upper bounds, including GCB, TISUB, and RelaxGCB, are calculated and how the two rules are used. Figure 1 illustrates a subgraph of induced by the candidate set , i.e., , of a 4-plex . To simplify the figure, we hide the 4-plex and only depict the candidate vertices. Vertex in Figure 1 identifies a vertex with .
Suppose we sequentially color vertices under the constraint that adjacent vertices cannot be in the same color, can be partitioned into 3 independent sets, , and , as indicated by the colors of the vertices. The GCB of is . The TISUB of is .
Then, let us use Rule 1 to make independent set contain more vertices. For , since , there is only one loose vertex in . By applying Rule 1, we can add vertices and to without increasing the upper bound of , since there are only 3 loose or conflict vertices, i.e., , in . After the operation, is partitioned into two sets, and . The new upper bound of is .
Finally, let us use Rule 2 to further make set contain more vertices. According to Rule 2, all vertices in can be added to without increasing the upper bound of . After the operation, the final RelaxGCB of is .
3.4 The RelaxColoring Algorithm
This subsection introduces our proposed RelaxColoring algorithm for calculating the proposed RelaxGCB, as summarized in Algorithm 1. The algorithm first uses to initialize the upper bound (line 1), and then repeatedly uses the TryColor() function to extract a subset and calculate the upper bound on the number of vertices that can provide for , i.e., (line 3) until (line 2). After each execution of function TryColor(), the candidate set and upper bound are both updated (line 4).
Function TryColor() is summarized in Algorithm 2, which first finds a maximal independent set (lines 1-3) and calculates its TISUB (line 4). Then, the algorithm initializes the set of loose or conflict vertices (line 5) and tries to add as many vertices as possible to according to Rule 1 (lines 6-12). Once trying to add each vertex , the algorithm uses to denote the extra conflict vertices caused by adding to (line 8). Since is a maximal independent set in , adding any vertex to increases at least one conflict vertices, i.e., itself (line 8). Thus, the utilization of Rule 1 can be terminated when (lines 6 and 12). Finally, the algorithm applies Rule 2 to further add vertices to (lines 13-15). Since for each vertex , holds, only vertex with can be added to according to Rule 2 (line 13).
The time complexities of RelaxColoring algorithm and TryColor function are and , respectively, where is the time complexity of the intersection operation between and (or ) used in lines 3, 8, and 14 in Algorithm 2. Actually, is bounded by and much smaller than by applying the bitset encoding method Segundo et al. (2011).
4 The RelaxPUB Bound
Motivated by the complementarity of the coloring-based and partition-based upper bounds, we propose to combine RelaxGCB with the newest PUB, DisePUB Jiang et al. (2023), and propose a better and generic upper bound for MKP. In this section, we first introduce DisePUB, then provide two examples to illustrate the complementarity of the coloring-based and partition-based upper bounds, and finally present our new upper bound, RelaxPUB.
4.1 Revisiting DisePUB
Given a growing partial -plex and the corresponding candidate set , for each vertex , DisePUB claims that a subset can provide at most vertices for if . Given a vertex , let and , DisePUB defines a metric for , i.e., , to evaluate the extraction of vertex set . The larger the value of , the more vertices that can be extracted from and the fewer increments on the upper bound of .
In each step, DisePUB traverses each vertex with and selects the corresponding set with the largest value of . Ties are broken by preferring larger extractions. We use function SelectPartition() to describe the selection, which is shown in Algorithm 3. Then, DisePUB extracts from and increases the upper bound of by .
DisePUB repeats the above process until vertices remaining in are adjacent to all vertices in . DisePUB denotes the set of remaining vertices in as and finally increases the upper bound of by .
4.2 Complementarity of GCB and PUB


To better illustrate the complementarity of the coloring-based and partition-based upper bounds (i.e., GCB and PUB), we provide two examples in Figure 2, where the growing 2-plex contains only one vertex and its corresponding candidate set .
In Figure 2(a), the GCB is tighter than the PUB. The vertices in are all adjacent to , which means the vertices in are all in . Thus, the PUB is . While by coloring the vertices in , it can be partitioned into 2 independent sets and , and the GCB is . In contrast, the PUB is tighter than the GCB in Figure 2(b), where can be partitioned into 3 independent sets , , and . Thus, the GCB is . While vertices in except are non-adjacent to , , thus the PUB is .
4.3 Combining RelaxGCB and DisePUB
Both RelaxGCB and DisePUB extract a subset from and accumulate the upper bound of . The metric in DisePUB can also be used for the vertex set returned by TryColor(). RelaxPUB combines RelaxGCB and DisePUB by using them to select a promising extraction in each step.
We propose an algorithm called SelectUB for calculating the RelaxPUB of , which is presented in Algorithm 4. The algorithm calls TryColor() and SelectPartition() in each step and figures out whose returned vertex set is better according to the metric. Ties are broken by preferring larger extraction. Once a better extraction is selected, The algorithm updates the candidate set and accumulates the upper bound of .
5 Experimental Results
This section presents experimental results to evaluate the performance of the proposed two new upper bounds, RelaxGCB and RelaxPUB. We select state-of-the-art BnB MKP algorithms as the baselines, including Maplex111https://github.com/ini111/Maplex Zhou et al. (2021), kPlexS222https://lijunchang.github.io/Maximum-kPlex Chang et al. (2022), DiseMKP333https://github.com/huajiang-ynu/ijcai23-kpx Jiang et al. (2023), an improvement version of KpLeX Jiang et al. (2021), and KPLEX444https://github.com/joey001/kplex_degen_gap Wang et al. (2023b).
We replace the original upper bounds in the baselines with our RelaxGCB and RelaxPUB and conduct eight new BnB algorithms. The new algorithms based on Maplex with our upper bounds are denoted as RelaxGCB-Maplex and RelaxPUB-Maplex, respectively, and so on.








Instance | RelaxPUB-Maplex | Maplex | RelaxPUB-kPlexS | kPlexS | RelaxPUB-MKP | DiseMKP | RelaxPUB-KPLEX | KPLEX | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tree | Time | Percent | Tree | Time | Tree | Time | Percent | Tree | Time | Tree | Time | Percent | Tree | Time | Tree | Time | Percent | Tree | Time | ||
2 | brock200-3 | 9.432 | 10.06 | 49.7% | 790.8 | 107.8 | 8.343 | 292.0 | 49.9% | 52.35 | 1,615 | 7.393 | 21.93 | 46.2% | 85.88 | 26.06 | 27.43 | 34.63 | 79.8% | 225.2 | 80.52 |
brock200-4 | 24.99 | 30.07 | 50.2% | 4015 | 576.9 | 23.84 | 695.8 | 49.7% | - | - | 12.60 | 47.20 | 49.8% | 279.6 | 103.1 | 68.81 | 84.81 | 78.8% | 780.2 | 250.0 | |
C125.9 | 88.36 | 186.3 | 66.3% | - | - | 24.56 | 162.8 | 71.8% | - | - | 15.32 | 69.65 | 70.5% | - | - | 29.61 | 37.93 | 88.0% | - | - | |
keller4 | 3.715 | 4.015 | 46.1% | 1273 | 182.3 | 3.961 | 87.18 | 44.3% | 92.45 | 1,238 | 2.666 | 8.016 | 42.0% | 69.11 | 21.15 | 19.29 | 17.38 | 79.6% | 562.6 | 105.3 | |
san200-0-9-1 | 0.004 | 0.051 | 93.0% | - | - | 0.024 | 0.660 | 94.8% | - | - | 0.003 | 0.105 | 95.2% | - | - | 0.057 | 0.619 | 98.4% | 64.21 | 27.33 | |
sanr200-0-7 | 96.72 | 135.8 | 49.5% | - | - | 66.05 | 1,656 | 51.5% | - | - | 40.59 | 153.0 | 49.9% | 1130 | 475.4 | 171.7 | 206.6 | 79.5% | 2681 | 752.0 | |
socfb-Duke14 | 0.579 | 2.313 | 78.7% | 195.6 | 45.05 | 0.110 | 4.397 | 85.8% | 1.046 | 36.58 | 0.213 | 2.121 | 83.4% | 243.6 | 154.5 | 0.281 | 2.403 | 94.3% | 1.598 | 2.957 | |
socfb-UF | 0.253 | 3.217 | 88.3% | - | - | 0.094 | 2.012 | 93.2% | 0.190 | 3.310 | 0.069 | 2.800 | 91.5% | 413.1 | 299.3 | 0.107 | 1.741 | 91.9% | 0.234 | 1.850 | |
socfb-Uillinois | 0.229 | 7.991 | 89.3% | - | - | 0.022 | 2.224 | 92.8% | 0.023 | 2.628 | 0.168 | 4.138 | 81.0% | 18.33 | 13.05 | 0.024 | 1.774 | 85.8% | 0.027 | 1.845 | |
3 | hamming6-2 | 393.2 | 399.6 | 57.6% | - | - | 204.4 | 349.2 | 49.8% | - | - | 137.4 | 234.1 | 49.1% | 826.6 | 304.6 | 197.0 | 136.2 | 60.2% | 1157 | 203.3 |
MANN-a81 | 0.001 | 0.001 | 100% | - | - | 0.001 | 534.9 | 96.3% | 0.001 | 556.1 | 0.001 | 62.67 | 98.3% | 0.003 | 63.61 | 0.004 | 568.4 | 98.9% | 0.406 | 605.2 | |
p-hat300-2 | 174.7 | 340.9 | 57.0% | - | - | 123.6 | 1,565 | 57.2% | - | - | 36.99 | 200.0 | 59.2% | - | - | 401.9 | 470.9 | 75.3% | 1293 | 529.0 | |
socfb-UF | 82.41 | 254.3 | 87.3% | - | - | 0.094 | 1.975 | 82.1% | 0.324 | 4.172 | 6.950 | 40.60 | 86.7% | 440.6 | 413.4 | 0.067 | 1.877 | 89.4% | 0.079 | 2.104 | |
socfb-Indiana | 2.437 | 8.069 | 89.1% | 1002 | 308.6 | 0.007 | 1.722 | 82.8% | 0.008 | 1.879 | 1.110 | 7.302 | 84.9% | 587.8 | 391.5 | 0.006 | 1.436 | 89.9% | 0.006 | 1.708 | |
soc-flixster | 8.732 | 20.00 | 74.6% | - | - | 0.725 | 8.152 | 73.5% | 7.394 | 110.5 | 2.084 | 13.15 | 76.2% | 118.0 | 85.04 | 0.280 | 3.982 | 84.7% | 0.470 | 5.674 | |
soc-lastfm | 1.384 | 6.018 | 54.8% | 78.33 | 29.91 | 0.327 | 17.86 | 60.2% | 0.785 | 43.87 | 0.729 | 9.750 | 52.4% | 7.163 | 10.26 | 1.549 | 53.88 | 77.5% | 2.819 | 95.76 | |
soc-slashdot | 1.607 | 1.922 | 74.2% | 2461 | 289.2 | 0.095 | 0.715 | 72.3% | 0.299 | 2.825 | 0.245 | 0.910 | 76.9% | 7.847 | 4.577 | 0.096 | 0.829 | 82.4% | 0.131 | 0.766 | |
tech-WHOIS | 24.96 | 72.23 | 85.3% | - | - | 0.049 | 0.451 | 84.4% | 0.134 | 1.647 | 0.384 | 2.514 | 89.8% | 6.996 | 6.043 | 0.028 | 0.279 | 90.9% | 0.034 | 0.483 | |
6 | c-fat200-1 | 0.001 | 0.001 | 92.8% | 0.003 | 0.001 | 0.001 | 0.001 | 80.6% | 0.001 | 0.002 | 0.002 | 0.014 | 82.9% | 0.002 | 0.018 | 0.001 | 0.001 | 66.0% | 0.001 | 0.001 |
san200-0-7-1 | 0.001 | 0.017 | 95.9% | - | - | 0.001 | 0.040 | 93.3% | 3.163 | 4.928 | 0.001 | 0.037 | 93.7% | 0.329 | 0.177 | 0.001 | 0.043 | 87.1% | - | - | |
san200-0-7-2 | 0.001 | 0.012 | 80.1% | 11.99 | 6.417 | 0.004 | 0.156 | 70.4% | - | - | 0.005 | 0.066 | 68.8% | - | - | 0.002 | 0.122 | 81.8% | - | - | |
socfb-Berkeley13 | 0.078 | 1.514 | 94.4% | 1780 | 249.5 | 0.001 | 0.890 | 50.0% | 0.001 | 0.905 | 0.244 | 1.890 | 90.4% | 4.509 | 4.586 | 0.001 | 0.828 | 28.2% | 0.001 | 0.867 | |
socfb-MIT | 0.189 | 0.591 | 78.4% | 15876 | 1684 | 0.002 | 0.317 | 70.7% | 0.002 | 0.319 | 0.041 | 0.523 | 91.4% | 2.220 | 1.764 | 0.002 | 0.271 | 57.0% | 0.002 | 0.340 | |
soc-gowalla | 12.45 | 11.61 | 54.2% | 779.5 | 120.1 | 0.003 | 0.430 | 63.4% | 0.005 | 0.572 | 6.042 | 16.65 | 53.1% | 59.68 | 43.12 | 0.004 | 0.199 | 69.3% | 0.004 | 0.242 | |
10 | bio-dmela | 1.245 | 14.64 | 39.1% | - | - | 0.004 | 0.067 | 48.7% | 0.007 | 0.076 | 0.085 | 0.113 | 30.9% | 4.615 | 0.221 | 0.019 | 0.037 | 57.1% | 0.030 | 0.038 |
ia-enron-large | 5.779 | 4.850 | 55.4% | 156.3 | 24.10 | 0.001 | 0.103 | 76.3% | 0.001 | 0.115 | 14.80 | 24.89 | 39.6% | 266.7 | 178.1 | 0.002 | 0.064 | 72.1% | 0.002 | 0.065 | |
tech-RL-caida | 0.662 | 0.803 | 46.9% | 18.52 | 4.693 | 0.001 | 0.251 | 65.9% | 0.001 | 0.258 | 0.017 | 0.363 | 73.2% | 1.160 | 0.500 | 0.001 | 0.067 | 83.3% | 0.001 | 0.068 | |
15 | C125-9 | 152.7 | 507.5 | 79.6% | - | - | 5.460 | 30.22 | 70.4% | 12.21 | 96.15 | 2.712 | 16.10 | 82.6% | 7.771 | 22.62 | 1.194 | 5.414 | 83.5% | 17.47 | 40.32 |
bio-diseasome | 0.234 | 0.145 | 80.1% | 1011 | 169.0 | 0.001 | 0.001 | 81.3% | 0.001 | 0.001 | 0.055 | 0.024 | 57.7% | 80.71 | 2.321 | 0.000 | 0.000 | - | 0.000 | 0.001 | |
socfb-uci-uni | 22.61 | 107.5 | 47.9% | - | - | 0.019 | 49.43 | 58.1% | 0.517 | 53.96 | 26.93 | 295.4 | 35.6% | - | - | 0.185 | 6.775 | 62.7% | 1.096 | 9.322 |
5.1 Experimental Setup
All the algorithms were implemented in C++ and run on a server using an AMD EPYC 7H12 CPU, running Ubuntu 18.04 Linux operation system. We test the algorithms on two public benchmarks that are widely used in the literature of the baselines, the 2nd DIMACS benchmark555http://archive.dimacs.rutgers.edu/pub/challenge/graph/
benchmarks/clique/ that contains 80 (almost dense) graphs with up to 4,000 vertices and densities ranging from 0.03 to 0.99, and the Real-world benchmark666http://lcs.ios.ac.cn/%7Ecaisw/Resource/realworld%20
graphs.tar.gz that contains 139 real-world sparse graphs from the Network Data Repository Rossi and Ahmed (2015).
We choose the two sets of benchmarks because the 2nd DIMACS benchmark is also widely used to evaluate MCP, one of the most closely related problems to MKP, and the Real-world benchmark is widely used for analyzing various complex networks, one of the most important application areas of MKP. Moreover, the structures of the two benchmarks are distinct, helping evaluate the robustness of the algorithms.
For each graph, we generate 8 MKP instances with , and set the cut-off time to 1,800 seconds per instance, following the settings of the baselines.




5.2 Performance Evaluation
The comparison results between the algorithms with our RelaxGCB and RelaxPUB bounds and the baselines in dense 2nd DIMACS and sparse Real-world benchmarks are summarized in Figures 3 and 4, respectively. The results are expressed by the number of MKP instances solved by each algorithm within the cut-off time for different values. Note that Maplex only contains the GCB, and the other three baselines only contain the PUB. 1) From (a) of the two figures, one can observe that our RelaxGCB significantly outperforms GCB. 2) From (b) to (d) of the two figures, one can observe that RelaxGCB is complementary to PUB. 3) From all the figures, one can observe that our RelaxPUB makes full use of the complementarity of RelaxGCB and PUB, and significantly improves all the baselines in solving both dense and massive sparse graphs over diverse values, indicating its dominant performance over the state-of-the-art baselines, excellent generalization over different graphs, and strong robustness over diverse values.
With the increment of the values, the number of solved instances usually decays, because the number of vertices removed by graph reduction decreases accordingly, making the follow-up BnB calculation more complicated with a larger number of required branches. However, we notice that the number of solved instances increases for larger values (e.g., 10 and 15) on DIMACS2. This is because a -plex with larger -values can contain more vertices, and the DIMACS2 graphs are generally small and dense, making the most vertices in a graph contained.
Following the convention of the baselines, we also present detailed results of the baselines and their improvements with RelaxPUB in solving 30 representative 2nd DIAMCS and Real-world instances with in Table 1. We report their running times in seconds (column Time), the sizes of their entire search trees in (column Tree) to solve the instances, and the percentage of the number of times RelaxGCB is selected and outperforms the DisePUB in RelaxPUB (column Percent). Better results are highlighted in bold, and symbol ‘-’ means the algorithm cannot solve the instance within the cut-off time.
The results show that for each pair of tested algorithms, our new upper bounds can help the baseline algorithm prune significantly more branches, reducing its search tree sizes by several orders of magnitude for instances that both can solve within the cut-off time. There are also many instances that the baseline algorithms cannot solve within the cut-off time, while the algorithms with our upper bounds can solve with few branches and much less calculation time. Moreover, we can observe that RelaxGCB contributes a lot in solving these instances, indicating again the complementarity of RelaxGCB and DisePUB.
5.3 Ablation Study
In this subsection, we perform ablation studies to evaluate the effectiveness of the proposed TISUB and the two rules (see Lemmas 1, 2, and 3) in our proposed upper bounds. For the kPlexS, DiseMKP, and KPLEX baselines having the PUB, we generate a “Norules” variant, which uses our RelaxPUB without Rules 1 and 2, and a “GCBPUB” variant, which uses our RelaxPUB and replaces its RelaxGCB with the GCB in Maplex. Moreover, since the kPlexS and KPLEX algorithms use the previous PUB proposed in Jiang et al. (2021), we apply the newest DisePUB to them and obtain two variants: Dise-kPlexS and Dise-KPLEX. For the Maplex baseline that is only based on GCB, we generate a “Norules” variant, which uses our RelaxGCB without Rules 1 and 2.
We perform four groups of ablation studies based on each baseline over all the 1,752 instances, as summarized in Figure 5. The results are expressed by the variation in the number of solved instances for each algorithm over the running time (in seconds). The results show that the “GCBPUB” variants are better than the baselines, indicating that combining coloring-based and partition-based upper bounds by the mechanism in RelaxPUB can make use of their complementarity. The “Norules” variants are better than the “GCBPUB” variants, indicating that TISUB is a significant improvement over GCB. The new algorithms with RelaxPUB are better than the “Norules” variants, indicating that our proposed two rules can further improve TISUB. Moreover, DisePUB can hardly improve kPlexS and KPLEX, indicating that the improvements of the RelaxPUB series over the baselines originate from RelaxGCB rather than using the newest DisePUB.
6 Conclusion
We proposed two new upper bounds for the Maximum -plex Problem (MKP), termed RelaxGCB and RelaxPUB. RelaxGCB first tights the previous graph color bound (GCB) by considering the connectivity between vertices more thoroughly and relaxes the restrictive independent set structure by considering the relaxation property of MKP. RelaxPUB further combines RelaxGCB and an advanced partition-based upper bound in a novel way, making full use of their complementarity. We replaced the GCB in Maplex and the partition-based upper bounds in kPlexS, DiseMKP, and KPLEX with our two bounds, RelaxGCB and RelaxPUB, respectively, producing eight new BnB MKP algorithms. Experiments on both dense and sparse benchmark datasets show that RelaxGCB is a significant improvement over GCB, and RelaxPUB exhibits clearly priority over the baselines and exhibits excellent robustness over various values and high generalization capability over different graphs.
References
- Balasundaram et al. [2011] Balabhaskar Balasundaram, Sergiy Butenko, and Illya V. Hicks. Clique relaxations in social network analysis: The maximum k-plex problem. Operations Research, 59(1):133–142, 2011.
- Berlowitz et al. [2015] Devora Berlowitz, Sara Cohen, and Benny Kimelfeld. Efficient enumeration of maximal k-plexes. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, pages 431–444, 2015.
- Chang et al. [2022] Lijun Chang, Mouyi Xu, and Darren Strash. Efficient maximum k-plex computation over large sparse graphs. Proceedings of the VLDB Endowment, 16(2):127–139, 2022.
- Conte et al. [2017] Alessio Conte, Donatella Firmani, Caterina Mordente, Maurizio Patrignani, and Riccardo Torlone. Fast enumeration of large k-plexes. In Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 115–124, 2017.
- Conte et al. [2018] Alessio Conte, Tiziano De Matteis, Daniele De Sensi, Roberto Grossi, Andrea Marino, and Luca Versari. D2K: scalable community detection in massive networks via small-diameter k-plexes. In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 1272–1281, 2018.
- Gao et al. [2018] Jian Gao, Jiejiang Chen, Minghao Yin, Rong Chen, and Yiyuan Wang. An exact algorithm for maximum k-plexes in massive graphs. In Proceedings of the 27th International Joint Conference on Artificial Intelligence, pages 1449–1455, 2018.
- Grbic et al. [2020] Milana Grbic, Aleksandar Kartelj, Savka Jankovic, Dragan Matic, and Vladimir Filipovic. Variable neighborhood search for partitioning sparse biological networks into the maximum edge-weighted k-plexes. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 17(5):1822–1831, 2020.
- Jiang et al. [2021] Hua Jiang, Dongming Zhu, Zhichao Xie, Shaowen Yao, and Zhang-Hua Fu. A new upper bound based on vertex partitioning for the maximum k-plex problem. In Proceedings of the 30th International Joint Conference on Artificial Intelligence, pages 1689–1696, 2021.
- Jiang et al. [2023] Hua Jiang, Fusheng Xu, Zhifei Zheng, Bowen Wang, and Wei Zhou. A refined upper bound and inprocessing for the maximum k-plex problem. In Proceedings of the 32nd International Joint Conference on Artificial Intelligence, 2023.
- Lawler and Wood [1966] E. L. Lawler and D. E. Wood. Branch-and-bound methods: A survey. Operations Research, 14(4):699–719, 1966.
- Li and Quan [2010] Chu Min Li and Zhe Quan. An efficient branch-and-bound algorithm based on MaxSAT for the maximum clique problem. In Proceedings of the 24th AAAI Conference on Artificial Intelligence, 2010.
- McClosky and Hicks [2012] Benjamin McClosky and Illya V. Hicks. Combinatorial algorithms for the maximum k-plex problem. Journal of Combinatorial Optimization, 23(1):29–49, 2012.
- McCreesh et al. [2017] Ciaran McCreesh, Patrick Prosser, and James Trimble. A partitioning algorithm for maximum common subgraph problems. In Proceedings of the 26th International Joint Conference on Artificial Intelligence, pages 712–719, 2017.
- Pattillo et al. [2013] Jeffrey Pattillo, Nataly Youssef, and Sergiy Butenko. On clique relaxation models in network analysis. European Journal of Operational Research, 226(1):9–18, 2013.
- Rossi and Ahmed [2015] Ryan A. Rossi and Nesreen K. Ahmed. The network data repository with interactive graph analytics and visualization. In Proceedings of the 29th AAAI Conference on Artificial Intelligence, pages 4292–4293, 2015.
- Segundo et al. [2011] Pablo San Segundo, Diego Rodríguez-Losada, and Agustín Jiménez. An exact bit-parallel algorithm for the maximum clique problem. Computers & Operations Research, 38(2):571–581, 2011.
- Seidman and Foster [1978] Stephen B. Seidman and Brian L. Foster. A graph theoretic generalization of the clique concept. Journal of Mathematical Sociology, 6(1):139–154, 1978.
- Wang et al. [2022] Zhengren Wang, Yi Zhou, Mingyu Xiao, and Bakhadyr Khoussainov. Listing maximal k-plexes in large real-world graphs. In Proceedings of the ACM Web Conference, pages 1517–1527, 2022.
- Wang et al. [2023a] Meng Wang, Boyu Li, Kun He, and John E. Hopcroft. Uncovering the local hidden community structure in social networks. ACM Trans. Knowl. Discov. Data, 17(5):67:1–67:25, 2023.
- Wang et al. [2023b] Zhengren Wang, Yi Zhou, Chunyu Luo, and Mingyu Xiao. A fast maximum -plex algorithm parameterized by the degeneracy gap. In Proceedings of the 32nd International Joint Conference on Artificial Intelligence, 2023.
- Xiao et al. [2017] Mingyu Xiao, Weibo Lin, Yuanshun Dai, and Yifeng Zeng. A fast algorithm to compute maximum k-plexes in social network analysis. In Proceedings of the 31st AAAI Conference on Artificial Intelligence, pages 919–925, 2017.
- Zhou et al. [2021] Yi Zhou, Shan Hu, Mingyu Xiao, and Zhang-Hua Fu. Improving maximum k-plex solver via second-order reduction and graph color bounding. In Proceedings of the 35th AAAI Conference on Artificial Intelligence, pages 12453–12460, 2021.
- Zhu et al. [2020] Jinrong Zhu, Bilian Chen, and Yifeng Zeng. Community detection based on modularity and k-plexes. Information Sciences, 513:127–142, 2020.