IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Scrivi una funzione maximal_cliques() che ha due parametri - G e size - e trova tutte le clique massimali di dimensione n.
    • Nel ciclo for, itera su tutte le clique in G usando la funzione nx.find_cliques().
    • Se la clique corrente ha dimensione size, aggiungila alla lista mcs.
  • Usa un'istruzione assert e la tua funzione maximal_cliques() per verificare che ci siano 33 clique massimali di dimensione 3 nel grafo T.

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 ____ == ____
Modifica ed esegui il codice