将棋ベーシック改のリファクタリングは大きな壁にぶつかる

 ビットボードを実装した目的は単なる探索部の高速化だけではなく、駒利き評価や駒位置評価という独自の評価をより簡潔に出来ないかということも併せてのことであって。

 それが「先に気付けよ」と思わなくも無いが、歩と桂銀金王までは実装済みで今は試験中であるが、飛び利きはあまりに特殊で自駒があるとその手前で止まり、敵駒があるとそれを取る位置で止まるわけで、かなり複雑な実装をしないと単なる移動先としての利き以外に自駒に利いているか敵駒に利いているかの駒利き評価を簡単に駒位置のビットボードとのANDでは取れないという問題が利きの計算に先んじて発生した。気づいた。

 そうすると、もう何年前かも覚えてないけど電竜戦に備えて研究課題を出して地獄の実装をした今の香車と飛車角の実装でもう充分ではないかと。リーグ戦で試験したわけだからね。

 まあ、ウォーズ4級の俺で勝ててしまうからベクターでの触れ込みを「三級が目安」としていたのを次回の更新で「級位から初段を目指す方向け」くらいにゆるく申請した。

 けど、デバッグを兼ねて色々と指し手を変えてみると負けるのよね。自分で作って試験して勘所が分かっているから勝てていたので、今回のリファクタリングは厳密には同じ作動ではなくバグが取れて少し挙動が変わったので、従って勝つための棋譜も変わるわけで、そうなると自分で指していて負けることもあり五分くらい。

 下回りの実装が終わったらどうなるかというとプログラミングとかコンピュータ科学の領域からいよいよ将棋指しと同じように将棋そのものの研究に没頭できるわけであるが、齢45歳なので反対にこの歳からもっとやれってか十分満足行ってるわけです。

 コンピュータ将棋を始める前の俺の趣味はストリートファイター系ゲームとトレカだったわけで、昨晩は遊戯王DSNTを就寝前まで遊んでいました。開票速報とともに。

 それで将棋ソフトから学んだゲーム理論は自分の元の趣味である格闘ゲームやトレカに十分に役立ったわけだし、チームとして考えると将棋ソフトチームのトップはプロ棋士にも勝ったわけだし、あとは独自研究を続けるか、先行研究の追試をするか。

 まあ、そう投げやりにならなくとも、将棋ベーシック改の飛び利きの研究だけでも先行研究であるPonanzaのMagicBitBoardもQugiyの飛び利きも将棋ソフト界隈ではひとつの研究分野なわけで、そしてコピペできるものでもなくデータ構造に合わせた結構ヘビーなコード量であるわけで。

 そうすると駒利き評価をするには俺のあの実装しかないことも分かったわけで。

 まあ、将棋ベーシック改の実装でも飛び利きは100行以上に渡るわけで、ひと月見積もったから実際にそれだけ掛けたら出来そうでもあるけど、やねうら王にQugiy式を独自実装して計算速度2%改善という先行の結果が出ているわけで。

 そうすると、まあ将棋ベーシックを改造しても先はその程度という見通しなわけで。

 ああ、いいアイデアは出ず壁にぶちあったったなぁ、という感想を抱いています。

 まあ、先週末から歩金銀桂王とビットボードにしました。残ったのは飛び利きです。

 以前の俺はものぐさで考え事が好きだったけど、今回ばかりは手を動かして結果が出るのが楽しみだったので、また自分の頭でコンピュータに考えさせられるというのはちょっとした敗北感を感じているのです。


🄫1999-2023 id:karmen