2部グラフの同型の判定(2)

9人目

今まで8人同士のカプリングを考えてきたが、
今度は9人で考える。
このとき、64ビットで表せなくなるので、
配列を使う。

結果

メモリが足りなかった。

もう一工夫

女の方の並びのことをほとんど考えていなかったので、
ちょっとだけ工夫する。


行列の1行目の1は全て左に持ってくる。

結果

8人のときの場合の数は、


2人目 3 → 3
3人目 10 → 10
4人目 60 → 47
5人目 549 → 297
6人目 7042 → 2397
7人目 114889 → 24974
8人目 2266243 → 315401


こんな単純なことで劇的に減った。
これならいけるかも。

9人のときの結果

場合の数は、


2人目 3
3人目 10
4人目 47
5人目 298
6人目 2412
7人目 25342
8人目 332400
9人目 5220425


1つあたりのメモリ消費量はかなり増えているはずだが、
これならいける。


求める確率


603261247680/36^8(≒0.213838265)

10人のときの結果

実は、アルゴリズムを少し変えれば
10人のときも時間はかかるけれど
9人のときと同じメモリで計算できる。


求める確率


123431964951960/45^9(≒0.163122932)