宇宙や生命について考えたことを書いてみる

宇宙や生命についてのエッセイです。事実に基づき書いているつもりですが、間違い、調査不足だったりすることもあるかと思います。また、筆者の妄想モードの場合は、予めそう書きますのでご了承ください。ゆるい感じで楽しんで頂ければ何よりです。

将棋電王トーナメント開催前に考えてみたこと

第5回将棋電王トーナメント(2017年11月11-12日開催予定)が始まる前に、改めて今年開催された第27回世界コンピュータ将棋選手権(2017年5月3-5日)を見てみた。
優勝ソフトがどうなったかの結果については既に知っていたので、優勝が決まった事実上の決勝戦(Ponanza Chainer(※1) VS elmo(※2))を見てみたかったからだ。

 

AI同士の将棋は究極の棋譜に近づいているのは間違いないと確信した。駒がぶつかっての中盤以降、解説のプロ棋士の方も驚くような手を両者とも繰り出していた。例えば、角を一番隅に打つ(効きが少なくなるので普通はあえて打たない)、駒損を覚悟で角を切る、駒得になるのに放置して攻め込むなどなど。詳しくは強い方の解説にお任せだが、見ていて「え!」となることが非常に多かった。
AI同士の戦いなのに、そこに人間同士が戦っているかのような錯覚を覚えた。そこに心動かされるものがあったのは間違いない。よく考えてみると、ある事象に関して心動かされるか否かは受けて側の解釈でしかない訳である。ここを突き詰めていくと、生命とは何かのヒントになるかもしれない。ただ、この話を広げていくと最終的に人間原理の話に行き着いてしまいそうなので、今回はこれ以上は触れない。

 

さて、将棋について指し手が全て計算しつくされたとしたら、先手後手どちらが勝つかが解明されたことになる。しかし、これには天文学的な計算量が必要なため解析されていないのが現状だ。
ただ、想像することはできる。
将棋の最善手を突き詰めていくと、最終的には引き分け(千日手または持将棋)になるような気がする。引き分けには2パターンある。千日手持将棋である。千日手とは同じ局面が4回現れた時点で成立する。もう一つの持将棋というのは先後両方が入玉して(相入玉)、これ以上やってもどちらも詰まない状態になるものである。この時、将棋のルールでは、それぞれの駒を点数化(大駒5点、玉を除くそれ以外の駒1点)してどちらも24点以上あれば引き分けというルールが適用される。(参考までに、初期配置の状態で計算をすると、それぞれ27点づつ持っていることになる。)
AI同士が最善手を指し続けるとするならば、このどちらかのパターンに収束していき、結果引き分けになるのではないだろうか。

 

これはあくまでも現時点の条件(例えばマシンパワーの上限や将棋AIの作り(探索、学習、評価の仕組み)など)の場合の推察であり、コンピュータのアーキテクチャが変わって、今の計算量と比較にならないくらいの計算量が実現できたなら話は変わってくる。
その時は、10の226乗(※3)と言われる全パターンが計算しつくされること(完全解析という)になるので、結論が出ているはずである。ちなみに、計算量の少ない順に、オセロ(6×6盤)→オセロ(通常の8×8盤)→チェス→将棋→囲碁(通常の19路盤)である。
計算量が増えていくに従って、計算時間も比例して長くなっていく。少しオセロの場合で計算してみる。
オセロ(6×6盤)の完全解析にかかった時間が5日半なので、オセロ(8×8盤)ではその10の12乗が必要になるとの見積もりがある(※4)。これを計算すると、5,500,000,000,000日(約151億年)となる。なんと宇宙が出来てからの時間(現在138億年と言われている)を超えてしまった。それより更に計算量の多いチェス、将棋、囲碁は言わずもがなである。


つまり、今のコンピュータのアーキテクチャで計算するのは無理なのがよく分かる。まだ見ぬ新しい方法で完全解析される時がくるのだろうか。SFに出てきそうな0手で先手投了(もしくは先手1手指したところで後手投了)という時代はくるのだろうか。

 

(※1)
「Ponanza Chainer」の公式紹介文はこちら↓「Chainer」というDeep Learningを使用しているとのこと。

http://www2.computer-shogi.org/wcsc27/appeal/Ponanza_Chainer/Ponanza_Chainer.pdf

(※2)
「elmo」の公式紹介文はこちら↓

http://www2.computer-shogi.org/wcsc27/appeal/elmo/elmo_wcsc27_appeal_r2_0.txt

ちなみに参加ソフト一覧のページはこちら↓

第27回世界コンピュータ将棋選手権

(※3)
完全解析に必要な計算量(ゲーム木の複雑性)は、オセロ(6×6盤)で10の30乗、オセロ(通常の8×8盤)で10の58乗、チェスで10の123乗、将棋で10の226乗、囲碁で10の400乗と見積もられている。参考までに、盤面状態の種類は、オセロ(通常の8×8盤)で10の28乗、チェスで10の50乗、将棋で10の71乗、囲碁で10の160乗と見積もられている。

(※4)
縮小版オセロにおける完全解析(情報処理学会研究報告より)↓

https://www.ipsj-kyushu.jp/page/ronbun/hinokuni/1004/1A/1A-2.pdf