はじめに
先日FF5におけるレベル5デスを数学的に論じた「FF5のレベル5デスと整数論」というブログ記事がバズっていました。
簡潔に言うと「以下の3つの青魔法を駆使して即死させることが可能な敵のレベルを、整数論を使って解く」という趣旨の記事です。
- レベルが5の倍数である敵を問答無用に即死させる「レベル5デス」
- レベルが2の倍数である敵のレベルを1ずつ下げていく「レベル2オールド」
- レベルを半減(端数切捨て)にする「黒の衝撃」
詳しくは上記本家の記事を読んでいただきたいのですが、結論としては
$$1,2,3,4,7,9,19,39,79,159,…$$という「レベル2オールド」「黒の衝撃」を駆使しても「レベル5デス」で即死させることが出来ないレベル系列が無限に存在する、というものでした。
この結論自体も非常に面白い結果なのですが、上記記事がバズったことでFF5をプレイしたことがある人々から
「レベルを10上昇させる『サムソンパワー』を使ったらどうだ?」
というコメントが多数寄せられたようで(実は私もその一人)、続編として投稿された「FF5のレベル5デスと整数論 (2)」の中の「おまけ2:サムソンパワー」という章で
「レベル2オールドと黒の衝撃に加えてサムソンパワーを駆使すれば、すべてのレベルの敵をレベル5デスで撃破可能」
ということが証明されていました。
発展(サムソンパワーの脅威)
元記事の著者には遠く及ばないものの、私も理系の端くれであり、かつFF好きとして、もう少しこのテーマを深掘れないかと考えていたところ、以下の仮説を思いつきました。
【仮説】:「黒の衝撃」「サムソンパワー」の2つだけを使えば、全てのレベルの敵をレベル5デスで倒せる
つまり、元の記事の”おまけ2”の前提条件から「レベル2オールド」の使用を外しても、結論は変わらないのではないかという仮説です。
この仮説は正しく、かつ高校生レベルの数学で容易に証明できることがわかりましたので、証明を掲載します。
なお元記事と同様にレベルの上限(FF5では255)は無いものとします。
【証明】
自然数\(n\)に対する関数\(b(n),s(n)\)を以下の通り定義する。
\(b(n)=\begin{cases}
\frac{n}{2} & \text{\(n\) が偶数のとき} \\
\frac{n-1}{2} & \text{\(n\) が3以上の奇数のとき} \\ 1& \text{\(n\) が1のとき}
\end{cases}\)
\(s(n)=n+10\)
関数\(b(n),s(n)\)はそれぞれ「黒の衝撃」「サムソンパワー」によるレベル変動を表していることから、任意の自然数\(n\)において
自然数\(n\)が高々有限回の関数\(b,s\)によるレベル変動操作で5の倍数になる…★
を示せれば、仮説は証明される。
\((i) n=1\)のとき
\(s(1)=11, b(11)=5\)
であることから、★が成り立つ。
\((ii) n=k\)以下の全ての自然数で★が成り立つと仮定する。
\(x-\frac{x+1}{2}=\frac{x-1}{2}\ge0 \quad(x\ge1)\)より
\(\frac{x+1}{2}\le x \quad(x\ge1)\)
であることに留意すると、
\(b(k+1)\le\frac{k+1}{2}\le k\) (等号成立は共に\(k=1\)のとき)
つまり\(b(k+1)\)は\(k\)以下の自然数であるから、仮定より\(n=k+1\)でも★が成り立つ。
\((i) (ii)\)から、数学的帰納法により★が成り立つことが証明された。 (証明終了)
黒の衝撃とサムソンパワーさえあれば、どんなレベルの敵もレベル5デスで即死させられるということが示されました。FF5の縛りプレイで軒並みサムソンパワーが禁じ手とされる理由が、改めて分かったように思います。
おわりに
数学的な観点で、もう少しだけ。
どのような自然数であっても、「半分にする(端数切捨て)」「10を足す」という操作をそれぞれ高々有限回繰り返せば5の倍数になる」※
ということが高校生レベルの数学で簡単に示せたわけですが、見かけ上は似たような設定の問題として有名な「コラッツ予想(コラッツの問題)」があり、こちらは2019年現在も未解決問題というのが、数学の奥深さを物語っているように思います。
【コラッツ予想】
\(
f(n) = \begin{cases}
\frac{n}{2} & \text{\(n\)が偶数のとき} \\
3n+1 & \text{\(n\)が奇数のとき}
\end{cases}
\)
とするとき、任意の自然数\(n\)において関数\(f\)を高々有限回かませることで1になる
それではまた。
※「半分にする」を「\(p\)で割る」、「10を足す」を「\(q\)を足す」、「5の倍数になる」を「\(r\)の倍数になる」と一般化しても成り立つことを、twitterのフォロワーさんから教えていただきました。こちらの証明は読者の皆様にお任せします。
コメント
FFで学ぶ数学シリーズ好き