Găsirea tuturor clicelor maximale de dimensiunea „n"
Acum că ai explorat triunghiurile (și triunghiurile deschise), hai să trecem la conceptul de clice maximale. Clicele maximale sunt clice care nu pot fi extinse prin adăugarea unei muchii adiacente și reprezintă o proprietate utilă a grafului atunci când identifici comunități. NetworkX oferă o funcție care îți permite să identifici nodurile implicate în fiecare clică maximală dintr-un graf: nx.find_cliques(G). Experimentează cu această funcție aplicând-o pe T în IPython Shell, apoi încearcă să rezolvi exercițiul.
Acest exercițiu face parte din cursul
Introducere în analiza rețelelor în Python
Instrucțiuni pentru exercițiu
- Scrie o funcție
maximal_cliques()cu doi parametri –Gșisize– care găsește toate clicele maximale de dimensiunean.- În bucla
for, iterează peste toate clicele dinGfolosind funcțianx.find_cliques(). - Dacă clica curentă are dimensiunea
size, adaug-o la listamcs.
- În bucla
- Folosește o instrucțiune
assertși funcțiamaximal_cliques()pentru a verifica că există33de clice maximale de dimensiune3în grafulT.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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 ____ == ____