創作活動に興味が薄れたので、

こちらのブログは放置します。 まあ、誰も見てないよね・・・。

なんかツイッターでJavaScriptが話題になっているので調べてみたら、

うーん、JavaScriptの勉強止めるべきか?

まずはチェッカーを作ってみる。

メンヘラなんですが、

精神病院ではなく、一般の病院でお薬手帳を見てもらったら、「普通の人なら倒れている量ですよ・・・」と言われたのですが、誰か詳しい人教えてください。

象棋はこれ以上強くできない。

JavaScriptの勉強に方針を変える。

バグ発見!

ネガスカウト法を修正した。

ネット上にあった『リバーシのアルゴリズム』の正誤表から直した。

『強い・後手』で始めて勝つ。

バグ出た。

7,8手先読むのが精一杯だなあ・・・。

『強い』に勝つ。

『強い』には引き分け。

相手は0.1秒しか考えてないんだよな・・・。

バグがあったので修正する。

誤 正

ネガウトスカウト探索をちょっと変える。

『リバーシのアルゴリズム』を購入し、掲載されているようにした。

後手でも勝つ。

始めて強さ『普通』に勝つ。

ネガスカウト法、取りあえず成功。

40手で勝つ。序盤で包と馬1つずつ取られるのが気になるが。

ネガスカウト法について、

こうか?

評価値をそれぞれの駒の位置から計算することにする。

車の場合。 兵・卒、将・師の場合。

ネガスカウト探索がうまくいかない。

こうじゃないのかな~。

EXT_F_MARGINの値を3000*depthとする。

バグを見つける。

対策をとった。

FutilityCutのEXT_F_MARGINの値が分からない。

様々なサイトで調べて、兵(卒)の価値*depthとしているが。

改めてFutilityCutとNullMove枝刈りを装備する。

『やや弱い』に後手番で勝つ。

Pvsの導入に成功した。

『やや弱い』に短手数で勝つ。

Pvs探索もうまくいかず。

ソースはこれでいいはずなのだが。

futility_cutとnull_move_pruningを導入してみたのだが、うまくいかない。

今は消された某コンピュータ将棋系サイトにあったものを、殆どそのままコピーしたのだが・・・。前向き枝刈りしているのがまずいのか?

いや、バグではないか?

5手読みをさせてみたところ、2,3秒でちゃんと指すようになった。

バグ発見!

上図の時、将(師)が左右に動かない。 処理はしているはずだが、複雑過ぎて解析が難しい。

キラー手を導入。

5手で勝つ。