忍者ブログ
コンピュータ将棋など…。
[347] [346] [345] [344] [343] [342] [341] [340] [339] [338] [337]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Bonanza6でPinCheck機構つきのMakeMoveの提案(http://d.hatena.ne.jp/LS3600/20091229)を試してみました。
で、ハマりましたw
まず、MakeMove 側での注意点は、動かす駒が玉かどうかによって処理を変える必要があるということ。
もうひとつは自玉に王手がかかっている局面かどうかということ。
後者はあまり問題になるところはないと思いますが、詰ルーチン(dfpn.c)の攻め方は自玉に王手がかかっていようがいまいが GenCheck で王手を生成するので、ほとんどの手で王手がかかったままとなり PinCheck 機構だけではすり抜けます。

したがって、詰ルーチンで自玉に王手がかかった局面では
・ GenCheck で手生成し、MakeMove 後に InCheck で王手がかかっていないか確認する
・ GenEvasion で手生成し、MakeMove 後に相手玉に王手がかかったか確認する
などの対応が必要になります。
試した範囲だと前者のほうが若干高速でした。
局面によっては合駒などで王手を防ぐ手の数が多くなるからでしょうか。
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
プロフィール
HN:
かず
性別:
非公開
バーコード
ブログ内検索
最古記事
カウンター
アクセス解析