Next Article in Journal
Robustness Analysis of an Urban Public Traffic Network Based on a Multi-Subnet Composite Complex Network Model
Previous Article in Journal
Partial Recovery of Coherence Loss in Coherence-Assisted Transformation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Iterated Clique Reductions in Vertex Weighted Coloring for Large Sparse Graphs

1
School of Mathematics and Statistic, Qiannan Normal University for Nationalities, Duyun 558000, China
2
Key Laboratory of Complex Systems and Intelligent Optimization of Guizhou Province, Duyun 558000, China
3
School of Mathematics and Information Engineering, Longyan University, Longyan 364000, China
4
Institute for Integrated and Intelligent Systems, Griffith University, Brisbane, QLD 4111, Australia
5
School of Computer Science and Information Technology, Northeast Normal University, Changchun 130024, China
6
Department of Computer and Information Sciences, Temple University, Philadelphia, PA 19122, USA
*
Author to whom correspondence should be addressed.
Entropy 2023, 25(10), 1376; https://doi.org/10.3390/e25101376
Submission received: 4 September 2023 / Revised: 19 September 2023 / Accepted: 20 September 2023 / Published: 24 September 2023

Abstract

:
The Minimum Vertex Weighted Coloring (MinVWC) problem is an important generalization of the classic Minimum Vertex Coloring (MinVC) problem which is NP-hard. Given a simple undirected graph G = ( V , E ) , the MinVC problem is to find a coloring s.t. any pair of adjacent vertices are assigned different colors and the number of colors used is minimized. The MinVWC problem associates each vertex with a positive weight and defines the weight of a color to be the weight of its heaviest vertices, then the goal is the find a coloring that minimizes the sum of weights over all colors. Among various approaches, reduction is an effective one. It tries to obtain a subgraph whose optimal solutions can conveniently be extended into optimal ones for the whole graph, without costly branching. In this paper, we propose a reduction algorithm based on maximal clique enumeration. More specifically our algorithm utilizes a certain proportion of maximal cliques and obtains lower bounds in order to perform reductions. It alternates between clique sampling and graph reductions and consists of three successive procedures: promising clique reductions, better bound reductions and post reductions. Experimental results show that our algorithm returns considerably smaller subgraphs for numerous large benchmark graphs, compared to the most recent method named RedLS. Also, we evaluate individual impacts and some practical properties of our algorithm. Furthermore, we have a theorem which indicates that the reduction effects of our algorithm are equivalent to that of a counterpart which enumerates all maximal cliques in the whole graph if the run time is sufficiently long.

1. Introduction

Below we will introduce the MinVWC problem, current reduction approaches, and our proposed approach, together with some high-level motivation and comparisons.

1.1. The Problem

Given a simple undirected graph G = ( V , E ) , a feasible coloring for G is an assignment of colors to V s.t. any pair of adjacent vertices are assigned different colors. Formally a feasible coloring S for G = ( V , E ) is defined as a partition S = { V 1 , , V k } of V s.t. V i for any 1 i k , V i V j = for any 1 i j k , i = 1 k V i = V , and for any edge { u , v } E , u and v are not in the same vertex subset V i where 1 i k . Notice that k is unknown until we find a feasible coloring. In the Minimum Vertex Weighted Coloring (MinVWC) problem, each vertex is associated with a positive weight, i.e., there is an additional weighting function w : V Z + , and the goal is to find a feasible coloring that minimizes cost ( S , G ) = i = 1 k max v V i w ( v ) . Obviously, an instance of the NP-hard MinVC problem can conveniently be reduced to an instance of the MinVWC problem by associating a weight of 1 with each vertex. As a result, the MinVWC problem is also NP-hard [1,2]. This problem arises in several applications like traffic assignment [3,4], manufacturing [5], scheduling [6] etc. Up to now, there are two types of algorithms for this problem: complete algorithms [3,7,8] and incomplete ones [4,9,10].

1.2. Current Reduction Approaches

In MinVC solving, a clique provides a lower bound for reductions because any two vertices in a clique cannot have the same color. In MinVWC solving, a clique is also able to do so, as can be found in the most recent reduction method RedLS published in [11]. Roughly it is desirable that we have cliques in hand that are of great sizes and each vertex in them has a big weight. So one may think that we can call an incomplete maximum vertex weight clique solver like [12,13] to obtain a list of optimal or near-optimal cliques. Such examples can be found in the state-of-the-art method RedLS. In detail, RedLS first performs reduction to obtain a reduced subgraph and then does a local search on that subgraph. In this paper, we will abuse the name RedLS to refer to its reduction component as well. As to its reduction component, RedLS first samples a proportion of vertices, and for each of them namely v, it tries to find one maximum or near-maximum vertex weight clique that contains v. Second it combines such cliques to obtain a ‘relaxed’ partition set and apply this set for reductions. In a nutshell, the reduction method of RedLS performs clique sampling and graph reduction successively without interleaving, which we believe is not so flexible and may miss a few promising cliques and bounds.

1.3. Our Approach

We do not believe that sampling maximum or near-maximum vertex weight cliques is a perfect approach for clique reductions. In fact, there are two types of cliques that may not have great total vertex weights but are still useful: those only with big size and those only with high-weight vertices, because they also contribute to a bound. Actually, solving MinVWC requires diversification, to be specific, a list of cliques that vary in both sizes and vertex weight distributions is preferred. If we call a maximum vertex weight clique solving procedure, we may finally obtain a list of cliques that lack such diversification, which results in relatively ineffective reductions. Therefore in this paper, we abandon such an approach and instead enumerate diverse cliques. In this sense enumerating all maximal cliques in the input graph seems to be a good choice, however, doing so may be costly and thus infeasible even in sparse graphs, so we develop an algorithm that only enumerates a certain proportion of them but leads to equally effective reductions as the counterpart which enumerates all of them, if our algorithm completes.
Recently complex networks have presented a number of applications like cloud computing [14,15], so research about vertex-weighted coloring in large complex networks is capturing great interest. In this paper, we will present a reduction algorithm that processes large sparse graphs in order to speed up current MinVWC solving. Roughly speaking, it alternates between clique sampling and graph reductions. In a graph reduction procedure, it obtains a subgraph whose optimal solutions can be extended into optimal ones for the whole graph, and we call this subgraph a VWC-reduced subgraph (Vertex Weighted Coloring-reduced subgraph). Since most large sparse graphs obey the power-distribution law [16,17], they can be reduced considerably by cliques of a certain quality. On the other hand, a smaller graph presents smaller search space and the algorithm may find better cliques more easily which can then be used for further reductions.
Our algorithm consists of three successive procedures. Firstly, we collect vertices that have maximum degrees or weights and enumerate all maximal cliques containing them. Each time we find a maximal clique we check whether it leads to further reductions and do so immediately if possible. Secondly, we systematically look for cliques that can trigger more effective reductions. As in the previous procedure, we will perform reductions immediately once we have found such a clique. Thirdly, we perform clique reductions which are ignored in the first two procedures. We evaluated our algorithm on a list of large sparse graphs that were accessed via http://networkrepository.com/ on 1 January 2018, and compared its performance with RedLS. Experimental results show that our reduction algorithm often returns subgraphs that are considerably smaller than those obtained by RedLS. Also, we evaluated the individual impacts of the three procedures above, and found that they all had significant contributions. Furthermore, our algorithm was able to confirm that it had found the best bound on a list of benchmark graphs. Last we have a theorem that indicates that although our algorithm only samples a certain proportion of maximal cliques in the whole graph, its reduction effects are equivalent to that of a counterpart that enumerates all of them in the whole graph, given sufficient run time.

2. Preliminaries

In what follows, we suppose a vertex weighted graph G = ( V , E , w ( · ) ) with w : V Z + being a weighting function. If e = { u , v } is an edge of G, we say that u and v are adjacent/connected and thus neighbors. Given a vertex v, we define the set of its neighbors, denoted by N ( v ) , as { u V | { u , v } E } and we use N [ v ] to denote N ( v ) { v } . The degree of a vertex v, denoted by d ( v ) , is defined as | N ( v ) | . A clique C is a subset of V s.t. any two vertices in C are mutually connected. A clique is said to be maximal if it is not a subset of any other clique. By convention we define size of a clique C, denoted by | C | , to be the number of vertices in it. Given a graph G and a vertex subset V V , we use G [ V ] to denote the subgraph of G which is induced by V , i.e., G [ V ] = ( V , E ) where E = { { u , v } E | u , v V } . Given a graph G, we use V ( G ) and E ( G ) to denote the set of vertices and edges of G, respectively.
In the following, for the ease of discussions, we generalize the notion of a coloring and allow it to color vertices not in V, so a coloring has now been redefined as S = { 1 , V 1 , , k , V k } with i = 1 k V i V . Then we say that V 1 , , V k are color classes and we redefine cost ( S , G ) as i = 1 k max v V i V w ( v ) . Obviously according to new definitions, one coloring can have several representations, e.g., { 1 , U , 2 , V , 3 , W } and { 1 , W , 2 , V , 3 , U } represent the same coloring.
Given a graph G, we use S | G to denote a certain coloring for it. Then Proposition 1 below shows that given any feasible coloring, its cost on any induced subgraph does not exceed that on the whole graph.
Proposition 1. 
Suppose G = ( V , E , w ( · ) ) and U V . If S | G is a feasible coloring for G, then
  • S | G is also a feasible coloring for G [ U ] ;
  • cost ( S | G , G [ U ] ) cost ( S | G , G ) .
Proof. 
See Appendix A.    □
Throughout this paper, when we say an optimal coloring/solution, we mean a feasible coloring/solution with the minimum cost . Given a vertex u, we use c u to denote u’s color. In addition, we use c u j to denote the operation which assigns u the color j, so c u c v assigns u a color which is equal to that of v, i.e., which puts u in the same vertex subset with v.
Given a tuple t = x 1 , , x l , we use | t | to denote the number of components in t, so | t | = l . For ease of expression, if t is an empty tuple, we define | t | to be 0. Given a map f : X Y and an element x X , if y = f ( x ) , then we say that y is x’s image under f or simply say f ( x ) is x’s image under f. Such notions will be useful when we discuss the removal of vertices in clique reductions. Finally, when given vertices u and v, we say that u is heavier (resp. lighter) than v if w ( u ) > w ( v ) (resp. w ( u ) < w ( v ) ).

2.1. A Reduction Framework

Below we will present notions that are related to graph reductions for the MinVWC problem. The first is an extension to a coloring which relates solutions for a subgraph to that for the whole graph.
Definition 1. 
Given a coloring S = { 1 , V 1 , , k , V k } and a vertex x s.t. x i = 1 k V i , we define an extension to S with respect to ( c x j ) ( 1 j k + 1 ) , denoted by S ( c x j ) , as
S ( c x j ) = S \ { j , V j } { j , V j { x } } if 1 j k ; S { j , { x } } if j = k + 1 .
We also define S as an extension of itself. So an extension to S will not change the color of any vertices that have already been colored before. Instead, it will put a new vertex into one of the k existing vertex partitions if 1 j k , or a new one if j = k + 1 . Obviously given two operations a 1 and a 2 for extensions, we have ( S a 1 ) a 2 = ( S a 2 ) a 1 , so the order of the operations does not matter.
Given a set A = { a 1 , , a n } , we use S A to denote S a 1 a n , and we also say S A is an extension to S. Last if S A or S ( c x j ) is a feasible color for G, then we say that S A or S ( c x j ) is a feasible extension to S for G. Below we have a proposition that will be useful in proving other later propositions.
The proposition below illustrates that extending a coloring will not decrease its cost.
Proposition 2. 
Given a vertex x V and a coloring S = { 1 , V 1 , , k , V k } for G [ V { x } ] , then
cost ( S , G [ V { x } ] ) cost ( S ( c x j ) , G )
for any 1 j k + 1 .
Proof. 
See Appendix B.    □
Next, we define a type of subgraphs whose feasible solutions can be extended into feasible ones for the whole graph with the same cost .
Definition 2. 
Suppose G = ( V , E , w ( · ) ) and U V . If given any feasible coloring S | G [ U ] for G [ U ] , there exists an extension to S | G [ U ] , denoted by S | G , such that S | G is feasible for G and cost ( S | G [ U ] , G [ U ] ) = cost ( S | G , G ) , then we say that G [ U ] is a VWC-reduced subgraph for G.
This notion of VWC-reduced subgraph has two nice properties which are shown in Propositions 3 and 4 below. In detail, Proposition 3 shows that the relation of the VWC-reduced subgraph is transitive and we can compute a VWC-reduced subgraph in an iterative way.
Proposition 3. 
Suppose G = ( V , E , w ( · ) ) , W U V , G [ W ] is a VWC-reduced subgraph for G [ U ] and G [ U ] is a VWC-reduced subgraph for G, then G [ W ] is a VWC-reduced subgraph for G.
Proof. 
See Appendix C.    □
Proposition 4 shows that in order to find an optimal solution for G, we can first find an optimal solution for its VWC-reduced subgraphs.
Proposition 4. 
Suppose G = ( V , E , w ( · ) ) , U V and G [ U ] is a VWC-reduced subgraph of G, then
1. 
given any optimal feasible solution S * | G [ U ] for G [ U ] , there exists an extension to S * | G [ U ] which is an optimal solution for G;
2. 
given any non-optimal feasible solution S | G [ U ] for G [ U ] , there exist no extension to S | G [ U ] that is an optimal solution for G.
Proof. 
See Appendix D.    □
These propositions allow our algorithms to interleave between clique sampling and graph reduction, which is different from the approach in RedLS [11] yet similar to that in FastWClq [12]. This is why we titled this paper ‘iterative clique reductions’.
In what follows we will introduce a general principle for computing VWC-reduced subgraphs.

2.2. Clique Reductions

Below we will utilize the notion of VWC-reduced subgraph to introduce clique reductions which was initially proposed in [11]. First, we introduce the notion of absorb which illustrates that a vertex’s close neighborhood is a weak sub-structure of a clique.
Definition 3. 
Given a vertex u and a clique C = { v 1 , , v | C | } in G s.t. u C , | C | > d ( u ) , w ( v 1 ) w ( v | C | ) and w ( v d ( u ) + 1 ) w ( u ) , then we say that u is absorbed by C.
Note that the condition | C | > d ( u ) guarantees that w ( v d ( u ) + 1 ) always exists. Also notice that [11] did not allow the equation in w ( v d ( u ) + 1 ) w ( u ) to hold, but we extend their statements slightly.
Example 1. 
Consider G 1 in which z i ω denotes Vertex z i with a weight ω. Let u = z 4 2 and C = { z 5 6 , z 2 5 , z 6 4 , z 1 3 } , then u C , | C | = 4 and d ( u ) = 3 , thus | C | > d ( u ) and w ( v d ( u ) + 1 ) = w ( z 1 3 ) = 3 w ( u ) = 2 . So we say that z 4 2 is absorbed by C.
To make our descriptions more intuitive, we show C and N [ u ] separately below and moreover, in C a heavier vertex is shown in a darker color. If we left-shift N [ u ] , then we will find that there is a one-to-one map ξ : N [ u ] C namely { z 4 2 , z 1 3 , z 3 5 , z 2 5 , z 7 1 , z 5 6 , z 8 5 , z 6 4 } , s.t.
1. 
w ( u ) w ( ξ ( u ) ) , that is, u is no heavier than its image under ξ;
2. 
and for any x N ( u ) , w ( ξ ( x ) ) w ( ξ ( u ) ) , that is, images of u’s neighbors are no lighter than that of u, or we may roughly say that u’s image is the lightest compared to those of its neighbors.
Entropy 25 01376 i006
Since | C | = 4 , there exist at least 4 colors in any feasible solution for G 1 [ V { u } ] . For coloring vertices in N ( u ) , we only need d ( u ) = 3 colors, so there exists at least one color among that of z 5 6 , z 2 5 , z 6 4 , z 1 3 which is not in use for N ( u ) , and we can use it to color u namely z 4 2 without causing any conflicts. Because w ( z 1 3 ) w ( z 4 2 ) , even though we assign z 4 2 the same color as that of z 1 3 , the lightest vertex in C, the cost of that coloring will not increase. So we can now simply ignore z 4 2 and later assign it an existing color after all its neighbors have been colored, depending on its weight as well as its neighbors’ colors. Obviously, this is a feasible extension that does not increase the cost of a coloring. Therefore G 1 [ V { z 4 2 } ] is a VWC-reduced subgraph of G 1 .
In general, we have a proposition below [11].
Proposition 5. 
Given a graph G and a vertex u, if there exists a clique C s.t. u is absorbed by C, then G [ V { u } ] is a VWC-reduced subgraph of G.
Proof. 
See Appendix E.    □
So if a vertex is absorbed by a clique, it can be removed in order to obtain a VWC-reduced subgraph.
Example 2. 
Now we continue with Example 1.
1. 
In G 1 [ V { z 4 2 } ] , we find that z 8 5 is absorbed by C, so we have G 1 [ V { z 4 2 , z 8 5 } ] is a VWC-reduced subgraph of G 1 [ V { z 4 2 } ] . Similarly we have G 1 [ V { z 4 2 , z 8 5 , z 3 5 } ] is that of G 1 [ V { z 4 2 , z 8 5 } ] and G 1 [ V { z 4 2 , z 8 5 , z 3 5 , z 7 1 } ] is that of G 1 [ V { z 4 2 , z 8 5 , z 3 5 } ] .
2. 
By Proposition 3, we have G 1 [ V { z 4 2 , z 8 5 , z 3 5 , z 7 1 } ] is that of G 1 . Also we have an optimal coloring for G 1 [ V { z 4 2 , z 8 5 , z 3 5 , z 7 1 } ] is
S * | G 1 [ V { z 1 3 , z 2 5 , z 5 6 , z 6 4 } ] = { 1 , { z 1 3 } , 2 , { z 2 5 } , 3 , { z 5 6 } , 4 , { z 6 4 } }
and cost ( S * | G 1 [ V { z 4 2 , z 8 5 , z 3 5 , z 7 1 } ] , G 1 [ V { z 4 2 , z 8 5 , z 3 5 , z 7 1 } ] ) = 3 + 5 + 6 + 4 = 18 .
3. 
Considering Proposition 4, there exists a feasible extension to S * | G 1 [ V { z 4 2 , z 8 5 , z 3 5 , z 7 1 } ] , denoted by S * | G 1 , s.t. S * | G 1 is an optimal solution for G 1 . In detail, for coloring the removed vertices in { z 4 2 , z 8 5 , z 3 5 , z 7 1 } , we can follow the reversed order of the reductions before.
4. 
So an optimal coloring for G 1 is
S * | G 1 = { 1 , { z 1 3 } , 2 , { z 2 5 , z 8 5 } , 3 , { z 5 6 , z 3 5 , z 7 1 } , 4 , { z 6 4 , z 4 2 } }
and cost ( S * | G 1 , G 1 ) = 18 .
Entropy 25 01376 i007
Furthermore we only have to focus on maximal cliques as is shown by the proposition below.
Proposition 6. 
If u is absorbed by a clique in G, then it must be absorbed by a maximal clique in G.
From the propositions above, we can see that whether a vertex can be removed to obtain a VWC-reduced subgraph or not depends on the quality of the cliques in hand. Below we define a partial order ⊑ between cliques which indicates whether vertices absorbed by one clique are a subset of those absorbed by the other.
Definition 4. 
Given a graph G = ( V , E , w ( · ) ) and its two cliques C x = { x 1 , ,   x | C x | } and C y = { y 1 , ,   y | C y | } where w ( x 1 ) w ( x | C x | ) and w ( y 1 ) w ( y | C y | ) , we define a partial order ⊑ s.t. C x C y iff
1. 
| C x | | C y | ;
2. 
w ( x t ) w ( y t ) for 1 t | C x | .
So if C x C y , then C y leads to reductions that are at least as effective as that result from C x . In what follows, if C x C y , we say that C x is subsumed by C y . Obviously we have a proposition below which shows that the ⊑ relation is transitive.
Proposition 7. 
Given a graph G = ( V , E , w ( · ) ) and its three cliques C x , C y , C z , if C x C y and C y C z , then C x C z .
Then we have two propositions which show that if C x C y , then we can keep C y and ignore C x .
Proposition 8. 
Suppose u is a vertex and C x , C y are cliques s.t. u C x C y and C x C y , then if u is absorbed by C x , then it is also absorbed by C y .
The proposition below states that if there occur reductions among C x , C y and their vertices where C x C y , then keeping C y is at least as good as keeping C x .
Proposition 9. 
Suppose C x , C y are cliques s.t. C x = { x 1 , ,   x | C x | } and C y = { y 1 , ,   y | C y | } where w ( x 1 ) w ( x | C x | ) and w ( y 1 ) w ( y | C y | ) , if C x C y = and C x C y , then we have for any 1 t | C x | , if y t is absorbed by C x , then x t is absorbed by C y .
So if we utilize C x and C y to perform clique reductions where C x C y , we can simply ignore C x and keep C y .

2.3. A State-of-the-Art Reduction Method

To date, as we know, the only work on reductions for vertex weighted coloring is RedLS [11], which constructs promising cliques like FastWClq [12] and combines these cliques in an appropriate way to obtain a ‘relaxed’ partition set. Then it utilizes this set to perform reductions and compute lower bounds. So RedLS consists of clique sampling and graph reductions as successive procedures without interleaving.
Notice that FastWClq alternates between clique sampling and graph reduction and it benefits much from this approach. Hence it will be interesting to try whether such an alternating approach would lead to better reductions in vertex weighted coloring. Fortunately, the reduction framework introduced above allows us to do so.
For simplicity, we will put the details of RedLS in Section 4, where we will be able to reuse our notations and algorithms for succinct presentation.

3. Our Algorithm

Our reduction algorithm consists of three successive procedures: Algorithms 1 and 2 and post reductions in Section 3.3. As to Algorithm 1, we will first run it with maximum-weight vertices assigned to startVertexSet in Line 1 and then run it again with maximum-degree vertices in the same way.

3.1. Sampling Promising Cliques

Algorithm 1 samples promising cliques that may lead to considerable reductions with three components as below.
  • startVertexSet contains maximum degree/weight vertices and helps find promising cliques.
  • criticalCliqSet contains cliques that may probably lead to effective reductions and will be utilized in post reductions in Section 3.3.
  • topLevelWeights is a list of weights in non-increasing order and will be used for reductions.
In Line 7, we adopt depth-first search to enumerate all maximal cliques which contain vertices only in candSet . This operation can be costly, so in Section 3.4, we will set a cutoff for it. To be specific, before each enumeration, we will first put all related vertices into a list and shuffle this list randomly, then we will pick decision vertices one after another in this list to construct maximal cliques. By decision vertices, we mean those vertices that can both be included and excluded to form different maximal cliques.
Furthermore, Lines 8, 9, 10, and 16 will be introduced in Definition 8. Lines 21 and 22 are based on Proposition 16 and will be introduced in detail there.
Algorithm 1: PromisingCliqueReductions
Entropy 25 01376 i001

3.1.1. Geometric Representations

First, we introduce a notation for representing weight distributions within given cliques.
Definition 5. 
Given a clique C = { v 1 , , v | C | } s.t. C where w ( v 1 ) w ( v | C | ) , we define its weight list, denoted by δ ( C ) , to be w ( v 1 ) , , w ( v | C | ) .
Second, we introduce an operator for appending items to the end of a weight list, and it is somewhat like counterparts for vector in C++, ArrayList in Java, or list in Python.
Definition 6. 
Given a list of weights L and a weight ω, we define L ω as ω if L = and as ω 1 , , ω t , ω if L = ω 1 , , ω t .
In order to describe properties of our algorithms intuitively, we introduce Euclidean geometric representations of a list of weights in a rectangular coordinate system as below.
Algorithm 2: BetterBoundReductions
Entropy 25 01376 i002
Algorithm 3: updateTopLevelWeights
Entropy 25 01376 i003
Definition 7. 
Given a list of positive numbers L = d 1 , , d t , we draw a curve on the Rectangular Coordinate Plane x O y with the list of coordinates ( 1 , d 1 ) , , ( t , d t ) by connecting adjacent points, and we call this curve the derived curve of L.
Example 3. 
Notice G 2 . There are three maximal cliques, C 1 = { z 1 3 , z 2 4 , z 3 5 , z 4 1 , z 5 2 } , C 2 = { z 1 3 , z 4 1 , z 6 7 , z 5 2 } and C 3 = { z 5 2 , z 4 1 , z 7 6 , z 6 7 } with δ ( C 1 ) = 5 , 4 , 3 , 2 , 1 , δ ( C 2 ) = 7 , 3 , 2 , 1 and δ ( C 3 ) = 7 , 6 , 2 , 1 .
Entropy 25 01376 i008
We draw the derived curves of δ ( C 1 ) , δ ( C 2 ) and δ ( C 3 ) as ABCDE (blue), FGHI (green) and FJHI (red) in (I) in Figure 1.
On the other hand, we draw the derived curve of topLevelWeights which has just been updated with respect to C 1 and C 2 successively in Algorithm 3 as FBCDE (black) in (II) in Figure 1.
  • In detail, when topLevelWeights has just been updated with respect to C 1 , its derived curve exactly overlaps that of δ ( C 1 ) .
  • Next when topLevelWeights has just been updated with respect to C 2 , a part of its derived curve, namely AB , has moved to its top-right, namely FB , so the derived curve of topLevelWeights has turned into FBCDE . Notice that having been updated with respect to C 1 and C 2 , the derived curve of topLevelWeights is the bottom-left most curve that is not exceeded by that of C 1 and C 2 . In other words, topLevelWeights has become the tightest envelope of that of C 1 and C 2 .
Actually, if we switch the order of C 1 and C 2 in the procedure above, we will obtain the same sequence in topLevelWeights . In general, from the second time on, each time Algorithm 3 ends with topLevelWeights being updated, parts of the derived curve of topLevelWeights move to their top-right.
Now we consider the derived curves of topLevelWeights and δ ( C ) and define several notions below which describe the relationship between a vertex weighted clique and a list of non-increasing weights.
Definition 8. 
Given a list of weights L = ω 1 , , ω t s.t. ω 1 ω t and a clique C with C and δ ( C ) = w 1 , , w | C | ,
1. 
we say that C is covered by L iff t | C | and ω i w i for any 1 i | C | ;
2. 
we say that C intersects with L at l iff 1 l min { | C | , t } and w l = ω l ;
3. 
we say that C deviates above L at l iff 1 l min { | C | , t } w l > ω l or | C | l > t .
Example 4. 
Consider Example 3 with topLevelWeights having been updated with respect to C 1 and C 2 . By referring to (II) in Figure 1, we can find the following.
1. 
C 1 and C 2 are covered by topLevelWeights .
2. 
C 1 intersects with topLevelWeights at 2, 3, 4 and 5 (see B , C , D and E ). C 2 intersects with topLevelWeights at 1 (see F ).
3. 
C 3 deviates above topLevelWeights at 2 (see J ).
Obviously, we have a proposition below which helps determine whether a clique is effective in reductions.
Proposition 10. 
1. 
C 1 C 2 iff δ ( C 1 ) is covered by δ ( C 2 ) .
2. 
If L 1 is covered by L 2 , L 2 is covered by L 3 , then L 1 is covered by L 3 .
3. 
If C 1 deviates above L at certain l and C 2 is covered by L, then C 1 C 2 .

3.1.2. Algorithm Execution

As to the execution of Algorithm 3, the next proposition presents a sufficient and necessary condition in which topLevelWeights will be updated.
Proposition 11. 
The topLevelWeights in Algorithm 3 will be updated if and only if topLevelWeights = or the input clique C deviates above topLevelWeights at certain l.
Also, we have propositions below which illustrate how topLevelWeights will be updated.
Proposition 12 (First Top-level Insertion).
Suppose that topLevelWeights = and δ ( C ) = w 1 , , w | C | , then w 1 , , w | C | will successively be appended to the end of topLevelWeights in Line 7 in Algorithm 3.
Proposition 13 (Successor Top-level Updates).
Suppose topLevelWeights = ω 1 , , ω t where t 1 ,
1. 
for any 1 l t , ω l will be replaced with w l in Line 5 in Algorithm 3 iff C deviates above topLevelWeights at l;
2. 
for any l > t , a weight w l will be inserted in Line 7 in Algorithm 3 iff C deviates above topLevelWeights at l.
The following proposition shows the relation between topLevelWeights and C if it has been updated in Algorithm 3.
Proposition 14. 
If topLevelWeights has been updated in Algorithm 3, then topLevelWeights covers the clique C at the end of this algorithm.
Such a covering relation will still hold after Algorithm 3 returns program control back to Algorithm 1. Then we have a proposition about criticalCliqSet in Algorithm 1.
Proposition 15. 
1. 
Right before the execution of Line 22, for any C criticalCliqSet , C is covered by topLevelWeights .
2. 
In Line 19, if C deviates above topLevelWeights , then for any C criticalCliqSet , we have C C .
Intuitively right before the execution of Line 21, topLevelWeights can do whatever any clique in criticalCliqSet can, with exceptions being dealt with in Section 3.3. In Line 19, if C updates topLevelWeights , then it will be allowed an entry into criticalCliqSet .
Example 5. 
After Algorithm 1 is run on G 2 in Example 3, criticalCliqSet has become { C 1 , C 3 } and topLevelWeights has been updated to be 7 , 6 , 3 , 2 , 1 , as is shown as FJCDE in Figure 2. The details are as follows.
1. 
C 2 criticalCliqSet because C 2 C 3 but C 3 C 2 . So either C 2 was refused to enter criticalCliqSet or it was removed from criticalCliqSet , depending on whether the algorithm found C 2 earlier than it found C 3 .
2. 
C 1 (blue) and C 3 (red) are both covered by topLevelWeights .
3. 
As to the two cliques above, neither subsumes the other.
So in Line 19, cond 2 implies cond 3 . In other words, if cond 2 holds, then C is not covered by any clique in criticalCliqSet , i.e., C is not subsumed by any clique in criticalCliqSet . In this sense, we add it to criticalCliqSet and this will not cause obvious redundancy.
Based on the discussion above, we have
  • right before the execution of Line 21 in Algorithm 1, topLevelWeights contains best-found bounds formed by all previous enumerated cliques;
  • and if any clique improves this bound, then no previously enumerated clique subsumes it. Unlike [11], we will apply topLevelWeights instead of ‘relaxed’ partition set to perform reductions in Algorithms 1 and 2.
Furthermore, for the sake of efficiency, we should keep criticalCliqSet as small as possible and as powerful as possible. So in Algorithm 1, if C C , i.e., C is subsumed by C, then we will simply remove C in Line 14 and this will do no harm to the power of criticalCliqSet . In addition, if C does not intersects with the derived curve of topLevelWeights , its reduction power is overwhelmed by topLevelWeights , so we remove it in Line 18 as well.

3.1.3. Reductions Based on Top Level Weights

Next we have a proposition below which states that topLevelWeights can be utilized for clique reductions.
Proposition 16. 
Given topLevelWeights = ω 1 , , ω t , then
1. 
for any 1 l t , there exists a clique Q = { v 1 , , v l } and w ( v 1 ) w ( v l ) = ω l ;
2. 
given any feasible coloring S = { 1 , V 1 , , k , V k } for G, k t ;
3. 
given any vertex u s.t. d ( u ) < t and ω d ( u ) + 1 > w ( u ) ,
(a) 
u is absorbed by some certain clique in G;
(b) 
and G [ V { u } ] is a VWC-reduced subgraph of G.
Notice that Item 1 states that topLevelWeights is the tightest envelope of all cliques that have been enumerated (See Figure 2 above for details and intuition).
  • In this sense, if t was decreased or any of ω 1 , , ω t was decreased, the derived curve of topLevelWeights would be left or down shift, which in turn, made at least one clique deviate above topLevelWeights at some certain l. Therefore there must exist a color whose weight was smaller than its lower-bound.
  • Considering that weights of other colors are all underestimated, we have the sum of all components in the new variant of topLevelWeights could never be achieved by any feasible coloring.
So in order to obtain a feasible coloring that avoids lower-bound conflicts in any enumerated cliques, we have to accept the cost revealed by topLevelWeights or even more. In a word, any feasible coloring for G costs at least i = 1 t ω t , which will be shown and proved formally in Proposition 17 and has also been proved by [11] in another approach.
Given a vertex u, we represent it as a point P u = ( d ( u ) + 1 , w ( u ) ) on the Rectangular Coordinate Plane x O y in order for intuition (See Figure 3). Then we have P u is strictly below the derived curve of topLevelWeights iff d ( u ) < t and ω d ( u ) + 1 > w ( u ) , and such a location relation implies Items 3a and 3b above. Moreover each time one neighbor of u is removed, d ( u ) will be decreased by 1 and the point P u will be left shift by 1. Meanwhile, when we enumerate cliques, topLevelWeights tend to move to its top-right. These opposite trends will gradually help reduce the input graph.
Example 6. 
Consider G 1 in Example 1 in which there exists a maximal clique C = { z 1 3 , z 2 5 , z 5 6 , z 6 4 } with δ ( C ) = 6 , 5 , 4 , 3 . As to the four other vertices z 3 5 , z 4 2 , z 7 1 , z 8 5 with degrees 2 , 3 , 3 , 2 , we represent them by E , F , G , H , respectively, on a rectangular coordinate plane in (I) in Figure 3 below. For instance, the coordinate of F is ( d ( z 4 2 ) + 1 , w ( z 4 2 ) ) namely ( 4 , 2 ) . Notice that z 3 5 and z 8 5 have the same degree and weight, so their corresponding points overlap on the coordinate plane, to be specific, z 3 5 and z 8 5 are represented by E and H , respectively, which overlap.
Entropy 25 01376 i009
On the other hand, we can utilize topLevelWeights instead of specific cliques to perform clique reductions. For example, Line 21 in Algorithm 1 exploits topLevelWeights to perform reductions based on Proposition 16 above. In detail, G applyCliqueReductions(G, topLevelWeights , S) performs clique reductions and obtain a VWC-reduced subgraph of G, but keeps all vertices in S in the returned subgraph. We do this for the following reason: In Line 21, since we are enumerating cliques in candSet , we should keep all vertices in it. Otherwise, the procedure may crash. However, in Line 22, since we have completed the enumeration procedures, we do not have to keep any vertices in the VWC-reduced subgraph. We also remind readers that in the applyCliqueReductions procedure, each time one vertex is removed, all its neighbors will be taken into account for further reductions because their degrees have all been decreased by 1.
Notice that in Proposition 16 we require ω d ( u ) + 1 > w ( u ) rather than ω d ( u ) + 1 w ( u ) , because we have to ensure that u is absorbed by a clique that does not contain u, which is coincident with the approach in [11]. However, this method may fail to perform some reductions which can be performed by Proposition 5. Yet this is not a problem, because, at the end of our reductions, we will deal with that case. See Section 3.3 for more details.
Example 7. 
Now we call applyCliqueReductions which is based on Proposition 16 as below. See Figure 3 for visualization.
1. 
In (I) in Figure 3, we find that the derived curve of topLevelWeights is ABCD and F is strictly below it, so Item 3 in Proposition 16 is applicable and the corresponding vertex z 4 2 is removed.
2. 
Because of the removal of z 4 2 , the degrees of z 3 5 , z 7 1 and z 8 5 are all decreased by 1, so their corresponding points on the coordinate plane are all left shift by 1 (see (II) in Figure 3). Notice that E , H , and B overlap at this time.
3. 
Notice that G is strictly below the derived curved of topLevelWeights now, so we remove it like before, and this causes the left movement of H (see (III) in Figure 3).
4. 
Analogously we remove z 8 5 because H is strictly below ABCD now (see (IV) in Figure 3).
5. 
Note that removing z 3 5 is not allowed by Proposition 16, but it is permitted by Proposition 5. This shows the weakness of ourapplyCliqueReductionsprocedure, and we will address this issue in Section 3.3.
Obviously, in order to perform effective reductions, we want ω 1 , , ω t to be as big as possible. Hence, in Algorithm 2, we will try to increase their values. Furthermore, Proposition 16 is helpful in proving Proposition 17 below which computes a lower-bound of the cost of a feasible coloring.
Proposition 17. 
Given any feasible coloring S for G and topLevelWeights = ω 1 , , ω t , we have cost ( S , G ) Σ i = 1 t ω i .
Proof. 
See Appendix F.    □
Also, we have a proposition below which will be helpful in Section 3.3.
Proposition 18. 
Right before the execution of Line 22 in Algorithm 1, there do not exist any two cliques C 1 , C 2 s.t. C 1 , C 2 criticalCliqSet and C 1 C 2 .
Proof. 
See Appendix G.    □

3.2. Searching for Better Cliques

Given topLevelWeights = ω 1 , , ω t , Algorithm 2 attempts to increase the values of ω 1 , , ω t and it even tries to find a clique whose size is bigger than t. So if Algorithm 2 completes, it will be able to confirm the following.
  • Each component in topLevelWeights has achieved its maximum possible value.
  • There exists no clique whose size is greater than | topLevelWeights | .
In Algorithm 2, we use updated ( i ) to denote whether ω i is increased in the iteration for i. In Line 2, updated ( i 1 ) = false means that we fail to update ω i 1 . In our algorithm, there are two tricks that refer to updated ( i ) as below.
  • If ω i = ω i 1 and we have confirmed that there are no cliques that improve ω i 1 , then there will be no cliques which improve ω i .
  • If ω i = ω i 1 and we fail to update ω i 1 , then it will be hard for us to update ω i as well, so we adopt a continue statement here to avoid probably hopeless efforts.
We also call the procedure applyCliqueReductions which was explained in the previous subsection. Notice that in Line 4, we enumerate maximal cliques which contain vertices in candSet only. To be specific, when i t , we will do so by considering vertices with weights greater than ω i only, because we are now focusing on increasing ω i . Like the counterpart in Algorithm 1, we will shuffle related vertices randomly before each enumeration.

3.2.1. Increasing Top Level Weights

Like Algorithm 1, we also exploit depth-first search to enumerate maximal cliques. Yet different from it, we will rarely enumerate all such maximal cliques. Instead, once we have found a clique that increases any value among ω 1 , , ω t , we will immediately perform reductions and break the enumeration procedure (see Line 14). Below we have a proposition that illustrates a sufficient and necessary condition in which ω i ( 1 i t ) will be increased.
Proposition 19. 
As to the outermost loop in Algorithm 2, for any 1 i t + 1 , ω i will be increased if there exists a clique C candSet s.t. | C | i .
Example 8. 
Suppose we have topLevelWeights = 7 , 6 , 3 , 2 , 1 , and we are now focusing on increasing ω 3 whose current value is 3. Suppose among vertices with weights greater than ω 3 , we have found a clique C with δ ( C ) = w 1 , w 2 , w 3 = 5 , 5 , 4 whose derived curve deviates above that of topLevelWeights at 3 (see FGH and ABCDE in Figure 4). So ω 3 can now increase to be 4, and we will start another iteration to check whether ω 3 can further increase.
Notice that Line 14 breaks the clique enumeration loop and the program control of this algorithm will eventually be returned to Line 3 with an increased ω i . We do this for the following reason: Since we have increased ω i , any vertices that have a weight bigger than the previous ω i but not bigger than the current ω i will not help further increase ω i . Hence, we eliminate these vertices from candSet and enumerate maximal cliques again with respect to the same i (see Line 14). With a smaller candSet , we can increase ω i to its maximum possible value more efficiently. In a word, we increase ω i gradually until it reaches its maximum. Notice that Line 7 might also increase t, so long as the algorithm has found a clique that is bigger than any that have been found. Last we remind readers that although we are focusing on increasing ω i , there could be side effects that we increase ω i + 1 , , ω l as well where l t , so long as we have found a clique that contains sufficiently many vertices with big weights.

3.2.2. Effects of Better Cliques

There is a chance that the clique C obtained in Line 4 is not a maximal clique for the whole graph G, thus there may exist another clique in G that is a superset of C and has more reduction power. Alternatively, C may expand to a bigger clique by including vertices with a weight not greater than ω i and lead to more reductions. Yet this is not a problem. If such a case exists, the full reduction power will be exploited in later iterations.
In the first few iterations of the outermost loop, i is relatively small and thus ω i is relatively big, which is likely to result in a relatively small candSet , so enumerating cliques in c a n d S e t probably costs relatively little time. Moreover, these cliques may lead to effective reductions which significantly decrease the time cost of later enumerations. When i = t + 1 , we have candSet = V ( G ) , thus in the worst case, we will have to enumerate all maximal cliques in G, which seems to be time-consuming and thus infeasible. Yet this is not so serious, because
  • we are dealing with large sparse graphs which often obey the power-distribution law,
  • and we have performed considerable reductions before, so at this time, G is likely to be small enough to allow maximal clique enumerations. In Section 3.4, we will also set a cutoff for enumerating cliques.
Last we remind readers that as i increases and ω i decreases, candSet becomes larger and larger, and thus enumerating cliques will become more and more time-consuming, so we need to set a cutoff for enumerations (see Section 3.4). Due to this cutoff, once we fail to confirm that ω i has achieved its maximum, we will not make any effort to confirm whether ω j has arrived at its best possible value for any j > i .
Moreover, we have a proposition below which shows that, given sufficient run time, Algorithm 2 will be able to increase ω i to its maximum possible value for any 1 i ω ( G ) , where ω ( G ) is the maximum size of a clique in G.
Proposition 20. 
As to the outermost loop in Algorithm 2, we have
1. 
for any 1 i t , right before i is increased by 1, there exist no cliques which deviate above topLevelWeights at i.
2. 
for i = t + 1 , when the iteration ends, there exist no cliques which deviate above topLevelWeights at i.
Then by this proposition, we have a theorem below which shows that our clique reduction algorithm is as effective as the counterpart which enumerates all maximal cliques in G, if time permits. To describe this theorem we first define the equality relation between two lists in Definition 9.
Definition 9. 
Given two list of weights L 1 = ω 1 1 ω t 1 1 and L 2 = ω 1 2 ω t 2 2 we say that L 1 = L 2 iff t 1 = t 2 and ω i 1 = ω i 2 for any 1 i t 1 = t 2 .
Theorem 1. 
Let L 1 be the topLevelWeights returned after Algorithms 1 and 2 are executed successively, and L 2 be the topLevelWeights returned after Algorithm 4 is executed, then L 1 = L 2 .
Note that Algorithm 4 can be time-consuming even for sparse graphs.
Algorithm 4: computeTopLevelWeightsWithBF(G)
Entropy 25 01376 i004

3.3. Post Reductions

Section 3.1 mentions that we have not fully exploited Proposition 5 to perform reductions, so in this subsection, we deal with the remaining case. At this stage, for each vertex, we will examine whether it is absorbed by some certain clique in criticalCliqSet and perform reductions if so.

3.4. Implementation Issues

Although we apply various tricks to enumerate diverse cliques for effective reductions, our algorithm may still become stuck in dense subgraphs, so we have to set a certain cutoff for our algorithm.
We believe that a good reduction algorithm should not focus too much on a local subgraph, so our cutoff will prevent each clique enumeration from spending too much time. The impact of this compromise is that we have to sacrifice some good properties above, to be specific, we now cannot expect that all ω i values in topLevelWeights will increase to their maximum. Yet in our parameter setting, there are still quite a few ω i values that are confirmed to achieve their optimum.
Furthermore, in some large graphs, we may need to consider a great many vertices and enumerate cliques that contain them, so there could be numerous enumerations. Hence, even though each enumeration needs a small amount of time, the total time cost of so many enumerations might not be affordable, so we also need to limit the total amount of time spent on enumerations.

3.4.1. Limiting The Number of Decisions Made in Each Enumeration

Notice that we adopt a depth-first search to enumerate maximal cliques in Algorithms 1 and 2. During each depth-first enumeration, decisions of whether a vertex should be included in the current clique have to be made, and the search has to traverse both branches recursively, so there may be an exponential number of decisions for a single depth-first enumeration. Hence, in any enumeration, if topLevelWeights has been unable to be improved within λ consecutive decisions, we will simply stop this enumeration and go on to the next one.

3.4.2. Limiting Running Time

Some benchmark graphs contain a large number of vertices that are of the greatest weights or degrees, so there can be a great amount of enumerations in Algorithm 1. Moreover as to Algorithm 2, there can be many candidate vertices that may form a clique to improve a particular component in topLevelWeights , hence numerous enumerations may be performed as well.
Even though we limit the number of decisions and thus limit the time spent in each enumeration, too many enumerations may still cost our algorithm so much time. Hence in practice, we employ another parameter T to limit the running time of our algorithm. More specifically in Algorithm 2, we will check whether the total time spent from the very beginning of our whole algorithm is greater than T. If so we will simply stop Algorithm 2 and turn to post reductions.
In fact, if Algorithm 2 is stopped because of this parameter, there can be cases as below. For the sake of presentation, we let K be the number of components in topLevelWeights which is equal to the size of the greatest clique that has been found.
  • Algorithm 2 is unable to tell whether there exists a clique C s.t. | C | K and C is able to improve a particular component in topLevelWeights .
  • Algorithm 2 has confirmed that any clique containing at most K vertices will not improve topLevelWeights . Yet it is unable to confirm whether there exists a clique whose size is bigger than K.

3.4.3. Programming Tricks

In graph algorithms, there is a common procedure as follows. Given a graph and its two vertices u and v, determine whether u and v are neighbors. In our program, this procedure is called frequently, so we have to implement it efficiently. However, it is unsuitable to store large sparse graphs by adjacency matrices. Therefore, we adopted a hash-based data structure which was proposed in [18] to do so.
In our algorithm, we often have to obtain vertices of certain weights or degrees. Moreover, as vertices are removed, the degrees of their neighbors will be decreased. Furthermore, our algorithm interleaves between clique sampling and graph reductions, which requires us to maintain such relations in time. So we need efficient data structures to maintain vertices of each degree and/or weight in the reduced graph. Hence, we adapted the so-called Score-based Partition in [19] to do so.

4. Related Works

To our best knowledge, the only algorithm on reductions for vertex weighted coloring is RedLS [11], and its details are shown in Algorithm 5. In this algorithm, C is a candidate clique being constructed and each vertex in candSet is connected to each one in C. Hence, any single vertex in candSet can be added into C to form a greater clique.
Algorithm 5: RedLS
Entropy 25 01376 i005
In Line 2, 1% of the vertices in V are randomly collected to obtain startVertexSet . As to the outer loop starting from Line 4, each vertex like v in startVertexSet is picked and a maximal clique containing v is constructed from Lines 6 to 11, based on a heuristic inspired by FastWClq [12]. In the inner loop starting from Line 8, Line 9 picks a vertex u in candSet , Line 10 places the vertex u into C, and Line 11 eliminates vertices which are not connected to every one in C, i.e., which are impossible to be added into C to make greater cliques.
Notice that Line 9 selects a next vertex to put into C with some look-head technique. To be specific, rather than choose the heaviest vertices and maximize current benefits, it tries to maximize the total weight of the remaining possible vertices, i.e., N ( x ) candSet , with a hope for greater future benefits. So given a vertex v, Algorithm 5 always aims to look for maximum or near-maximum weight cliques that contain it.
Each time a maximal clique C is constructed, Algorithm 5 will compare topLevelWeights with C and updates topLevelWeights if needed (see Line 12). Actually RedLS adopts the so-called ‘relaxed’ vertex partition, yet the effects are equivalent to our descriptions with topLevelWeights in Algorithm 5. After enumerating cliques with respect to vertices in startVertexSet , Algorithm 5 will call the applyCliqueReductions procedure and perform reductions based on Proposition 16. However, when determining whether a vertex namely u can be removed, it always takes d ( u ) in the whole graph as u’s degree, i.e., no degree decrease will be taken into account. In a nutshell, RedLS consists of clique sampling and graph reductions as successive procedures, which is different from our interleaving approach.

5. Experiments

We will present solvers and benchmarks, parameter settings, presentation protocols, results, and discussions in this section.

5.1. Solvers and Benchmarks

We consider a list of networks online that were accessed via http://networkrepository.com/ on 1 January 2018. They were originally unweighted, and to obtain the corresponding MinVWC instances, we use the same method as in [11,12]. For the i-th vertex v i , w ( v i ) = ( i mod 200 ) + 1 . For the sake of space, we do not report results on graphs with fewer than 100,000 vertices or fewer than 1,000,000 edges. There is an instance named soc-sinaweibo which contains 58,655,849 vertices and 261,321,033 edges and thus is too large for our program, so our program ran out of memory and we do not report its result. In the following experiments, we simply disable the local search component in RedLS [11] and compare its reduction method to our algorithm.
Our algorithm was coded in Java and open source via https://github.com/Fan-Yi/iterated-clique-reductions-in-vertex-weighted-coloring-for-large-sparse-graphs accessed on 1 June 2023. It was compiled by OpenJDK 20.0.1 and run in an OpenJDK 64-bit Server VM (build 20.0.1+9-29, mixed mode, sharing). The experiments were conducted on a workstation with Intel(R) Xeon(R) Platinum 8260 CPU @ 2.40GHz CPU with 266 GB RAM under CentOS 7.9. Since we shuffle vertices in Algorithms 1 and 2, there exists randomness in the effectiveness of reduction. Yet we only test one arbitrary seed, since the benchmark graphs are diverse and each of them contains a large number of maximal cliques.

5.2. Parameter Settings

As to the parameter λ that limits the number of branching decisions in each depth-first enumeration procedure, we set it as 10 , 000 d max where d max is the maximum degree in the input graph. On the other hand, RedLS was run with the default parameter setting in the machine environment reported by [11]. In fact, RedLS usually completes reductions in a significantly shorter time compared to our algorithm, yet this is not a big problem, because this paper focuses only on the potential effectiveness of a reduction algorithm, instead of its efficiency. Since the MinVWC problem is NP-hard, even a small number of additionally removed vertices may decrease a great amount of later search time, so our idea is meaningful.
As to the parameter T that limits the total running time of enumerations, we set it as 1200 s.

5.3. Presentation Protocols

For each instance, we report the number of vertices and edges in the original graph (denoted by ‘Original’ in Table 1) as well as that obtained by RedLS and our algorithm (denoted by ‘RedLS-reduced’ and ‘ours’, respectively, in the same table). In Table 1, we mainly compare the number of remaining vertices obtained by RedLS and that by our algorithm (Columns 4 and 6), and better results (smaller numbers) are shown in bold.
To show the effectiveness of our algorithm more clearly, we also report the percentage of remaining vertices, ρ = | V | / | V | , where V is the set of original vertices and V is the set of remaining vertices after reductions. So the closer ρ is to 0, the more effective our algorithm is. Furthermore, the time column reports the number of seconds needed by our algorithm to perform reductions.

5.4. Main Results and Discussions

From Table 1, we observe the following.
  • Our algorithm obtains significantly better results in most of these instances compared to RedLS. Among all the graphs, the number of remaining vertices returned by RedLS is at least 10,000. However, on nearly 20% of the instances, our algorithm returns a result less than 10,000. Moreover, on more than 10% of the instances, it returns a result less than 1000.
  • On more than 40% of the instances, our percentage of remaining vertices is smaller than 10%, while on nearly 20%, the respective results are smaller than 1%.
  • The most attractive result lies in the road-net category, in which our algorithm returned subgraphs that contained 156, 86, 14, and 54 vertices, respectively, with | E | slightly more than | V | . However, RedLS returns subgraphs that contain at least 800,000 vertices. Thanks to our algorithm, it seems that optimal solutions for these graphs can now be easily found by state-of-the-art complete solvers.

5.5. Individual Impacts

We will show individual impacts of our three successive procedures as well as the optimality of top-level weights returned.

5.5.1. Individual Impacts of Our Successive Procedures

To show that each of our three successive procedures is necessary, we calculate the number of vertices removed in each procedure during the execution of our algorithm. In Table 2, we use Δ 1 , Δ 2 and Δ 3 to represent the number of vertices removed by Algorithms 1 and 2 and post reductions, respectively. We select representative instances from most categories in order to reflect the individual impacts comprehensively.
From this table, we find that Algorithm 2 may sometimes remove no vertices, and post reductions usually have great contributions, which is why we allow equations to hold and extend statements in [11] to present Definition 3.

5.5.2. Optimality of Top Level Weights

Finally, we discuss the optimality of topLevelWeights returned by our algorithm which will play an essential role in future works. Notice that Algorithm 2 tries to enumerate all possible cliques that may increase any component of topLevelWeights and even attempt to find a clique whose size is bigger than | topLevelWeights | . In practice, Algorithm 2 was able to confirm that some particular ω i values had achieved their maximum. To be specific, we take instances web-it-2004, sc-pwtk and delaunay_n24 as examples, and show our experimental results in this aspect as below.
  • As to web-it-2004, our experiment guaranteed that each ω i value had achieved its maximum and there existed no clique whose size was bigger than | topLevelWeights | . This is the best result which ensures that no better top-level weights can be found. This also implies that we have found the smallest number of remaining vertices. No better results can be obtained by clique reductions. In Table 1, all such instances are marked with ∗ in our | V | column.
  • As to sc-pwtk, our experiment guaranteed that each ω i value had achieved its maximum, but it was unable to tell whether a clique with a size greater than | topLevelWeights | existed. In this sense, future works on this instance can focus on finding a clique of greater size.
  • As to delaunay_n24, our experiment could only make certain that the first two ω i values of topLevelWeights returned had achieved their maximum, but there were still two components that were not confirmed. Hence, more efforts are to be made in this instance.

6. Conclusions

In this paper, we have proposed an iterated reduction algorithm for the MinVWC problem based on maximal clique enumerations. It alternates between clique sampling and graph reductions and consists of three successive procedures: promising clique reductions, better-bound reductions and post reductions. Experimental results on several large sparse graphs show that the effectiveness of our algorithm significantly outperforms that of RedLS in most of the instances. Moreover, it makes a big improvement on about 10% to 20% of them, especially on the road-net instances. Also, we have shown and discussed individual impacts as well as practical properties of our algorithm. Last we have a theorem that indicates that our algorithm’s reduction effects are equivalent to that of a counterpart which enumerates all maximal cliques in the input graph if time permits.
However, our clique enumeration procedures are somewhat brute-force, which may waste a great amount of time checking useless cliques. Furthermore given a vertex, clique reductions assume that each of its neighbors has a distinct color, yet this is not always the case and thus may limit the power of reductions.
For future works, we will develop various heuristics to sample promising cliques that are both effective and efficient for reductions. Also, we plan to develop reductions that allow neighbors of a vertex to have repeated colors.

Author Contributions

Conceptualization, Y.F. and K.S.; methodology, Y.F., Z.Z., and Y.L.; software, Y.F.; validation, Q.Y., K.S., and Y.W.; formal analysis, Y.F., and Q.Y.; investigation, K.S., and Q.Y.; resources, K.S. and Y.W.; data curation, Y.W. and S.P.; writing—original draft preparation, Y.F.; writing—review and editing, Y.F., Q.Y. and L.J.L.; visualization, Y.F.; supervision, K.S. and L.J.L.; project administration, L.J.L.; funding acquisition, Y.F., Z.Z, Q.Y., Y.L., Y.W. and L.J.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded in part by the National Natural Science Foundation of China (62241206), in part by the Science and Technology Plan Project of Guizhou Province (No. Qiankehe Foundation-ZK[2022] General 550), in part by the Project for Growing Youth Talents of the Educational Department of Guizhou (No. KY[2019]201 and No. KY[2021]282), in part by the Foundation Project for Talents of Qiannan Science and Technology Cooperation Platform Supported by the Department of Science and Technology, Guizhou ([2019]QNSYXM-05), in part by the Educational Department of Guizhou under Grant (KY[2019]067), in part by the Foundation Project for Professors of Qiannan Normal University for Nationalities (QNSY2018JS010), in part by the Natural Science Foundation of Fujian under Grant 2023J01351, in part by the Special Foundation for Talents in Qiannan Normal University for Nationalities (qnsy2019rc10,qnsyrc202203,qnsyrc202204), in part by the Foundation Project of Science and Technology Plans of Qiannan under Grant 2019XK01ST and 2020XK05ST, in part by the Nature Science Foundation of Qiannan under Grant No. 2019XK04ST, in part by the Education Quality Improvement Project of QNUN under Grant No. 2021xjg029, and in part by the National College Students’ Innovation and Entrepreneurship Training Program under Grant No. S202210670024. This work was also in part supported by NSFC under Grant No. 61806050 and in part supported by the NSF Grant IIS-2107213.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

We would like to thank the anonymous referees for their helpful comments and suggestions.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Proof of Proposition 1

Proof. 
  • (By contradiction) Assume that S | G is not a feasible coloring for G [ U ] , then there exists an edge { x , y } in G [ U ] s.t. c x = c y . Since x , y U V and G [ U ] is an induced subgraph of G, we have { x , y } is in G. This in turn implies that there exists an edge { x , y } in G s.t. c x = c y , which contradicts the precondition that S | G is a feasible coloring for G.
  • Suppose that S | G = { 1 , V 1 , , k , V k } , then considering that U V , we have cost ( S | G , G [ U ] ) = i = 1 k max v V i U w ( v ) i = 1 k max v V i V w ( v ) = cost ( S | G , G ) .

Appendix B. Proof of Proposition 2

Proof. 
  • Case 1: j = k + 1 , so V j = { x } .
    c o s t ( S , G [ V { x } ] ) = i = 1 k max v V i ( V { x } ) w ( v ) < i = 1 k max v V i ( V { x } ) w ( v ) + w ( x ) = i = 1 k max v V i ( V { x } ) w ( v ) + max v V j V w ( v ) = i = 1 k max v V i V w ( v ) + max v V j V w ( v ) ( sin ce x i = 1 k V i ) = c o s t ( S ( c x j ) , G ) .
  • Case 2: 1 j k .
    c o s t ( S , G [ V { x } ] ) = i = 1 k max v V i ( V { x } ) w ( v ) = i = 1 i j k max v V i ( V { x } ) w ( v ) + max v V j ( V { x } ) w ( v ) i = 1 i j k max v V i ( V { x } ) w ( v ) + max v ( V j { x } ) V w ( v ) = i = 1 i j k max v V i V w ( v ) + max v ( V j { x } ) V w ( v ) c o s t ( S ( c x j ) , G ) .

Appendix C. Proof of Proposition 3

Proof. 
Given any solution S | G [ W ] for G [ W ] , we have there exists an extension to S | G [ W ] , denoted by S | G [ U ] , such that S | G [ U ] is feasible for G [ U ] and
c o s t ( S | G [ W ] , G [ W ] ) = c o s t ( S | G [ U ] , G [ U ] ) .
Also for the same reason, given any solution S | G [ U ] for G [ U ] , we have there exists an extension to S | G [ U ] , denoted by S | G , such that S | G is feasible for G and
c o s t ( S | G [ W ] , G [ W ] ) = c o s t ( S | G , G ) .
Combining the statements above we have, given any solution S | G [ W ] for G [ W ] , there exists an extension to S | G [ W ] , denoted by S | G , such that S | G is feasible for G and
c o s t ( S | G [ W ] , G [ W ] ) = c o s t ( S | G , G ) .

Appendix D. Proof of Proposition 4

(1) Since G [ U ] is a VWC-reduced subgraph of G, we have there exists an extension to S * | G [ U ] , denoted by S ˜ * | G , such that S ˜ * | G is feasible for G and
cost ( S * | G [ U ] , G [ U ] ) = cost ( S ˜ * | G , G ) .
Now we prove by contradiction that S ˜ * | G must be an optimal solution for G. Assume that S ˜ * | G is not an optimal solution for G, then there exists a feasible coloring S ˇ * | G for G s.t. cost ( S ˜ * | G , G ) > cost ( S ˇ * | G , G ) and thus
cost ( S * | G [ U ] , G [ U ] ) = cost ( S ˜ * | G , G ) > cost ( S ˇ * | G , G ) ,
i.e.,
cost ( S * | G [ U ] , G [ U ] ) > cost ( S ˇ * | G , G ) .
Since S ˇ * | G is a feasible coloring for G, by Proposition 1, we have S ˇ * | G is also a feasible coloring for G [ U ] and
cost ( S ˇ * | G , G [ U ] ) cost ( S ˇ * | G , G ) .
This in turn implies that there exists a feasible coloring S ˇ * | G for G [ U ] and
cost ( S ˇ * | G , G [ U ] ) cost ( S ˇ * | G , G ) < cost ( S * | G [ U ] , G [ U ] ) ,
which contradicts that S * | G [ U ] is an optimal solution for G [ U ] . Alternatively we have S ˜ * | G is an optimal solution for G.
(2) Based on the statements above, we have the following. Given any optimal solution S * | G [ U ] for G [ U ] , there exists an extension to S * | G [ U ] , denoted by S ˜ * | G , which is an optimal solution for G and
cost ( S * | G [ U ] , G [ U ] ) = cost ( S ˜ * | G , G ) .
Suppose S | G is an arbitrary extension to S | G [ U ] which is a coloring for G. Then by Proposition 2, we have
cost ( S | G [ U ] , G [ U ] ) cost ( S | G , G ) .
Because S | G is an arbitrary extension, we cannot write ‘=’. Also because S | G [ U ] is a non-optimal solution for G [ U ] , we have
cost ( S * | G [ U ] , G [ U ] ) < cost ( S | G [ U ] , G [ U ] ) .
Hence,
cost ( S ˜ * | G , G ) = cost ( S * | G [ U ] , G [ U ] ) < cost ( S | G [ U ] , G [ U ] ) cost ( S | G , G ) .
This in turn implies that S | G is not an optimal solution for G.

Appendix E. Proof of Proposition 5

Proof. 
Let C = { v 1 , , v | C | } s.t. w ( v 1 ) w ( v | C | ) . Suppose S | G [ V { u } ] is any feasible coloring for G [ V { u } ] . Now we are to prove that there exists an extension to S | G [ V { u } ] , denoted by S | G , such that S | G is feasible for the whole graph G and
cost ( S | G [ V { u } ] , G [ V { u } ] ) = cost ( S | G , G ) .
Since u is absorbed by C, we have u C and d ( u ) < | C | , thus we have d ( u ) + 1 | C | and v 1 , , v d ( u ) + 1 C V { u } . Now we construct
S | G = S | G [ V { u } ] ( c u c z ) ,
where
z { v 1 , , v d ( u ) + 1 } C V { u } .
So S | G is an extension to S | G [ V { u } ] by coloring u an existing color in S | G [ V { u } ] .
  • Since u is distinct from v 1 , , v d ( u ) + 1 , we have assigning u a certain color among those of v 1 , , v d ( u ) + 1 is possible. (We cannot assign u a color of itself, which is meaningless.)
  • Since C is a clique, we have c v i c v j for any 1 i j | C | . Moreover because C V { u } , we have there must be at least | C | > d ( u ) colors in any feasible coloring for G [ V { u } ] . For coloring u’s neighbors, the number of colors in use is at most d ( u ) , hence, at least one color among those of v 1 , , v d ( u ) + 1 is not in use. So we can use it to color u with causing any conflicts, and thus make S | G is a feasible coloring for G.
  • Considering that
    w ( u ) w ( v d ( u ) + 1 ) w ( v 1 ) ,
    we have
    cost ( S G , G ) = cost ( S | G [ V { v } ] , G [ V { v } ] ) .

Appendix F. Proof of Proposition 17

Proof. 
(By contradiction) Assume that cost ( S , G ) < Σ i = 1 t ω t . Now we are to show that S is not a feasible coloring which will contradict the preconditions.
Without loss of generality, suppose S = { 1 , V 1 , , k , V k } is a coloring for G s.t. max v V 1 w ( v ) max v V k w ( v ) , then we have k t by Proposition 16 and also
cost ( S , G ) = i = 1 k max v V i w ( v ) < Σ i = 1 t ω t .
Since w ( v ) > 0 for any v V and ω i > 0 for any 1 i t , we have there exists at least one 1 l t s.t. max v V l w ( v ) < ω l and thus max v V k w ( v ) max v V l w ( v ) < ω l .
By Proposition 16, we have there exists a clique Q = { v 1 , , v | Q | } s.t. | Q | = l and
w ( v 1 ) w ( v | Q | ) = ω l > max v V l w ( v ) max v V k w ( v ) .
Therefore,
v 1 , , v | Q | V i = l k
and thus
v 1 , , v | Q | V i = 1 l 1 .
Considering that
| Q | = l ,
by the Pigeonhole Principle, we have there exists at least one 1 s l 1 s.t. V s contains two or more vertices among v 1 , , v | Q | , that is, S is not a feasible coloring for G, which contradicts the preconditions. Alternatively we have proved that cost ( S , G ) Σ i = 1 t ω i . □

Appendix G. Proof of Proposition 18

Proof. 
The proof includes two cases.
  • C 1 enters criticalCliqSet first. If C 1 C 2 , then C 1 will be removed from criticalCliqSet at Line 14 before C 2 enters criticalCliqSet , i.e., they will not be in criticalCliqSet simultaneously.
  • C 2 enters criticalCliqSet first. If C 1 , C 2 criticalCliqSet , i.e., C 1 enters criticalCliqSet later, then by Proposition 15, we have C 1 C 2 .

References

  1. Garey, M.R.; Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness; W. H. Freeman & Co.: New York, NY, USA, 1979. [Google Scholar]
  2. Malaguti, E. The Vertex Coloring Problem and its generalizations. 4OR 2009, 7, 101–104. [Google Scholar] [CrossRef]
  3. Ribeiro, C.C.; Minoux, M.; Penna, M.C. An optimal column-generation-with-ranking algorithm for very large scale set partitioning problems in traffic assignment. Eur. J. Oper. Res. 1989, 41, 232–239. [Google Scholar] [CrossRef]
  4. Prais, M.; Ribeiro, C.C. Reactive GRASP: An Application to a Matrix Decomposition Problem in TDMA Traffic Assignment. Informs J. Comput. 1998, 12, 164–176. [Google Scholar] [CrossRef]
  5. Gavranovic, H.; Finke, G. Graph Partitioning and Set Covering for the Optimal Design of a Production System in the Metal Industry. IFAC Proc. Vol. 2000, 33, 603–608. [Google Scholar] [CrossRef]
  6. Hochbaum, D.S.; Landy, D. Scheduling Semiconductor Burn-In Operations to Minimize Total Flowtime. Oper. Res. 1997, 45, 874–885. [Google Scholar] [CrossRef]
  7. Furini, F.; Malaguti, E. Exact weighted vertex coloring via branch-and-price. Discret. Optim. 2012, 9, 130–136. [Google Scholar] [CrossRef]
  8. Cornaz, D.; Furini, F.; Malaguti, E. Solving vertex coloring problems as maximum weight stable set problems. Discret. Appl. Math. 2017, 217, 151–162. [Google Scholar] [CrossRef]
  9. Malaguti, E.; Monaci, M.; Toth, P. Models and heuristic algorithms for a weighted vertex coloring problem. J. Heuristics 2009, 15, 503–526. [Google Scholar] [CrossRef]
  10. Sun, W.; Hao, J.; Lai, X.; Wu, Q. Adaptive feasible and infeasible tabu search for weighted vertex coloring. Inf. Sci. 2018, 466, 203–219. [Google Scholar] [CrossRef]
  11. Wang, Y.; Cai, S.; Pan, S.; Li, X.; Yin, M. Reduction and Local Search for Weighted Graph Coloring Problem. Proc. AAAI Conf. Artif. Intell. 2020, 34, 2433–2441. [Google Scholar] [CrossRef]
  12. Cai, S.; Lin, J. Fast Solving Maximum Weight Clique Problem in Massive Graphs. In Proceedings of the Twenty-Fifth International Joint Conference on Artificial Intelligence, IJCAI 2016, New York, NY, USA, 9–15 July 2016; pp. 568–574. [Google Scholar]
  13. Fan, Y.; Li, N.; Li, C.; Ma, Z.; Latecki, L.J.; Su, K. Restart and Random Walk in Local Search for Maximum Vertex Weight Cliques with Evaluations in Clustering Aggregation. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI 2017, Melbourne, Australia, 19–25 August 2017; pp. 622–630. [Google Scholar] [CrossRef]
  14. Wang, T.; Sun, B.; Wang, L.; Zheng, X.; Jia, W. EIDLS: An Edge-Intelligence-Based Distributed Learning System Over Internet of Things. IEEE Trans. Syst. Man Cybern. Syst. 2023, 53, 3966–3978. [Google Scholar] [CrossRef]
  15. Wang, T.; Liang, Y.; Shen, X.; Zheng, X.; Mahmood, A.; Sheng, Q.Z. Edge Computing and Sensor-Cloud: Overview, Solutions, and Directions. ACM Comput. Surv. 2023, 55, 1–37. [Google Scholar] [CrossRef]
  16. Eubank, S.; Kumar, V.S.A.; Marathe, M.; Srinivasan, A.; Wang, N. Structural and algorithmic aspects of large social networks. In Proceedings of the Fifteenth Acm-Siam Symposium on Discrete Algorithms, New Orleans, LA, USA, 11–14 January 2004. [Google Scholar]
  17. Fan, C.; Lu, L. Complex Graphs and Networks; American Mathematical Society: Providence, RI, USA, 2006. [Google Scholar]
  18. Fan, Y.; Li, C.; Ma, Z.; Wen, L.; Sattar, A.; Su, K. Local Search for Maximum Vertex Weight Clique on Large Sparse Graphs with Efficient Data Structures. In Proceedings of the Twenty-Nineth Australasian Joint Conference, AI 2016, Hobart, TAS, Australia, 5–8 December 2016; pp. 255–267. [Google Scholar] [CrossRef]
  19. Fan, Y.; Lai, Y.; Li, C.; Li, N.; Ma, Z.; Zhou, J.; Latecki, L.J.; Su, K. Efficient Local Search for Minimum Dominating Sets in Large Graphs. In Proceedings of the Twenty-Fourth International Conference on Database Systems for Advanced Applications, DASFAA 2019, Chiang Mai, Thailand, 22–25 April 2019; pp. 211–228. [Google Scholar] [CrossRef]
Figure 1. (I) Derived curves of δ ( C 1 ) , δ ( C 2 ) and δ ( C 3 ) represented by blue, green and red curves, respectively; (II) topLevelWeights after being updated by C 1 and C 2 successively, which is the tightest envelope of them.
Figure 1. (I) Derived curves of δ ( C 1 ) , δ ( C 2 ) and δ ( C 3 ) represented by blue, green and red curves, respectively; (II) topLevelWeights after being updated by C 1 and C 2 successively, which is the tightest envelope of them.
Entropy 25 01376 g001
Figure 2. topLevelWeights after being updated by C 1 , C 2 and C 3 . Derived curves of δ ( C 1 ) , δ ( C 2 ) , δ ( C 3 ) and topLevelWeights represented by blue, green, red and black curves respectively.
Figure 2. topLevelWeights after being updated by C 1 , C 2 and C 3 . Derived curves of δ ( C 1 ) , δ ( C 2 ) , δ ( C 3 ) and topLevelWeights represented by blue, green, red and black curves respectively.
Entropy 25 01376 g002
Figure 3. Iterated Removals. ABCD represents topLevelWeights while E , F , G , H represents z 3 5 , z 4 2 , z 7 1 , z 8 5 respectively. (I) Right before reductions; (II) z 4 2 been removed; (III) z 7 1 been removed; (IV) z 8 5 been removed.
Figure 3. Iterated Removals. ABCD represents topLevelWeights while E , F , G , H represents z 3 5 , z 4 2 , z 7 1 , z 8 5 respectively. (I) Right before reductions; (II) z 4 2 been removed; (III) z 7 1 been removed; (IV) z 8 5 been removed.
Entropy 25 01376 g003
Figure 4. A clique is found to improve ω 3 . ABCDE represents topLevelWeights while F G H represents the derived curve of δ ( C ) .
Figure 4. A clique is found to improve ω 3 . ABCDE represents topLevelWeights while F G H represents the derived curve of δ ( C ) .
Entropy 25 01376 g004
Table 1. Reductions on instances. Those numbers of remaining vertices that are confirmed to be optimal are marked with ‘*’.
Table 1. Reductions on instances. Those numbers of remaining vertices that are confirmed to be optimal are marked with ‘*’.
GraphOriginalRedLS-ReducedOursPerformances
| V | | E | | V | | E | | V | | E | ρ Time
dbpedia-link11,621,69278,621,0461,966,02527,556,5292,668,01866,546,5840.22963668.492
delaunay_n224,194,30412,582,8694,148,2165,174,8214,146,95512,440,8220.98877566.296
delaunay_n238,388,60825,165,7848,296,0411,359,4918,292,92824,878,7440.98864469.89
delaunay_n2416,777,21650,331,60116,593,0308,182,95216,586,82449,760,4250.988717,185.211
friendster8,658,74445,671,4711,361,5821,121,7561,315,47027,948,6580.15192921.834
hugebubbles-0002021,198,11931,790,17921,198,1172,576,47321,198,11931,790,1791.00001520.533
hugetrace-0001012,057,44118,082,17912,057,439698,45812,057,44118,082,1791.0000949.587
hugetrace-0002016,002,41323,998,81316,002,4114,245,24416,002,41323,998,8131.00001165.196
inf-europe_osm50,912,01854,054,6608,164,1886,592,2111562570.00002629.477
inf-germany_osm11,548,84512,369,1812,272,03019,285,71686 * 1350.000010,502.181
inf-roadNet-CA1,957,0272,760,3881,443,06716,681,50314 * 180.0000155.53
inf-roadNet-PA1,087,5621,541,514812,12612,885,60954 * 850.000064.437
inf-road-usa23,947,34728,854,3128,850,7942,227,418158825230.00011205.464
rec-dating168,79217,351,416138,88611,540,694136,33517,294,6060.80771213.253
rec-epinions755,76113,396,042600,0373,356,797551,26012,728,6860.72943784.631
rec-libimseti-dir220,97017,233,144188,6101,235,483178,84717,114,0970.80941310.625
rgg_n_2_23_s08,388,60863,501,3935,504,5612,630,24660,568511,4330.00728026.464
rgg_n_2_24_s016,777,216132,557,20012,163,0952,654,21886,152771,0450.00516891.269
rt-retweet-crawl1,112,7022,278,852183,284105,537,956108,136889,5630.09722786.033
sc-ldoor952,20320,770,807909,6666,529,032909,40720,768,5570.95511227.66
sc-msdoor415,8639,378,650404,75919,430,909404,6979,377,1240.97311728.423
sc-pwtk217,8915,653,221216,906121,200,597216,2565,627,5820.99254844.375
sc-rel95,921,78623,667,1625,921,77011,333,1015,921,72323,667,0361.00002205.027
sc-shipsec1140,3851,707,759108,5001,254,96712,040 * 238,8890.0858135.641
sc-shipsec5179,1042,200,07699,5181,555,95616,316 * 316,7350.0911255.063
soc-buzznet101,1632,763,06661,7404,821,64949,3862,485,3940.48821235.923
soc-delicious536,1081,365,961105,13418,412,12535,441386,6670.06612120.439
soc-digg770,7995,907,132114,21065,106,95774,0494,061,8470.09611232.244
soc-dogster426,8208,543,549194,311249,959213,1897,262,4280.49951439.012
socfb-A-anon3,097,16523,667,394772,09910,122,746636,05018,094,9360.20541301.598
socfb-B-anon2,937,61220,959,854636,1881,738,199513,95915,708,3290.17501380.445
socfb-uci-uni58,790,78292,208,1953,858,784678,0051,409,6016,743,1380.02402423.396
soc-flickr513,9693,190,45271,62526,730,52943,0562,147,3980.08381220.377
soc-flickr-und1,715,25515,555,041174,85911,028,549170,03912,382,0470.09911302.161
soc-flixster2,523,3867,918,801221,30424,174,416112,2612,616,4500.04451380.599
soc-FourSquare639,0143,214,986109,56540,074,24678,9791,769,9720.12361640.654
soc-lastfm1,191,8054,519,330219,17119,999,513146,6842,258,6010.12314018.428
soc-livejournal4,033,13727,933,062262,0092,552,908136,5223,924,4190.03391459.076
soc-livejournal-user-groups7,489,073112,305,4073,117,76921,3482,995,174106,475,4900.399910,996.874
soc-LiveMocha104,1032,193,08383,9556,651,77863,5142,018,5670.61011288.405
soc-ljournal-20085,363,18649,514,271232,35059,042,551666,70124,572,5300.12431502.869
soc-orkut-dir3,072,441117,185,0832,114,64427,556,5292,649,700114,727,3420.86242247.88
soc-orkut2,997,166106,349,2092,193,0335,174,8212,568,364103,885,4820.85692005.389
soc-pokec1,632,80322,301,964961,5101,359,491755,94917,670,1900.463025,267.249
soc-twitter-higgs456,63112,508,442283,1061,121,756256,08711,116,9840.56081542.861
soc-youtube495,9571,936,748127,8152,576,47342,031793,1600.08471446.011
soc-youtube-snap1,134,8902,987,624184,961698,45857,8461,015,7130.05103398.715
tech-as-skitter1,694,61611,094,209314,7784,245,244203,4454,374,7310.12011915.585
tech-ip2,250,49821,643,497646,5996,592,211445,38918,033,3230.197911,419.378
twitter_mpi9,862,15299,940,317801,98819,285,7161,346,59480,524,1230.13655100.926
web-arabic-2005163,5981,747,26918,35216,681,503436 * 15,9100.0027354.495
web-baidu-baike2,141,30017,014,946426,58812,885,609396,64710,610,6190.18522057.537
web-it-2004509,3387,178,41328,3022,227,4181064 * 197,5320.0021676.35
web-uk-2005129,63211,744,04939,69611,540,694500 * 124,7500.0039332.751
web-wikipedia20091,864,4334,507,315153,7763,356,7978020145,1830.00431493.974
web-wikipedia-growth1,870,70936,532,531833,8481,235,4831,583,73335,829,6700.8466874.927
web-wikipedia_link2,936,41386,754,664151,7072,630,246756,85350,293,3100.257724,039.262
wikipedia_link_en27,154,75631,024,475888,5202,654,218510,75320,830,7320.01888034.773
Table 2. Individual Impacts of Three Successive Procedures.
Table 2. Individual Impacts of Three Successive Procedures.
Instance Δ 1 Δ 2 Δ 3 Instance Δ 1 Δ 2 Δ 3
bn-human-BNU_1_0025865_session_1-bg1,212,744857433sc-shipsec1126,939628778
ca-hollywood-2009672,4431035131socfb-A-anon2,440,611138019,124
delaunay_n2247,0900259socfb-uci-uni57,015,6540365,527
friendster7,296,915573740,622soc-livejournal-user-groups4,467,520197224,407
inf-roadNet-CA1,941,52856539832tech-as-skitter1,475,837015,334
rt-retweet-crawl992,56963785619web-wikipedia20091,837,696839110,326
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Fan, Y.; Zhang, Z.; Yu, Q.; Lai, Y.; Su, K.; Wang, Y.; Pan, S.; Latecki, L.J. Iterated Clique Reductions in Vertex Weighted Coloring for Large Sparse Graphs. Entropy 2023, 25, 1376. https://doi.org/10.3390/e25101376

AMA Style

Fan Y, Zhang Z, Yu Q, Lai Y, Su K, Wang Y, Pan S, Latecki LJ. Iterated Clique Reductions in Vertex Weighted Coloring for Large Sparse Graphs. Entropy. 2023; 25(10):1376. https://doi.org/10.3390/e25101376

Chicago/Turabian Style

Fan, Yi, Zaijun Zhang, Quan Yu, Yongxuan Lai, Kaile Su, Yiyuan Wang, Shiwei Pan, and Longin Jan Latecki. 2023. "Iterated Clique Reductions in Vertex Weighted Coloring for Large Sparse Graphs" Entropy 25, no. 10: 1376. https://doi.org/10.3390/e25101376

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop