このブログでは今まで、グラフの出力形式に edgelist を使ってきました。この edgelist は csv のような形で処理できるのでシンプルで良かったのですが、最近扱うグラフが複雑化してきたので別のファイル形式に変更しようと決めました。 調べてみると、複雑なグラフを記述するのには Graph…
このブログでは今まで、グラフの出力形式に edgelist を使ってきました。この edgelist は csv のような形で処理できるのでシンプルで良かったのですが、最近扱うグラフが複雑化してきたので別のファイル形式に変更しようと決めました。 調べてみると、複雑なグラフを記述するのには Graph…
Ego Graph は Neighborhood Graph とも呼ばれるもので、グラフGの中からノードを1つ選び、そのノードから距離 k までの範囲に含まれるノードの集合で構成されるグラフのことになります。 たとえば このグラフでノード0に関して、1ホップまでの範囲内にあるグラフは となります。 …
Go言語でグラフ理論のグラフを扱うパッケージには gonum があります。しかしリファレンスには単純な GoDoc しか用意されていないみたいでして、初めて使おうとするときにはちょっと困ります。 graph/simple と graph/multi どうやって使えばよいのかわからないという疑問を抱い…
グラフ理論におけるグラフは基本的にはトポロジが重要なので、ノードの座標情報については特に定義がありません。一方でグラフを描画するときは、ノードの座標情報がなければ描画時にそもそも筆をすすめることができなくなるため座標情報は必須です。 私はこの「ネットワーク自体には座標情報は存在しないけれど、描画をす…
NetworkX の使い方がいまいちピンと来ず、そもそも NetworkX がグラフという抽象概念をどうやってコードに落とし込んでいるのか気になってしまったのでソースを読んで見ました。 NetworkX ソース : https://github.com/networkx/networkx グラフの概…