高木さんにも出てきた「21ゲーム」でさらに姑息な手を考える

2019/09/20

数学

t f B! P L
高木さんかわいいですね。
今回は、この作品にも登場した21ゲームです。

ルールは以下になります。
  • ターン制
  • 1から順に数字を言いあい、21を言った人が負け
  • 一度に言える数字は3つまで


21ゲームの必勝法

当然のごとく、これにも必勝法があり、それは後手をとって先手(相手)との数字の合計が常に4になるように調整することです。

例えば、先手が1といったら、こちらは2,3,4といいます。
以下、(先手の発言は適当)、

先: 5,6
後: 7,8
先: 9,10,11
後: 12
先: 13
後: 14,15,16
先: 17
後: 18,19,20
先: 21(負け)


となります。
先手との合計が4になるようにしていれば、後攻(自分)は最後の数字を必ず4の倍数にできるので、20をいうことができるわけです。

ただ、この必勝法には欠点があって、西片くんは気づかなかったようですが、2,3回やると、「お前いつも4の倍数で終わってね?」と簡単にバレます。

また、常に自分が後攻になる必要があるのでこの点も怪しまれポイントです。


Nゲームの必勝法


一旦、この問題を一般化して考えてみましょう。
パラメータは、言ったら負けの数\( N \)と一度に言える数\( a \)です。
なので必勝法にあった「相手と自分の合計」は自動的に\( a+1 \)に決まります。

21ゲームでは、20を言えば勝てるので、自分が4の倍数で終わるように調整していました。
Nゲームでは\(N-1\)を言えば勝てるので、\(a+1\)がちょうど\(N-1\)の約数になっていればよいです。

適当な自然数\( M \)を使うと、以下のような式で表現できます。
\( N-1 = M(a+1) \)
これをどこかで聞いたような気がしますが、「必勝形」と呼びます。

初期状態\( N \)、\( a \)でこれが成り立っている場合は、上で説明したとおり、後手必勝になります。

逆に、初期状態\( N \)、\( a \)が、必勝形でない場合を考えます。
先に言ってしまうと、この場合は先手必勝になります。

必勝形ではなくても、
\( M(a+1) < N-1 < (M+1)(a+1) \)
を満たす自然数\( M \)が必ず存在します。
つまり、\(N-1\)から、高々\(a\)の自然数\(k\)を引くことで、\( N-1-k=M(a+1)\)
という形に帰着できます。

文字式で書くとわかりにくいので具体例で見てみましょう。
例えば、\(N=27\),\(a=5\)とします。
この場合、\( M=(N-1)/(a+1)=26/6 \)なので、自然数\(M\)が求まりません。
しかし、自分が先手で、最初に1,2( \(k=2\) )とすると、どうでしょう。

次は後手の相手のターンで、3からになります。
実は、このゲーム、数字の値自体に意味はありません。
そのため、
\(N=27\)で、相手が後手で3からという状況

\(N=25\)で、相手が先手で1からという状況
は、その後のゲーム展開(というか必勝法の適用の仕方)がまったく同じになります。

つまり、初期状態が必勝形でない場合、自分が先手をとれば、1ターンで必ず必勝形に持ち込めます。
そのとき、本来、相手は後手ですが、場が必勝形(もらったら負けの形)かつ自分(相手自身)が先手からはじまるのと同じ状態にされてしまうわけです。




初期状態依存性


このゲームにはもう一つのパラメータがあり、それは先手・後手の決め方です。

つまり、\(N\)、\(a\)、先手・後手という3つのパラメータがあります。
上で説明した通り、3つをこちらが指定できる状況では、必勝形になるよう、\( N \)、\( a \)を調整して後手を選べば必勝です。

さらに場合分けしていくと、2つの条件を自分で決められる場合(3通り)、1つの条件を自分で決められる(3通り)場合あり、かつ、条件を決める順番も問題になります。

実は、これらはまとめて説明することができます。
どれでもいいのですが、最後の1つのパラメータを決めた人が勝てます。


1) 相手が\( N \)と\( a \)を決めた場合

初期状態が必勝形であれば後手、必勝形でなければ先手を選びます。

2) 相手が先手・後手と、どちらかの数字(\(N\)か\(a\))を決めた場合

相手が先手の場合は、必勝形になるように、\(N\)か\(a\)の決まってないほうを調整します。
相手が後手の場合は、必勝形にならないように、\(N\)か\(a\)の決まってないほうを調整します。


さらに一般化することができます。

\(N\)を言ったら負けの数ではなく、残りの言える数と考えた場合、\( N-1 = M(a+1) \)の状態(=必勝形)で自分のターンが来ると負けになります。

例えば、元の\(N=27\)で相手が2まで言った場合、残りの言える数は3〜27までの25個です。
この状態は必勝形なので、このまま自分のターンが回ってくると、相手がミスしない限りこちらは負けてしまいます。


さらに姑息な手

このように、初期状態に依存して、先手必勝・後手必勝が変化するところは、以前、必勝法を説明したニムに似ていますね。

ニムは、コインで山を適当に作って、じゃんけんで先手・後手を決めるので、初期状態を操作している印象を相手に与える可能性はかなり低いですが、21ゲームは数字を口頭で決める必要があるため、そういった印象を与えやすいかもしれません。

結局は最後の1つのパラメータを決めた人が勝つという必勝法に相手が気づかない限り、負けることはありません。
実際にやる場合は、最初の2つのパラメータを、できるだけ相手に選ばせてあげるとよいでしょう。

初回はまぁ勝ちますよね。

そしたらそれ以降は、\(N\)、\(a\)、先手・後手の中から2つ選ばせてあげるよ〜と言います。

相手が3つ選ばせて!と言い出す可能性もありますが、\(N=10\)、\(a=9\)、先手、などを選ばれてしまうと勝負にならないので、3つ全部決めるのは無しだよ〜と返します。


問題なのは、最後の1つのパラメータを決めれば勝てるんじゃないか??と薄々勘付かれたときです。
この場合、必勝法が使えないので、もちろん負けてしまう可能性があります。

こういったときは経験上、\(N-1\)と\(a+1\)を比較的大きめの素数にすると、必勝形\( N-1=M(a+1) \)が成り立たず、かつ\( N-1-k=M(a+1) \)の調整計算がめんどうになるので、気づかれにくいです。


今日のベストプラクティス

かなり姑息なので、勝って満足したらちゃんとネタバレしてあげましょう!

このブログを検索

QooQ