チェスにおけるチート分析の原則

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

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

リーガンは「コンピュータ・エージェントへの忠実性の測定」(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ヶ月に一度、我々は(理論的には)奇跡を目撃することになるのだ。

もちろん、以上の話は将棋にチートがないということを意味するわけではない。今回問題になっているのは三浦九段だが、個人的には、他にもトイレかどこかでチートをしていた棋士や奨励会員はいると思う。しかし重要なのは、チートの有無を科学的な議論、あるいは(まあ現実の裁判はそこまで厳密ではないかもしれないが)法廷での論争にも耐えるレベルで立証できるかということ、そして、それは一致率だけでは理論的に無理ですよ、ということなのだ。

ところで、先ほどの例で、あらかじめゴルファー1万人の中の10人に何か印を付けておいたとして、その10人のうち一人がホールインワンを達成したとしよう。この場合の確率は、印のつけ方とホールインワンに関係がなければ10/10,000×1/5,000=1/5,000,000、期待値は10,000×10/5,000,000=1/500ということになる。期待値が1/500、すなわち0.002回、言い換えれば1万人を500回集めてようやく一度起きるかどうかという出来事が実際に起こったとすると、常識的に考えてもかなり稀な出来事だし、偶然とは言い難い。仮説検定で有意水準5%という話がよく出てくるが、これは大ざっぱに言えば、偶然で説明できないことが起こる確率が1/20(ないし1/40)ということだ。1/500はそれよりはるかに小さい確率ですね。にも関わらず実際にそのような出来事が起こったとしたら、それは偶然とは考えにくい、ということになる。チェスや将棋であれば、それはチートの存在を示唆することになろう。

以上の話を踏まえてリーガンの主張をまとめるとこうなる。

  1. **一致率の高さだけではチートの確証とは言えない。**90%だろうが100%だろうが同じ。
  2. ようするに、先の例で言うところの「印」をどうつけるかという問題である。そうしないとどこまで行っても理論的には偶然である可能性を排除できない。
  3. その意味で、「印」は、リーガンの言葉を借りれば**「チェス分析やコンピュータとの指し手との統計的一致とは独立した、何らかの物質的あるいは観察に基づくチートの証拠」**(physical or observational evidence of cheating, something independent of the consideration of chess analysis and statistical matching to a computer)でなければならない。

統計分析の結果はあくまでチートの「補助的な」証拠に過ぎず、チートを立証するには他に具体的で明確な証拠が必要となる。チートの現場が押さえられればそれに越したことはないだろうが、そうでなくとも不正に用いた機器のような物証、あるいは不正行為の現場を目撃したというような具体的な証言があれば良いわけだ。残念ながらこの場合、「プロの勘」のような感覚的なものは証拠になり得ない。仮に今回、告発した棋士や日本将棋連盟の中枢が、一致率の高さがチートの動かぬ証拠になると思い込んでいたとしたら、それは不幸なことだったと思う。

思うに、もう将棋プログラムは十分強いので(笑)、将棋プログラムの作者なりコンピュータ将棋協会なりは、今後は将棋のチート検出に取り組んだらよいのではないか。ルールがかっちり決まっている他の分野、例えば会計不正なんかの検出にもノウハウが応用できそうだ。日本将棋連盟も、こういうのに金を出したらいいのにね。とりあえずリーガン先生を日本に招いて講演会でもやってほしいのだが…。

comments powered by Disqus