「 Root ノードから行ける Leaf ノードは全部行くぜ☆」
「 チェックメートかどうかは 局面を見て調べればいいのだから、チェックメートだったら 探索を打ち切ればいいんだぜ☆
そうすれば、後ろの ノード は探索しなくていい☆」
「 Leaf に向かっている途中でできるから、 前向き枝刈り ね」
「 一手詰めルーチン が入っていなければ、じゃあ玉を取られたら負けという らいおんキャッチ にすればいいんだが、
らいおんキャッチから見れば 一手詰めルーチンは 実質3手らいおんキャッチ ぐらいの効き目がある☆
つまり らいおんキャッチに比べ、一手詰めルーチンは 枝が伸びるのが2回前に 枝刈りできる☆」
「 7手ぐらいしか読めないソフトに取って、2手前に枝刈りできるのは かなりでかい☆
一局面感覚的平均指し手80手 × 80手の 6400葉ノード + 80状態ノード = 6480状態ノードぐらい省けるぜ☆
そしてこれは 1手深く読めるようになるほど 威力が 80倍ずつ でかくなっていくぜ☆」
「 他のコンピューター将棋ソフトは 3手詰めルーチン を入れるのが今どきなんだけど、自力実装できてないので 1手詰め ルーチンにしましょう」
「 じゃあ わたしがやっているのは ライオンキャッチ だったのか……☆」
「 WCSC28の どうぶつしょうぎバージョンきふわらべ を 本将棋用に改造したからな☆」
「 じゃあ わたしは どうぶつしょうぎルール で本将棋大会に出てたのか……☆」
「 おおきな森のどうぶつしょうぎ バージョンだから 十分 本将棋に混ざれるのよ」
「 本将棋では、らいおんキャッチ ではなく 一手詰め がルールだぜ☆ 玉が盤面に無いという状況はない ☆」
「 一手詰めの1つ前では、 ↑ こんな感じで、専門用語がないので造語すると ジェイル ができているケースがある☆
玉が利きに飛び込むか、壁や味方の駒が邪魔で 8方向すべて 移動できないケースだぜ☆」
「 また、 ↑ ジェイル ができていなくても、一手詰め できるぜ☆」
「 しかし、相手が ↑ 合い駒をもっていると 一手詰め できないぜ☆」
「 例外が いくつもあったら わたしのプログラムにふさわしくないぜ☆ イッパンカ してくれだぜ☆」
「 一般化せずに かんたんに書けば もっと早くできあがるんじゃないの?」
「 ↑ 一手詰めの概念図は こうなると思うが、内容を詰めていこうぜ☆」
「 ↑ 以前、 Movility7 (モビリティ・セブン)というのを考えていたんだぜ☆」
「 ↑ 一手詰めが決まったその決め手の Movility7 (モビリティ・セブン)は、このような概念図になるぜ☆」
「 ↑ 合い駒は 移動合い でもいいからな☆
ジェイルが完成するのは、 決め手 を指したときでいい☆」
「 決め手 を指す前に ジェイルが完成しそうか、そうでないか 判定できないと なんでもかんでも 一手詰め判定することになるだろ☆」
「 ↑ この7パターンが、ジェイル完成まで どれぐらい離れているか 距離で表せばいいわけだろ☆?」
「 持ち駒で ただ捨て王手 なんて いくらでもできるのだらか、その思惑は失敗するわよ」
「 ↑ これが ジェイル完成 の1歩手前の図で、 そこに打てば ジェイルが完成する図だぜ☆」
「 ↑ 決め手 に使った駒が 玉の逃げ道をついでに 塞ぐんだぜ☆
それが 竜 だったりすると、もう少し ジェイル は不完成でいい☆」
「 はいはい! 穴熊 してたら トリガー全開放よ! ぜんぜん計算 省けないわよ!」
「 しかも、決め手 の駒を 取られたら 一手詰め は不成立だろ☆」
「 ↑ じゃあ 相手玉に 利き が被さることが トリガー だぜ☆」
「 その決め手の駒を 取り返せるかどうかを 最初に調べろだぜ☆ 駒を取る手 は だいたい価値が高い☆」
「 ただし、 ↑上図 の場合では、 銀で 取り返すことはできないぜ☆」
「 ↑ 空き王手 とか、 ディスカバード・アタックを食らってる方 になってしまうからな☆」
「 ↑ 長い利き を持っている駒でも 手続きは 途中まで同じだな☆」
「 ↑ 合い駒を打つか、移動合い することができるかもしれないのが違いだぜ☆」
「 で、ここにくるまで どうあったにしろ、玉は 8方向 に逃げようとするぜ☆」
「 決め手の駒がある方向はもう調べたかと思うが、
調べたかどうか判定するヒマがあったら さっさと 決め手の駒がある方向も 再び調べてしまえだぜ☆」
「 ↑ 頭金の利きは広いからな☆ うしろにしか逃げ道は無いぜ☆」
「 二歩や、打ち歩詰め、連続王手の千日手 は省けだぜ☆ 合い駒の二歩も無しな☆」
「 ↑ 将棋の初手は30手と言うが、将棋ソフトは21回 空振りしている☆」
「 盤の外にも利いているんだから 初手は 61手 なんじゃないの?」
「 どんな初期局面でも、駒は順番なく同時に存在するんで、とりあえず 左上から右下まで スキャンして 1個ずつ 利きを計測しようぜ☆?」
<書きかけ>
Crieitは個人で開発中です。
興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!