시작하기무료로 시작하기

크기가 "n"인 모든 최대 clique 찾기

이제 삼각형(그리고 열린 삼각형)까지 살펴보셨으니, 최대 clique 개념으로 넘어가 보겠습니다. 최대 clique는 인접한 간선을 더해 확장할 수 없는 clique를 말하며, 커뮤니티를 찾을 때 그래프의 유용한 속성입니다. NetworkX에는 그래프에서 각 최대 clique에 포함된 노드를 찾아주는 함수 nx.find_cliques(G)가 있습니다. IPython Shell에서 T에 대해 이 함수를 직접 사용해 보시고, 이어서 연습 문제를 풀어 보세요.

이 연습은 강의의 일부입니다

Python으로 시작하는 네트워크 분석

강의 보기

연습 안내

  • Gsize 두 매개변수를 받는 함수 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 ____ == ____
코드 편집 및 실행