9000戦して0勝でした——まるばつの手加減の話

アイキャッチ|まるばつ アプリの説明
アイキャッチ|まるばつ

Claudeに、まるばつを作ってもらいました。3×3の、あの〇×ゲームです。

ひとつだけ注文をつけました。難易度を3段階にしてほしい、と。かんたん、ふつう、むずかしい。

出てきたものを、まず「むずかしい」で試しました。

勝てません。

何度やっても引き分けか、負け。おかしいと思って、自動で対戦させてみました。指し方を変えた3種類の相手に、それぞれ3000回。合計9000戦で、人間側の勝ちはゼロでした。

〇×は、すでに終わっているゲーム

調べてみたら、そういうゲームでした。

〇×の対局は、全部で255,168通りしかありません。指し方の組み合わせを最初から最後まで数え上げた数です。先手が勝つのが131,184通り、後手が勝つのが77,904通り、引き分けが46,080通り。これで全部です。

そして、この中から「双方が最善を尽くしたとき」の道だけを拾うと、行き着く先はひとつしかありません。引き分けです。〇×は、まちがえた側だけが負けるゲームでした。

25万通りなら、コンピュータは最後まで読み切れます。だから「むずかしい」は、毎回そうしています。自分の手を置いたあとの全部の未来を、勝ち負けが決まるところまで読んで、いちばんマシな一手を選ぶ。

まちがえないのだから、負けない。当たり前の話でした。

じゃあ「かんたん」は、どう作るのか

ここが面白いところです。

私はてっきり、読む手数を浅くして弱くしているのだと思っていました。5手先まで読むのが「むずかしい」で、3手先が「ふつう」、1手先が「かんたん」。そういう調節だろうと。

中を見たら、まったく違いました。

むずかしいは、さっきのとおり最後まで全部読みます。

ふつうは、一手も読みません。見ているのは2つだけです。自分が次で勝てるなら、そこに置く。相手が次で勝つなら、そこを塞ぐ。それ以外は、中央が空いていれば半分の確率で取って、あとは空いているマスから適当に選ぶ。先を読むということを一切していません。

かんたんは、もっと極端でした。その「勝てるか、塞ぐか」の確認すら、5回に1回ほどしかやりません。残りの8割は、空いているマスをただランダムに選ぶ。目の前で相手が2つ並べていても、見ていないので気づかない。

強さの差は、読む深さではなく、見るかどうかでした。かんたんは下手なのではなく、盤を見ていない

数字で見ると、こうなります

3種類の相手と、それぞれ3000回ずつ対戦させました。表はCPU側の成績です。「適当に指す相手」は空いているマスをランダムに選ぶ人、「ちゃんと指す相手」は王手と受けを見て、中央と角を優先する人です。

難易度 適当に指す相手 ちゃんと指す相手
かんたん 38%勝ち/46%負け 0%勝ち/89%負け
ふつう 78%勝ち/4%負け 0%勝ち/46%負け
むずかしい 80%勝ち/0%負け 全部引き分け

「ふつう」の列が、いちばん人間らしいと思いました。何も考えていない相手にはきちんと勝つのに、少し考える相手には一度も勝てない。目の前しか見ていない人の成績です。

「かんたん」は、適当に指す人とほぼ五分でした。これは意図した通りで、何も考えずにポンポン置いて、たまに勝てるくらいがちょうどいいはずです。

残機を99にしていた、あの感じ

手加減の作り方が「注意の量を減らす」だったというのは、言われてみれば納得でした。

人間が弱いときも、たいてい読みが浅いのではなく見落としているわけです。相手が2つ並べたのに気づかない。自分が勝てるのに気づかない。深さより、うっかりです。

昔、ベーマガのプログラムを打ち込んだあと、私がまずやったのは数字をいじることでした。自機のスピードを上げる。敵を減らす。残機を99にする。あれは難易度の設計を、外から手で回していたことになります。

三十五年経って、同じことを作る側からやりました。ただ、回しているつまみが「強さ」ではなく「注意力」だったのは、思っていたのと違いました。

勝てたら、教えてください

「むずかしい」で引き分けに持ち込めたら、それはもう最善手を指せているということです。勝つのは無理です。9000戦して一度も起きませんでした。

勝敗の記録は、お使いの端末の中だけに残ります。難易度ごとに別々です。

それと、盤の見た目をノートと黒板で切り替えられるようにしてあります。暗いほうが、まわりから何をしているか分かりにくい。会議中の使用について、私は何も申し上げません。

遊んでみてください。→ まるばつ

コメント

タイトルとURLをコピーしました