前回の記事「チェスの不正解析 1:Regan教授曰く」では、チェスの不正解析におけるRegan教授のポリシーを紹介しました。今回は、そのポリシーに基いて統計解析するためのデータを取得する方法を「Testing Rationale and Methodology」(テストの原理と方法)の記事から紹介します。

具体的な話に入る前に、まずはチェスソフトについて、将棋ソフトとの違いに注意しながら、簡単に紹介します。

チェスソフトの基本動作は将棋ソフトと同じです(※将棋ソフトがチェスソフトを多大に参考にしているため)。序盤は定跡ファイル(opening book)があり、それを抜けると反復深化による探索が行われます。探索時には、重複を避けるため、一度読んだ局面の情報をハッシュテーブル(以下、ハッシュ)に記憶して活用します。終盤は、将棋とは異なり、駒数が限られるため、エンドゲームのデータベース(tablebase)が存在します。

検討や棋譜解析も、将棋と同様に行うことができます。ただし、チェスソフトは、複数の候補手を探索する機能(マルチPV)があるのが標準的であり、検討の最中にハッシュを維持したまま、候補手の数を変えることができます(※)。候補手の数が1の状態をSLM(Single-Line Mode)と言い、候補手が複数の状態をMLM(Multi-Line Mode)と言います。

※ 例えば、Arenaなら下にある解析ウインドウを右クリックして「Multi PV Mode」で候補手の数を変更します。UCIエンジンなら探索中に「setoption name MultiPV value 10」等と送るだけのようです。

チェスソフトは探索深さ12手程度でワールドチャンピオンクラスとされており、古いモバイルコンピュータでも数秒の思考時間でその深さに到達します。そのため、昔から不正対策が必要とされてきました。

記事では最初に、テストを行ってデータを取得する際の2つの原則が示されます。

  1. テストは、想定している不正行動に対して“現実的”でなければならない。
  2. ソフトとの一致の重要性は代わりの候補手の客観的な評価に依存する。

1つ目の原則は、例えば、不正想定時に5分しか時間が使えないのに、1手に何時間も必要な検討をしても意味がないということです。また逆に、対局者よりも明らかに実力が劣る浅い探索結果も、不正に利用されることはないため、解析に用いるべきではありません。不正解析を目的とする以上は、マシンスペックや検討時間(時間固定より探索深さ固定を推奨)、エンジン設定、定跡ファイル等の設定は“現実的”に不正が実行可能な範囲で調査される必要があります。ここで、調査手法が想定(モデル)に依存するというのは、何か心地悪いという感覚を持たれる方もいるかもしれませんが、実際に調査に割ける労力が限られている以上は仕方ないことでしょう。また、この原則は、恣意的に調査を行ってよいということではなく、あくまでも調査の範囲を限定するためのものであることに注意しましょう。

この他、“現実的”でない例として、棋譜を終局から遡って解析する後退解析が挙げられています。後退解析は、先の局面の情報をハッシュに記憶した状態で前の局面の解析を行うため、棋譜解析のやり方としては優れていますが、不正者が先の局面を予知しているとは考えにくいため、不正解析としては“現実的”ではありません。ただし、不正のやり方によっては、不正者がコンピュータで先の局面を予想入力して検討している可能性もあるわけですが、そのような複雑な場合にまでは対応できないようです。

2つ目の原則は、ソフトとの一致の重要性を主観的に判断してはならないということを意味しています。「人間には指せない手」「棋風に合わない手」等と主観的に判断せずに、コンピュータが客観的に計算した候補手と評価値に基づいて判断を行うということです。一般的には、他の候補手と比べて評価値が突出した手が一致するよりも、近接した候補手が沢山ある複雑な局面での一致の方が重要だとされます。そのような判断を行うには、MLMで多数の候補手(10手程度)を評価する必要があります。複数のソフトで評価するとさらによいとされます。

以上の原則により、一般的に、ある思考エンジン(Eとする)と指し手との一致を調べるには、以下の2つの調査を別々に行わなければなりません。

  1. 一致調査:“現実的”な探索深さまで1度以上、“現実的”な設定でEを動かして、様々な探索深さで一致するかを判定する。
  2. 重要性調査:“信頼できる”探索深さまでE(及び/または別のエンジン)を1度以上、MLMで動かして、重要な候補手と実際の指し手の評価値を比較をする。

さらに具体的に手法を定めるには、不正のモデルを特定する必要があります。

一般的に考えられているのは、以下のモデルです。

  • 単独不正
    • “靴の中のコンピュータ”不正:本人による簡単な指し手入力によって、SLMの検討結果を陰で受信する。持ち物検査で対策可能。不正解析可能。
    • “クローゼット”不正:離席して画面を見ながら検討する。SLMが簡単だが、MLMを用いて見落とし確認や高度な検討が行われることもある。状況によっては不正解析可能。
  • 共謀不正
    • 重要手における不正:大駒を切る手など、明らかに決断のいる重要手が唯一存在している局面において、観衆の中の共犯者に対局者が合図を送って成立しているかどうかを確認する。正否の答えはノイズに混ぜた音声等で伝達される。チェスのトップレベルのイベントにおける主要な問題。会場の設営方法を工夫すれば、物理的に防止できる。データ数が少ない上に、重要手の判定に主観が入るため、不正解析は困難。
    • 遠隔伝達不正:共犯者がSLMで検討して最善手を電子的/シグナル的に伝達する。最も効率がいいのは、自分の手番はSLMで深く探索し、相手の手番はMLMで確実にハッシュをためる方法。共犯者が選んだ重要手のみで行うこともできるが、多くの指し手で利益を得たいという人心から物理的に探知されるリスクが大きい。多くの手で不正が行われた場合、最も解析しやすい不正。

例えば、遠隔伝達不正モデルの場合には、MLMをSLMの4倍の思考時間で同等と仮定して、ハッシュの状態が“現実的”であることに注意し、“ジグザグ”テスト法(詳細は元記事を参照)を用いると、一致調査と重要性調査を同時に行うことができ、効率的に調査ができます。

また、探索深さを「中盤での“現実的”な探索深さ+1手」に固定して、候補10手のMLMで、定跡部分を抜けた後の棋譜の前進解析を行うと、MLMで一致調査と重要性調査を同時に行うことができます。この手法は、各探索深さにおける一致手の評価値の揺れ動きを見ることで、最善手との一致以上の情報が得られるため、詳細な解析を行うことができますが、調査に時間がかかったり、SLMを想定した不正モデルとは“予想以上に”異なる結果が出たりする等の問題点があります。

以上がRegan教授が提案しているデータ取得方法の概要です。“現実的”であることを追及してハッシュの状態にまで繊細にこだわるのは、一見すると神経質すぎるようにも思えますが、実際に結果に影響を与えうるという経験に基づく教訓であるようです。また、単に一致率を見るだけではなく、MLMによる調査も同時に行う必要があるというのも重要な指摘です。

データを取得したら、最後に統計解析を行います。一致率等の統計解析のやり方の基本は「人間の値打ち 2:統計的判定基準」の記事に書いた通りですが、ここでは方法の詳細は本質ではなく、とにかく恣意性のないように誠実に検定を行えば問題ないと思います。また、一致率の他に、重要性調査のデータを用いて算出できる固有チェスレーティング(Intrinsic Chess Ratings)も重要な指標となります。

次回は、Regan教授らの論文に基づき、固有チェスレーティングを紹介します。