This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Two New Upper Bounds for the Maximum kk-plex Problem

Jiongzhi Zheng\equalcontrib    Mingming Jin\equalcontrib    Kun He School of Computer Science and Technology, Huazhong University of Science and Technology, China
[email protected]
Corresponding author.
Abstract

A kk-plex in a graph is a vertex set where each vertex is non-adjacent to at most kk vertices (including itself) in this set, and the Maximum kk-plex Problem (MKP) is to find the largest kk-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 kk 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 G=(V,E)G=(V,E), a clique is a set of vertices that are pairwise adjacent, and a kk-plex Seidman and Foster (1978) is a set of vertices SVS\subseteq V where each vertex vSv\in S is non-adjacent to at most kk vertices (including vv itself) in SS. The Maximum Clique Problem (MCP) is to find the largest clique in GG, while the Maximum kk-plex Problem (MKP) is to find the largest kk-plex in GG.

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 kk-plex is significant, and studies related to kk-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 kk-plex SVS\subseteq V and the corresponding candidate vertex set CV\SC\subseteq V\backslash S. Methods for calculating the upper bound on the number of vertices that CC can provide for SS in existing BnB MKP algorithms can be divided into two categories. The first calculates the upper bound by considering the connectivity between vertices in CC 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 CC and vertices in SS, 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 GG, an independent set II is a subset of VV 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 ICI\subseteq C can provide at most min{|I|,k}\min\{|I|,k\} vertices for SS, which actually ignores the connectivity between vertices in II and vertices in SS. While PUB Jiang et al. (2021) simply regards CC 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 ICI\subseteq C that is strictly no worse than GCB by considering the connectivity between not only vertices in II themselves but also vertices in II and vertices in SS. 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) ICI\subseteq C 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 CC can provide for SS, both of them iteratively extracts a subset ICI\subseteq C from CC, calculating the upper bound of the number of vertices that II can provide for SS and accumulating the upper bounds. In each iteration, RelaxPUB uses RelaxGCB and DisePUB to respectively extract a subset from CC and selects the better one, and repeats such a process until CC 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 kk 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 G=(V,E)G=(V,E), where VV is the vertex set and EE the edge set, the density of GG is 2|E|/(|V|(|V|1))2|E|/(|V|(|V|-1)), we denote N(v)N(v) as the set of vertices adjacent to vv, which are also called the neighbors of vv. Given a vertex set SVS\subseteq V, we denote G[S]G[S] as the subgraph induced by SS. Given an integer kk, SVS\subseteq V is a kk-plex if each vertex vSv\in S satisfies that |S\N(v)|k|S\backslash N(v)|\leq k.

For a growing partial kk-plex SS, we define ωk(G,S)\omega_{k}(G,S) as the size of the maximum kk-plex that includes all vertices in SS, and δ(S,v)=|S\N(v)|\delta(S,v)=|S\backslash N(v)| as the number of non-neighbors of vertex vv in SS. Given an integer kk, we further define δk(S,v)=kδ(S,v)\delta_{k}^{-}(S,v)=k-\delta(S,v) to facilitate our algorithm description. If vSv\in S, δk(S,v)\delta_{k}^{-}(S,v) indicates the maximum number of non-adjacent vertices of vv that can be added to SS. Otherwise, it indicates that, including vv itself, the maximum number of its non-adjacent vertices that can be added to SS.

2.2 Framework of BnB MKP Algorithms

During the course of a general BnB MKP algorithm, a lower bound lblb on the size of the maximum kk-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 kk-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 kk-plex of size larger than lblb. 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 kk-plex SS, and its corresponding candidate set CC containing vertices that might be added to SS. Once the algorithm selects a branching vertex vv to be added to SS from CC, it calculates an upper bound ubub on the size of the maximum kk-plex that can be extended from S{v}S\cup\{v\}, and the branch of adding vv to SS will be pruned if ublbub\leq lb.

3 The RelaxGCB Bound

Given a growing partial kk-plex SS and the corresponding candidate vertex set CC, the graph color bound (GCB) proposed in Maplex Zhou et al. (2021) claims that an independent set ICI\subseteq C can provide at most min{|I|,k}\min\{|I|,k\} vertices for SS. 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 ICI\subseteq C 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 CC might be non-adjacent to some vertices in the growing partial kk-plex SS, an independent set ICI\subseteq C actually cannot provide kk vertices for SS sometimes even when |I|>k|I|>k. We introduce a Tighter Independent Set Upper Bound (TISUB) on the number of vertices that an independent set ICI\subseteq C can provide for SS.

Lemma 1 (TISUB).

Suppose I={v1,v2,,v|I|}CI=\{v_{1},v_{2},\cdots,v_{|I|}\}\subseteq C is an independent set and δk(S,v1)δk(S,v2)δk(S,v|I|)\delta_{k}^{-}(S,v_{1})\geq\delta_{k}^{-}(S,v_{2})\geq\cdots\geq\delta_{k}^{-}(S,v_{|I|}), max{i|δk(S,vi)i}\mathop{\max}\{i|\delta_{k}^{-}(S,v_{i})\geq i\} is an upper bound of the number of vertices that II can provide for SS.

Proof.

Firstly, ignoring the constraint of at most kk non-neighbors of vertices in SS, v1,v2,,v|I|v_{1},v_{2},\cdots,v_{|I|} is one of the best orders for adding vertices in II to SS to obtain the largest kk-plex in G[SI]G[S\cup I], because the more non-neighbors in SS (as indicated by δ(S,v)\delta(S,v)), the easier it is for vertices to violate the constraint. Secondly, suppose vertices v1,,viv_{1},\cdots,v_{i} are going to be added to SS, further adding vi+1v_{i+1} to SS leads to δ(S,vi+1)+i+1\delta(S,v_{i+1})+i+1 non-neighbors of vi+1v_{i+1} in SS (including vi+1v_{i+1} itself). Therefore, only vertices viIv_{i}\in I with δ(S,vi)+ik\delta(S,v_{i})+i\leq k, i.e., δk(S,vi)i\delta_{k}^{-}(S,v_{i})\geq i, can be added to SS, and II can provide at most max{i|δk(S,vi)i}\mathop{\max}\{i|\delta_{k}^{-}(S,v_{i})\geq i\} vertices for SS. ∎

For convenience, in the rest of this paper, we regard the vertices in any independent set ICI\subseteq C, i.e., {v1,v2,,v|I|}\{v_{1},v_{2},\cdots,v_{|I|}\}, as sorted in non-ascending order of their δk(S,v)\delta_{k}^{-}(S,v) values. We further define TISUB(I,S)=max{i|δk(S,vi)i}(I,S)=\mathop{\max}\{i|\delta_{k}^{-}(S,v_{i})\geq i\} as the upper bound calculated by TISUB on the number of vertices that II can provide for SS. Note that the value of TISUB(I,S)(I,S) is obviously bounded by |I||I| since i|I|i\leq|I|, which eliminates the need for term |I||I| in TISUB. Moreover, since δ(S,v)0\delta(S,v)\geq 0, δk(S,v)k\delta_{k}^{-}(S,v)\leq k holds, and TISUB(I,S)(I,S) is also bounded by kk. Therefore, TISUB is strictly never worse than GCB (i.e., min{|I|,k}\min\{|I|,k\}).

3.2 Relax the Independent Sets

Since the relaxation property of kk-plex over clique, an independent set II in the candidate set CC can usually provide more than one vertices for the growing the partial kk-plex SS, 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 II, we denote vertices vIv\in I that are adjacent to at least one vertex in II as conflict vertices.

Definition 2 (Loose Vertex).

Given a kk-plex SS and a vertex set ICI\subseteq C, suppose UBUB is an upper bound of the number of vertices that II can provide for SS, we denote each vertex vIv\in I with δk(S,v)>UB\delta_{k}^{-}(S,v)>UB as a loose vertex.

Rule 1. Suppose UBUB is an upper bound of the number of vertices that a vertex set ICI\subseteq C can provide for SS. It is allowed to add vertex vv to II if the number of vertices that are loose or conflict in I{v}I\cup\{v\} is no more than UBUB.

Lemma 2.

After adding any vertex vv to ICI\subseteq C according to Rule 1, UBUB is still an upper bound of the number of vertices that I=I{v}I^{\prime}=I\cup\{v\} can provide for SS.

Proof.

On one hand, if adding a vertex vIv\in I^{\prime} that is neither conflict nor loose to SS, then at most δk(S,v)1<UB\delta_{k}^{-}(S,v)-1<UB other vertices in II^{\prime} can be added to SS. On the other hand, by Rule 1, we require the number of conflict or loose vertices in II^{\prime} to be no more than UBUB. Therefore, at most UBUB vertices in II^{\prime} can be added to SS. ∎

Rule 2. Suppose UBUB is an upper bound of the number of vertices that a vertex set ICI\subseteq C can provide for SS. It is allowed to add vertex vv to II if vv is adjacent to at most UBδk(S,v)UB-\delta_{k}^{-}(S,v) vertices in II.

Lemma 3.

After adding any vertex vv to ICI\subseteq C according to Rule 2, UBUB is still an upper bound of the number of vertices that I=I{v}I^{\prime}=I\cup\{v\} can provide for SS.

Proof.

On one hand, if adding vv to SS, at most δk(S,v)1\delta_{k}^{-}(S,v)-1 other vertices that are non-adjacent to vv in II^{\prime} can be added to SS. Since vv is adjacent to at most UBδk(S,v)UB-\delta_{k}^{-}(S,v) vertices in II^{\prime}, thus after adding vv to SS, II^{\prime} can still provide at most UB1UB-1 vertices for SS. On the other hand, if not adding vv to SS, II^{\prime} itself can only provide at most UBUB vertices for SS. ∎

Given a maximal independent set ICI\subseteq C, both Rule 1 and Rule 2 can add extra vertices to II without increasing its TISUB. Actually, Rule 1 allows us to add finite (at most TISUB(I,S)(I,S) - 1) conflict vertices to II, and Rule 2 can be repeatedly used to add any vertex satisfying the rule to II.

Refer to caption
Figure 1: An example for comparing the upper bounds.

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 GG induced by the candidate set C={v1,v2,,v8}C=\{v_{1},v_{2},\cdots,v_{8}\}, i.e., G[C]G[C], of a 4-plex SS. To simplify the figure, we hide the 4-plex SS and only depict the candidate vertices. Vertex vi|tv_{i}|t in Figure 1 identifies a vertex viCv_{i}\in C with δk(S,vi)=t\delta_{k}^{-}(S,v_{i})=t.

Suppose we sequentially color vertices v1,v2,,v8v_{1},v_{2},\cdots,v_{8} under the constraint that adjacent vertices cannot be in the same color, CC can be partitioned into 3 independent sets, I1={v1,v2,v3}I_{1}=\{v_{1},v_{2},v_{3}\}, I2={v4,v5,v6,v8}I_{2}=\{v_{4},v_{5},v_{6},v_{8}\} and I3={v7}I_{3}=\{v_{7}\}, as indicated by the colors of the vertices. The GCB of ω4(G,S)\omega_{4}(G,S) is |S|+i=13min{|Ii|,4}=|S|+3+4+1=|S|+8|S|+\sum_{i=1}^{3}{\min\{|I_{i}|,4\}}=|S|+3+4+1=|S|+8. The TISUB of ω4(G,S)\omega_{4}(G,S) is |S|+i=13TISUB(Ii,S)=|S|+3+2+1=|S|+6|S|+\sum_{i=1}^{3}{\textit{TISUB}(I_{i},S)}=|S|+3+2+1=|S|+6.

Then, let us use Rule 1 to make independent set I1I_{1} contain more vertices. For I1I_{1}, since TISUB(I1,S)=3\textit{TISUB}(I_{1},S)=3, there is only one loose vertex v1v_{1} in I1I_{1}. By applying Rule 1, we can add vertices v6v_{6} and v7v_{7} to I1I_{1} without increasing the upper bound of ω4(G[SI1],S)\omega_{4}(G[S\cup I_{1}],S), since there are only 3 loose or conflict vertices, i.e., v1,v6,v7v_{1},v_{6},v_{7}, in I1{v6,v7}I_{1}\cup\{v_{6},v_{7}\}. After the operation, CC is partitioned into two sets, I5=I1{v6,v7}I_{5}=I_{1}\cup\{v_{6},v_{7}\} and I6={v4,v5,v8}I_{6}=\{v_{4},v_{5},v_{8}\}. The new upper bound of ω4(G,S)\omega_{4}(G,S) is |S|+TISUB(I5,S)+TISUB(I6,S)=|S|+3+1=|S|+4|S|+\textit{TISUB}(I_{5},S)+\textit{TISUB}(I_{6},S)=|S|+3+1=|S|+4.

Finally, let us use Rule 2 to further make set I5I_{5} contain more vertices. According to Rule 2, all vertices in I6I_{6} can be added to I5I_{5} without increasing the upper bound of ω4(G[SI5],S)\omega_{4}(G[S\cup I_{5}],S). After the operation, the final RelaxGCB of ω4(G,S)\omega_{4}(G,S) is |S|+TISUB(I5,S)=|S|+3|S|+\textit{TISUB}(I_{5},S)=|S|+3.

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 |S||S| to initialize the upper bound UBUB (line 1), and then repeatedly uses the TryColor() function to extract a subset ICI\subseteq C and calculate the upper bound on the number of vertices that II can provide for SS, i.e., ubub (line 3) until C=C=\emptyset (line 2). After each execution of function TryColor(), the candidate set CC and upper bound UBUB are both updated (line 4).

Input: A graph G=(V,E)G=(V,E), an integer kk, the current partial kk-plex SS, the candidate set CC
Output: RelaxGCB of ωk(G,S)\omega_{k}(G,S)
1 initialize the upper bound UB|S|UB\leftarrow|S|;
2 while CC\neq\emptyset do
3       {I,ub}\{I,ub\}\leftarrow TryColor(G,k,S,C)(G,k,S,C);
4       CC\IC\leftarrow C\backslash I, UBUB+ubUB\leftarrow UB+ub;
5      
6return UBUB;
Algorithm 1 RelaxColoring(G,k,S,C)(G,k,S,C)
Input: A graph G=(V,E)G=(V,E), an integer kk, the current partial kk-plex SS, the candidate set CC
Output: A vertex set II, an upper bound ubub of the number of vertices that II can provide for SS
1 initialize II\leftarrow\emptyset;
2 for each vertex vCv\in C do
3       if N(v)I=N(v)\cap I=\emptyset then II{v}I\leftarrow I\cup\{v\};
4      
5ubub\leftarrow TISUB(I,S)(I,S);
6 initialize the set of loose or conflict vertices LC{vI|δk(S,v)>ub}LC\leftarrow\{v\in I|\delta_{k}^{-}(S,v)>ub\};
7 if |LC|<ub|LC|<ub then
8       for each vertex vC\Iv\in C\backslash I do
9             CV{v}{N(v)I\LC}CV\leftarrow\{v\}\cup\{N(v)\cap I\backslash LC\};
10             if |LC|+|CV|ub|LC|+|CV|\leq ub then
11                   II{v}I\leftarrow I\cup\{v\};
12                   LCLCCVLC\leftarrow LC\cup CV;
13                   if |LC|=ub|LC|=ub then break;
14                  
15            
16      
17for each vertex vC\Iδk(S,v)<ubv\in C\backslash I\wedge\delta_{k}^{-}(S,v)<ub do
18       if |N(v)I|ubδk(S,v)|N(v)\cap I|\leq ub-\delta_{k}^{-}(S,v) then
19            II{v}I\leftarrow I\cup\{v\};
20      
21return {I,ub}\{I,ub\};
Algorithm 2 TryColor(G,k,S,C)(G,k,S,C)

Function TryColor() is summarized in Algorithm 2, which first finds a maximal independent set ICI\subseteq C (lines 1-3) and calculates its TISUB (line 4). Then, the algorithm initializes the set of loose or conflict vertices LCLC (line 5) and tries to add as many vertices as possible to II according to Rule 1 (lines 6-12). Once trying to add each vertex vv, the algorithm uses CVCV to denote the extra conflict vertices caused by adding vv to II (line 8). Since II is a maximal independent set in CC, adding any vertex vv to II increases at least one conflict vertices, i.e., vv itself (line 8). Thus, the utilization of Rule 1 can be terminated when |LC|ub|LC|\geq ub (lines 6 and 12). Finally, the algorithm applies Rule 2 to further add vertices to II (lines 13-15). Since for each vertex vC\Iv\in C\backslash I, |N(v)I|>0|N(v)\cap I|>0 holds, only vertex vC\Iv\in C\backslash I with δk(S,v)<ub\delta_{k}^{-}(S,v)<ub can be added to II according to Rule 2 (line 13).

The time complexities of RelaxColoring algorithm and TryColor function are O(|C|2×T)O(|C|^{2}\times T) and O(|C|×T)O(|C|\times T), respectively, where O(T)O(T) is the time complexity of the intersection operation between N(v)N(v) and II (or I\LCI\backslash LC) used in lines 3, 8, and 14 in Algorithm 2. Actually, O(T)O(T) is bounded by O(|V|)O(|V|) and much smaller than O(|V|)O(|V|) 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 kk-plex SS and the corresponding candidate set CC, for each vertex vSv\in S, DisePUB claims that a subset ICI\subseteq C can provide at most min{|I|,δk(S,v)}\min\{|I|,\delta_{k}^{-}(S,v)\} vertices for SS if N(v)I=N(v)\cap I=\emptyset. Given a vertex vSv\in S, let I=C\N(v)I=C\backslash N(v) and ub=min{|I|,δk(S,v)}ub=\min\{|I|,\delta_{k}^{-}(S,v)\}, DisePUB defines a metric for II, i.e., dise(I)=|I|/ubdise(I)=|I|/ub, to evaluate the extraction of vertex set II. The larger the value of dise(I)dise(I), the more vertices that can be extracted from CC and the fewer increments on the upper bound of ωk(G,S)\omega_{k}(G,S).

In each step, DisePUB traverses each vertex vSv\in S with δk(S,v)>0\delta_{k}^{-}(S,v)>0 and selects the corresponding set I=C\N(v)I=C\backslash N(v) with the largest value of dise(I)dise(I). Ties are broken by preferring larger extractions. We use function SelectPartition() to describe the selection, which is shown in Algorithm 3. Then, DisePUB extracts C\N(v)C\backslash N(v) from CC and increases the upper bound of ωk(G,S)\omega_{k}(G,S) by min{|C\N(v)|,δk(S,v)}\min\{|C\backslash N(v)|,\delta_{k}^{-}(S,v)\}.

DisePUB repeats the above process until vertices remaining in CC are adjacent to all vertices in SS. DisePUB denotes the set of remaining vertices in CC as π0\pi_{0} and finally increases the upper bound of ωk(G,S)\omega_{k}(G,S) by |π0||\pi_{0}|.

Input: A graph G=(V,E)G=(V,E), an integer kk, the current partial kk-plex SS, the candidate set CC
Output: A vertex set II, an upper bound ubub of the number of vertices that II can provide for SS
1 initialize dise0,ub0,Idise^{*}\leftarrow 0,ub^{*}\leftarrow 0,I^{*}\leftarrow\emptyset;
2 for each vertex vSδk(S,v)>0v\in S\wedge\delta_{k}^{-}(S,v)>0 do
3       IC\N(v)I\leftarrow C\backslash N(v);
4       ubmin{|I|,δk(S,v)}ub\leftarrow\min\{|I|,\delta_{k}^{-}(S,v)\};
5       if |I|/ub>dise(|I|/ub=dise|I|>|I|)|I|/ub>dise^{*}\vee(|I|/ub=dise^{*}\wedge|I|>|I^{*}|) then
6             dise|I|/ub,ubub,IIdise^{*}\leftarrow|I|/ub,ub^{*}\leftarrow ub,I^{*}\leftarrow I;
7            
8      
9return {I,ub}\{I^{*},ub^{*}\};
Algorithm 3 SelectPartition(G,k,S,C)(G,k,S,C)

4.2 Complementarity of GCB and PUB

Refer to caption
(a) GCB prevails
Refer to caption
(b) PUB prevails
Figure 2: Two examples for demonstrating the complementarity.

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 SS contains only one vertex v0v_{0} and its corresponding candidate set C={v1,v2,v3,v4,v5}C=\{v_{1},v_{2},v_{3},v_{4},v_{5}\}.

In Figure 2(a), the GCB is tighter than the PUB. The vertices in CC are all adjacent to v0v_{0}, which means the vertices in CC are all in π0\pi_{0}. Thus, the PUB is |S|+|π0|=6|S|+|\pi_{0}|=6. While by coloring the vertices in CC, it can be partitioned into 2 independent sets I1={v1,v2,v3,v5}I_{1}=\{v_{1},v_{2},v_{3},v_{5}\} and I2={v4}I_{2}=\{v_{4}\}, and the GCB is |S|+i=12min{|Ii|,2}=4|S|+\sum_{i=1}^{2}{\min\{|I_{i}|,2\}}=4. In contrast, the PUB is tighter than the GCB in Figure 2(b), where CC can be partitioned into 3 independent sets I1={v1,v5}I_{1}=\{v_{1},v_{5}\}, I2={v2,v3}I_{2}=\{v_{2},v_{3}\}, and I3={v4}I_{3}=\{v_{4}\}. Thus, the GCB is |S|+i=13min{|Ii|,2}=6|S|+\sum_{i=1}^{3}{\min\{|I_{i}|,2\}}=6. While vertices in CC except v1v_{1} are non-adjacent to v0v_{0}, π0={v1}\pi_{0}=\{v_{1}\}, thus the PUB is |S|+|π0|+δ2(S,v0)=3|S|+|\pi_{0}|+\delta_{2}^{-}(S,v_{0})=3.

Input: A graph G=(V,E)G=(V,E), an integer kk, the current partial kk-plex SS, the candidate set CC
Output: RelaxPUB of ωk(G,S)\omega_{k}(G,S)
1 initialize the upper bound UB|S|UB\leftarrow|S|;
2 while CC\neq\emptyset do
3       {IC,ubC}\{I_{C},ub_{C}\}\leftarrow TryColor(G,k,S,C)(G,k,S,C);
4       {IP,ubP}\{I_{P},ub_{P}\}\leftarrow SelectPartition(G,k,S,C)(G,k,S,C);
5       if |IC|/ubC>|IP|/ubP(|IC|/ubC=|IP|/ubP|IC|>|IR|)|I_{C}|/ub_{C}>|I_{P}|/ub_{P}\vee(|I_{C}|/ub_{C}=|I_{P}|/ub_{P}\wedge|I_{C}|>|I_{R}|) then
6             CC\ICC\leftarrow C\backslash I_{C}, UBUB+ubCUB\leftarrow UB+ub_{C};
7            
8      else
9             CC\IPC\leftarrow C\backslash I_{P}, UBUB+ubPUB\leftarrow UB+ub_{P};
10            
11      
12
13return UBUB;
Algorithm 4 SelectUB(G,k,S,C)(G,k,S,C)

4.3 Combining RelaxGCB and DisePUB

Both RelaxGCB and DisePUB extract a subset from CC and accumulate the upper bound of ωk(G,S)\omega_{k}(G,S). The disedise 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 ωk(G,S)\omega_{k}(G,S), 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 disedise metric. Ties are broken by preferring larger extraction. Once a better extraction is selected, The algorithm updates the candidate set CC and accumulates the upper bound of ωk(G,S)\omega_{k}(G,S).

The time complexities of functions TryColor() and SelectPartition() are O(|C|×T)O(|C|\times T) and O(|C|×|S|)O(|C|\times|S|) Jiang et al. (2023), respectively, where O(T)O(T) is much smaller than O(|V|)O(|V|) as referred to Section 3.4. The time complexity of the SelectUB algorithm is O(|C|2×(|S|+T))O(|C|^{2}\times(|S|+T)).

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.

Refer to caption
(a) Comparison with Maplex
Refer to caption
(b) Comparison with kPlexS
Refer to caption
(c) Comparisons with DiseMKP
Refer to caption
(d) Comparison with KPLEX
Figure 3: Comparisons on the dense 2nd DIMACS benchmark. For the baselines, Maplex is based on GCB while the other three on PUB.
Refer to caption
(a) Comparison with Maplex
Refer to caption
(b) Comparison with kPlexS
Refer to caption
(c) Comparison with DiseMKP
Refer to caption
(d) Comparison with KPLEX
Figure 4: Comparisons on the sparse Real-world benchmark. For the baselines, Maplex is based on GCB while the other three on PUB
kk 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
Table 1: Comparison on 30 representative MKP instances with k=2,3,6,10,15k=2,3,6,10,15. The search tree size is in 10510^{5}, and the time is in seconds. The percent indicates the percentage of the number of times RelaxGCB is used in RelaxPUB. Better results appear in bold.

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 k{2,3,4,5,6,7,10,15}k\in\{2,3,4,5,6,7,10,15\}, and set the cut-off time to 1,800 seconds per instance, following the settings of the baselines.

Refer to caption
(a) On Maplex
Refer to caption
(b) On kPlexS
Refer to caption
(c) On DiseMKP
Refer to caption
(d) On KPLEX
Figure 5: Ablation studies on each baseline over all the tested instances.

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 kk 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 kk values, indicating its dominant performance over the state-of-the-art baselines, excellent generalization over different graphs, and strong robustness over diverse kk values.

With the increment of the kk 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 kk values (e.g., 10 and 15) on DIMACS2. This is because a kk-plex with larger kk-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 k=2,3,6,10,15k=2,3,6,10,15 in Table 1. We report their running times in seconds (column Time), the sizes of their entire search trees in 10510^{5} (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 kk-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 kk 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 kk-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.