オセロ 3.2 勝てるヒント – 1番を選び続ければ「強い」にも勝てるオセロ

おすすめの手に1・2・3の順位をつける「オセロ 3.1 初心者用」を作り直し、1番を選び続ければ難易度「強い」のCOMにも勝てるようにしたバージョンです。

オセロ 3.2 勝てるヒント タイトル画面
見た目は 3.1 と同じ。1 がいちばん有力な手です

なぜ作り直したのか

3.1 では、1番を選び続けても「強い」のCOMにはほとんど勝てませんでした。ヒントがCOMより浅くしか読めていなかったからです。

「強い」のCOMは、3秒の持ち時間で8〜11手先まで読みます。それに対して 3.1 のヒントは7手先まで。相手より浅い読みでは、ヒントどおりに打っても読み負けてしまいます。

ヒントをもっと深く読ませればいいのですが、3.1 の仕組みのままでは1手に何十秒もかかってしまいます。そこで、ヒントの計算を一から作り直しました。

オセロ 3.2 勝てるヒント 対局中の画面。おすすめの手に1・2・3の順位が表示されている
難易度「強い」の中盤。COMの手番のあと、数秒考えてから順位を出します

画面の見方

  • 数字つきで点滅する白い丸 — おすすめの手。1がいちばん有力
  • 小さな白い点 — そのほかの置ける場所
  • オレンジの破線の枠 — いまCOMが置ける場所

ヒントを計算しているあいだは、画面の右上に「おすすめを探しています…」と表示されます。

どうやって勝てる手を見つけているのか

1. 計算を速くして、COMより深く読む

盤面を64個のマスの並びとして扱う代わりに、64ビットの数として扱う方式(ビットボード)に書き換えました。「どこに置けるか」を1マスずつ調べる代わりに、8方向をまとめて一度に計算できます。

盤面の良し悪しのつけ方はCOMとまったく同じまま、1秒間に調べられる局面の数が10倍以上になりました。調べる順番も工夫して、これで「強い」のヒントは12手先まで読めます。COMの8〜11手先を上回ります。

2. 終盤の手前で、勝ち負けを最後まで読み切る

実は、深く読むだけでは足りませんでした。12手先まで読むようにしても、負ける対局が残ったのです。

負けた対局を1手ずつ調べると、残り20マスの時点で、黒が勝てる手がありました。ところがヒントは12手先で読むのをやめていたので、その手を見抜けず、別の手を1番にしていました。COMは残り16マスから最後までの読み切りに入るので、そこまでに勝ちの形に入っていないと、まず取り返せません。

そこで、残りが20マス以下になったら、石の数の差は求めずに「勝ちか・負けか・引き分けか」だけを最後まで読み切るようにしました。勝てる手が見つかればそれを1番にします。差まで求めるより何十倍も速く、問題の局面では2秒ほどで勝ちの手を見つけられました。

いったん勝ちの形に入れば、そのあとも勝てる手が必ずあります。読み切りが時間内に終わるかぎり、1番を選び続ければ最後まで勝ちが保たれます。

本当に勝てるのか試してみた

ヒントの1番を選び続けて、「強い」のCOMと対局させました。COMは持ち時間の中でどこまで読むかが決まるので、パソコンが速いほど強くなります。そこでCOMの持ち時間を変えて、速いパソコンや遅いパソコンでの対局を再現しました。

COMの持ち時間 結果
1.5秒 黒49 − 白15 で勝ち
2.0秒 黒39 − 白25 で勝ち
2.5秒 黒38 − 白26 で勝ち
3.0秒(通常) 黒37 − 白27 で勝ち
3.5秒 黒46 − 白18 で勝ち
4.0秒 黒46 − 白18 で勝ち
4.5秒 黒40 − 白24 で勝ち
5.0秒 黒40 − 白24 で勝ち
6.0秒 黒40 − 白24 で勝ち

9通りすべてで勝ちました。「普通」では、途中でわざと2番や3番を選んだ場合も含めて7局すべて勝ちです。

気をつけること

  • 1番以外を選ぶと、勝てるとはかぎりません。 「強い」で途中に一度だけ2番や3番を選んだ6局は、4勝1分1敗でした。負けた1局は、2番を選んだ時点で中盤のうちに勝負が決まっていました
  • 「強い」はヒントが出るまで数秒かかります。 1手あたり平均1〜2秒、長いときは10秒ほどです(パソコンでの実測)。スマートフォンではさらに時間がかかることがあります
  • オセロは、おたがいが完璧に打つと引き分けになると考えられているゲームです。ここで「勝てる」というのは、このCOMに対して勝てるという意味です

使い方のおすすめ

まずは1番だけで「強い」に勝ってみる

いちばん強いCOMに勝つ体験ができます。どんな手で押し切っているのか、盤面の変化を見てみてください。

2番・3番を試して「待った」で戻す

あえて別の手を選んでみて、「待った」で戻してやり直すと、1番との違いが比べられます。2番を選ぶとそのまま負けてしまう局面があるのも分かります。

遊ぶ

インストール不要、ブラウザだけで遊べます。

▶ オセロ 3.2 勝てるヒントをプレイする

ほかのバージョン

オセロ 3.1 初心者用(順位つき) / オセロ 3.0 初心者用(順位なし) / オセロ 4.0 探索の可視化 / 通常版のオセロ