크기가 "n"인 모든 최대 clique 찾기
이제 삼각형(그리고 열린 삼각형)까지 살펴보셨으니, 최대 clique 개념으로 넘어가 보겠습니다. 최대 clique는 인접한 간선을 더해 확장할 수 없는 clique를 말하며, 커뮤니티를 찾을 때 그래프의 유용한 속성입니다. NetworkX에는 그래프에서 각 최대 clique에 포함된 노드를 찾아주는 함수 nx.find_cliques(G)가 있습니다. IPython Shell에서 T에 대해 이 함수를 직접 사용해 보시고, 이어서 연습 문제를 풀어 보세요.
이 연습은 강의의 일부입니다
Python으로 시작하는 네트워크 분석
연습 안내
G와size두 매개변수를 받는 함수maximal_cliques()를 작성해 크기가n인 모든 최대 clique를 찾으세요.for반복문에서nx.find_cliques()함수를 사용해G의 모든 clique를 순회하세요.- 현재 clique의 크기가
size이면 리스트mcs에 추가하세요.
assert문과 작성한maximal_cliques()함수를 사용해 그래프T에 크기가3인 최대 clique가33개 있는지 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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 ____ == ____