ゲームの前庭

コンピュータの将棋は確かに強くなった。これは私の予想を超えていた。

しかもそのお陰でいろいろなことが分かってきた。

例えば、将棋はやはりチェスより難しかった。

こうした異なったゲームの比較は、本来意味がない。木村八段は、

「寿司とビフテキはどっちが美味いか問うようなものだ。」

と表現されたが、確かに主観によると言えばそうだ。だが、寿司とビフテキは、どちらが単位重量当たりの

カロリーが高いか、という問いなら、客観的に解答できる。もちろんカロリーが高いほうが美味いとも、

その逆とも言えないが。

そういう意味で、ゲームは「プログラムの大変さ」で、その難しさを客観的に測ることが出来る。

当然、機械にとって難しいゲームが、人間にとって難しいとは限らないのは、カロリーが高いほうが美味いとは

限らないのと同断である。

将棋がチェスより難しいとは、こういう意味でである。

例えばリバーシ(オセロ)のプログラムは、強い。真の世界チャンピオンは、ロジステロだかハンニバルだか、

そのまた後発プログラムだかは知らないが、コンピュータであるのは間違いがない。だが、これは本当は

コンピュータが強いのではない。人間が弱いのである。

リバーシの、先の展開は人間には読みにくい。裏返って裏返ったのが裏返るから・・・などと追うのは大変だ。

しかし虱潰しに読むコンピュータには、5手や10手先の完全読みは容易だ。これでは、勝負は見えている。

逆にコンピュータは手の広いゲームは苦手だ。囲碁のソフトがなかなか強くならないのは、他にも理由はあるが、これが主原因である。囲碁で50手も60手も先を虱潰しに読むのは、どんなコンピュータでも不可能で、

これはもう原理的にできない。

マイナーなゲームを例に挙げて申し訳ないが、五竜陣とマンカラを比べてみよう。

ゲーム盤の大きさや手数は、そう変わらない。(現行の五竜陣の盤は少し小さすぎるが。) 人間同士でやると、両方のゲームとも、勝ったり負けたりという結果になる。だが人間とコンピュータがやると、こうはならない。

マンカラのプログラムはとても強く、人間の名人でも敵わない。ところが五竜陣のプログラムはとても弱い。

五竜陣はマイナーなゲームだから、十分に研究されていないのだろうか。確かにそういう側面もある。だがマンカラだって同様だ。マンカラのプログラムは、あっと言う間に強くなったのだ。では、どこが違うのだろうか。

マンカラは手が狭く、五竜陣は手が広いのである。

現在の将棋プログラムは、かなり強くなったが、それでも中盤は比較的苦手である。

ゲームの展開は、一般的に序盤・中盤・終盤に分けられる。そしてこれも一般的に、

序盤は研究。

中盤は感覚。

終盤は読み。

と言われる。

コンピュータが強いのは、虱潰しができる「読み」の世界である。だから終盤はとても強い。だが、とても読みきれない中盤は弱い。コンピュータに「感覚」を教えるのはかなり難しい。簡単な評価関数が作れないからである。(ただし、有効な評価関数が見つかればとても強くなる。例えばアッパーハンド。)

ところがもっと読めない序盤は、逆に少し強くなる。人間の感覚も追いつかないから、定石を覚えることになるが、単なる記憶なら、コンピュータはとても強いからだ。だが、「単なる記憶」なので、うまく定石を外されたりすると、コンピュータにはこれを咎めることができない。

人間に将棋を教えると、人にもよるが、序盤・中盤・終盤が並行して強くなるのが普通だ。中盤だけ強いなんて人はあんまり居ない。ところがコンピュータは、最終盤から強くなった。まず詰将棋から強くなったのである。

詰め手順が存在すればものすごく強く、その直前はとても弱いという面白いことになる。

人間の場合はこういうことはあまりない。序盤はそこそこ指し、中盤はからっきし駄目で、終盤になると突然鬼のように強くなる、なるなんて人は、詰将棋パラダイスの作家にはもしかしているかも知れないが、普通は考えられない。

更にコンピュータのプログラム開発の過程で、面白いことが分かってきた。それは、ゲームに前庭の広さがある、ということである。ある意味で序盤のさらに前の話、人間にとってはゲームを始める前の話ということになる。

よく、ゲームの奥の深さということが言われる。誰でもすぐ上達してしまうゲームは奥が浅く、上には上がいるゲームは、奥が深いと考えてよいだろう。

ニム(三山崩し)は、単純な必勝法があるので、それを覚えればたちまち神の領域である。先手(あるいは後手)を取れば、神様相手でも勝てるのである。一方囲碁は、神様と打ったら名人でも子供のようなものだろう。

つまりニムは玄関を入ったら、すぐ裏口に出てしまうほど奥が浅く、囲碁は玄関を入ったら広大なお屋敷で、

遥か遠くの出口は霞んで見えないという奥の深さに喩えられる。

だが、そうした奥の深さに達する以前の問題があるのは、案外知られていなかった。玄関に入る前にまだ

前庭があるのである。

どうしてそれが今まで気づかれなかったと言えば、人間は前庭を一気に跳び越してしまうからである。

ゲームの中には、前庭以前に門前が長いのもある。

ルールの複雑なゲームは門前が長く、ルールを定式化しにくいゲームは、もっと長い。

現在のコンピュータソフトとしては、囲碁の終局などは、どう定義しているのだろうか。連珠の二重・三重の解禁問題は解決できているのだろうか。まだ門前が怪しい。だがここではその問題は措こう。コンピュータがルールを正しく認識したとしよう。だが、それから強くなるのが、なかなか大変なのである。

ルールを正しく覚えるのと、勝負に勝つのとは全く異なる。もちろん前者は後者の大前提だが、人間は案外そうでもない。ルールの細部がどうなっているのか知らない強者も、いたりする。双方入玉の場合の規定など、かなり将棋の強い人でも即答できない人は多い。嶺上開花の自摸符はつきますか? リダブルの1オーバーはバルで何点? などと聞かれて即答できる人は少ないだろう。だがコンピュータのプログラムは、例え間違っていても何かしら定義をしないと動かない。

そこで、ここでルールは全て正しく覚えさせたとしよう。ここからが前庭だ。

人間の場合は、ルールを覚えたらもう作戦を立て始める。中には、まだルールを把握していないのに、つい作戦を考えてしまう気の早い人も居る。(Nさんだけとは限らない。) だが機械は自分で作戦を考えてはくれない。コンピュータ技術は、まだとてもそこまで進んでいない。そこで前庭が問題になる。

前庭の広さを考えるのに役立つのは、ランダムプレーヤである。

ランダムプレーヤとは、ルールは守るがデタラメにプレーする者である。絶対にルール違反はしない。だから将棋のランダムプレーヤは、王手を掛ければどんなに愚かしい方法であってもこれを防ごうとする。しかし一手目に角の前の歩を進めたりするかも知れない。勿論同じ確率で角道を開けたりもするが。

ランダムプレーヤは絶対にゲームに負けるだろう。そもそも人間では、ランダムプレーヤは存在しない。(赤ん坊とやると、赤ん坊はルールを守らないから、やはりランダムプレーヤで(すら)ない。)だから、ゲームの前庭は、今まで興味を持たれることがなかった。しかし、ルールをプログラムしただけのコンピュータは、まずランダムプレーヤである。ランダムプレーヤ同士の対戦が、プログラム開発の初期にはありえるわけだ。それがどういう意味を持つかと言うと、ゲームの解析につながるのである。

ランダムプレーヤは、人間の初心者に簡単に負けるが、そこそこ戦うものと、箸にも棒にもかからないものとがある。そこには程度の差が、かなり広くあるのだ。ランダムプレーヤでもそこそこ戦えるものは、つまり前庭が狭いのである。

例えばニムは、前庭も狭い。子供とランダムプレーヤがやれば、子供が勝つだろうが、何回かに一回、ランダムプレーヤが勝つかも知れない。しかしたとえ子供でも、ルールさえ理解していれば、将棋や囲碁のランダムプレーヤーに負けることは、殆どありえない。将棋だと、偶然の王手を子供が見落とすということが、一万回に一回ぐらいあるかも知れないが。

リバーシのランダムプレーヤは、これよりもう少し強いだろう。ルール通り打っていると、子供の方で自滅してくれるかも知れない。つまり前庭が狭いのである。

このように、「ゲームの前庭」は、コンピュータが登場して初めて意識された視点である。

今後、項を改めて、色々なゲームの前庭について、個々に検討していきたい

 

(2006年05月14日mixi日記より)

 

参考サイト

コンピュータ将棋協会コンピュータ将棋協会blog