z-logo
open-access-imgOpen Access
List all Maximal Cliques of an Undirected Graph: A Parallable Algorithm
Author(s) -
Xian-Sheng Hua,
Maosheng Zhong,
Qun Liu,
Mingwen Wang
Publication year - 2020
Publication title -
iop conference series. materials science and engineering
Language(s) - English
Resource type - Journals
eISSN - 1757-899X
pISSN - 1757-8981
DOI - 10.1088/1757-899x/790/1/012076
Subject(s) - computer science , thread (computing) , undirected graph , algorithm , time complexity , graph , theoretical computer science , operating system
Listing all the maximal cliques of an undirected graph is considered as a NP-complete problem, even if the existing fastest algorithm for listing all the maximal cliques also needs an exponential time complexity, and these algorithms are not able to be reconstructed into parallel processing algorithms, therefore, which are also unsuited to solve all maximal cliques of a complex undirected graph with a large number of maximal cliques or vertices. This paper aims to develop a parallable algorithm for listing all maximal cliques of the large size complex undirected graph. Firstly we gave some definitions, including adjacent sub-graph, suspended sub-graph and so on, then adopted a partition and recursive strategy to partition equivalently a parent-graph into smaller sub-graphs, so we can get all maximal cliques of parent-graph by recursively listing all maximal cliques of sub-graphs. we have developed a single-thread and a multi-thread program of the algorithm by using Java language. Lastly, we compared the performance of our algorithm in a benchmark data set DIMACS with the existing main algorithms. The results show that our single-thread program is basically equivalent performance with existing algorithms, but the multi-thread program has better performance than the existing algorithms. Because our method is to divide the complex problem into some smaller sub-problems and achieve the solution of the original problem by solving these sub-problems, our algorithm is easy to be implemented by using multi-thread, and also easy to be expanded to the parallel algorithm, which has better feasibility and practicability in solving the large scale complex graph.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here