ComenzarEmpieza gratis

Encontrar todas las cliques máximas de tamaño "n"

Ahora que has explorado triángulos (y triángulos abiertos), pasemos al concepto de cliques máximas. Las cliques máximas son cliques que no pueden ampliarse añadiendo una arista adyacente, y son una propiedad útil del grafo al buscar comunidades. NetworkX proporciona una función que te permite identificar los nodos implicados en cada clique máxima de un grafo: nx.find_cliques(G). Prueba la función utilizándola con T en el IPython Shell y luego intenta resolver el ejercicio.

Este ejercicio forma parte del curso

Introducción al análisis de redes en Python

Ver curso

Instrucciones del ejercicio

  • Escribe una función maximal_cliques() que tenga dos parámetros — G y size — y encuentre todas las cliques máximas de tamaño n.
    • En el bucle for, itera sobre todas las cliques en G usando la función nx.find_cliques().
    • Si la clique actual tiene tamaño size, añádela a la lista mcs.
  • Usa una instrucción assert y tu función maximal_cliques() para comprobar que hay 33 cliques máximas de tamaño 3 en el grafo T.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 ____ == ____
Editar y ejecutar código