Next Article in Journal
Double-Observer-Based Bumpless Transfer Control of Switched Positive Systems
Previous Article in Journal
Some Simpson- and Ostrowski-Type Integral Inequalities for Generalized Convex Functions in Multiplicative Calculus with Their Computational Analysis
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Granulation Strategy-Based Algorithm for Computing Strongly Connected Components in Parallel

School of Computer, Jiangsu University of Science and Technology, Zhenjiang 212100, China
*
Author to whom correspondence should be addressed.
Mathematics 2024, 12(11), 1723; https://doi.org/10.3390/math12111723
Submission received: 30 March 2024 / Revised: 19 May 2024 / Accepted: 27 May 2024 / Published: 31 May 2024
(This article belongs to the Topic New Advances in Granular Computing and Data Mining)

Abstract

:
Granular computing (GrC) is a methodology for reducing the complexity of problem solving and includes two basic aspects: granulation and granular-based computing. Strongly connected components (SCCs) are a significant subgraph structure in digraphs. In this paper, two new granulation strategies were devised to improve the efficiency of computing SCCs. Firstly, four SCC correlations between the vertices were found, which can be divided into two classes. Secondly, two granulation strategies were designed based on correlations between two classes of SCCs. Thirdly, according to the characteristics of the granulation results, the parallelization of computing SCCs was realized. Finally, a parallel algorithm based on granulation strategy for computing SCCs of simple digraphs named GPSCC was proposed. Experimental results show that GPSCC performs with higher computational efficiency than algorithms.
MSC:
62H30; 68T30; 05C85; 68R10

1. Introduction

Strongly connected components (SCCs) refer to a subgraph structure in digraphs in which every pair of vertices can reach each other. If an SCC contains only one vertex, it is called trivial. Otherwise, it is called nontrivial, which is the main goal of SCC knowledge discovery tasks.
Some serial [1,2,3,4,5,6,7,8] algorithms have been proposed for computing SCCs. Due to the inherent efficiency disadvantages of serial algorithms compared with parallel algorithms, some parallel [6,9,10,11,12,13,14,15,16,17] algorithms have been proposed. Tarjan [1] is a well-known serial algorithm for computing SCCs. The time complexity of Tarjan is O(n+m), where n is the number of vertices and m is the number of edges. However, it is not computationally efficient when dealing with large amounts of data. To address this issue, a parallel SCC algorithm based on a union-find data structure (UFSCC) [10] was proposed. It uses the union-find data structure to synchronize the vertices’ state information between different processors to avoid the current vertex’s SCC from being computed repeatedly. The time complexity of UFSCC is O(q·(n+m)), and the space complexity of UFSCC is O(q· n), where q is the number of processors. The nested depth-first search (NDFS) algorithm [13] is a linear temporal logic (LTL) model-checking algorithm. Although it is also a serial algorithm, it uses a different idea to Tarjan’s. With the process of computing SCCs in the NDFS, the state of each vertex is modified by two search processes, once in blue DFS and once in red DFS. The time complexity of NDFS is O(n· log(n)). The multi-core nested depth-first search (MC-NDFS) algorithm [14] is a parallel variant of the NDFS algorithm. It implements parallelization of the blue and red DFS using a shuffle (random) function. The time complexity of MC-NDFS is O ( n q · l o g ( n ) ) . The space complexity of MC-NDFS is O ( N · l o g 2 ( N ) ) , where N is the number of threads. The forward–backward (FB) algorithm [15] is an important parallel recursive algorithm for computing SCCs. It uses breadth-first search (BFS) to decompose the digraph into subgraph slices. The time complexity of FB is O(n· (n+m)), and the space complexity of FB is O(m+n·(maximum depth of recursion)). In addition, the OWCTY-BWD-FWD (OBF) algorithm [16] decomposes a digraph into several independent subgraph slices to compute SCCs. In detail, the OWCTY function is repeatedly invoked to eliminate the vertices that constitute trivial SCCs. Subsequently, the digraph is divided into different subgraph slices using a forward and backward reachability search. Then, the FB algorithm is used to compute the SCCs contained in each subgraph slice. The time complexity of OBF is O(n· (n+m)), and the space complexity of OBF is O(m+n·(maximum depth of recursion)). Parallel identification of SCCs with the spanning trees (ISPAN) algorithm [17] is a parallel algorithm for computing SCCs. It uses simple spanning trees to identify SCCs. The time complexity of ISPAN is O( n + m q ).
Granular computing (GrC) [18,19,20,21,22,23] is a methodology for viewing the objective world. It abstracts and divides a complex problem into simple problems. Thus, the complexity of solving problems can be reduced, and the efficiency of solving problems can be improved by introducing the idea of GrC [24,25,26,27,28]. GrC has been applied to uncertainty handling in decision analysis [29,30,31,32,33] and solving graph theory [34,35,36,37,38,39]. For SCCs problem solving, granulation strategies based on SCC correlations have been introduced. In [7], two nontrivial SCC correlations were found, and a granulation strategy was proposed based on them. Vertex granules corresponding to each vertex were constructed using the granulation strategy. If vertex x has been confirmed to belong to a nontrivial SCC, then vertices in the vertex granule of x can be regarded as redundant vertices for computing SCCs. This conclusion can narrow the solution domain without complicated computations to improve the computational efficiency of SCCs. Furthermore, two trivial SCC correlations were found by Cheng et al. [8]. Subsequently, a granulation strategy based on four SCC correlations was proposed. This granulation strategy is unidirectional; as a result, vertices satisfying these correlations are unidirectionally added to the corresponding vertex granule. Therefore, SCC correlations between vertex granules are transitive. Based on this transitivity, a series of redundant vertices can be found by searching vertex granules with BFS. Consequently, the computational efficiency of SCCs was further enhanced. The time complexities of algorithms in [7,8] are both O(c·(n+m)), where c is the number of nontrivial SCCs.
Vertex granules were used to solve the problem of SCC discovery in a serial manner in [7,8]. However, they have inherent disadvantages in terms of efficiency. In view of this, this paper carries out the following work: (1) firstly, the SCC correlations between vertices are analyzed deeply. Then, four new SCC correlations are obtained, which can be divided into two classes: trivial and nontrivial SCC correlations. (2) Secondly, two new granulation strategies are designed based on the above two classes of SCC correlations. These two granulation strategies are implemented by two functions named GVT (granulate vertex by trivial correlations) and GVNT (granulate vertex by nontrivial correlations), respectively. Computations of SCCs for vertices found by GVT can be considered redundant computations; therefore, these vertices can be added to the vertex granule. The same is true for vertices found by GVNT. (3) Thirdly, computations of SCCs for vertices that do not satisfy either of these granulation strategies must be performed. Consequently, a parallel method for computing SCCs is realized based on the characteristics of vertex granules. (4) Finally, a parallel algorithm based on a granulation strategy named GPSCC is proposed to compute SCCs of simple digraphs.
The rest of this paper is arranged as follows: Section 2 recalls related concepts concerning SCCs. Section 3 analyzes the SCC correlations between vertices. Section 4 puts forward a parallel algorithm named GPSCC for computing SCCs. Section 5 displays the experimental results and related analysis. Section 6 concludes this work.

2. Preliminaries

In this section, for the convenience of formal description, some basic concepts of SCCs are briefly introduced.
Definition 1 
([40]). A directed graph (or digraph) D = { U , E } consists of a nonempty finite set U of elements called vertices and a finite set E of ordered pairs of distinct vertices called directed edges. The size of U is denoted by | U | or n. The size of E is denoted by | E | or m.
There is a binary relation ‘ ’ on U called the reachable relation. For two distinct vertices, x and y, in U, if x is reachable to y ( x y ), then there is a sequence of vertices and edges leading from x to y. Then, x is called an a n c e s t o r of y, and y is called a descendant of x. If the sequence only contains an edge, then x is called a predecessor of y, and y is called a successor of x. d e s c e n d a n t s ( x ) is a set of vertices that is reachable from x, a n c e s t o r s ( x ) is a set of vertices that is reachable to x, s u c c e s s o r s ( x ) is a set of vertices that is reachable from x by an edge, and p r e d e c e s s o r s ( x ) is a set of vertices that is reachable to x by an edge. For convenience, d e s c e n d a n t s ( x ) is abbreviated to d e s ( x ) , a n c e s t o r s ( x ) is abbreviated to a n c ( x ) , s u c c e s s o r s ( x ) is abbreviated to s u c ( x ) , and p r e d e c e s s o r s ( x ) is abbreviated to p r e ( x ) . Notably, x is always reachable to x ( x x ); thus, it is straightforward x d e s ( x ) and x a n c ( x ) , which also means that the set of d e s ( x ) a n c ( x ) contains x.
The concept of loop is a directed edge which connects a vertex twice. If a digraph contains neither loop nor multiple directed edges, it is called a simple digraph. All the digraphs mentioned in this paper are simple digraphs. For a simple digraph, x s u c ( x ) and x p r e ( x ) can be concluded.
Definition 2 
([1]). Let D = { U , E } be a digraph. For each pair of vertices x , y U , if x is always reachable to y ( x y ) and from y ( y x ), then D is strongly connected.
Proposition 1 
([6]). Let D = { U , E } be a digraph. If there are three vertices x , y , z U , such that x y and y z , then x z .
Definition 3 
([1]). Let D = { U , E } be a digraph. We may define an equivalence relation of U as follows: for x , y U , x and y are equivalent if x y and y x . Let the distinct equivalence classes under this equivalence relation be U i , 1 i | U | . Let D i = { U i , E i } , where E i = { ( x , y ) E | x , y U i } . If each D i is strongly connected, and no D i is a proper subgraph of a strongly connected subgraph of D, then the D i subgraphs are referred to as strongly connected components (SCCs) of D.
Furthermore, the D i is referred to as a trivial SCC if U i contains only one vertex; D i is called a nontrivial SCC if U i contains two distinct vertices at least. For convenience, we use the set T S ( D ) to collect the vertex sets of trivial SCCs in D, snf the set N T S ( D ) to collect the vertex sets of nontrivial SCCs in D. Obviously, the computation of N T S ( D ) is the target, rather than T S ( D ) .
Lemma 1. 
Let D = { U , E } be a digraph. For any x U , d e s ( x ) = { x } s u c ( x ) y s u c ( x ) d e s ( y ) .
Proof. 
(1) If z = x , then z d e s ( x ) because x is always reachable to itself (i.e., x d e s ( x ) ); if z s u c ( x ) , then z d e s ( x ) according to the definitions of s u c c e s s o r and d e s c e n d a n t ; if  z y s u c ( x ) d e s ( y ) , then there must be y s u c ( x ) , which leads to z d e s ( y ) . Together, the following can be found:
y s u c ( x ) x y , z d e s ( y ) y z . P r o p o s i t i o n   1 x z z d e s ( x ) .
To conclude, if z ( { x } s u c ( x ) y s u c ( x ) d e s ( y ) ) , there must be z d e s ( x ) .
(2) Reversely, z d e s ( x ) and z = x can deduce z { x } .
z d e s ( x ) and z x can deduce x z . That is to say, there is a sequence of vertices and edges leading from x to z. If the sequence only contains an edge, then z s u c ( x ) can be obtained. If the sequence contains at least two edges, then there must be y s u c ( x ) so that y z . In other words, z y s u c ( x ) d e s ( y ) . Together, z d e s ( x ) can infer z { x } s u c ( x ) y s u c ( x ) d e s ( y ) .
Combining (1) and (2), d e s ( x ) = { x } s u c ( x ) y s u c ( x ) d e s ( y ) can be obtained. □
Lemma 2. 
Let D = { U , E } be a digraph. For any x U , a n c ( x ) = { x } p r e ( x ) y p r e ( x ) a n c ( y ) .
Proof. 
(1) If z = x , then z a n c ( x ) because x is always reachable to itself (i.e., x a n c ( x ) ); if z p r e ( x ) , then z a n c ( x ) according to the definitions of p r e d e c e s s o r and a n c e s t o r ; if  z y p r e ( x ) a n c ( y ) , then there must be y p r e ( x ) , which leads to z a n c ( y ) . Together, the following can be obtained:
y p r e ( x ) y x , z a n c ( y ) z y . P r o p o s i t i o n   1 z x z a n c ( x ) .
To conclude, if z ( { x } p r e ( x ) y p r e ( x ) a n c ( y ) ) , then there must be z a n c ( x ) .
(2) Reversely, z a n c ( x ) and z = x can deduce z { x } .
z a n c ( x ) and z x can deduce z x . That is to say, there is a sequence of vertices and edges leading from z to x. If the sequence only contains an edge, then z p r e ( x ) can be obtained. If the sequence contains at least two edges, then there must be y p r e ( x ) so that z y . In other words, z y p r e ( x ) a n c ( y ) . Together, z a n c ( x ) can infer z { x } p r e ( x ) y p r e ( x ) a n c ( y ) .
Combining (1) and (2), a n c ( x ) = { x } p r e ( x ) y p r e ( x ) a n c ( y ) can be obtained. □
Theorem 1. 
Let D = { U , E } be a digraph. For any x U , if U x = d e s ( x ) a n c ( x ) , then U x is a set of vertices of a SCC of D.
Proof. 
For any pair of vertices of y , z U x , we can obtain y ( d e s ( x ) a n c ( x ) ) and z ( d e s ( x ) a n c ( x ) ) , then
y ( d e s ( x ) a n c ( x ) ) y d e s ( x ) x y , y a n c ( x ) y x . z ( d e s ( x ) a n c ( x ) ) z d e s ( x ) x z , z a n c ( x ) z x . } P r o p o s i t i o n   1 y z , z y .
According to Definition 3, it can be obatined that U x is a set of vertices of a SCC of D. □
Proposition 2. 
Let D = { U , E } be a digraph. If s u c ( x ) = , then U x T S ( D ) .
Proof. 
According to Lemma 1, d e s ( x ) = { x } s u c ( x ) y s u c ( x ) d e s ( y ) . If s u c ( x ) = , then d e s ( x ) = { x } . According to Lemma 2, a n c ( x ) = { x } p r e ( x ) y p r e ( x ) a n c ( y ) . Using Theorem 1, U x = d e s ( x ) a n c ( x ) = { x } , which leads to U x T S ( D ) . □
Proposition 3. 
Let D = { U , E } be a digraph. If p r e ( x ) = , then U x T S ( D ) .
Proof. 
According to Lemma 2, a n c ( x ) = { x } p r e ( x ) y p r e ( x ) a n c ( y ) . If p r e ( x ) = , then a n c ( x ) = { x } . According to Lemma 1, d e s ( x ) = { x } s u c ( x ) y s u c ( x ) d e s ( y ) . Using Theorem 1, U x = d e s ( x ) a n c ( x ) = { x } , which leads to U x T S ( D ) . □
Example 1. 
Let D = { U , E } be a digraph, as shown in Figure 1a, U = {a, b, c, d, e, f, g, h, i, j}, E = {(a, b), (b, e), (b, d), (c, b), (d, f), (e, f), (e, d), (f, h), (h, d), (h, g), (i, h), (i, j), (j, i)}. The digraph of D contains seven SCCs: five trivial SCCs, D { a } , D { b } , D { c } , D { e } , D { g } and two nontrivial SCCs, D { d , f , h } and D { i , j } . The nontrivial SCCs in D are marked as blue regions, and the trivial SCCs in D are marked as orange regions, as shown in Figure 1b.

3. SCCs Correlations between Vertices

In this subsection, we analyze the graph concept of SCCs, and then four SCCs correlations are found, as shown in Theorems 2–5. If two distinct vertices, x and y, satisfy any above Theorem, then after computing SCCs for x, y will not deduce any new nontrivial SCCs. In other words, vertex y will lead to redundant computation. Then, Theorems 2–5 can be used to avoid such redundant computations.
Theorem 2. 
Let D = { U , E } be a digraph. If s u c ( x ) satisfies y ( y s u c ( x ) U y T S ( D ) ) , then U x T S ( D ) .
Proof. 
According to the Theorem 1, U x = a n c ( x ) d e s ( x ) . It is known that there must be x ( a n c ( x ) d e s ( x ) ) . Let A = U x { x } , then U x = { x } T S ( D ) if A is judged as empty.
Suppose that A , then A U x A ( a n c ( x ) d e s ( x ) ) A a n c ( x ) A d e s ( x ) . According to Lemma 1, d e s ( x ) = { x } s u c ( x ) y s u c ( x ) d e s ( y ) , then A d e s ( x ) ( A { x } ) ( A s u c ( x ) ) ( A y s u c ( x ) d e s ( y ) ) .
(1) Now that A = U x { x } , it is obvious that x A . Then, A { x } = can be concluded.
(2) Suppose A s u c ( x ) , then y ( y A y s u c ( x ) ) . Now that A = U x { x } , it is obvious that A U x = a n c ( x ) d e s ( x ) . y A implies y ( a n c ( x ) d e s ( x ) ) , then y x and x y can be obtained. Furthermore, there is y s u c ( x ) y x because there must be x s u c ( x ) , which is results from the fact that there is no loop in simple digraphs. That is to say, there are two distinct vertices, x and y, which are reachable to each other. Then, U y = U x N T S ( D ) can be obtained according to Definition 3. To sum up, y ( y s u c ( x ) U y N T S ( D ) ) is true. However, the conclusion conflicts with the given condition of y ( y s u c ( x ) U y T S ( D ) ). By the principle of contrary evidence, the hypothesis of A s u c ( x ) is false. Then, A s u c ( x ) = can be concluded.
(3) Suppose A y s u c ( x ) d e s ( y ) , then y ( y s u c ( x ) A d e s ( y ) ) . Firstly, y s u c ( x ) can deduce x y and x y . Secondly, A d e s ( y ) z ( z A z d e s ( y ) ) . Because A ( a n c ( x ) d e s ( x ) ) , then we can obtain z A z ( a n c ( x ) d e s ( x ) ) z x . z d e s ( y ) means y z . Then, y x holds on the basis of y z and z x . x y , y x and x y show that there are two distinct vertices, x and y, which are reachable to each other. Then, it can be obtained that U y = U x N T S ( D ) according to Definition 3. To sum up, y ( y s u c ( x ) U y N T S ( D ) ) is true. However, the conclusion conflicts with the given condition of y ( y s u c ( x ) U y T S ( D ) ). By the principle of contrary evidence, the hypothesis of A y s u c ( x ) d e s ( y ) is false. Then, A y s u c ( x ) d e s ( y ) = can be concluded.
Combining (1), (2), and (3), A = can be concluded. Thus, U x = { x } , i.e., U x T S ( D ) . Overall, if s u c ( x ) satisfies y ( y s u c ( x ) U y T S ( D ) ) , then U x T S ( D ) . □
Theorem 3. 
Let D = { U , E } be a digraph. If p r e ( x ) satisfies y ( y p r e ( x ) U y T S ( D ) ) , then U x T S ( D ) .
Proof. 
According to Theorem 1, U x = a n c ( x ) d e s ( x ) . It is known that there must be x ( a n c ( x ) d e s ( x ) ) . Let A = U x { x } , then U x = { x } T S ( D ) if A = .
Suppose that A , then A U x A ( a n c ( x ) d e s ( x ) ) A a n c ( x ) A d e s ( x ) . According to Lemma 2, a n c ( x ) = { x } p r e ( x ) y p r e ( x ) a n c ( y ) ( A { x } ) ( A p r e ( x ) ) ( A y p r e ( x ) a n c ( y ) ) .
(1) Now that A = U x { x } , it is obvious that x A . Then, A { x } = can be concluded.
(2) Suppose A p r e ( x ) , then y ( y A y p r e ( x ) ) . Now that A = U x { x } , it is obvious that A ( a n c ( x ) d e s ( x ) ) . y A implies y ( a n c ( x ) d e s ( x ) ) , then y x and x y can be obtained. Furthermore, there is y p r e ( x ) y x because there must be x p r e ( x ) , which results from the fact that there is no loop in simple digraphs. That is to say, there are two distinct vertices, x and y, which are reachable to each other. Then, U y = U x N T S ( D ) can be obtained according to Definition 3. To sum up, y ( y p r e ( x ) U y N T S ( D ) ) is true. However, the conclusion conflicts with the given condition of y ( y p r e ( x ) U y T S ( D ) ). By the principle of contrary evidence, the hypothesis of A p r e ( x ) is false. Then, A p r e ( x ) = can be concluded.
(3) Suppose A y p r e ( x ) a n c ( y ) , then y ( y p r e ( x ) A a n c ( y ) ) . Firstly, y p r e ( x ) can deduce y x and x y . Secondly, A a n c ( y ) z ( z A z a n c ( y ) ) . Because  A ( a n c ( x ) d e s ( x ) ) , then we can obtain z A z ( a n c ( x ) d e s ( x ) ) x z . z a n c ( y ) means z y . Then, x y holds on the basis of x z and z y . y x , x y , and x y show that there are two distinct vertices, x and y, which are reachable to each other. Then, it can be obtained that U y = U x N T S ( D ) according to Definition 3. To sum up, y ( y p r e ( x ) U y N T S ( D ) ) is true. However, the conclusion conflicts with the given y ( y p r e ( x ) U y T S ( D ) ). By the principle of contrary evidence, the hypothesis of A y p r e ( x ) a n c ( y ) is false. Then, A y p r e ( x ) a n c ( y ) = can be concluded.
Combining (1), (2), and (3), A = can be concluded. Thus, U x = { x } , i.e., U x T S ( D ) . Overall, if p r e ( x ) satisfies y ( y p r e ( x ) U y T S ( D ) ) , then U x T S ( D ) . □
Theorem 4. 
Let D = { U , E } be a digraph. x U , if U x N T S ( D ) , then y ( y s u c ( x ) y U x ) .
Proof. 
According to Theorem 1, U x = a n c ( x ) d e s ( x ) . If U x N T S ( D ) , then z ( z ( a n c ( x ) d e s ( x ) ) x z ) . In other words, there are at least two distinct vertices, x and z, in the nontrivial SCCs corresponding to U x . Along with Definition 3, z x and x z can be obtained. x z means that z d e s ( x ) . According to Lemma 1, d e s ( x ) = { x } s u c ( x ) y s u c ( x ) d e s ( y ) . Then, z d e s ( x ) z x would deduce that z s u c ( x ) or z y s u c ( x ) d e s ( y ) .
(1) If z s u c ( x ) , then z ( z s u c ( x ) z U x ) . By replacing z with y, y ( y s u c ( x ) y U x ) can be obtained.
(2) If z y s u c ( x ) d e s ( y ) , then y ( y s u c ( x ) z d e s ( y ) ) . Firstly, y s u c ( x ) can deduce y d e s ( x ) ( y x ), which means x y . Secondly, z d e s ( y ) can deduce y z , along with the z x obtained in the above part, and y x can be concluded according to Proposition 1. x y , y x , and x y show that there are two distinct vertices, x and y, which are reachable to each other. That is to say, y U x . Overall, there must be y ( y s u c ( x ) y U x ) .
Combining (1) and (2), if U x N T S ( D ) , then y ( y s u c ( x ) y U x ) . □
Theorem 5. 
Let D = { U , E } be a digraph. x U , if U x N T S ( D ) , then y ( y p r e ( x ) y U x ) .
Proof. 
According to Theorem 1, U x = a n c ( x ) d e s ( x ) . If U x N T S ( D ) , then z ( z ( a n c ( x ) d e s ( x ) ) x z ) . In other words, there are at least two distinct vertices, x and z, in the nontrivial SCCs corresponding to U x . Along with Definition 3, z x and x z can be obtained. z x means that z a n c ( x ) . According to Lemma 2, a n c ( x ) = { x } p r e ( x ) y p r e ( x ) a n c ( y ) . Then, z a n c ( x ) z x would deduce that z p r e ( x ) or z y p r e ( x ) a n c ( y ) .
(1) If z p r e ( x ) , then z ( z p r e ( x ) z U x ) . By replacing z with y, y ( y p r e ( x ) y U x ) can be obtained.
(2) If z y p r e ( x ) a n c ( y ) , then y ( y p r e ( x ) z a n c ( y ) ) . Firstly, y p r e ( x ) can deduce y a n c ( x ) ( y x ), which means y x . Secondly, z a n c ( y ) can deduce z y , along with x z obtained in the above part, and x y can be concluded according Proposition 1. x y , y x , and x y show that there are two distinct vertices, x and y, which are reachable to each other. That is to say, y U x . Overall, there must be y ( y p r e ( x ) y U x ) .
Combining (1) and (2), if U x N T S ( D ) , then y ( y p r e ( x ) y U x ) . □

4. Proposed Algorithm

According to the characteristics of SCC correlations in Theorems 2–5, they can be divided into two classes: trivial SCC correlations and nontrivial SCC correlations. Based on the two classes of SCC correlations, two granulation strategies were designed to granulate the vertex set U of the given digraph. According to the two granulation strategies, a parallel algorithm named GPSCC was proposed for computing SCCs of simple digraphs. Next, an example was provided to demonstrate how the proposed algorithm works.

4.1. GPSCC

It is worth mentioning that the vertices satisfying Propositions 2 or 3 certainly construct a trivial SCC. Let T be the set of vertices that need to be computed for SCCs, then the vertices satisfying Proposition 2 or 3 can be deleted immediately from T.
In addition, conducted by the above two classes of SCC correlations described in Theorems 2–5, two granulation strategies were provided as follows. (1) The granulation strategy based on trivial SCC correlations (Theorems 2 and 3). The granulation process was implemented using a function named GVT (granulate vertex by trivial correlations), as shown in Algorithm 1. For the vertex x, if any predecessor (or successor) of x individually forms a trivial SCC, then x is added into the vertex granule named g r a n u g v t . (2) The granulation strategy based on nontrivial SCC correlations (Theorems 4 and 5). The granulation process was implemented by a function named GVNT (granulate vertex by nontrivial correlations), as shown in Algorithm 2. For the vertex x, if any predecessor (or successor) of x belongs to T, then x is added into the vertex granule named g r a n u g v n t .
Algorithm 1 GVT: Granulate vertex by trivial correlations
  1:
function GVT( T , T 0 )
  2:
     g r a n u g v t ;
  3:
    for  x T  do
  4:
        if  y ( y p r e ( x ) { y } T 0 )  then
  5:
            g r a n u g v t { g r a n u g v t , x } ;
  6:
        else
  7:
           if  y ( y s u c ( x ) { y } T 0 )  then
  8:
                  g r a n u g v t { g r a n u g v t , x } ;
  9:
           end if
10:
         end if
11:
     end for
12:
     Return g r a n u g v t ;
13:
end function
Algorithm 2 GVNT: Granulate vertex by nontrivial correlations
  • function GVNT(T)
  •      g r a n u g v n t ; T t e m p T ;
  •     while  T t e m p  do
  •          x = T t e m p ( 1 ) ;
  •         if  p r e ( x ) T  then
  •             g r a n u g v n t { g r a n u g v n t , x } ; T T \ x ; T t e m p T t e m p \ ( { x } p r e ( x ) ) ;
  •         else
  •            if  s u c ( x ) T  then
  •                 g r a n u g v n t { g r a n u g v n t , x } ; T T \ x ; T t e m p T t e m p \ ( { x } s u c ( x ) ) ;
  •            end if
  •         end if
  •     end while
  •     Return g r a n u g v n t ;
  • end function
It is exciting that the vertices in g r a n u g v t or g r a n u g v n t can be deleted immediately from T. The deletion operation is based on the following explanation: the SCCs corresponding to any vertex, whether g r a n u g v t or g r a n u g v n t , are either trivial or nontrivial; the former is not the target of SCC discovery tasks; the latter is indeed the computation target, but it can be deduced by other vertices that still belong to T.
According to Theorem 1, it can be found that the computation of SCCs for vertex x can proceed independently of the computation of SCCs for vertex y. Therefore, the computation of SCCs for every vertex in the current T can proceed in parallel. Based on the above analysis, a parallel algorithm for computing SCCs based on a granulation strategy named GPSCC was proposed, as shown in Algorithm 3. In general, the number of processors is denoted by q. It is known that SCC discovery corresponding to a vertex requires (n+m) computations at most. Thus, if the target digraph contains c nontrivial SCCs, the time complexity of each processor is c / q ( n + m ) at most. In conclusion, the worst time complexity of the GPSCC is O ( c / q · ( n + m ) ) . In addition, one-dimensional arrays are used to store the descendant (or ancestor) of vertices, so each array has n elements at most. Thus, the space complexity of each processor is n· q +m at most. Therefore, the worst space complexity of the GPSCC is O ( n · q + m ) . This means that, even in the worst case, compared to FB, OBF, and ISPAN algorithms, we still have a lower time complexity and comparative space complexity.
Algorithm 3 GPSCC: The parallel algorithm for finding strongly connected components of simple digraphs based on granulation strategy
Input:  D = { U , E }
Output: The nontrivial SCCs in D: SCCset
  • S C C s e t ; T U ; T 0 ;
  • P 0 , P 1 , , P q 1 ; //q is the number of processors
  • for  i | T |  do
  •     compute s u c ( T ( i ) ) in the processor P ( i 1 ) % q ;
  •     compute p r e ( T ( i ) ) in the processor P ( i 1 ) % q ;
  • end for
  • for  x U  do
  •     if  p r e ( x ) = or s u c ( x ) =  then
  •          T 0 { T 0 , x } ;
  •     end if
  • end for
  • T T \ T 0 ;
  • g r a n u g v t = G V T ( T , T 0 ) ; T T \ g r a n u g v t ;
  • g r a n u g v n t = G V N T ( T ) ; T T \ g r a n u g v n t ;
  • for  i | T |  do
  •     compute U T ( i ) = d e s ( T ( i ) ) a c n ( T ( i ) ) in the processor P ( i 1 ) % q ;
  •     add U T ( i ) into SCCset;
  • end for
  • Output SCCset;

4.2. A Comparative Study

Take the digraph D in Figure 1a as an example to demonstrate the computation process of GPSCC in detail.
Example 2. 
In this example, assume q = 2 , which means there are two processors: P 0 and P 1 .
(1) Let T be the set of vertices that need to be computed SCCs. Therefore, T is initialized as T = U = {a, b, c, d, e, f, g, h, i, j}.
(2) According to Propositions 2 and 3, it can be deduced that there are three trivial SCCs, i.e., D a , D c , and D g . Thid means U a T S ( D ) , U c T S ( D ) , and U g T S ( D ) . Therefore, T = T \ { a , c , g } = { b , d , e , f , h , i , j } .
(3) Invoking the GVT on the current T, it can be determined that U b and U e must belong to T S ( D ) ; then, g r a n u g v t = { b , e } and T = T \ g r a n u g v t = { d , f , h , i , j } .
(4) Invoking the GVNT on the current T, T t e m p was initialized to be the current T so that T t e m p = { d , f , h , i , j } . Secondly, for the first vertex d, since s u c ( d ) = { f } T , g r a n u g v n t = { d } , T = { f , h , i , j } , and T t e m p = { h , i , j } . For vertex h, since p r e ( h ) = { f , i } T , g r a n u g v n t = { d , h } , T = { f , i , j } , T t e m p = { j } . For vertex j, since p r e ( j ) = { i } T , g r a n u g v n t = { d , h , j } , T = { f , i } , and T t e m p = . Finally, it can be obtained that g r a n u g v n t = { d , h , j } ; thus, T = T \ g r a n u g v n t = { f , i } .
(5) The task of computing SCCs for vertex T ( i ) was performed by processor P ( i 1 ) % q . This means that the computation of SCCs for vertex T ( 1 ) = f was performed by processor P 0 . As a result, it can be deduced that U f = { d , f , h } . Then, the computation of SCCs for vertex T ( 2 ) = i was performed by processor P 1 . As a result, it can be realized that U i = { i , j } . Lastly, two nontrivial SCCs, i.e., D { d , f , h } and D { i , j } , were obtained.

5. Experiments

All experiments were performed on AMD (R52600) with 12 processors and 24 GB of memory. MATLAB@R2017a(64-bit) was the experiment platform. Tarjan [1], FB [15], OBF [16], and ISPAN [17] algorithms were used as comparison algorithms to verify the efficiency of the GPSCC algorithm. In total, 12 UFMC datasets [41] were used in these experiments, as shown in Table 1, where n is the number of vertices, m is the number of edges, and c is the number of nontrivial SCCs in a dataset. In addition, the graph was stored in the form of a matrix. Considering the impact of cache memory on the speedup effect, the priority principle of columns was used to read and write data.
The computational efficiencies of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms are shown in Table 2, Table 3, Table 4, Table 5, Table 6 and Table 7. Columns 2–5 of each table represent the execution times of the four algorithms, and the optimal values are set in bold. S t represents the speedup of FB, OBF, ISPAN, and GPSCC compared to Tarjan. In detail, S t is computed as the ratio of the time consumed by Tarjan against FB, OBF, ISPAN, and GPSCC. In addition, the acceleration of speedup is computed as the variation of speedup divided by the variation of processors.
Table 2, Table 3, Table 4, Table 5, Table 6 and Table 7 show that GPSCC has a higher speedup effect against Tarjan than the FB, OBF, and ISPAN algorithms. Furthermore, the speedup of GPSCC against Tarjan on the same dataset increases with the number of processors. Once the number of processors is determined, the effect of granulation strategies is highly related to the data structure of the given digraph. The changing curves of the speedup are shown in Figure 2.
From Figure 2, three phenomena can be observed: (1) the speedup of GPSCC against Tarjan significantly increases with the increasing number of processors, as shown in Figure 2c–g,j–l. Correspondingly, the acceleration of GPSCC against Tarjan is greater than zero on average. (2) The speedup of GPSCC against Tarjan slowly increases with the increasing number of processors, as shown in Figure 2h,i. Correspondingly, the acceleration of GPSCC against Tarjan tends to be zero on average. (3) The speedup of GPSCC against Tarjan decreases with the increasing number of processors, but it is still much higher than Tarjan, as shown in Figure 2a,b. Correspondingly, the acceleration of GPSCC against Tarjan is less than zero on average.
For the first phenomenon, let the EVA dataset be used as an example to analyze the reason. The scale of the SCCs in each digraph is similar. Therefore, each time consumption of SCCs is similar, as shown in Figure 3a. Then, the time consumption of SCCs can be approximately evenly distributed into the processor. This means that the load on the processor is balanced, as shown in Figure 4a.
For the second phenomenon, let the FA dataset be used as an example to analyze the reason. Firstly, the number of SCCs that need to be computed is certain. Secondly, there are some larger SCCs, which consume a larger proportion of time, as shown in Figure 3b. This means that there is processor load imbalance, as shown in Figure 4b. Then, increasing the number of processors has less of an effect on the overall time consumption.
For the third phenomenon, let the DK01R and CollegeMsg datasets be used as examples to analyze the reason. The scales of the given digraphs and SCCs are relatively small. Therefore, the time consumption of data interaction and resource allocation may be greater than for computing SCCs, as shown in Figure 5a,b. Then, with the increasing number of processors, the time consumption of data interaction and resource allocation also increases, which negatively impacts the overall time.
In conclusion, it can be obtained that the structure of the digraph will affect the time consumed by computing each SCC. Then, the proportion of time consumed by computing each SCC will affect whether the processor load is balanced, and whether the processor load is balanced will affect the efficiency of GPSCC for computing SCCs. Therefore, the speedup effect of GPSCC against Tarjan is greatly influenced by the digraph structure.

6. Conclusions and Future Perspectives

In this paper, firstly, four SCC correlations were found, which can be divided into two classes: trivial and nontrivial SCC correlations. Secondly, two granulation strategies were designed based on the proposed correlations. The granulation strategies were implemented by two functions named GVT and GVNT. Based on the characteristics of the granulation results formed by GVT and GVNT, the computation of SCC in parallel was realized. Finally, a parallel algorithm named GPSCC for computing SCCs based on granulation strategy was proposed. Experiments show that GPSCC has better computational efficiency than the compared algorithms. In the future, the idea of a granulating vertex set can be applied to the discovery of other knowledge in digraphs. In addition, the granulation strategies can be introduced into the edge set for some knowledge discovery tasks.

Author Contributions

Investigation, Resources, Data Curation, Writing—Review and Editing, T.X.; Conceptualization, Methodology, Formal analysis, Investigation, Writing—Original Draft, Writing—Review and Editing, Project administration, H.H.; Investigation, Resources, J.C.; Resources, Data Curation, Y.C.; Data Curation, J.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China (Nos. 62006099, 62076111). The authors would like to thank the anonymous reviewers for their insightful and constructive comments, which greatly improved the quality of this paper.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Tarjan, R. Depth-first search and linear graph algorithms. SIAM J. Comput. 1972, 1, 146–160. [Google Scholar] [CrossRef]
  2. Bernstein, A.; Gutenberg, M.; Saranurak, T. Deterministic decremental reachability, scc, and shortest paths via directed expanders and congestion balancing. In Proceedings of the 2020 IEEE 61st Annual Symposium on Foundations of Computer Science (FOCS), Durham, NC, USA, 16–19 November 2020; pp. 1123–1134. [Google Scholar]
  3. Baswana, S.; Choudhary, K.; Roditty, L. An efficient strongly connected components algorithm in the fault tolerant model. Algorithmica 2019, 81, 67–985. [Google Scholar] [CrossRef]
  4. Wan, X.; Wang, H. Efficient semi-external SCC computation. IEEE Trans. Knowl. Data Eng. 2023, 35, 3794–3807. [Google Scholar] [CrossRef]
  5. Bernstein, A.; Gutenberg, M.; Wulff-Nilsen, C. Decremental strongly connected components and single-source reachability in near-linear time. SIAM J. Comput. 2023, 52, 128–155. [Google Scholar] [CrossRef]
  6. Xu, T.; Wang, G. Finding strongly connected components of simple digraphs based on generalized rough sets theory. Knowl.-Based Syst. 2018, 149, 88–98. [Google Scholar] [CrossRef]
  7. Xu, T.; Wang, G.; Yang, J. Finding strongly connected components of simple digraphs based on granulation strategy. Int. J. Approx. Reason. 2020, 118, 64–78. [Google Scholar] [CrossRef]
  8. Cheng, F.; Xu, T.; Chen, J.; Song, J.; Yang, X. The algorithm for finding strongly connected components based on k-step search of vertex granule and rough set theory. Comput. Sci. 2022, 49, 97–107. (In Chinese) [Google Scholar]
  9. Chen, X.; Chen, C.; Shen, J.; Fang, J.; Tang, T.; Yang, C.; Wang, Z. Orchestrating parallel detection of strongly connected components on gpus. Parallel Comput. 2018, 78, 101–114. [Google Scholar] [CrossRef]
  10. Bloemen, V.; Laarman, A.; Pol, J.v. Multi-core on-the-fly scc decomposition. In Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Barcelona, Spain, 12–16 March 2016; pp. 1–12. [Google Scholar]
  11. Barnat, J.; Chaloupka, J.; Pol, J.V.D. Distributed algorithms for scc decomposition. J. Log. Comput. 2011, 21, 23–44. [Google Scholar] [CrossRef]
  12. Evangelista, S.; Petrucci, L.; Youcef, S. Parallel nested depth-first searches for ltl model checking. In Automated Technology for Verification and Analysis, Proceedings of the 9th International Symposium, ATVA 2011, Taipei, Taiwan, 11–14 October 2011; Springer: Berlin/Heidelberg, Germany, 2011; pp. 381–396. [Google Scholar]
  13. Courcoubetis, C.; Vardi, M.; Wolper, P.; Yannakakis, M. Memory-efficient algorithms for the verification of temporal properties. Form. Methods Syst. Des. 1992, 1, 275–288. [Google Scholar] [CrossRef]
  14. Laarman, A.; Langerak, R.; Pol, J.; Weber, M.; Wijs, A. Multi-core nested depth-first search. In Automated Technology for Verification and Analysis, Proceedings of the 9th International Symposium, ATVA 2011, Taipei, Taiwan, 11–14 October 2011; Springer: Berlin/Heidelberg, Germany, 2011; Volume 6996, pp. 321–335. [Google Scholar]
  15. Fleischer, L.; Hendrickson, B.; Pınar, A. On identifying strongly connected components in parallel. In Parallel and Distributed Processing; Rolim, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2000; pp. 505–511. [Google Scholar]
  16. Barnat, J.; Moravec, P. Parallel algorithms for finding sccs in implicitly given graphs. In Formal Methods: Applications and Technology; Brim, L., Haverkort, B., Leucker, M., van de Pol, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2007; pp. 316–330. [Google Scholar]
  17. Ji, Y.; Liu, H.; Hu, Y.; Huang, H. ispan: Parallel identification of strongly connected components with spanning trees. ACM Trans. Parallel Comput. 2022, 9, 1–27. [Google Scholar] [CrossRef]
  18. Zhang, T.; Zhang, Y.; Ma, F.; Peng, C.; Yue, D.; Pedrycz, W. Local boundary fuzzified rough k-means-based information granulation algorithm under the principle of justifiable granularity. IEEE Trans. Cybern. 2024, 54, 519–532. [Google Scholar] [CrossRef] [PubMed]
  19. Yao, Y. Three-way decision and granular computing. Int. J. Approx. Reason. 2018, 103, 107–123. [Google Scholar] [CrossRef]
  20. Cheng, Y.; Zhao, F.; Zhang, Q.; Wang, G. A survey on granular computing and its uncertainty measure from the perspective of rough set theory. Granul. Comput. 2021, 6, 3–17. [Google Scholar] [CrossRef]
  21. Wu, C.; Zhang, Q.; Yin, L.; **e, Q.; Luo, N.; Wang, G. Data-driven interval granulation approach based on uncertainty principle for efficient classification. IEEE Trans. Fuzzy Syst. 2024, 32, 12–26. [Google Scholar] [CrossRef]
  22. Li, L.; Li, M.; Mi, J. Granular structure evaluation and selection based on justifiable granularity principle. Inf. Sci. 2024, 665, 120403. [Google Scholar] [CrossRef]
  23. Chen, L.; Zhao, L.; **ao, Z.; Liu, Y.; Wang, J. A granular computing based classification method from algebraic granule structure. IEEE Access 2021, 9, 68118–68126. [Google Scholar] [CrossRef]
  24. Zhang, Q.; Wu, C.; **a, S.; Zhao, F.; Gao, M.; Cheng, Y.; Wang, G. Incremental learning based on granular ball rough sets for classification in dynamic mixed-type decision system. IEEE Trans. Knowl. Data Eng. 2023, 35, 9319–9332. [Google Scholar] [CrossRef]
  25. Guo, H.; Wang, L.; Liu, X.; Pedrycz, W. Trend-based granular representation of time series and its application in clustering. IEEE Trans. Cybern. 2022, 52, 9101–9110. [Google Scholar] [CrossRef]
  26. Wang, W.; Liu, W.; Chen, H. Time-series forecasting via fuzzy-probabilistic approach with evolving clustering-based granulation. IEEE Trans. Fuzzy Syst. 2022, 30, 5324–5336. [Google Scholar] [CrossRef]
  27. Han, Z.; Pedrycz, W.; Zhao, J.; Wang, W. Hierarchical granular computing-based model and its reinforcement structural learning for construction of long-term prediction intervals. IEEE Trans. Cybern. 2022, 52, 666–676. [Google Scholar] [CrossRef] [PubMed]
  28. Aggarwal, L.; Sachdeva, S.; Goswami, P. Quantum healthcare computing using precision based granular approach. Appl. Soft Comput. 2023, 144, 110458. [Google Scholar] [CrossRef]
  29. Liang, D.; Liu, D.; Kobina, A. Three-way group decisions with decision-theoretic rough sets. Inf. Sci. 2016, 345, 46–64. [Google Scholar] [CrossRef]
  30. Rodríguez, R.; Labella, Á.; Tré, G.; Martínez, L. A large scale consensus reaching process managing group hesitation. Knowl.-Based Syst. 2018, 159, 86–97. [Google Scholar] [CrossRef]
  31. Labella, Á.; Liu, H.; Rodríguez, R.; Martínez, L. A cost consensus metric for consensus reaching processes based on a comprehensive minimum cost model. Eur. J. Oper. Res. 2020, 281, 316–331. [Google Scholar] [CrossRef]
  32. Zhang, S.; Liu, K.; Xu, T.; Yang, X.; Zhang, A. A meta-heuristic feature selection algorithm combining random sampling accelerator and ensemble using data perturbation. Appl. Intell. 2023, 53, 29781–29798. [Google Scholar] [CrossRef]
  33. Wang, B.; Liang, J.; Yao, Y. A trilevel analysis of uncertainty measuresin partition-based granular computing. Artif. Intell. Rev. 2023, 56, 533–575. [Google Scholar] [CrossRef]
  34. Hua, M.; Xu, T.; Yang, X.; Chen, J.; Yang, J. A novel approach for calculating single-source shortest paths of weighted digraphs based on rough sets theory. Math. Biosci. Eng. MBE 2024, 21, 2626–2645. [Google Scholar] [CrossRef] [PubMed]
  35. Fu, S.; Wang, G.; **a, S.; Liu, L. Deep multi-granularity graph embedding for user identity linkage across social networks. Knowl.-Based Syst. 2020, 193, 105301. [Google Scholar] [CrossRef]
  36. Yan, R.; Bao, P.; Shen, H.; Li, X. Learning node representation via motif coarsening. Knowl.-Based Syst. 2023, 278, 110821. [Google Scholar] [CrossRef]
  37. Du, X.; Yu, F. A fast algorithm for mining temporal association rules in a multi-attributed graph sequence. Expert Syst. Appl. 2022, 192, 116390. [Google Scholar] [CrossRef]
  38. Cheng, D.; Li, Y.; **a, S.; Wang, G.; Huang, J.; Zhang, S. A fast granular-ball-based density peaks clustering algorithm for large-scale data. IEEE Trans. Neural Netw. Learn. Syst. 2023, 1–14. [Google Scholar] [CrossRef] [PubMed]
  39. Liu, S.; Liu, Y.; Yang, C.; Deng, L. Relative entropy of distance distribution based similarity measure of nodes in weighted graph data. Entropy 2022, 24, 1154. [Google Scholar] [CrossRef] [PubMed]
  40. Bang-Jensen, J.; Gutin, G. Digraphs: Theory, Algorithms and Applications; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2008. [Google Scholar]
  41. Davis, T.; Hu, Y. The university of florida sparse matrix collection. ACM Trans. Math. Softw. (TOMS) 2011, 38, 1–25. [Google Scholar] [CrossRef]
Figure 1. A digraph D and its SCCs (the subgraph (a) represents the digraph D without marking the SCCs with color. The subgraph (b) represents the digraph D marking the SCCs with color).
Figure 1. A digraph D and its SCCs (the subgraph (a) represents the digraph D without marking the SCCs with color. The subgraph (b) represents the digraph D marking the SCCs with color).
Mathematics 12 01723 g001
Figure 2. The changing curves of the speedup of four algorithms (FB, OBF, ISPAN, and GPSCC) compared to Tarjan on 12 datasets with different numbers of processors. (The x-axis represents the number of processors, while the y-axis represents the speedup against Tarjan).
Figure 2. The changing curves of the speedup of four algorithms (FB, OBF, ISPAN, and GPSCC) compared to Tarjan on 12 datasets with different numbers of processors. (The x-axis represents the number of processors, while the y-axis represents the speedup against Tarjan).
Mathematics 12 01723 g002
Figure 3. The proportion of time consumed to compute each SCC (each color block represents the proportion of time consumed to compute an SCC).
Figure 3. The proportion of time consumed to compute each SCC (each color block represents the proportion of time consumed to compute an SCC).
Mathematics 12 01723 g003
Figure 4. The time consumed by each processor for computing SCCs (case with 12 processors).
Figure 4. The time consumed by each processor for computing SCCs (case with 12 processors).
Mathematics 12 01723 g004
Figure 5. The proportion of resource loading and computing SCC time (the blue block represents the time proportion of resource loading, and the yellow block represents the time to compute SCCs).
Figure 5. The proportion of resource loading and computing SCC time (the blue block represents the time proportion of resource loading, and the yellow block represents the time to compute SCCs).
Mathematics 12 01723 g005
Table 1. Dataset information.
Table 1. Dataset information.
NumberDatasetsnmc
1DK01R90310,8633
2CollegeMsg189920,2966
3Kohonen377212,72911
4Poli3915418038
5EPA4271869526
6soc-sign-bitcoin-otc585135,41324
7EVA7253672410
8wiki-Vote8297103,6891
9FA10,61772,1729
10foldoc13,356120,2386
11poli-large15,57517,45816
12rim22,560101,4951
Table 2. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 2 processors.
Table 2. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 2 processors.
DatasetExecution Time (s) S t
TarjanFBOBFISPANGPSCCFBOBFISPANGPSCC
DK01R2.85480.05150.03830.03520.015955.433074.343881.1023179.5472
CollegeMsg12.84870.17280.13710.13340.060374.355993.717796.3171212.0796
Kohonen0.95960.36740.21000.33280.15042.61124.56952.88346.3803
Poli0.23940.06610.03780.03230.01463.61906.33337.411816.3973
EPA0.29910.09750.05570.04250.01923.06855.36987.037615.5781
soc-sign-bitcoin-otc0.33510.18170.10380.12300.05561.84483.22832.72446.0270
EVA0.57270.10520.06010.04780.02165.44529.529111.981226.5139
wiki-Vote0.88090.31260.17870.08340.03772.81694.929510.562423.3660
FA0.84420.22290.12740.16930.07653.78656.62644.986411.0353
foldoc0.25180.30770.17590.07330.03310.81801.43153.43527.6073
poli-large1.82871.33690.76400.16510.07461.36782.393611.076324.5134
rim1.87451.33900.76520.16150.07301.39982.449711.606825.6781
Bold font represents the optimal values.
Table 3. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 4 processors.
Table 3. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 4 processors.
DatasetExecution Time (s) S t
TarjanFBOBFISPANGPSCCFBOBFISPANGPSCC
DK01R2.89890.05520.04010.03530.018752.516372.298182.1218155.0214
CollegeMsg12.73020.17760.15790.13780.073071.679180.621992.3817174.3863
Kohonen0.97130.31260.18950.27660.14663.10645.12563.51166.6255
Poli0.24700.04900.02970.02300.01225.04038.316510.739120.2459
EPA0.27800.075950.04600.03110.01653.66276.04358.938916.8485
soc-sign-bitcoin-otc0.36060.14600.08850.10210.05412.46944.07463.53186.6654
EVA0.57290.08120.04920.03450.01837.057111.644316.605831.3036
wiki-Vote0.92790.21860.13250.06620.03514.24427.003014.016626.4359
FA0.82440.19550.11850.13100.06944.21636.95706.293111.8790
foldoc0.25350.18130.10990.04810.02551.39762.30665.27039.9412
poli-large1.95020.87430.52990.11150.05912.23043.680317.490632.9983
rim1.92970.86010.52130.11620.06162.24353.701716.606731.3263
Bold font represents the optimal values.
Table 4. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 6 processors.
Table 4. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 6 processors.
DatasetExecution Time (s) S t
TarjanFBOBFISPANGPSCCFBOBFISPANGPSCC
DK01R2.98740.05510.04320.03330.020554.217869.152889.7117145.7268
CollegeMsg12.95950.17890.15610.12290.075772.439983.0205105.4475171.1955
Kohonen1.01960.29440.19240.24960.15383.46365.29944.08496.6294
Poli0.24750.04330.02830.01850.01145.71608.745613.378421.7105
EPA0.29360.06080.03980.02390.01474.82147.376912.284519.9728
soc-sign-bitcoin-otc0.35670.12080.07900.08880.05472.95114.51524.01696.5210
EVA0.58220.06900.04510.02680.01658.437312.909121.723935.2848
wiki-Vote0.90360.18990.12420.05730.03534.75517.275415.769625.5977
FA0.82610.15530.10160.11950.07365.31438.13096.913011.2242
foldoc0.24540.14610.09550.03770.02321.67942.56966.509310.5776
poli-large1.93260.65500.42810.09250.05702.95064.514420.893033.9053
rim1.92840.65200.42610.08860.05462.95804.525721.765235.3187
Bold font represents the optimal values.
Table 5. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 8 processors.
Table 5. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 8 processors.
DatasetExecution Time (s) S t
TarjanFBOBFISPANGPSCCFBOBFISPANGPSCC
DK01R2.94320.05800.04490.02830.023250.744865.5501104.0000126.8621
CollegeMsg12.87070.17900.16520.10520.086471.903377.9098122.3451148.9664
Kohonen1.19720.21420.15190.17420.14305.58977.88156.87268.3720
Poli0.25870.03400.02420.01290.01067.581610.690120.054324.4057
EPA0.29040.04870.03460.01570.01295.95258.393118.496822.5116
soc-sign-bitcoin-otc0.34560.10620.07530.06360.05223.25344.58745.43406.6251
EVA0.57790.05950.04230.01890.01559.689313.661930.576737.2839
wiki-Vote0.93220.16720.11860.03950.03245.57447.860023.600028.7716
FA0.84540.17260.12240.08920.07324.89846.90699.477611.5492
foldoc0.25860.11740.08330.02560.02102.20173.104410.101612.3143
poli-large1.90930.51970.36860.05640.04633.67365.179933.852841.2376
rim1.94420.51500.36530.05710.04693.77465.322234.049041.4542
Bold font represents the optimal values.
Table 6. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 10 processors.
Table 6. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithms with 10 processors.
DatasetExecution Time (s) S t
TarjanFBOBFISPANGPSCCFBOBFISPANGPSCC
DK01R2.92560.05470.04230.02810.021353.484469.1631104.1139137.3521
CollegeMsg12.87660.17600.15440.10870.082373.162583.3977118.4600156.4593
Kohonen1.25560.20870.15230.19150.14506.01778.24436.55678.6593
Poli0.26510.03120.02280.01240.00948.487011.627221.379028.2021
EPA0.27910.04250.03110.01520.01156.55068.974318.361824.2696
soc-sign-bitcoin-otc0.35840.09470.06910.06900.05223.78595.18675.19246.8659
EVA0.56380.05360.03920.01800.013610.498214.382731.322241.4559
wiki-Vote0.91630.12820.09360.04280.03247.14569.789521.408928.2809
FA0.82610.12670.09250.09510.07206.51888.93088.686611.4736
foldoc0.24470.09430.06880.02390.01812.59613.556710.238513.5193
poli-large1.99510.45810.33440.05870.04444.35475.966033.988144.9165
rim2.03040.45240.33030.05930.04494.35495.966234.239544.9347
Bold font represents the optimal values.
Table 7. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithm with 12 processors.
Table 7. Comparison of the computational efficiency of the Tarjan, FB, OBF, ISPAN, and GPSCC algorithm with 12 processors.
DatasetExecution Time (s) S t
TarjanFBOBFISPANGPSCCFBOBFISPANGPSCC
DK01R2.93880.05260.04290.02420.021855.870768.5035121.2296134.8073
CollegeMsg13.09620.18140.16360.09510.085572.195180.0501137.7445153.1719
Kohonen1.31400.21400.15180.16340.14696.13918.65618.04398.9449
Poli0.24890.03050.02160.01010.00918.172411.523124.596827.3516
EPA0.28960.04070.02890.01290.01167.106910.020822.451024.9655
soc-sign-bitcoin-otc0.38700.08400.05960.05540.04984.60526.49336.98847.7711
EVA0.60990.05050.03580.01480.013312.082517.036341.238445.8571
wiki-Vote0.92180.13190.09360.03410.03076.98469.848327.001930.0261
FA0.85060.14430.10230.07470.06725.89708.314811.382912.6577
foldoc0.26290.08780.06220.01920.01732.99774.226713.665915.1965
poli-large1.92520.43720.31010.04770.04294.40316.208340.356544.8765
rim1.99010.42660.30250.04900.04414.66586.578840.581845.1270
Bold font represents the optimal values.
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

He, H.; Xu, T.; Chen, J.; Cui, Y.; Song, J. A Granulation Strategy-Based Algorithm for Computing Strongly Connected Components in Parallel. Mathematics 2024, 12, 1723. https://doi.org/10.3390/math12111723

AMA Style

He H, Xu T, Chen J, Cui Y, Song J. A Granulation Strategy-Based Algorithm for Computing Strongly Connected Components in Parallel. Mathematics. 2024; 12(11):1723. https://doi.org/10.3390/math12111723

Chicago/Turabian Style

He, Huixing, Taihua Xu, Jianjun Chen, Yun Cui, and **g**g Song. 2024. "A Granulation Strategy-Based Algorithm for Computing Strongly Connected Components in Parallel" Mathematics 12, no. 11: 1723. https://doi.org/10.3390/math12111723

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