コンピュータ将棋など…。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
アピール文章というよりアピールプログラムかもしれませんが、なのはの詰ルーチンのバイナリを公開します。
(ソースは恥ずかしいので非公開) ダウンロード(zip; 233KB) こんな問題も解けないのかよ、とか指摘いただけると幸いです(短いほうがうれしい)。 PR
なのはの詰ルーチンは証明数と反証数を使用した WPNS を基本にし、
・優越関係 ・最小距離法 ・証明駒、反証駒 を実装している。実戦では必要ないだろうとの判断で探索中のハッシュのクリアは行っていない。 また、なるべく歩角飛の不成を読まないようにして、かつ打ち歩詰めが絡む局面で詰みを発見できるように以下のようにしている。 (1) 王手生成では歩角飛の不成も含めて全ての王手を生成する。 (2) 証明数・反証数の計算のときに、打ち歩詰めが絡まないときは歩角飛の不成を無視する。 (3) 証明数・反証数の計算のときに、打ち歩詰めが絡むときは歩角飛の不成も含めて計算する。 したがって、不成を生成しないプログラムが詰みを発見できない以下の局面でも詰みを発見する。 現在は歩角飛の成りによる打ち歩詰めかどうかに関係なく探索中に打ち歩詰めが発生したときは打ち歩詰めが絡むと判断しているため、非効率になっている場合がある。
単に昔のプログラムから新しいプログラムに持ってきて少し変更しただけなのになんでこんなにバグが出るかなぁ~
1. 王手の重複生成 王手の生成順を旧では「駒を打つ手」⇒「駒を動かす手」としていたのを、新では「駒を動かす手」⇒「駒を打つ手」の順に変更しています。 で、重複する王手を削除する処理を少し変更したら、削除できていませんでした…。 ということで、生成する手を間違っているわけではないので直接的な不具合はないのですが、王手を余分に計上するため重複する手が生成される局面で反証数を多めに見積もってしまうことになります。 このことが影響を与えるかというと・・・直したプログラムでは問題によってノードが増えたり減ったりするのでよくわからない、ということになりました。 ひょっとしたら不詰の証明が遅くなるかも?(未確認) 2. df-pnの最小距離法の異常な節点の更新 異常な子節点を持つ局面の証明数の計算は普通は正しくしている(はず?)ですが、証明されたときに最小距離を更新する処理で局面ハッシュの計算を間違えて最小距離の更新が出来ていなかった。 そのためGHIにより「わからない」という回答が多発した。 これは直すことで、正解が増え効果がありました。 これらを直しても、旧で解けていた問題が新で解けなかったりするので、まだ別のバグを仕込んでしまっているかも?? 来月くらいには Bonanza の fv.bin を組み込んで、nabona で floodgate に参加するかも?! 「ナボナはお菓子のホームラン王です!」とかw ← ふるっ! ※ナボナは Navona と書くらしいので、間違ってますwww
df-pnの詰ルーチンが動いてきました。ときどき間違った答を返すので、移植するときにバグを仕込んだと思われます…。
今回も対象は「羽生の将棋 実戦[詰め&必死]200」の最初の10問。 これらの回答はとりあえず正解でした。df-pnは反復深化詰ルーチンに比べてノード数が少ない領域でのオーバーヘッドが多いですね~。 とりあえず、黄色地は反復深化より性能が低下しているところです。
ようやく新なのはで反復深化の詰ルーチンが動いてきました。
※Athlon64X2 4600+(2.4GHz)、WindowsXP(32bit) やねうら王の詰ルーチンには時間で2桁以上負けそうな気がする…。 |
カレンダー
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新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:
かず
性別:
非公開
ブログ内検索
カウンター
アクセス解析
|