結論
独立した 4局面で確かめたところ、4局面中 3局面でキャスリングが候補の中の最高評価でした。そうでなかった局面でも差は 0.05 しかありません。事実上どの局面でも正しい選択だった、と言える結果です。
(この記事の「最高評価」は、比較した候補手の中での順位です。全合法手の中での最善手を指すものではありません。検証方法をご覧ください)
今回検証すること
「早くキャスリングしろ」は、序盤の三原則(中央を取る・駒を出す・王を囲う)のひとつとして必ず教わります。では実際に、1手でも早く囲うことに数値上の価値はあるのでしょうか。イタリアン・ゲームのこの局面で、キャスリングと他の候補手を比べました。
この局面は黒番なので、数値は黒から見た評価です。全体がマイナス寄りなのは、序盤で先手の白がやや良いという通常の評価であり、注目すべきは手ごとの差です。
検証方法
定説を1つの局面だけで確かめても、その局面の事情なのか、どこでも起きることなのかが分かりません。そこで、開いた局面・閉じた局面・白番・黒番と、性格の違う4局面を選びました。各局面で候補手を1手ずつ実際に指し、その局面をエンジンで探索しています。数値はすべて実行結果で、推測ではありません。
比較しているのは全合法手ではなく、記事のテーマに関係する候補手です。検証したい手と、その局面で普通に指される手を選んでいます。したがって表の最上段は「この局面の最善手」ではなく、比較した候補の中で最も評価が高かった手です。
そのうえで、候補手を指定しない探索も局面ごとに1回おこない、エンジン自身の第1候補を記録しています(各局面の欄に出しています)。候補の選び方で結論が変わっていないかを確かめるためで、生成処理には、エンジンの第1候補が候補内の最高評価を0.50以上上回ったら実行を中止する仕掛けを入れています。現在のデータでの最大の差は 0.18 でした。
局面ごとの結果
| 局面 | 候補内の最高評価 | 検証した手 | 差 |
|---|---|---|---|
| イタリアン・ゲームで(黒番) | d6 −0.23 | O-O −0.28 | 0.05 |
| フォーナイツで(黒番) | O-O −0.27 | O-O −0.27 | 同じ |
| クイーンズギャンビットで(黒番) | O-O −0.15 | O-O −0.15 | 同じ |
| 短くではなく長く囲う選択(白番) | O-O-O +0.51 | O-O-O +0.51 | 同じ |
局面 1|イタリアン・ゲームで(黒番)
1.e4 e5 2.Nf3 Nc6 3.Bc4 Bc5 4.c3 Nf6 5.d3
FENr1bqk2r/pppp1ppp/2n2n2/2b1p3/2B1P3/2PP1N2/PP3PPP/RNBQK2R b KQkq - 0 5
候補の中で最も高かったのは d6(−0.23)。O-O は −0.28 で、差は 0.05 でした。
候補手を指定せずに同じ深さで探索させても、エンジンは d6 を選びました。
候補手を押して、盤面を切り替えられます
| 候補手 | 評価 | 候補内最高との差 |
|---|---|---|
| d6 | −0.23 | 基準 |
| a6 | −0.23 | 0.00 |
| O-O | −0.28 | −0.05 |
| h6 | −0.28 | −0.05 |
| Rf8 | −1.23 | −1.00 |
| Ng4 | −1.33 | −1.10 |
局面 2|フォーナイツで(黒番)
1.e4 e5 2.Nf3 Nc6 3.Nc3 Nf6 4.Bb5 Bb4 5.O-O
FENr1bqk2r/pppp1ppp/2n2n2/1B2p3/1b2P3/2N2N2/PPPP1PPP/R1BQ1RK1 b kq - 7 5
比較した候補の中では O-O が最高評価でした(−0.27)。
候補手を指定せずに同じ深さで探索させても、エンジンは O-O を選びました。
候補手を押して、盤面を切り替えられます
| 候補手 | 評価 | 候補内最高との差 |
|---|---|---|
| O-O | −0.27 | 基準 |
| Bxc3 | −0.61 | −0.34 |
| d6 | −1.18 | −0.91 |
| a6 | −1.32 | −1.05 |
| Nd4 | −1.40 | −1.13 |
局面 3|クイーンズギャンビットで(黒番)
1.d4 d5 2.c4 e6 3.Nc3 Nf6 4.Bg5 Be7 5.e3 h6 6.Bh4
FENrnbqk2r/ppp1bpp1/4pn1p/3p4/2PP3B/2N1P3/PP3PPP/R2QKBNR b KQkq - 1 6
比較した候補の中では O-O が最高評価でした(−0.15)。
候補手を指定せずに同じ深さで探索させても、エンジンは O-O を選びました。
候補手を押して、盤面を切り替えられます
| 候補手 | 評価 | 候補内最高との差 |
|---|---|---|
| O-O | −0.15 | 基準 |
| Ne4 | −0.20 | −0.05 |
| Nbd7 | −0.20 | −0.05 |
| b6 | −0.22 | −0.07 |
| dxc4 | −0.35 | −0.20 |
局面 4|短くではなく長く囲う選択(白番)
1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Be3 e5 7.Nb3 Be7 8.f3 O-O 9.Qd2 Be6
FENrn1q1rk1/1p2bppp/p2pbn2/4p3/4P3/1NN1BP2/PPPQ2PP/R3KB1R w KQ - 3 10
比較した候補の中では O-O-O が最高評価でした(+0.51)。
候補手を指定せずに同じ深さで探索させても、エンジンは O-O-O を選びました。
候補手を押して、盤面を切り替えられます
| 候補手 | 評価 | 候補内最高との差 |
|---|---|---|
| O-O-O | +0.51 | 基準 |
| a4 | +0.26 | −0.25 |
| h4 | +0.20 | −0.31 |
| Be2 | +0.19 | −0.32 |
| Rd1 | −0.27 | −0.78 |
| g4 | −0.54 | −1.05 |
なぜこの結果になるのか
この局面では、黒の駒はすでに落ち着いた位置にあり、白にすぐ王を攻める手段がありません。だから囲いを1手遅らせても、具体的なとがめ方がない。結果として、キャスリングも d6 も a6 も同じ評価になります。
いっぽうで、はっきり悪い手もありました。Ng4 は、すでに良い位置にいる f6 のナイトを二度動かす手です。読み筋は 6.d4 で、白に中央を取られます。Rf8 はキャスリングの権利を手放してルークを引っ込める手で、これも損。序盤で本当に高くつくのは、囲いの1手ではなく、すでに働いている駒を動かし直すことでした。
例外と注意
これは「キャスリングは不要」という意味ではありません。白に攻め筋がある局面では、遅らせた1手がそのまま致命傷になります。今回わかったのは、原則が絶対ではなく、局面によっては数手の猶予があるということです。
原則は、読みの入り口を絞るための道具です。局面ごとに「いま相手に何ができるか」を確かめれば、原則を守るべき場面と、そうでない場面を見分けられます。
この検証で言えること・言えないこと
- 言えること:ここに挙げた 4局面において、選んだ候補手を depth 20 まで探索した結果です。数値はすべて実行結果で、あとから手を加えていません。
- 言えないこと:4局面はチェスのごく一部です。「すべての局面でそうなる」ことの証明にはなりません。
- 前提:評価値は「両者が最善を尽くしたら」という前提の数字です。相手が最善で応じなければ、実戦の結果は変わります。
- 再現方法:この記事の数値は、解析結果をそのまま収めた chess-analysis.json から組み立てています(局面・候補手・評価値・読み筋がすべて入っています)。上の設定で同じエンジンを走らせれば、同じ数値が出ます。シングルスレッドで、局面ごとにハッシュを初期化し、深さを固定しているためです。エンジンのバージョンやハッシュ容量を変えると数値は変わります。

実戦で覚えること
- この局面では、キャスリングを急ぐ必要はなかった
- 明確に損なのは、序盤で同じ駒を二度動かすこと
- ルークを引っ込めて囲いの権利を捨てる手も損
- 原則は目安。毎回1手を争うルールではない
自分で試す
同じ考え方を、実際の対局で試せます。1手ごとにエンジンが採点するので、原則を守った手とそうでない手の違いがその場で分かります。