コンピュータ将棋や囲碁の掲示板で非常に興味深い記事が紹介されていたので、少しメモ書き程度の感想を書くことにする。


CHESSBASE NEWS (2005/11/21)


この記事の中で驚異的だと思うのは、HydraではなくJuniorの方で、少し引用すると、


>The Deep Junior screen showing the program running at a blistering 6,300,000 positions per second on a dual core AMD machine located in California


この文から察するに、「AMD製のDualCoreプロセッサ1つを用いて、毎秒630万局面を探索」という解釈になる。これははっきり異常な数字だ。並列探索効率を100%と仮定すればコアあたり毎秒315万局面を探索していることになる。現在のAMDのDualCoreは最高2.4GHz動作で、これをオーバクロックせずに定格で用いているものと仮定すると、1局面あたり約760[clocks]のコストとなる。因みに謎電の場合は(指将棋の序盤時、且つシングルで)1700[clocks]前後なのだが、これと比べれば倍以上速いことになり、正直ぶっタマゲた。勿論チェスと将棋では色々な点で異なるのだが、今の謎電をどう改良してもこんな数字を達成することは不可能に思う。


既に掲示板でも書いたことの繰り返しになってしまうが、「FPGAを用いたハード探索で500万局面/秒/coreのHydraより、ソフト探索でOver600万局面/秒/processor(但しDualCore)のJuniorの方が、単位時間あたりの探索量としては上回る」というデータを示めされてしまうと、ソフト探索の限界がいったいどこにあるのかますます判らなくなる。どういうアルゴリズムとデータ構造(あるいはコーディング)なのか見当がつかない[*1]が、工夫次第でそういう数字が叩き出せるということだし、まだまだ謎電は激甘いということである。いや、それよりFPGAを使うことの意味が全くないというような話になりかねないということだ。


[*1] まさか、置換表をコア毎に独立させて登録/引用している、などというような探索の重複を考慮せずに(つまりは探索効率を落としてまで)探索レートを上げているわけではないと思う。もしそうなら語るに値しない話になる。余談だが、例えば謎電の場合、置換表を外して詰探索を行うとBarton/3000+ですらOver200万局面/秒で探索する。FX57なら300万を超えるだろう。しかし意味が全くなく、探索効率は一気に悪化する。