Press "Enter" to skip to content

カテゴリー: グラフ理論

Go言語で GraphML をパースする

このブログでは今まで、グラフの出力形式に edgelist を使ってきました。この edgelist は csv のような形で処理できるのでシンプルで良かったのですが、最近扱うグラフが複雑化してきたので別のファイル形式に変更しようと決めました。 調べてみると、複雑なグラフを記述するのには Graph…

gonum graph を用いて Ego Graph を求める

Ego Graph は Neighborhood Graph とも呼ばれるもので、グラフGの中からノードを1つ選び、そのノードから距離 k までの範囲に含まれるノードの集合で構成されるグラフのことになります。 たとえば このグラフでノード0に関して、1ホップまでの範囲内にあるグラフは となります。 …

gonum graph の使い方(Go言語でグラフ理論)

Go言語でグラフ理論のグラフを扱うパッケージには gonum があります。しかしリファレンスには単純な GoDoc しか用意されていないみたいでして、初めて使おうとするときにはちょっと困ります。 graph/simple と graph/multi どうやって使えばよいのかわからないという疑問を抱い…

NetworkX のグラフ描画における座標の自動生成

グラフ理論におけるグラフは基本的にはトポロジが重要なので、ノードの座標情報については特に定義がありません。一方でグラフを描画するときは、ノードの座標情報がなければ描画時にそもそも筆をすすめることができなくなるため座標情報は必須です。 私はこの「ネットワーク自体には座標情報は存在しないけれど、描画をす…