Какой алгоритм использует clique_number? - PullRequest
0 голосов
/ 11 мая 2018

Какой алгоритм лежит в основе функции python-igraph clique_number () ? Очевидно, это не метод грубой силы, учитывая его хорошую производительность.

Кажется, что даже нажатие на ссылку "исходный код" не раскрывает ее. Это объясняется где-то в документации?

1 Ответ

0 голосов
/ 11 мая 2018

clique_number соответствует C igraph_clique_number, с наихудшей сложностью O (3 ^ (| V | / 3)).igraph_clique_number перебирает все максимальные клики и находит самый большой размер.

Алгоритм, используемый для нахождения всех максимальных кликов, зависит от версии. документы для связанных igraph_maximal_cliques скажем

В текущей реализации используется модифицированный алгоритм Брон-Кербоша для поиска максимальных кликов, см .: Дэвид Эппштейн, Мартен Лёффлер, Даррен Страш: Перечисление всех максимальных кликов в разреженных графах за почти оптимальное время.Алгоритмы и вычисления, Конспект лекций в области компьютерных наук, том 6506, 2010, стр. 403-414.

Реализация этой функции изменялась между игрой 0,5 и 0,6, а также между 0,6 и 0,7, поэтому порядок кликов ипорядок вершин в кликах почти наверняка будет отличаться между этими тремя версиями.

...