Skip to content

graph-tool #

Find similar titles

4회 업데이트 됨.

Edit
  • 최초 작성자
    Hyungyong Kim
  • 최근 업데이트
    Dragon

Structured data

Category
Programming

Graph-tool은 Graph 혹은 Network 데이터를 다루기 위한 효율적인 파이썬 모듈이다. 핵심 알고리즘은 C++로 작성되어 있으며, 성능을 위해 Boost Graph Library를 사용한다. 웹사이트는 https://graph-tool.skewed.de 이다.

주요 특징 #

  1. 파이썬 모듈이지만 핵심 알고리즘은 C++로 구성되어 매우 빠르게 동작한다.
Algorithm graph-tool (4 cores) graph-tool (1 core) igraph NetworkX
Single-source shortest path 0.0064 s 0.0063 s 0.012 s 0.127 s
PageRank 0.193 s 0.555 s 0.781 s 34.26 s
K-core 0.0205 s 0.0250 s 0.0181 s 0.9586 s
Minimum spanning tree 0.0268 s 0.0296 s 0.0397 s 0.413 s
Betweenness 579.7 s (~9.6 mins) 1977.6 s (~33 mins) 1182.6 s (~19.7 mins) 53716.692 s (~14.9 hours)

(알고리즘별 속도 비교)

  1. OpenMP를 지원한다. 따라서 멀티코어 환경에서 보다 나은 성능을 확보할 수 있다.

  2. 다양한 확장 기능을 갖고 있다. GraphML, GML, dot과 같은 형식을 입출력 할 수 있으며 다음과 같은 다양한 그래프 기본 통계 계산이 가능하다.

    • Degree/property histogram
    • Vertex correlations
    • Average shortest distance
    • Centrality measures
    • Standard topological algorithms (isomorphism, minimum spanning tree, connected components, dominator tree, maximum flow etc.)
    • Generation of random graph
  3. 강력한 가시화기능 지원 - cairoGTK+와 연동되는 인터렉티브 가시화 도구를 갖고 있으며 Graphviz 패키지와 효과적으로 연동된다.

Suggested Pages #

0.0.1_20230725_7_v68