Lichessの解析が見落とすもの
要点
- Lichessは100万ノードのサーバー解析1回であなたの手を判定している。ランダムな300局を2000万ノードで再解析し、すべての判定を比較した。
- 10個に1個の判定が変わる。不安定なのは「不正確な手」だ。57%が維持され、28%は深く読むと何でもなく、15%はもっと悪い。
- 20局に1局には、まったく印のつかないミスがある。その多くは半ポーンから3ポーンの範囲、つまり勝敗が決まる領域にある。
- タイトル保持者の対局から拾ったその印なしのミス32問を、パズルのスタディにまとめた。
先週のブリッツ1局で、Lichessは私の手に8つの印をつけた。20手目はその中になかったが、これはミスであり、レポートが一切触れていないその局の3つのミスのうちの1つだった。サーバーの評価は20.Qd1の前が+1.2、後が+0.9で、印をつけるには下げ幅が小さすぎた。20倍の時間を与えたStockfishでは、前が+2.0、後が+0.7だ。
同じ対局を2回評価したもの。Lichessの線がグラフに表示されているもので、点は両者について印がついた手。丸で囲んだのは、深い探索がミスと呼び、Lichessが呼ばなかった3手、20手目、24手目、26手目だ。
それがどのくらいの頻度で起きるのか知りたくて、ランダムな300局をサーバー予算の20倍で、タイトル保持者9人の800局を4倍で再解析し、すべての判定を比較した。10個に1個が変わる。信用しないほうがいいのは「不正確な手」の判定だ。そして20局ごとに1局は、まったく印のつかないミスを含んでいる。パズルはそこから来ている。
判定はどう作られるか
サーバー解析(fishnet、寄付されたCPU上で動くStockfish)は、対局の各局面を1回だけ、1手あたり1,000,000ノード、1コアで約1秒かけて評価する。各判定は、その数値2つの差、つまり着手前の局面と着手後の局面の差を勝率に変換したもので、0.00での半ポーンの取りこぼしが+5でのそれより重く数えられるようになっている。勝率で0.1の低下が不正確な手、0.2がミス、0.3が大失着だ。
つまり判定は、両端ともに100万ノードが見えるものしか見ていない。探索が反撃手順を見つけられなければ、「前」の数値はあなたが持っていたものを知らないままで、あなたの手はそれに対して何も失っていないことになる。私の20.Qd1がまさにその例で、より良いマスは1列隣であり、咎められ始めるのは1秒の探索が見る先より3手あとだった。
2000万ノードで何が変わるか
ランダムなレート対局300局(1600から2400、2026年8月のデータベースより)を、同じ式で20,000,000ノードで再評価すると次のようになる。
- 10手に1手の判定が変わる。 変化は両方向にほぼ同数起きるので、対局サマリーの合計はほとんど動かないのに、その下にある手は入れ替わる。
- 不安定な判定は「不正確な手」だ。 Lichessの不正確な手1,805件のうち、深く読んでも不正確な手なのは57%、何でもないのが28%、ミスか大失着なのが15%。大失着は84%が維持される。
- 20局に1局にはまったく印のつかないミスがあり、8局に1局には深く読むと何でもない「ミス」の印がある。どちらも半ポーンから3ポーンの範囲、つまり勝敗が決まる領域に集まっている。
タイトル保持者9人それぞれ約100局の本人の手に同じ解析をかけると、LichessがMagnus Carlsenに押しつけたミスの4分の1は深く読むとミスではなく、他の全員では逆方向で、本物のミス5つに1つが本来より甘い判定になっている。
| プレイヤー | 対局数 | Lichessのミス+大失着 | 判定が甘い | 判定が厳しい |
|---|---|---|---|---|
| Magnus Carlsen | 104 | 195 | 18 (11%) | 50 (26%) |
| Alireza Firouzja | 104 | 215 | 45 (20%) | 35 (16%) |
| Eric Rosen | 102 | 225 | 45 (20%) | 43 (19%) |
| Jerry (ChessNetwork) | 104 | 287 | 45 (16%) | 46 (16%) |
| Oleksandr Bortnyk | 102 | 184 | 51 (25%) | 30 (16%) |
| Sergei Zhigalko | 103 | 218 | 53 (22%) | 29 (13%) |
| Dmitry Andreikin | 104 | 165 | 33 (19%) | 26 (16%) |
| Ediz Gürel | 61 | 117 | 37 (27%) | 15 (13%) |
| Anish Giri | 20 | 12 | 3 | 1 |
解析が見逃した5つの手
各局面はそれらの対局から取った。プレイヤーは示された手を指し、解析は何の印もつけず、2000万ノードの探索はそれを、唯一の最善手に対するミス以上だと判定する。盤面は着手前の局面から始まるので、先に良い手を探せる。1手進めると、本来つくべき印とともに実戦の手が出て、反撃手順はスタディ内の分岐として、各盤面の下のクリック1回で見られる。
Zhigalko、黒番。 白はいまBe5と指してc7のクイーンに当て、黒は自然な手を指した。20…Qd7で攻撃から逃げる。解析では前が−1.38、後が−1.30で、何も失っていない。しかしクイーンを助ける必要はなかった。20…Rxd2! でエクスチェンジを与え、21.Rxd2のあとポーンの手21…c3! がb2のクイーンとd2のルークを同時に両取りにする。白はクイーンを取り返す(22.Bxc7 cxb2 23.Rxb2 Rxc7)が、残るのは黒の2枚のビショップとナイトに対して白のルーク1枚で、深く読むと−3.2、逃げた場合の−1.3に対してこれだ。反撃手順が駒を損する手から始まるので、1秒の探索では決して見えない。
Bortnyk、黒番。 20…b5はc4のビショップを攻め、解析は−0.63から−0.41へ動いた。f5のビショップは単にナイトを取れた。20…Bxe4! 21.dxe4、そしてもう一方のナイトがf4に入り、続く…e5でビショップをd4から追う。黒は5手以内に駒を得て、深く読むと−2.7。2番目に良い手、すぐの20…Nf4はわずか−0.6だ。
Bortnyk、黒番、クイーンの終盤。 クイーンとナイト対クイーンとルークで、白の頼りはaポーンだけ。黒は54…Qf6と指し、解析は−1.58から−1.03と言った。深く読むとQf6のあとの局面は完全な引き分けだ。54…Qa7+! 55.Kg3 Qxa4でそのポーンを王手つきで取り、終盤は−2.1で勝ちになる。
Carlsen、黒番。 白のクイーンはg4、ナイトはe4にいる。Carlsenは15…Ne5と指してクイーンに当て、解析は−0.94から−0.43へ動いた。ポーンの手15…f5! は両方に当たる。16.Qh3 fxe4 17.Bxe4のあと、黒はポーン1つでナイトを得て−1.9に立ち、2番目に良い手(15…g6)は1.5ポーン離れている。浅い探索は…f5をキングを緩める手と読み、ナイトの引きを安全と読むが、どちらの読みも間違っている。
Gürel、白番。 双方ナイト1枚のルークの終盤。黒のa3のナイトは浮いていて、白のdポーンはd5にある。白は31.Nd4と指し、解析では+1.42から+1.06。31.d6! が本手だ。ルークはポーンを止めなければならず(31…Rxd6)、そこで32.Nxa3がタダでナイトを取る。深く読むと+3.9、実戦の手のあとの+0.9に対してこれだ。
32問すべてはスタディにパズルとして収めてある。まず局面、実戦の手に印、反撃手順を分岐としてエンジンの数値付きで、そして2000万ノードの探索が判定するその後のすべての手にもそれぞれの印とエンジンの手順を並べてある。強制的な解のものを先に置いた。浅い地平線の先にある長い手筋は人間が見つけられるものだからだ。静かなものは後ろにある。
自分のレポートの読み方
「ミス0」とは、100万ノードで見える範囲で0ということだ。大失着は本物、不正確な手は半分本物、そして1、2ポーン勝っていた対局に相手を呼び戻してしまう手は、最も印がつかない可能性が高い。大事な対局なら、自分のエンジンをかけて、+0.5から+3の局面で探索深さ25を超えて考えさせるといい。
測定方法
ランダムサンプルは、2026年8月のLichessデータベースで両者のレートが1600から2400の解析済み対局の10局ごと1局、計300局、サーバー評価のある20,227手だ。各局面をStockfish 18(fishnetが動かしているメジャーバージョン)に1スレッド20,000,000ノードで通し、lila自身の式(Advice.scala: 勝率差0.1、0.2、0.3)で2組目の判定を作った。その式をLichess自身の評価値に適用すると、Lichess自身の判定を99.07%再現するので、比較の両側でこれを使っている。どちらかの端に強制詰みがある842手は除外した。lilaはそれらを別のルールで判定する。ノード予算はlilaのWork.Originにある。要求された解析が1,000,000、公式中継が5,000,000、自動解析が300,000と100,000だ。
| Lichessの判定 | 2000万では印なし | 不正確な手 | ミス | 大失着 |
|---|---|---|---|---|
| 印なし | 15,281 | 496 | 13 | 2 |
| 不正確な手 | 504 | 1,033 | 233 | 35 |
| ミス | 27 | 190 | 367 | 151 |
| 大失着 | 12 | 18 | 134 | 889 |
9人の対局は、公開APIから取った直近100局の解析済みレート付きブリッツとラピッド(2026年に活動している7人。CarlsenとFirouzjaは今年解析済みのLichess対局がないので、それぞれ2021年と2023年までさかのぼる)で、より安価な4,000,000ノードの解析をかけた。ランダムサンプルでは、400万は2000万が見つけるもののやや半分強を見つけるので、プレイヤーの比率は下限値だ。パズルとして残るのは、指された手が2000万ノードで勝率を0.2以上落とし、その最善手が2番目の手順を0.1以上上回る場合(3手順を探索)、さらにその局面をもう一度独立に2000万ノードで探索しても実戦の手をなおミスと判定する場合だ。最初の関門を35問、2つ目を32問が通過した。それが2000万ノード探索のノイズの大きさであり、深い解析を真実そのものではなく真実に20倍近いものとして扱う理由でもある。
参考資料:
- スタディ: 解答とエンジンの数値付きの32問すべて
- lila
Advice.scala: 判定のしきい値 - lila fishnet
Work.scala: 解析の由来ごとのノード予算 - Lichessオープンデータベース: 月次ダンプ