|
2021/07/25(日)
長すぎる文章は誰一人として読まない(N川)
|
|
|
まず, 将棋というゲームは必ず有限手で終わります. これは一応自明ではありませんが,証明は省きます. 将棋のルール上可能な局面が(非常に膨大ではあるが)高々有限個であることと, 千日手のルールを併せて考えるとわかると思います. したがって, 一局の将棋の棋譜は有限個の手を一列に並べた有限次元ベクトルとして表現できます. ここではN手で対局が終了するものとし, 一局の将棋をx=(x_1, ... ,x_N)で表現します. ただし, Nは偶数とし, 対局は必ず後手の手番で終了するものとします. 少し違和感のある仮定ですが, Nを実際にかかった手数よりも大きめに取って, 対局終了以降の指し手をすべてパスであると考えれば一応辻褄は合います. 次に, 述語を定義します. 述語についての詳しい説明はしませんが, ざっくり言えば「変数を含んだ命題」ということになります. P_先勝(x) を「対局x=(x_1, ... ,x_N)は先手勝ち」, P_後勝(x) を「対局x=(x_1, ... ,x_N)は後手勝ち」というように定義します. 要するに, ある対局の棋譜を入力すると, 先手後手のどちらが勝つか判定してくれる関数のようなものということです. 例えば, 先手勝ちである対局x'=(x'_1, ... ,x'_N)をP_先勝(x)とP_後勝(x)に代入すると, P_先勝(x)は真になり, P_後勝(x)は偽になるのです. 以上の定義を用いると, 先手必勝という命題は以下のように書けます. ∃x_1∀x_2∃x_3∀x_4…∃x_N-1∀x_N P_先勝(x) 日本語に書き下すと, 「あるx_1が存在し, 任意のx_2に対して, あるx_3が存在して, 任意のx_4について, … あるx_N-1が存在して, 任意のx_Nについて, 対局xは先手の勝ちである」となります. まだわかりづらいので, もう少し翻訳します. 「先手には良い手x_1が存在し, 後手がどんなx_2を指しても, 先手には上手い切り返しx_3が存在し, 後手がどんなx_4を指しても, … 先手には上手い切り返しx_N-1が存在し, 後手がどんなx_Nを指しても, 対局xは先手の勝ちである」 要するに, この命題は相手がどんなプレイをしてきても勝てる必勝戦術が少なくとも一つあるということを表現しています. 数学はこれで終わりです. もはやほとんど読者が残っていないような気がしますが一応もう少し書きます. 上で行ったような定式化をもとに, ツェルメロの定理という面白い定理を示すことができます. ツェルメロの定理 1. 2人のプレイヤー交互に着手する(二人ゲーム) 2.プレイヤーはゲームの局面を完全に知っている(完全情報ゲーム) 3.ゲームに確率的な要素は存在しない(確定ゲーム) 4.有限の手数でゲーム終わり, ゲームの結果はどちらかの勝ち, あるいは引き分けのみである(有限ゲーム, 零和ゲーム) 1~4を満たすゲームは先手必勝あるいは後手必勝, もしくは双方最善を尽くせば引き分けのいずれかである. この定理の証明は田崎先生の教科書を参照してください. 流石に書くのが大変すぎます. ツェルメロの定理を見てどう思うかは人それぞれだと思います. 僕は最初この定理を見たときには, 「直観的に当たり前じゃないか」と思いましたが, 当たり前のことであっても数学的に厳密に示そうと思うとそれなりの手間がかかるのです. 何せツェルメロの定理は数学の定理には良くありがちな抽象的な存在命題です. 存在することはわかっても, 具体的なことは何一つ教えてくれません. しかし、抽象的であるからこそ, この定理は将棋だけではなく, 囲碁やチェスなど, 様々なゲームについて広範に成り立つのです. さて, いかがでしょうか. 今回ばかりは流石に最後まで読む人はいないと思います. 思ったより長くなって書いている途中にめちゃくちゃ後悔しました. これでも色々端折って書いていますし, 終盤に関しては早く文章を収束させたくてかなり雑に書いています. 雑に書くくらいなら最初から書かなければ良いのですが, 何となくの楽しさで書き始めてしまいました. もう今後一切こういう文章は書きません.
[1]山本一成(2017),『人工知能はどのようにして「名人」を超えたのか?』 ダイヤモンド社 [2] 数学:物理を学び楽しむために https://www.gakushuin.ac.jp/~881791/mathbook/
|
|
|