MaxClique

A parallel exact algorithm for finding maximum cliques in undirected graphs (MaxCliquePara) has been developed. It can efficiently balance its work over multiple cores of a single computer, by traversing multiple search tree branches at the same time. The algorithm has been evaluated on DIMACS graphs and on a set of protein product graphs. The max independent set problem has also been implemented by extending the code for max clique problem.

Sequential and parallel algorithm flow
Sequential and parallel algorithm flow

One of the traditional ways of solving the maximum common induced subgraph problem is by reduction to a maximum clique problem. Although the maximum clique problem can be solved by a modern branch-and-bound based algorithm for general graphs, such approach is far from optimal. Some special properties of the product graph can be exploited to guide the maximum clique search. Namely, the modern state-of-the-art clique search programs use coloring as auxiliary algorithm, but finding a good coloring of a graph itself a hard task. This is supported by a published extension to the developed code. The nature of the product graph has been exploited to provide the maximum clique algorithm with a very good initial coloring or even multiple such colorings. Experiments on a large database of small to medium sized graphs have been performed and demonstrated the efficiency of the proposed method against a state of the art method for solving maximum common subgraph problem.

Example of protein graphs, where max-clique algorithm can be used in search for similar sub-structures.
Example of protein graphs, where max-clique algorithm can be used in search for similar sub-structures.

We are further developing this algorithm and creating a generalized C++ template system, which can be used to develop own maximum clique and related algorithms. The algorithms for finding k-cliques and all maximal cliques have already been developed using this template system.

Resources

Code
Code

Code
Code

Code
Code

Related projects

Graph Optimisation and Big Data
Graph Theory and Combinatorial Scientific Computing
Core research programme P2-0095

P-Lab team


Publications

M. Depolli, S. Szabo, B. Zavalnij; An improved maximum common induced subgraph solver, Match : communications in mathematical and in computer chemistry, vol. 84, 2020 [COBISS: 15824131] ::
M. Depolli, J. Konc, S. Szabó, B. Zavalnij; Usage of hereditary colorings of product graphs in clique search programs, Middle-European Conference on Applied Theoretical Computer Science (MATCOS 2016) : zbornik 19. mednarodne multikonference Informacijska družba - IS 2016, 12.-13. oktober 2016, [Ljubljana, Slovenija], 2016 [COBISS: 29895975]
M. Depolli, J. Konc, K. Rozman, R. Trobec, D. Janežič; Exact parallel maximum clique algorithm for general and protein graphs, Journal of chemical information and modeling, vol. 53, 2013 [DOI: 10.1021/ci4002525][COBISS: 5297690] ::
J. Konc, M. Depolli, R. Trobec, K. Rozman, D. Janežič; Parallel-ProBiS : fast parallel algorithm for local structural comparison of protein structures and binding sites, Journal of computational chemistry, vol. 33, 2012 [DOI: 10.1002/jcc.23048][COBISS: 4993050] ::