Hledání všech maximálních klik velikosti "n"
Teď, když jsi prozkoumal/a trojúhelníky (a otevřené trojúhelníky), pojďme se podívat na koncept maximálních klik. Maximální kliky jsou takové kliky, které nelze rozšířit přidáním sousední hrany – jsou to užitečné vlastnosti grafu při hledání komunit. NetworkX nabízí funkci, která ti umožní identifikovat uzly patřící do každé maximální kliky v grafu: nx.find_cliques(G). Vyzkoušej si tuto funkci na grafu T v IPython Shellu a pak se pusť do cvičení.
Toto cvičení je součástí kurzu
Úvod do analýzy sítí v Pythonu
Pokyny k cvičení
- Napiš funkci
maximal_cliques()se dvěma parametry –Gasize– která najde všechny maximální kliky velikostin.- Ve smyčce
foriteruj přes všechny kliky vGpomocí funkcenx.find_cliques(). - Pokud má aktuální klika velikost
size, přidej ji do seznamumcs.
- Ve smyčce
- Pomocí příkazu
asserta své funkcemaximal_cliques()ověř, že v grafuTexistuje33maximálních klik velikosti3.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Define maximal_cliques()
def ____:
"""
Finds all maximal cliques in graph `G` that are of size `size`.
"""
mcs = []
for clique in ____:
if ____ == ____:
____
return mcs
# Check that there are 33 maximal cliques of size 3 in the graph T
assert ____ == ____