将棋におけるコンピュータ不正行為(チート)の問題は、相変わらず迷走しているようである。将棋よりこの面ではだいぶ先行したチェスでは、チートの検出や棋譜分析に関して、どのような議論がされているのだろうか。

チェスにおける不正行為分析の第一人者がコンピュータ解析を行った

 チェスにおけるチート分析の第一人者は、ニューヨーク州立大学バッファロー校のケン・リーガン准教授のようだ。リーガンは数学と計算機科学の専門家で、チェスの強豪(インターナショナル・マスター)でもある。持ち前の知識を活かしてチートが疑われた対局のコンピュータ解析を行い、成果はニューヨーク・タイムズの記事にも取り上げられた。

 リーガンは「コンピュータ・エージェントへの忠実性の測定」(Measuring Fidelity to a Computer Agent)というウェブページを運営しており、なかなか勉強になる。といっても正直に言うと私は、Intrinsic Chess Rating(内生的チェスレーティング)という概念をベースにしたリーガンの解析手法をまだ完全に理解できていないのだが、彼がチート分析を行う上での基本原則は、「チェス・プログラムとの一致率の高さはたいていチートの証拠にはならない、ただし...」という副題のついた「ゴルファーの例え話」(Parable of the Golfer)というページにまとめられていて分かりやすい。

 リーガンの言うゴルファーの例え話とは以下のようなものだ。データによると、ゴルフにおいてある程度の腕前のゴルファーがパー3のホールを回る場合、ホールインワンが起こる確率は5,000分の1だという。我々がゴルフコースに出かけていって、そのときたまたまホールインワンを目撃するというのは奇跡に近い。何らかの不正が行われていると考えることも出来るだろう。

 しかし、仮にこのコースに同じような腕前のゴルファーを1万人集めて打たせることが出来たら、10,000×1/5,000=2ということで、確率的には一度どころか二度ホールインワンを目撃するということが予想される。稀な事象でも、多数を集めて一度に、あるいは少数でも膨大な回数を試行すれば、十分起こりうるのである。原理的に起こり得ないこと以外は、いつか必ず起こるのだ。

 とはいえゴルフコースにゴルファーが1万人集まることはまずあり得ないが、将棋にせよチェスにせよ、すでに1万局どころではない数の対局が行われ、膨大な棋譜が残っている。リーガン自身は分析プログラムに約3万局のデータを取り込んでいるそうだが、おそらく現在の将棋プログラムも似たようなもの、あるいはそれ以上だろう。コンピュータは結局のところそうした過去の棋譜を学習して指し手を選んでいるわけで、しかも相手は学習の対象でもあり、最善手に近い手を探し出す可能性も高い一流のプロ棋士だ。偶然一連の指し手が一致する可能性は、我々が直感的に思うよりもはるかに高いのである。

 将棋もこれから、他の棋士、例えば羽生とコンピュータの指し手が一致しただの、大山やら米長やら、あるいは江戸時代の名人やらとコンピュータの指し手の一致率が高いだのという話がぼろぼろ出てくると思うが、それは当然のことなのだ。

 似たような話はリトルウッドの法則としても知られている。100万回に1回しか発生しない稀な事象を「奇跡」と定義し、1秒に1度試行が行われると仮定する。人間はだいたい1日8時間活動しているとすると、35日間で100万回試行が行われることになる。言い換えれば約1ヶ月に一度、我々は(理論的には)奇跡を目撃することになるのだ。

八田真行(駿河台大学経済経営学部専任講師、GLOCOM客員研究員)