(単純な)暗号の総当り解読と一番違うのは,ある部分で探索された結果が他の部分の探索に影響を与えることだと思います.(直感的な説明をすると)ある手 A が良い手だとわかった場合には,他の手 B がそれ程良くないとわかった場合には B を読まなくて済むことが多くあります.一方で並列に A と B を読んでしまうと A での情報を B では使えないため,B での探索の効率が悪くなります. #A を読んだ後に B を読めば,時間が 1 + 0.5 で 1.5 となるところ #A と B を同時に読んでしまうと各 CPU がそれぞれ 1 読むことになる
当然,1.5 より 1 の方が時間は短かいですから CPU を増やした方が良いことは良いのですが,増やせば増やす程効用は減って行きます.なので暗号の総当たりのようにはいでしょうねぇ. #当然,現在トップレベルのプログラムはほとんど並列化はしているようです
マシンスペック (スコア:2, 参考になる)
チェスの時には専用スパコン [wikipedia.org]でしたから、だいぶ大人しいスペックですね。
もしスパコンを使っていたら、勝負はどうなっていたんでしょうか。
スパコン向けにアルゴリズムから組み直さなければいけないのかもしれませんけど。
Re:マシンスペック (スコア:0, 余計なもの)
Re:マシンスペック (スコア:0)
Re:マシンスペック (スコア:5, 興味深い)
限られたリソース(CPUやメモリ、時間)の中ではすべての手を読むことができない以上、どこかで先読みに見切りをつける必要があるわけですが、
その際のアルゴリズムはもちろん、処理時間や利用可能なメモリ容量とのパラメータ調整が非常に難しいとのことです。
後でログから分析すると、「あと数手先を読んでいれば、このような手は打たなかっただろう」ということがよくあるそうで。
やはりスペックが良いだけでもそれなりにメリットはあるとのこと。
Re:マシンスペック (スコア:0)
Re:マシンスペック (スコア:0)
コンピュータのスペックアップやアルゴリズムの改善を待たずとも、たとえば今回使用したのと同じスペックのコンピュータを
10台、100台、1000台用意して分散処理すれば、同じ時間でだいぶん強くなりそうな気がするのですが、どんなものでしょうか?
Re:マシンスペック (スコア:1)
(単純な)暗号の総当り解読と一番違うのは,ある部分で探索された結果が他の部分の探索に影響を与えることだと思います.(直感的な説明をすると)ある手 A が良い手だとわかった場合には,他の手 B がそれ程良くないとわかった場合には B を読まなくて済むことが多くあります.一方で並列に A と B を読んでしまうと A での情報を B では使えないため,B での探索の効率が悪くなります.
#A を読んだ後に B を読めば,時間が 1 + 0.5 で 1.5 となるところ
#A と B を同時に読んでしまうと各 CPU がそれぞれ 1 読むことになる
当然,1.5 より 1 の方が時間は短かいですから CPU を増やした方が良いことは良いのですが,増やせば増やす程効用は減って行きます.なので暗号の総当たりのようにはいでしょうねぇ.
#当然,現在トップレベルのプログラムはほとんど並列化はしているようです