Алгоритм Брона - Кербоша – один из эффективных вариантов поиска клик.
Алгоритм основан на том, что клика в графе является его максимальным по включению полным подграфом. На каждом шаге, начиная с одной вершины в уже построенный полный подграф, добавляется вершина из множества кандидатов. При этом при переборе вершины, которые заведомо не приведут к построению клики отбрасываются.
Алгоритм Брона - Кербоша
Вход: G=(V, A) - неориентированный граф.
Выход: CL – клика.
Процедура ПОИСК(cand, notcand)
ПОКА cand != ∅ И notcand не содержит вершины, соединенной со всеми вершинами из cand
Выбираем v из cand и добавляем её в CL += v;
newcand = cand - все вершины, не соединенные с v;
newnotcand = notcand - все вершины, не соединенные с v;
ЕСЛИ newcand != ∅ и notcand != ∅ ТО
ВЫХОД;
ИНАЧЕ ПОИСК(newcand, notcand)
CL -= v; cand -= v; notcand += v.
Алгоритм АБК
CL={}; cand=V; notcand = {}; newcand = {}; newnotcand = {};
ПОИСК (cand, notcand)