369 개의 노드와 22,724 개의 가장자리를 가진 중형의 크기가 크고 밀도가 높은 모든 그래프를 찾고 싶었습니다. 파이썬 인터페이스를 통해 우선 단순히라는 igraph의 Graph.cliques()
방법 :igraph의 cliques() 메소드 순서가 justTheCliques보다 느린 이유는 무엇입니까?
cliques = graph.cliques()
아직 실행중인 및 i7-4600U 코어보다 3 시간 순 CPU 시간을 소비했다. 그래서 나는 다른 가능성을 돌보고 몇 년 전에 이미 사용한 멋진 코드를 기억했다. 그것은 justTheCliques라고 불리며 여기에서 사용할 수 있습니다 : https://github.com/aaronmcdaid/MaximalCliques. 설명은 말한다 :
이justTheCliques edge-list > cliques
내가 사랑하는 igraph :
는 에지리스트
에 브론 - Kerbosch 알고리즘이 알고리즘을 실행하면 몇 초 내에서 동일한 그래프에 결과를 제공을 실행 , 그리고 나는이 사실을 알기를 원합니다.이 뒤에있는 근본적인 이유는 무엇입니까? 이 그래프는 다른 알고리즘을 사용합니까? 결과는 동일해야합니까?
graph.cliques()'목록 * 모든 * 그래프의 파벌, justTheCliques는 최대 * 파벌만을 나열합니다. 최대 파벌 만 필요하면'graph.maximal_cliques()'를 사용하십시오.이 그래프는 justTheCliques만큼 빠릅니다. 'graph.cliques()'의 출력 크기는 기하 급수적으로 커지기 때문에 계산하는데 더 많은 시간이 걸리는 것은 당연합니다. –