コンピュータ将棋など…。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
詰めろは手を抜いたら詰みがある状態ですよね?
こんな感じ: foreach(合法手) { 1手指す if (王手でない) 手番そのままで詰み探索⇒詰んだら詰めろ } ためしに実装してみたら、すごく重い…。 詰み探索を反復深化の最大深さ7くらいにしても数100msから局面によっては1秒以上かかりました。 詰み探索をWPNS(df-pn)で1000ノードまでとかにしたほうがいいのかしらん? どちらも短時間だと漏れがありますが…。 というか全合法手に対して検索するのは実戦では使えそうもないということがわかりました。 謎電さんの必死ルーチンはいったいどうやってるんだろう?? ※宣伝: 職場や事務所などでコピー機、複合機、レーザープリンタ等を使われていて、そろそろリース更新や買い替えを検討されている方がいらっしゃいましたら一報をお願いします。私が製品開発にかかわった複合機などの紹介をさせてください(営業担当が伺います)。 よろしくお願いします。 PR
ってどこかにないかなw
akiさんの「お手軽に強い将棋プログラムを作る10の方法」d.hatena.ne.jp/ak11/20090219を参考にまずは「1. 強いプログラムの手法を疑わない」ってことでとりあえず、Blunderより上位でかつソースも短いので、読み始めてみました。 C# わかんね!とか 静止探索から呼ばれる詰ルーチンって高速でもなさそうだし、こんなんで大丈夫か?とか Tanese's HACKってなんだ?(ソースはTanaseになっているのにw)とか 気楽に眺めていますw
未来の自分向け?!
・詰ルーチンの証明駒の算出のバグ(不詰を詰みと間違う)を修正 ・Bonasse V1.0 の Win32 対応 ・勝浦修「マイコミ将棋文庫SP 詰将棋道場7手~11手」の局面データ入力完了 ・上記からなのは詰で解けない9手詰め2問、11手詰め1問を発見
とりあえず、BonasseをVS2005でコンパイルできるようにしてみました。
nmake -f makefile.vs cl で通りました(リンクでwarningが出ましたが動作するようです)。 ダウンロード(bonasse_vc.zip;162KB) このブログはアップできるファイルサイズは512KBまでみたいなので、ソースのみです。 引数のalignment 関係のエラーを取るのにC++にして、参照渡しにするという力技でごまかしていますw 以下の表は実行させて、 limit time 60 0 problem として、Total NodesとTotal Elapsedから算出したknpsです。 Bonasse化で15%~25%くらいの上昇? Athlon系はSSEが遅いから??
PC2:PhenomII X4 940(3.2GHz) Windows XP x64(64bit)
d.hatena.ne.jp/ak11/20100509での指摘で手番を間違えていたのに気づき、将棋世界2010年6月号「コンピュータは七冠の夢を見るか?」の局面図に再度挑戦!
うーん、Bonanza以外に完敗…。 |
カレンダー
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新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:
かず
性別:
非公開
ブログ内検索
カウンター
アクセス解析
|