将棋の序盤、終盤など

この土日は、けっこう作業が進みました。
速度的に不満が残りますが、それはおいておいて、
chessの文献をあたって、探索の方法を色々と試しました。


あと、序盤を、なにか構想をもって指せるようにならないかと思いまして。
そのへんもやってみると探索より面白いかも?
伊藤さんのHIT将棋のように、知識で指すという方面も面白い。
http://homepage1.nifty.com/ta_ito/HIT/top.htm
とくに序盤の構想、戦略の部分は、探索より、知識で指すべきと思う。
落とし穴方式でも定跡でもない方法を試しています。
選手権が終わったら、そのへんもやってみたい。
美濃囲いと矢倉は、定跡無しでも囲うようになりました。


終盤も、戦略をもって「追う手」にならない攻めを目指したいです。
あとまだ不完全ですが必至もやるようになったのも前進でした。
また一週間平日ですが、週末に向けてがんばります。


KFendで紹介されていた「悪形チェック」を作ってみました。
http://www31.ocn.ne.jp/~kfend/inside_kfend/bad_shape.html
akukeiQ()を呼び出すと、悪形なら1が返ります。
この局面は、自王から離れている金がさらに離れるので悪形とみなされました。
駒を取るため、とか、紐をつけるための移動ならいいと思うのですが、
この場合は、とくに意味が無さそうなので、悪形とみなしていいと思います。
KFendでは重いため、評価関数では呼んでないようですが、
意外に軽そうなので評価関数に入れてみてもいいかも?
というか、各駒毎の判定は、移動時に個別に判定してもいいと思います


あと、作業してて、ハッシュ表ががばがばメモリを食うんですが、
サイズを1ビット増やすと100MB増えます(^^;)(二倍になるので)
0x003fffffぐらいが主記憶1GBじゃぎりぎり。
うーむどうせなら、1GBx2で2GB買えば良かった……。
謎電が転置表1.5GBとか書いてあると、自分も欲しくなります。
っていうかメモリ二枚くらい買おう(^^;) 2GBなんて9千円x2ぐらいだし。


戦形=15 =
詰み探索(1584):cputime=0.000000sec 不詰み
必至探索(77):cputime=0.000000sec 不詰み
頓死探索(80):cputime=0.000000sec 不詰み

#1 -3231飛 +8877銀 (-55)
#1 -6252金 +8877銀 (-56)
#2 -6252金 +8877銀 -3235飛 (-56)
#2 -3234飛 +8877銀 -2233銀 (-57)
#3 -3234飛 +8877銀 -3432飛 +7786銀 (-54)
#3 -6252金 +8877銀 -3235飛 +7786銀 (-55)

最善手 -6252金 +8877銀 -3235飛 +7786銀 (-55)
探索(1638488):cputime=2.703000sec
■28手目 cut=246 leaf=700100 value=3 hash=599 hashCut=95
先手0分22秒 後手0分21秒 通算0戦 先手0勝:後手0勝


持ち駒v歩v角
9 8 7 6 5 4 3 2 1   987654321
−-------------------------+  ------------------+
v香v桂 ・v金 ・ ・ ・v桂v香|一 □□□□□ □☆□|一
・v玉v銀 ・v金 ・v飛v銀 ・|二 □☆□□□□☆□□|二
v歩v歩v歩v歩v歩v歩 ・v歩v歩|三 □□□□□□□□□|三
・ ・ ・ ・ ・ ・ ・ ・ ・|四 □□ □□□□□□|四
・ ・ ・ ・ ・ ・ ・ ・ ・|五   ■  ■□■ |五
・ ・ 歩 ・ ・ 歩 ・ ・ ・|六 ■■■■■★□■■|六
歩 歩 ・ 歩 歩 ・ 桂 歩 歩|七 ■■■■■■■■■|七
・ 銀 ・ ・ 金 ・ 銀 王 ・|八 ■★■■■■■★■|八
香 桂 飛 ・ ・ 金 ・ ・ 香|九 ■■■■■■■■■|九
−-------------------------+  ------------------+
持ち駒 歩 角
value=2 eval=-58 悪形チェック=1