中華系のサイトにも勝利!

なんて読むんだ?

コンピュータ将棋のアルゴリズム』池泰弘・著、工学社の参考文献として掲載されていたので購入してみたのだが題名をなんと訳したらいいのか分からない・・・。『コンピュータチェスにおける拡張可能性を探る』でいいのか?

NullMove枝刈りとFutility枝刈りを装備。

威力は凄く、思考時間5秒で7手先から8手先まで読めるようになりました。

なんかバグ取りだけで一日が終わってる気がするな~。

相手の包・砲と自分の将・師が向かい合っているとき、将・師が逆方向に動けないバグを修正しました。

さらにバグを修正する。

バグは殆ど取れたみたいですが、

負け。

包・砲の利きの生成にバグがあったのを修正しました。

包・砲の複雑な動きに大変苦しんでいたのですが、まずはピンの処理を解決しました。

さらにバグを潰していく。

将(王手)をされたときに、それを防ぐ手だけを読むところにバグがあったので、そこを修正しました。

後手でも勝ちました。

『下棋』に勝つ。

象棋は日本の将棋と違い『包・砲』の動きがあるのでデバッグが大変です。

時間制限5秒を導入。ゾブリストハッシュに使う乱数、

今まで64ビットだと思っていたのが32ビットだったらしい。慌てて64ビットの乱数を作成したのだが定跡もそれに合わせて書き込みし直さないといけない。

三手読みで『FM象棋』に勝つ。

バグが多く、二日かかってしまった。

ハードディスクの中に2年程前に作った別のアルゴリズムを使った象棋ソフトがあったので、

これを改良して一から作り直すことにします。

『FM象棋』にようやく勝つ程弱くなっていた・・・。

うーん・・・。

勝てない。

細かくバグを修正。

引き分けに持ち込むようになった。

連続王手の千日手、アイコンのインポートと表示を備える。

評価値を変えてみましたが、

先手で勝ち、後手で負け。

うーん・・・。

後手では負け。

圧倒的勝利!

中国系のオンラインゲームと対戦してみたところ、短手数で勝ってしまいました。

ほぼ完成。

自分にはWindowsプログラミングは無理かもしれない、と思っていたので感慨もひとしおです。

いい感じ!

今日はここまで。

ビットマップ画像の表示に成功。

C++でWindowsプログラミング、できるかも?

ここまで作りました。

Visual C# に移植しようと思う。

Visual C++ プラス Dxライブラリではメニューバーが作れないので、C#に移植しようと思いここまで作りました。

先手で勝ち・後手で千日手。

千日手の処理をしていないようです。

もう一歩まで追い詰めたのに・・・。

先手で勝ち・後手で負け。

車を積極的に動かすようにしたところ、初めて勝てた。しかし、後手では負けました。