Skip to content

グラフ

グラフの種類

  • 完全グラフ
  • スター
  • 2部グラフ
  • K正則グラフ
  • 隣接行列がブロック行列的なやつ
    • m個頂点で1つの頂点とみなし(倍化)、辺はすべての頂点同士をつなぐ
    • (ハイパーグラフ?)
  • 名称のあるグラフのギャラリー(wikipedia)

ラベルあり/ラベルなし

ラベルなしグラフの生成(enumeration of unlabeled graphs)

  • N-1頂点のラベルなしグラフに1頂点を追加するような感じで生成すると、N=8,9あたりで分や時間オーダーになってしまう

ラベルなしグラフの同型判定

連結判定、連結を保って〜

  • UnionFind、BFS
  • 関節点(LowLink)
    • その頂点を削除すると非連結になる頂点
    • グリッドの場合、周囲の3x3マスの状態を見ることで、簡易判定(高速化)
  • 木構造で、ある2頂点をつないで、その頂点からDFSでサイクルを見つけて、サイクル上の任意の1辺を削除すると別の木構造が得られる

燃やす埋める

最大クリーク

次数列からグラフ生成

TSP

最短距離

Single-Source Shortest Path(SSSP)

近似/差分更新/高速化

  • 木構造
    • AHC017
      • Shortest Path Tree
      • 最短経路差分でグラフを作ってBFS
      • など

All-pair Shortest Path(APSP)

Astar

双方向BFS

コミュニティ抽出