ランダム正則グラフを作る
- ランダム正則グラフの隣接行列の作成方法がWikipediaにある(こちら)
- 次数rの正則グラフが、頂点数nだとする
- 今、個のアイテムをn個のバケツにr個ずつ入れる
- N個のアイテムを2個ずつのペアにする
- このようにすると、頂点数Nのr正則グラフができるが、このr正則グラフは特別な正則グラフで、すべての頂点は次数rのクリークに帰属することになる(バケツがクリークに対応する)
- これを頂点数nのグラフにするべく、同一バケツのr個のアイテムを1つのノードとみなす
- これにより、すべてのバケツからr個の手が伸びた状態となり、これがランダムr正則グラフ
- ただし、この方法だと、自己ノードへの辺(ループ)ができたり、ノード間に複数のエッジが引かれたりするので、そのような場合を避けたい場合には、できたグラフを判定し、不適切な場合は作り直すことになる