将棋におけるperftの世界記録を更新中

perft 9できました。

いまperft10に挑戦中です。

ちなみにチェスの世界ではperftはこんな感じになっているそうです。
http://wismuth.com/chess/statistics-games.html

チェスのほうも1手ごとに20~30倍ぐらいの局面数になるようです。

チェスのほうは駒打ちがないので将棋よりはある局面での平均的な指し手の数は少ない傾向にありますが、それでも、チェスのほうは将棋で言う大駒が多いので(移動できる升は多いので)それほど大差ではないようです。

将棋のperft 9がチェスのperft10ぐらいに相当するようで、チェスではperft13か14あたりまで達成しているようです。

ということは将棋のほうも本気でやればperft12ぐらいまでは行けるのだと思います。

まあ、本気でやってる人がいない状況なんですけどね…。

私も、自分の書いたプログラムだとperft11は数ヶ月程度かかる見込みなので、perft11はやりたくないです…。node数だけでよければ、(頑張れば)その1/10ぐらいの時間で求まると思いますけども。

チェスのperft関連のフォーラムの書き込みを見てると、perftを高速化するの、アルゴリズム的には色々やりようがあるみたいなんですけど、私が書いたのはあるnodeでの結果(残り探索深さ + Result)を置換表にそのまま突っ込んでおくだけという超簡単実装です。またhash keyは衝突すると怖いので128bitにしてあります。そのソースコードは近々公開します。


将棋におけるperftの世界記録を更新中” への6件のコメント

  1. >自分の書いたプログラムだとperft11は数ヶ月程度かかる見込みなので、・・・

    数か月を3か月と仮定すると、perft18がだいたい100億年で計算終了ですね。
    宇宙の年齢が138億年だったはずですので、まあこのあたりが人類が到達できる限界値でしょうか。

  2. 将棋の初期局面から9手で詰む棋譜の一覧を求めたことが有ります。
    推理将棋と言うパズルの分野で重要なデータなので。
    結果、9手で詰む棋譜は657904局で、やねさんと同じでした。
    私より先に同様の棋譜数を求めた人の結果も同じだったので、9手で詰む棋譜の数はこれで間違いなさそうです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です