10か月かけて、最も人間らしいチェスbotを作った
Spending 10 months building the most human-like chess bot
既存の人間らしいモデル、Allie 2.0とMaia-3では満足できず、Lichessの任意のレーティング・時間設定で人間そっくりに指す対戦相手を目指してChessbook-1を開発。2026年9月のLichess実戦30,000局面で評価すると、blitzではMaia-3とほぼ互角、低レーティングから高レーティングまで強さが正確に一致し、時間切れ間際のミスや思考時間の使い方まで人間に近い。
Chessbook-1は全レーティング帯で人間のミス率の9%以内に収まり、2600+でも18%にとどまる。一方Maia-3とAllie 2.0は2600+のプレイヤーより63%・75%も多くミスをする。
- fps-hero
ここには評価に値する斬新なアイデアがいくつかある。古典的な「タイムスクランブル」は、トップレベルの人間の対局においても間違いなく検討する価値がある。
Lichessのようなかなり豊富なデータセットがあっても、ボットで人間の強さを近似するのが依然として難しいのは奇妙に思える。
「低強度の人間」として、従来のチェスエンジンが人間を模倣できない理由はとても簡単にわかる。
実際の計算の先読みに関して言えば、人間はチェスエンジンの深さまで計算しているわけではない。人間が本当に3手以上の深さで全ての可能な手を考慮することはどれくらいあるだろうか?
人間は直感で指している。私たちは、ある枝がどれほど有望かの評価に基づいて決定木を刈り込み、その客観的に計算された強さに基づいてではない。ここがチェスエンジンが破綻する点だ。
人間は直感、パターン認識、戦略に頼っている。これらはどれも、ほぼ完璧な直感とパターン認識を持つトップレベルのプレイヤーでない限り、チェスエンジンには変換できない。
私の推測では、おおよそ人間の強さというのは、最も低いELOの人間は完全にランダムに手を指し、最も高いELOの人間は総当たりで上位の手順に従う。課題は、スキルレベルに基づいて人間の枝の評価に一致するように決定木を調整し、さらにプレイヤーのELOに基づいて枝を選択する第2の条件付き確率を調整することだ。
チェスエンジンの出力は決定論的であるべきではなく、確率的であるべきだ。歴史が示すように、問題に確率的アプローチを取ると、通常は魔法が起き[…]
- matsemann
> これはモデルがより一貫したプレイスタイルを維持するのにも役立ちます。時には、何手もかけて盤上に犠牲が可能な状況があります。人間なら通常、それをやるかやらないかを決め、具体的な変化があるまでその決定を貫きます。しかし、recencyを追加する前にこのボットと対局したとき、ボットは何手もの間その戦術を無視し、無関係な静かな手の後にそれを実行しました。非常に異質で不快に感じられました。
前回の投稿の局面履歴から。良い指摘です。ビショップの「狙撃」も同じです。ビショップがb2に移動し、そこに20手留まると、「忘れられ」、相手が突然ピンを作ったり、何かが十分に守られていなかったりします。しかし、全く同じ盤面を見ても、前の手がビショップをb2に移動させる手だったなら、私はそれを意識するでしょう。その種の局所的な思考はもちろん、しないように学ぶべきことですが、私のレベル(FIDE 1700-1800)ではそれが人間の指し方です。
- hyperbolablabla
chessbook.comでこのボットと普通の対局ができると思ったけど、どうやらそうではないみたい?