長い解説
魔法を放った後のMPが相手より多いことを勝ちとする。
魔法を放たなかった側が必ず勝つため、求める確率 pr は、Bobが先に r+21 MP以上を持つ確率である。
BobのMPを状態にする
r を固定し、S=r+1 とおく。魔法を放つ前の二人のMPの合計は常に S なので、BobのMPを x とすれば、AliceのMPは S−x と決まる。
この状態からAliceが勝つ確率、すなわちBobが先に S−21 MP以上を持つ確率を F(x) とする。最初のBobのMPは1なので、求める確率は pr=F(1) である。
すでにゲームが終了している状態では、
F(x)=0(0≤x≤21),F(x)=1(S−21≤x≤S).
まだ終了していない状態では、次のじゃんけんについて場合分けする。
- Bobがじゃんけんに負けると、自分のMPの半分を渡すため、BobのMPは x/2 になる。
- Bobがじゃんけんに勝つと、AliceのMPの半分を受け取るため、BobのMPは x+(S−x)/2=(S+x)/2 になる。
それぞれの確率は 1/2 なので、
F(x)=21F(2x)+21F(2S+x)(21<x<S−21).
特に F(1/2)=0 なので、
pr=F(1)=21F(2S+1).
二人を入れ替えたときの対称性
二人の名前を入れ替えてもルールは変わらないので、BobのMPがxの状態でAliceが先に魔法を放つ確率はF(S−x)である。確率1でどちらかが魔法を放つことと合わせると、
F(x)+F(S−x)=1.
特に、x=(S+1)/2とすると、
F(2S+1)+F(2S−1)=1.
よって、先ほどのpr=21F((S+1)/2)は、
pr=41+41{F(2S+1)−F(2S−1)}
と書き直せる。あとは、Bobの最初のMPが(S−1)/2の場合と(S+1)/2の場合で、Aliceが勝つ確率がどれだけ違うかを求めればよい。
同じじゃんけんの勝敗列で二つのゲームを比べる
S=2では対称性からp1=1/2なので、以下ではS≥3とする。
Bobの初期MPが(S−1)/2のゲームと(S+1)/2のゲームを、同じじゃんけんの勝敗列で進める。どちらの更新もMPの大小関係を保つので、Bobの初期MPが少ないゲームでAliceが勝つなら、多いゲームでもAliceが勝つ。したがって、
F(2S+1)−F(2S−1)
は、この二つのゲームで最終的な勝者が異なる確率に等しい。
両方のゲームが続いている間、MPの差は毎ターン半分になる。さらに、tターンの譲渡を行った直後の二つのMPは、ある正の奇数qを使って
Lt=2t+1qS−1,Ut=2t+1qS+1
と表せる。これはt=0ではq=1であり、Bobがじゃんけんに負ければqは変わらず、じゃんけんに勝てばqに2t+1が加わることから分かる。
勝者が異なるためには、まず一方だけが終了するターンが必要である。BobのMPが少ないゲームだけがBobの勝ちで終了するとき、
Lt≤21<Ut⟺qS−1≤2t<qS+1.
各値は整数なので、これは
2t=qS−1または2t=qS
を意味する。BobのMPが多いゲームだけがAliceの勝ちで終了する場合も、二人を入れ替えれば同じ条件になる。この場合の奇数はqの代わりに2t+1−qである。
ここでSが偶数なら、t≥1に対してqS−1は奇数なので2t=qS−1は成立しない。また、qは正の奇数なので、2t=qSが成立するのはq=1かつS=2tの場合だけである。
よって、Sが偶数で2の冪でない場合、二つのゲームの勝者は一致し、pr=1/4である。
Sが奇数の場合の必要条件
S≥3が奇数なら2t=qSは成立しないので、一方だけが終了し得るターンは
2t≡−1(modS)
を満たすものに限られる。このようなtが存在しなければ、二つのゲームの勝者は一致し、pr=1/4である。
この条件を判定するため、2d≡1(modS)を満たす最小の正整数dを考える。
2t≡−1(modS)を満たすtがあるなら、tをdで割った余りuも同じ合同式を満たす。0<u<dかつ22u≡1(modS)よりd∣2uなので、2u=dである。したがって、そのようなtが存在する条件は
dが偶数、かつ 2d/2≡−1(modS)
である。
したがって、dが奇数の場合、またはdが偶数でも2d/2≡−1(modS)の場合は、pr=1/4と確定する。
実際にdを求めるには、オイラーの定理からd∣φ(S)となることを使う。
まず候補をD=φ(S)とし、φ(S)の各素因数ℓについて、ℓ∣Dかつ2D/ℓ≡1(modS)である間、DをD/ℓに置き換える。最後に残ったDがdになる。
求めたdが奇数なら、pr=1/4と確定する。dが偶数なら、同じ剰余累乗の方法でv=2d/2modSを計算し、v=S−1ならpr=1/4と確定する。
残るのは、dが偶数かつ2d/2≡−1(modS)の場合である。h=d/2とおくと、該当するターンは
t=h, 3h, 5h, …
に限られる。
整数の間ではF(x)は一定
じゃんけんの勝敗列を固定する。Bobの初期MPをxとすると、t≥1ターンの譲渡後のMPは、整数Kを使って
2tx+KS
と表せる。この時点での終了条件をxについて書くと、
x≤2t−1−KSまたはx≥2tS−2t−1−KS
となり、どちらの境界も整数である。したがって、まだ終了していない初期状態同士でxが同じ隣接整数間にあれば、終了するターンと勝者は変わらない。よって、F(x)は各区間(k,k+1)∩(1/2,S−1/2)で一定である。
一方だけが終了した後の確率
Sが奇数のとき、1/2<x<1なら、S/2と(S+x)/2はともに((S−1)/2,(S+1)/2)内にある。上の性質と対称性から、
F(2S+x)=F(2S)=21.
また、F(x/2)=0なので、
F(x)=41(21<x<1).
このF(x)=1/4を、二つのゲームの比較に使う。t≥2ターン目に、BobのMPが小さいゲームだけが初めて終了したとする。Sが奇数なので、その条件は2t=qS−1であり、二つのMPの式に代入すると、
Lt=2t+1qS−1=21,Ut=2t+1qS+1=21+2−t.
BobのMPがLtのゲームでは、AliceのMPがS−1/2なので、Aliceが魔法を放ち、Bobが勝つ。
BobのMPがUtのゲームはまだ続いている。1/2<Ut<1なので、先ほど求めた式から、この状態からAliceが勝つ確率はF(Ut)=1/4である。
一つ目のゲームはBobの勝ちで終わっているため、二つ目でAliceが勝つ場合にだけ勝者が異なる。よって、この状態から二つのゲームの勝者が異なる確率は1/4である。BobのMPが大きいゲームだけが先に終了した場合も、対称性から同じ確率になる。
各ターンで一方だけが終了する確率
まずS≥5とし、2h≡−1(modS)を満たす最小の正整数hがある場合を考える。このときh≥2である。
iターン目にBobがじゃんけんに勝つときbi=1、負けるときbi=0とすると、tターン分の譲渡の式に現れるqは
q=1+i=1∑tbi2i
である。したがって、1以上2t+1−1以下の奇数qと、長さtのじゃんけんの勝敗列は一対一に対応する。
候補ターンt=h,3h,5h,…を固定する。BobのMPが小さいゲームだけが終了する条件は
q=S2t+1
である。この値は上の範囲内の奇数なので、対応する勝敗列はちょうど一つある。
この列では、途中でどちらのゲームも終了していない。実際、Lt=1/2から譲渡を逆にたどると、直前のMPは現在のMPの2倍、またはそこからSを引いた値なので、1≤s<tにおけるLsは整数になる。譲渡の式はMPを(0,S)内に保つため、1≤Ls≤S−1である。s≥2ならUs=Ls+2−sも1/2<Us<S−1/2を満たす。初手についても、S≥5なら
L1≥4S−1>21,U1≤43S+1<S−21
なので、両方ともゲームが続く。
よって、この勝敗列が起こる確率2−tが、そのままtターン目に初めてBobのMPが小さいゲームだけが終了する確率になる。大きいゲームだけが終了する確率も同じなので、tターン目に初めて一方だけが終了する確率は2⋅2−tである。
その後に二つのゲームの勝者が異なる確率は1/4だった。初めて一方だけが終了するターンは一つに定まるため、各ターンの寄与を足し合わせることができ、
F(2S+1)−F(2S−1)=j=0∑∞2⋅2−(2j+1)h⋅41=2(1−2−2h)2−h=22h−12h−1.
これをprの式に代入すると、
pr=41+8(22h−1)2h.
S=3では、F(1)=F(2)/2とF(1)+F(2)=1からp2=F(1)=1/3である。これは上の式にh=1を代入した値と一致するため、同じ式で計算できる。
Sが2の冪の場合
S=2m≥4とする。一方だけが終了する条件2t=qSは、qが奇数なのでt=m、q=1のときだけ成立する。
q=1に対応するのは、Bobが最初からm回連続でじゃんけんに負ける列である。途中のs<mでは
Ls=2s+1S−1≥SS−1>21
であり、Usも減少し続けるので、両方のゲームがmターン目まで続く。対称な場合は、Bobが最初からm回連続でじゃんけんに勝つ列である。したがって、一方だけが終了する確率は2⋅2−m=2/Sである。
Bobがm回連続でじゃんけんに負けた場合、その時点のMPは
Lm=21−2S1,Um=21+2S1.
BobのMPがLmのゲームではAliceが魔法を放ち、Bobが勝つ。二つのゲームの勝者が異なる確率は、残ったゲームでAliceが勝つ確率F(Um)である。
ここではF(Um)=F(1)=prとなる。実際、偶数S≥4では、初期MPが1/2<x≤1なら、初手でBobがじゃんけんに負けると終了し、勝つと継続する。また、2ターン目以降の終了条件の境界2t−1−KS、2tS−2t−1−KSはすべて偶数なので、この範囲で初期MPを変えても終了するターンと勝者は変わらない。したがって、F(x)=F(1)は端点x=1を含むこの範囲全体で成立する。
対称な場合も勝者が異なる確率はprなので、
F(2S+1)−F(2S−1)=S2pr.
これをprの式に代入して解くと、
pr=41+41⋅S2pr⟹pr=4S−2S.