人はなぜ矢倉を組むことができるのだろう。

 将来的にはコンピュータ将棋の大会に出たいなと思いつつ、いまひとつのものしか出来ていないのでまだ出ない(まだおそろしく弱い)。ところで、本日の日記のタイトルは、今考えていることである。

 今は序盤の定跡に従って駒組みをさせるプログラムが中心だが、定跡を計算器に教えなくても駒組みは進むのか。こういうことは誰しも一度は考えることだと思う。ずっと考え続けている人もいるだろうと思う。私も考える。まず、「駒組み」という言葉が曖昧なので、「美濃囲い」と置き換えよう。そして、パラメータとして、「玉の絶対位置」「玉と銀と金の相対位置」を憶えることができるようにしよう。

 美濃囲いなので、玉は2八が最強であると手でインプットする。そして、銀が玉の左にいると強く、金が銀の斜め後ろにいると強いと、手でインプットする。

 ここで、初期配置から、9手先を読む。相手に4手奪われるので、自分の駒は5回動かすことになる。5手先には美濃囲いの完成形が存在するので(飛車を振って、王を定位置に動かし、銀が上がる)、一応、計算器は美濃に囲ってくれるはずである。

 この例では単純な美濃だから9手で済んだが、矢倉は倍くらいの手数がかかる。こういった枠組みで考えると(定跡を与えない場合)、計算器は矢倉が組めないように思える(複雑には囲えない)。おかしな囲い方になるか、組む手順がおかしくなって囲う前に自陣に攻め込まれるかだろう。

 人間の場合、計算器のようにゲーム木のような思考法で二十数手先を読んでいるとは考えづらいので、きっと別の思考法をしているのだろう。実際の勝負では相手の出方を見ながら駒組みをする必要があるので、かなり複雑な思考をしているはずである。人間も落とし穴法のようなことをしているのだろうか。人間が定跡を外せるのはなぜだろうか。人間は定跡との差分をとっていたりするのだろうか。将棋の場合、計算器が人間の思考法に近づく必要は全くないが、人間の思考法は気になるところである。

 今度、まともに将棋が指せる友人に会ったら訊いてみよう。お前はどうやって玉を囲っているんだ、と。そもそもなぜ玉を囲うのだ、と。