三目並べ(○×ゲーム) Tic Tac Toe
三目並べ(○×ゲーム)をブラウザで無料プレイ。CPU対戦(かんたん〜最強AIミニマックス法)・2人対戦・最強AIへの挑戦に対応。勝敗・連勝スコアをLocalStorageで保存。スマホタップでも快適に遊べます。
関連ツール
使い方
- モード(CPU対戦・2人対戦・最強AIに挑戦)と難易度・先攻を選んで「ゲーム開始」ボタンをクリックします。
- 盤面のマスをクリック(タップ)して○または×を置きます。
- 縦・横・斜めのいずれかに指定数(3×3なら3個)並べると勝ちです。
- 「一手戻す」ボタンで直前の手を取り消せます(CPU対戦は自分の手も含め2手分戻ります)。
- 勝敗・連勝スコアはブラウザに自動保存されます。
- 「最強AIに挑戦」モードでは絶対に負けないミニマックスAIと対戦します。引き分けを目指しましょう。
- 「ヒント」をONにすると、次に置くおすすめのマスが点線で表示されます。
難易度の違い
- かんたん完全ランダムに置きます。初めての方や子供向け。
- ふつう勝てる時だけ勝ちます。相手のリーチを半分の確率でブロックします。
- むずかしい勝ちを狙い、相手のリーチを必ずブロック。中央・角を優先します。
- 最強ミニマックス法+αβ枝刈りで最善手を選ぶ絶対に負けないAIです。
三目並べ(○×ゲーム)とは・必勝法
三目並べ(○×ゲーム・Tic Tac Toe)は、3×3のマス目に交互に○と×を置き、先に縦・横・斜めのいずれかに3つ並べた方が勝ちになる2人用ゲームです。シンプルながら、お互いが最善手を打ち続けると必ず引き分けになる「完全情報ゲーム」として数学的に証明されています。
① 中央を取るべき理由
3×3の盤面で中央マス(5番)は縦・横・斜め合わせて4ラインに関与します。角は3ライン、辺は2ラインにしか関与しません。先攻1手目で中央を取ることで、最も多くの勝ちパターンを同時に狙える状態になります。中央を持っている側が攻撃の主導権を握りやすく、ダブルリーチを作りやすくなります。
② 角を取るべき理由
角マス(1・3・7・9番)はそれぞれ3ラインに関与します。また、対角線の角を2つ押さえると、2方向同時にリーチが発生しやすくなります。中央を取った後は角を狙い、相手に辺(2・4・6・8番)を取らせるのが基本です。辺は2ラインにしか関与せず、攻撃力が最も低いマスです。
③ リーチを防ぐ方法
相手が2マス揃えてリーチ(あと1つで勝ち)になったら、必ずそのマスを塞いでください。ただしダブルリーチ(フォーク)を作られると、2か所同時にリーチになり1手では防ぎきれません。そのためリーチを防ぐより先に、相手がダブルリーチを作る前に阻止することが重要です。相手が中央+角を取り始めたら、対角線の角を奪うか辺に置いてルートを分断しましょう。
④ ダブルリーチ(フォーク)の作り方
ダブルリーチとは、1手で2か所同時にリーチを作ることです。相手はどちらか一方しか防げないため、次の手で必ず勝てます。最も簡単な作り方は「中央→角→対角の角」の順に置くことです。2つの角と中央が揃うと、斜め2方向と横・縦がリーチになり防ぎきれません。また「中央→角→隣の角(L字)」も有効で、L字の頂点がダブルリーチの起点になります。
⑤ 先攻が負けない打ち方
先攻(○)は正しく打てば絶対に負けません。基本手順は以下の通りです。
- 1手目:中央を取る。
- 2手目:角を取る(どの角でもよい)。
- 3手目:勝てるなら勝ちに行く。相手がリーチなら防ぐ。それ以外はダブルリーチになる角を取る。
相手が辺に置き続ける場合、対角線の角2つを取ればほぼ確実にダブルリーチが完成します。相手が角を取ってきた場合は、辺に置いて対角線ルートを崩すことが重要です。
⑥ 後攻が引き分けに持ち込む方法
後攻(×)は最善手を打っても引き分けが限界です。先攻に中央を取られた場合の守り方を覚えましょう。
- 先攻が中央→後攻の対応:辺に置くのは危険。必ず角を取ること。
- 先攻が中央→角→対角の角と来た場合:辺に置いてダブルリーチのルートを断ち切る。
- 先攻が角から始めた場合:後攻は中央を取るのが最善。以後は常にリーチを防ぎながら自分のリーチも作る。
- 絶対に油断しない:1手でも最善でない手を打つと、相手にダブルリーチを作られます。常に「相手が次どこに置けば勝てるか」を確認してから手を打ちましょう。
⑦ 最強AIが負けない理由(ミニマックス法)
このゲームの最強AIはミニマックス法+αβ枝刈りというアルゴリズムで動いています。ミニマックス法とは、ゲームツリー(すべての手の組み合わせ)を全探索し、自分のスコアを最大化・相手のスコアを最小化するように最善手を選ぶ手法です。
3×3の三目並べは盤面パターンが最大9! = 362,880通りしかなく、コンピュータは一瞬で全パターンを読み切れます。そのため「勝てる手があれば必ず勝ち、引き分けが最善なら引き分けを選び、絶対に負けない」選択を毎回行います。人間がどんな手を打っても、最強AIに勝つことは数学的に不可能です。「引き分け」が人間にとっての最高の結果です。
注意事項
このゲームは無料でご利用いただけます。スコア・連勝記録はブラウザのLocalStorageに保存されます。ブラウザのデータを削除すると記録もリセットされます。
※このプログラムはPHP8.2.22にて作成、動作確認を行っております。
※ご利用下さっている皆様のご意見・ご要望(改善要望)をお寄せください。