Encontrando todas as cliques maximais de tamanho "n"
Agora que você explorou triângulos (e triângulos abertos), vamos avançar para o conceito de cliques maximais. Cliques maximais são cliques que não podem ser estendidos adicionando uma aresta adjacente, e são uma propriedade útil do grafo na hora de encontrar comunidades. O NetworkX fornece uma função que permite identificar os nós envolvidos em cada clique maximal em um grafo: nx.find_cliques(G). Experimente a função usando T no IPython Shell e, em seguida, tente responder ao exercício.
Este exercício faz parte do curso
Introdução à Análise de Redes em Python
Instruções do exercício
- Escreva uma função
maximal_cliques()com dois parâmetros —Gesize— que encontre todas as cliques maximais de tamanhon.- No loop
for, itere por todas as cliques emGusando a funçãonx.find_cliques(). - Se a clique atual tiver tamanho
size, adicione-a à listamcs.
- No loop
- Use uma instrução assert e sua função
maximal_cliques()para verificar que existem33cliques maximais de tamanho3no grafoT.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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 ____ == ____