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
Instrucciones del ejercicio
- Escribe una función
maximal_cliques()que tenga dos parámetros —Gysize— y encuentre todas las cliques máximas de tamañon.- En el bucle
for, itera sobre todas las cliques enGusando la funciónnx.find_cliques(). - Si la clique actual tiene tamaño
size, añádela a la listamcs.
- En el bucle
- Usa una instrucción assert y tu función
maximal_cliques()para comprobar que hay33cliques máximas de tamaño3en el grafoT.
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 ____ == ____