Aan de slagGa gratis aan de slag

Alle maximale cliques van grootte "n" vinden

Nu je driehoeken (en open driehoeken) hebt verkend, gaan we door naar het concept van maximale cliques. Maximale cliques zijn cliques die niet kunnen worden uitgebreid door een aangrenzende rand toe te voegen, en zijn een nuttige eigenschap van de graaf bij het vinden van communities. NetworkX biedt een functie waarmee je de knopen kunt identificeren die bij elke maximale clique in een graaf horen: nx.find_cliques(G). Experimenteer met de functie door deze op T te gebruiken in de IPython Shell en beantwoord daarna de oefening.

Deze oefening maakt deel uit van de cursus

Introductie tot netwerkanalyse in Python

Cursus bekijken

Oefeninstructies

  • Schrijf een functie maximal_cliques() met twee parameters — G en size — die alle maximale cliques van grootte n vindt.
    • Doorloop in de for-lus alle cliques in G met de functie nx.find_cliques().
    • Als de huidige clique de grootte size heeft, voeg deze dan toe aan de lijst mcs.
  • Gebruik een assert-statement en je functie maximal_cliques() om te controleren dat er 33 maximale cliques van grootte 3 zijn in de graaf T.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 ____ == ____
Code bewerken en uitvoeren