難しい詰将棋はパスしてもいい(1手詰めを勉強する理由の続き)

2016/05/13コンピュータ将棋, 将棋入門, 終盤, 詰将棋

1手詰めを勉強する理由」の続き。
1手詰が重要な理由を先に書いたのですが、最初のうちはすべての1手詰を習得する必要はないんじゃないかと私は考えています。

難しい詰将棋って?

有名なのは平成元年度の看寿賞短編賞受賞作 行き詰まり氏作「新たなる殺意」「詰将棋パラダイス」397号幼稚園13(1989年3月)でしょうか。
3手詰めですが、私は自力で解ける気がしません。

20160513-1

(自力で解けたと思った方は 鑑賞室の解説を読んでみてください)

1手詰めでも双玉問題や開き王手と無駄合いが関係する問題は難しいので最初のうちはパスして答えを見た方がいいと思います。

コンピュータ将棋の1手詰は何をしているのか?

実はコンピュータ将棋の1手詰処理も全ての1手詰を解いているわけではありません。

多くのソフトは玉の周囲8マスへの駒打ち・駒移動と桂馬打ち・移動しか読んでいません (移動王手により結果的に開き王手(両王手)になる場合も含む)。
遠くから香車を打って王手するような処理はそもそも読んでいなかったりする。

これだけの処理で「1手詰めをマスターするだけで互角(5:5)の力の相手に3勝2敗の割合で勝て」たりするわけです。

高速に処理するために、玉の周囲のマスへの効きを表にしておいて、持ち駒(移動可能駒)と表から詰みを判断したりするのですが、この処理は人間が1手詰を判断する処理に似ているように思います。
1手詰を繰り返し解くのは、脳内にこのような表を作る行為なのかもしれません。

20160513-2

( 1 ) 駒を打つ候補のマス (玉以外の利きがなく, 攻方の利きがある空白)
( 2 ) 玉が移動可能なマス (攻方の利きがなく, 受方の駒もない)
                (中略)
4.3.1 駒打による一手詰の判定
上記の(1)と(2)の組み合わせ (合わせて16bit)に関して, (1) のどこかに駒打を行い(2)を塞ぐのに必要な持駒の種類をあらかじめ求めて表に保存しておく.
判定時にはその表と持駒を比較して, 必要な持駒のどれもなければ駒打による一手詰みは存在しない.
図1に表に保持する情報の例を示す. 玉の周囲のマスに左図の様に番号を振るとして, 玉が4,5,6,8のみに移動可能で, 駒打が7に可能な場合は,右の表の一行目の様に金を所持している必要がある.
同様に玉が4のみに移動可能で5,6に駒打が可能な場合には飛金銀のどれかを持っていれば詰む可能性がある (表二行目).
何を持っていても詰まない場合には, 表三行目のように表を引くだけで判定される.

(GPS将棋の開発者による論文)

実践例から

20160513-2

上の局面、▲5一飛と打ち△同玉なら頭金が打てて詰み。逃げたら尻金で詰みなのですが、初手が見えないとついつい▲5二金と打ってしまいたくなります。

実は△5一同玉の局面は、上記論文の「玉が4,5,6,8のみに移動可能で, 駒打が7に可能な場合」「金を所持」なのですね。
脳内に表ができていれば見える手なわけです。