Как мне использовать этот итератор? - PullRequest
0 голосов
/ 29 сентября 2019

Я уже построил график и скачал этот код об алгоритме Брон-Кербоша для нахождения всех максимальных кликов в графе, но я не знаю, как его использовать.Код загружен здесь: https://github.com/donfaq/max_clique

import networkx as nx
def bronk(graph, P, R=set(), X=set()):
    '''
    Implementation of Bron–Kerbosch algorithm for finding all maximal cliques in graph
    '''
    if not any((P, X)):
        #print(R)
        yield R
    for node in P.copy():
        for r in bronk(graph, P.intersection(graph.neighbors(node)),
                       R=R.union(node), X=X.intersection(graph.neighbors(node))):
            yield r
        P.remove(node)
        X.add(node)

1 Ответ

0 голосов
/ 29 сентября 2019

Если у вас есть graph, вы можете запустить алгоритм Броня-Кербоша и получить максимальный клик:

for max_clique in bronk(graph, set(graph.nodes)):
    print(max_clique)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...