色々と新しいアルゴリズムを考えたものの空想段階なので実装中に頓挫することもありえるわけで、とりあえず現状のソースを読み直して「ここはアカンやろ」というところをいくつか手直し。デバッグで三局やって人間勝ち2の機械勝ち1で今日は2-1でした。詰まされても投了してくれないのは最初はバグではなく放っていただけなんだけど、投了するロジックを加えても玉が取られたことが確定するまで投げず、3手詰みで詰まされているのを判定して投了するのはまだ難しい。しかも今日の人間勝ちのひとつにコンピュータの圧倒的な駒得から人間寄せて詰ますと玉のスコアとその他の駒や利きのスコアが詰み判定の値を超えてそのまま指してくるという寸法。いかんよな。
それで改良と言って何をするってもうそれは枝刈りしか多分無くて、今更に保木さんの論文など読むと実はBonanzaの頃から全幅探索は三手読みくらいらしく、枝刈りで五手以上読ますらしいので、実は結構惜しいところまで来ているんじゃないか拙作「将棋ベーシック改」もな。
だけど論文を読んでもコードには触れられておらず、Bonanzaもやねうら王もオープンソースなので自分で読め仕様で実は自分の将棋ベーシック改もオープンソースだけど俺にしか分からないらしい。
まあ、駒がぶつかる以前の局面は相当に速くなってきたけど、手駒が増えて盤が空いてくると置き場所探しのロジックで全駒全位置置いてみようと探索するので、手駒周りのロジックの最適化が目下最大課題よな。そして何故か探索が早期に打ち切られない詰み局面での長考もこれはどっかバグがあると睨んでいて。
でも、今日は半日くらいだけどだいぶ集中して頑張った。温めていたアイデアを形にするのも、まずはアイデアをプログラムとして実装しなきゃなので、どっかで集中してある程度の長期で没頭する必要があるのよな。
ただ、もう既に俺が相手をして釣り合うくらいには強く、先手の必勝パターンをなぞる以外にもゲームとしてのデバッグは多局面に渡るし、必勝パターンがそれ即ち将棋そのものの必勝法であるかというと、そこを避ける後手の手を考える将棋そのものの研究方法として本当にコンピュータを介して多くの方の力で既にたくさん研究されていて、今更に俺が何を出来るだろうって思わなくもなく。
まあ、先手必勝の棋譜以外にも面白い将棋はあって、今のままのコンピュータ将棋でも将棋ファンの方は色々の手筋を同じコンピュータに試して違う将棋を楽しめるわけだから、あんまり色々やらずにアプリとしてマズいところをデバッグして遊びやすくするのが先決なのかもなぁ、とも。ソースにコメント付けていないのは当初は面倒があったけど今は存分な時間はあるわけで、正直オープンソースと言っても私物としての秘密はあっても良いんじゃないかって思う面もあるわけでして。
まあ、今日はそんなとこです。晩飯は「ほか弁」の「目玉焼きハンバーグスペシャル」です。ビールはアサヒの発泡酒です。しゅわしゅわ行くともう開発はしないので。