Approximately solves the maximum clique problem via a greedy heuristic.
Vertices are greedily added to the clique based on their degree of connectivity. The algorithm initializes the clique with an empty set and makes every vertex a candidate, then the degree of every vertex is computed and the candidate vertex with the highest degree is added to the clique. Afterwards, new candidate list is updated and the previous two steps are repeated until no candidates are left.
#include <drake/planning/graph_algorithms/max_clique_solver_via_greedy.h>
Public Member Functions | |
MaxCliqueSolverViaGreedy ()=default | |
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable | |
MaxCliqueSolverViaGreedy (const MaxCliqueSolverViaGreedy &)=default | |
MaxCliqueSolverViaGreedy & | operator= (const MaxCliqueSolverViaGreedy &)=default |
MaxCliqueSolverViaGreedy (MaxCliqueSolverViaGreedy &&)=default | |
MaxCliqueSolverViaGreedy & | operator= (MaxCliqueSolverViaGreedy &&)=default |
Public Member Functions inherited from MaxCliqueSolverBase | |
virtual | ~MaxCliqueSolverBase () |
VectorX< bool > | SolveMaxClique (const Eigen::SparseMatrix< bool > &adjacency_matrix) const |
Given the adjacency matrix of an undirected graph, find the maximum clique within the graph. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from MaxCliqueSolverBase | |
MaxCliqueSolverBase ()=default | |
MaxCliqueSolverBase (const MaxCliqueSolverBase &)=default | |
MaxCliqueSolverBase & | operator= (const MaxCliqueSolverBase &)=default |
MaxCliqueSolverBase (MaxCliqueSolverBase &&)=default | |
MaxCliqueSolverBase & | operator= (MaxCliqueSolverBase &&)=default |
|
default |
|
default |
|
default |
|
default |
|
default |