MCMaster Chess 日本語ウィキ

AI の強さ 4 段階 — Skill Level と探索時間の実数

難易度は 4 段階。画面には「初心者・アマチュア・プロフェッショナル・マスター」と出るだけで、中身は見えません。構築 JS には段ごとの Stockfish 設定がそのまま書かれていたので、数値で並べます。

更新 · 2026-10-27

014 段階の内部設定

AI はブラウザで動く Stockfish です。段の違いは「Skill Level」「探索の打ち切り方」「ランダム率」「待ち時間」の 4 つで作られています。下の表は構築 JS の分岐をそのまま写したものです。

難易度ごとの Stockfish 設定(構築 JS: CAIController.js)
難易度Skill Level探索ランダム率Move Overhead
初心者0深さ 150%2,500ms
アマチュア0深さ 10%2,500ms
プロフェッショナル31 手 1,000ms0%既定
マスター61 手 1,000ms0%既定

02初心者が「弱く」作られている理由

初心者だけは、最善手を指す前に 50% の確率で別の手を選びます。ただし完全なランダムではなく、駒を取る手や王手になる手など「意味のある手」の一覧から選びます。つまり、ただ駒を捨てることはせず、狙いのある手の中から外してきます。

さらに探索は深さ 1 で打ち切られます。深さ 1 は「1 手先だけ見る」に近く、相手の応手を読まないため、置き駒を取られる手を平気で指します。加えて Move Overhead が 2,500ms あるので、指すまでに 2.5 秒の間が入ります。

この 3 つが重なって、初心者は「考えているように見えて、狙いが浅い」相手になります。ルールを覚えたばかりの人が最初に当たる相手としては、理屈の通った設計です。

03プロとマスターの違いは Skill Level だけ

プロとマスターは、どちらも 1 手 1,000ms で打ち切り、ランダムも入れません。違うのは Skill Level が 3 か 6 かという点だけです。Skill Level は「意図的に弱い手を混ぜる度合い」を制御するので、同じ 1 秒でも、マスターのほうが良い手を選びます。

1,000ms という時間は、序盤の定跡的な局面では十分ですが、終盤の複雑な局面では読み切れません。マスターに勝ちたいときは、駒が少なくなって手が広い局面に持ち込むより、中盤で駒の取り合いを強いるほうが噛み合いやすい、というのが当サイトの見立てです(推測)。

04オンラインの代理ボット

オンライン対戦で相手が見つからないとき、深さ 1・2・3 のいずれかのボットが代理で入ります。どれになるかは待ち時間ではなく乱数で、0.8 を超える乱数のとき深さ 3、0.6 を超えるとき深さ 1、それ以外は深さ 2 という配分です。

つまり待てば強くなるわけではありません。また画面には相手が人間かボットかの表示が無いため、対戦相手の強さが安定しない理由の 1 つになっています。

05確認できていないこと

定跡データベース(オープニングブック)は、構築 JS のファイル一覧に見当たりません。序盤も Stockfish がその場で読んでいると考えられますが、読み込み後に外部から取得している可能性は否定できず、断定はできません(推測)。

また、深度や Skill Level の数値はエンジンへの命令文字列であり、その通りの強さになるかはエンジンの実装依存です。実測のレーティングは公開されていないため、段ごとの強さの差を数値で示すことはできません(不明)。

06設定を並べて比べる

ページ末尾の道具で、4 段階の設定を絞り込んで比べられます。数字はすべて上の表と同じ出典です。「1 手 1,000ms でどれだけ読めるか」を体感したいときは、持ち時間のページにある計算機も使えます。

AI 設定の早見表

段を選ぶと、その段の設定だけを強調します。数字は構築 JS(CAIController.js)の分岐から取った実数で、アプリ内の表示とは別物です。

4 段階

初心者

Skill Level
0
探索
深さ 1(go depth 1)
ランダム
50%(意味のある手の中から)
Move Overhead
2,500ms

二手先の取り返しを組むと通る。深さ 1 なので、こちらが駒を取られる手を残していても見ていない。

アマチュア

Skill Level
0
探索
深さ 1(go depth 1)
ランダム
0%
Move Overhead
2,500ms

深さ 1 のままなので、二手先の捨て駒が決まる。駒得は見るので、一方的には取られない。

プロフェッショナル

Skill Level
3
探索
1 手 1,000ms(go movetime 1000)
ランダム
0%
Move Overhead
既定

二手先の狙いは通らない。1 秒で読めない複雑な終盤に持ち込むと、精度が落ちる(推測)。

マスター

Skill Level
6
探索
1 手 1,000ms(go movetime 1000)
ランダム
0%
Move Overhead
既定

駒の交換を計算し、最後に 1 個多く取る形を目指す。序盤の定跡暗記より交換計算が近道。

オンライン対戦で相手が見つからないときは、深さ 1・2・3 の代理ボットが乱数で入ります(0.8 超で深さ 3、0.6 超で深さ 1、それ以外は深さ 2)。画面に人間かボットかの表示はありません。