scholarly journals GCLIQUE: An Open Source Genetic Algorithm for the Maximum Clique Problem

Author(s):  
Shalin Shah

<p>A clique in a graph is a set of vertices that are all connected to each</p><p>other. A maximum clique is a clique of maximum size. A graph may have</p><p>more than one maximum cliques. The problem of finding a maximum</p><p>clique is a strongly hard NP-hard problem. It is not possible to find an</p><p>approximation algorithm which finds a maximum clique that is a constant</p><p>factor of the optimum solution. In this work, we present a genetic algorithm</p><p>for the maximum clique problem that is able to find optimum or</p><p>close to optimum solutions to most DIMACS graphs. The genetic algorithm</p><p>uses new crossover mechanisms which are able to find reasonably</p><p>good cliques which can then be used in other applications downstream.</p><p>We also provide C++ code for our algorithm. Results show that our algorithm</p><p>is able to find maximum cliques for most DIMACS instances, and</p><p>if not, close to optimum solutions for the other instances.</p>

2020 ◽  
Author(s):  
Shalin Shah

<p>A clique in a graph is a set of vertices that are all connected to each</p><p>other. A maximum clique is a clique of maximum size. A graph may have</p><p>more than one maximum cliques. The problem of finding a maximum</p><p>clique is a strongly hard NP-hard problem. It is not possible to find an</p><p>approximation algorithm which finds a maximum clique that is a constant</p><p>factor of the optimum solution. In this work, we present a genetic algorithm</p><p>for the maximum clique problem that is able to find optimum or</p><p>close to optimum solutions to most DIMACS graphs. The genetic algorithm</p><p>uses new crossover mechanisms which are able to find reasonably</p><p>good cliques which can then be used in other applications downstream.</p><p>We also provide C++ code for our algorithm. Results show that our algorithm</p><p>is able to find maximum cliques for most DIMACS instances, and</p><p>if not, close to optimum solutions for the other instances.</p>


2020 ◽  
Author(s):  
Shalin Shah

<p>A clique in a graph is a set of vertices that are all directly connected</p><p>to each other i.e. a complete sub-graph. A clique of the largest size is</p><p>called a maximum clique. Finding the maximum clique in a graph is an</p><p>NP-hard problem and it cannot be solved by an approximation algorithm</p><p>that returns a solution within a constant factor of the optimum. In this</p><p>work, we present a simple and very fast randomized algorithm for the</p><p>maximum clique problem. We also provide Java code of the algorithm</p><p>in our git repository. Results show that the algorithm is able to find</p><p>reasonably good solutions to some randomly chosen DIMACS benchmark</p><p>graphs. Rather than aiming for optimality, we aim to find good solutions</p><p>very fast.</p>


2020 ◽  
Author(s):  
Shalin Shah

<p>A clique in a graph is a set of vertices that are all directly connected</p><p>to each other i.e. a complete sub-graph. A clique of the largest size is</p><p>called a maximum clique. Finding the maximum clique in a graph is an</p><p>NP-hard problem and it cannot be solved by an approximation algorithm</p><p>that returns a solution within a constant factor of the optimum. In this</p><p>work, we present a simple and very fast randomized algorithm for the</p><p>maximum clique problem. We also provide Java code of the algorithm</p><p>in our git repository. Results show that the algorithm is able to find</p><p>reasonably good solutions to some randomly chosen DIMACS benchmark</p><p>graphs. Rather than aiming for optimality, we aim to find good solutions</p><p>very fast.</p>


Sign in / Sign up

Export Citation Format

Share Document