コンピュータ将棋など…。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
詰めろは手を抜いたら詰みがある状態ですよね?
こんな感じ: foreach(合法手) { 1手指す if (王手でない) 手番そのままで詰み探索⇒詰んだら詰めろ } ためしに実装してみたら、すごく重い…。 詰み探索を反復深化の最大深さ7くらいにしても数100msから局面によっては1秒以上かかりました。 詰み探索をWPNS(df-pn)で1000ノードまでとかにしたほうがいいのかしらん? どちらも短時間だと漏れがありますが…。 というか全合法手に対して検索するのは実戦では使えそうもないということがわかりました。 謎電さんの必死ルーチンはいったいどうやってるんだろう?? ※宣伝: 職場や事務所などでコピー機、複合機、レーザープリンタ等を使われていて、そろそろリース更新や買い替えを検討されている方がいらっしゃいましたら一報をお願いします。私が製品開発にかかわった複合機などの紹介をさせてください(営業担当が伺います)。 よろしくお願いします。 PR
re:詰めろ検索
その局面で詰めろがかかっている場合は、まずその詰め将棋を解いてハッシュテーブルにその手順を記憶させる。
次にその局面の取る手、成る手の合法手を生成して、類似ハッシュを使って、同一手順で詰む変化を削除する。 残った手で取り合い計算して、正ならばそれを有効とする。(ただし、他の手順でも詰まない事は確認する。) 負ならば、取らない手、成らない手の合法手を生成して同じ手順で詰む変化を削除して取り合い計算する。 これで正ならばそれで終わりだが、それでもダメなら打つ手についても同じ処理をする。 類似ハッシュとは、その手を指さなかった局面(元に戻す)でのハッシュコード。 類似ハッシュで同一手順で詰む変化を外すことによって読まないといけない手が減って処理速度が極端に速くなる。 今年の大会でSPEAR対農工大でSPEARはある手順で詰むと言っているのに、農工大は一生懸命他の手を検索していた。結局、SPEARが勝ったのだけど、多分、農工大のソフトにはこの種のロジックが入ってないと思った。 Re:re:詰めろ検索
ありがとうございます。
類似ハッシュはまだ入れていないので参考にします。 |
カレンダー
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[04/27 とおりすがり]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
[01/08 sakura]
最新記事
(06/12)
(04/17)
(08/13)
(06/08)
(06/06)
最新TB
プロフィール
HN:
かず
性別:
非公開
ブログ内検索
カウンター
アクセス解析
|