Trovare tutte le clique massimali di dimensione "n"
Ora che hai esplorato i triangoli (e i triangoli aperti), passiamo al concetto di clique massimali. Le clique massimali sono clique che non possono essere estese aggiungendo un arco adiacente e sono una proprietà utile del grafo per individuare le comunità. NetworkX fornisce una funzione che ti permette di identificare i nodi coinvolti in ogni clique massimale in un grafo: nx.find_cliques(G). Fai qualche prova con la funzione usandola su T nella IPython Shell, poi prova a rispondere all'esercizio.
Questo esercizio fa parte del corso
Introduzione all'analisi delle reti in Python
Istruzioni dell'esercizio
- Scrivi una funzione
maximal_cliques()che ha due parametri -Gesize- e trova tutte le clique massimali di dimensionen.- Nel ciclo
for, itera su tutte le clique inGusando la funzionenx.find_cliques(). - Se la clique corrente ha dimensione
size, aggiungila alla listamcs.
- Nel ciclo
- Usa un'istruzione assert e la tua funzione
maximal_cliques()per verificare che ci siano33clique massimali di dimensione3nel grafoT.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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 ____ == ____