昨日の続き。昨日の実験で見つかった「38万9288ノード」というのはそれで全部ではなかったことがわかった。 その後、同じ条件のままもう一回、そしてスタートノードだけを変えて2回実験したところ、発見できたノード数は以下の表のとおりになった。
開始時刻 | 経過時間 | ノード数 |
---|---|---|
17日(祝日)午前4時40分 | 3時間22分 | 388,994 |
17日(祝日)午前8時45分 | 2時間56分 | 343,001 |
17日(祝日)午前11時51分 | 5時間02分 | 581,856 |
同じスタートノードから実行した場合、ほとんど同じ結果になった。グラフにすると、発見ノードが急増する特徴も同じように現れ、そのタイミングがわずかに前後しているものの、同じように10万弱と、20万弱のノードが見つかったタイミングで起きていた。この現象が起きる原因やタイミングは、予想と異なり、偶然に左右されにくいのかもしれない。
次に、無作為に選んだノードにスタートノードを変更して実験したところ、34万ノードしか巡回できなかった。発見ノードが急増するタイミングはほぼ同じだった。急に4万ノードがシャットダウンしたとは考えにくく、なぜこうなったのかわからない。
さらにもう一度、無作為に選んだノードにスタートノードを変更して実験したところ、今度は図1の結果となり、58万ノードに達した。同様に 10万弱と20万弱ノードあたりで急増現象が見られ(ただしタイミングが早かった)、3時間が経過した時点では、前回同様に 3時間20分あたりで 39万ノードで終わるように見えた。しかし、予想された終了時刻の直前になって発見ノードが急増する現象が起き、58万ノードが見つかった。
このような急増現象がいつ起きるかわからないので、「これでほぼ全部」と言えそうにない。このケースでも、5時間経過時点でノード数は十分にサチっておらず、単にノードの消費(緑のプロット)が速過ぎたから終わっただけと言うべきのようだ。
現在のアルゴリズムでは接続を30秒で打ち切るようにしているが、これをもっと長くすると、得られるノード数が増加し、ノードの消費速度は遅くなるので、緑の曲線が赤の曲線に追いつきにくくなると考えられ、より確かに全体を巡回しやすくなるように思われる。しかし、全体の実行時間が長くなるため、稼動ノード数のスナップショットとしては不正確さが増してしまう(もし24時間かかるようであれば、午前と午後の比較ができない)。
今後の方向性として次が考えられる。
上記には誤りがあり、18日の日記で訂正した。