スワップダイスの確率

 最近といっても1年近く前だが、サンサーラ・バラッドというルールが発売された。異世界転生して無双するという、流行のラノベに乗っかったような設定のシステムである。ここで懐かしのスワップダイスというルールが使われていた。
 スワップダイスというのは10面ダイスを2個振ってD100とする際に、10の位のダイスと1の位のダイスを入れ替えることが出来るというルールで、本来なら期待値が50%くらいになるところが34%くらいになる。アサルトエンジンとか真・女神転生RPGとかで使っており、一部に熱狂的なファンがいる。
 以前、アサルトエンジンの確率計算をしたことがあるが、読み返したところスワップダイスの部分で盛大に間違えており、今回改て計算してみることとした。

 面倒な計算は後回しにして、いきなり結果から。

 期待値は34.65%となる。
 なお、D100は00が出たとき100と読むか0と読むかはルールによって異なるが、サンサーラ・バラッドでは0なのでそれに倣う。
 これは頑張って計算するよりもエクセルですべて計算してしまった方が考えることがなくて楽である。計算方法としては、2つの10ダイスを振って高い方を1の位、低い方を10の位として、目標値以下となる組み合わせが何個あるかを数えただけである。期待値はすべて総計して100で割れば得られる。

数学的に
 結果は分かったけど、やっぱり数式で表したい欲求は如何ともし難い。
 色々考えた結果、結局スワップの有無で場合分けするしかないという結論に落ち着いたので、その方向で続ける。まあ、絶対値とかを使って無理矢理一つの式に落とし込めないこともないのだけど、無駄に長くなるので。
 スワップする前提で考えると2つのダイスAとダイスBの出目と判定値の関係は次の表の様になる。

 この表で目標値以下のマスを数えればそれが確率となる。
 マスを数えるのはPCには得意分野だけど人間がやるには面倒である。
 例えば、目標値を42と設定すると、次のよう黄色く塗った部分が成功となる。

 数えると64マスあるので、64%の確率で成功する。
 また、目標値を26と設定すると、次のように黄色く塗った部分が成功である。

 結構形が異なる。こちらは数えると45マスあるので、45%の確率で成功する。
 値を増減させて考えてみれば分かるが、1の位と10の位のどちらが大きいかで決まる。同じ場合はどちらでもよい。
 そんなわけで、目標値の10の位をP10、1の位をP1とする。
{ P_{10} \geqq P_1}のとき
 単純で計算しやすいこちらから。上のグラフで水平になっている部分である。
 全体から右下(44~99)の正方形を引いてやれば良い。
{ \displaystyle 100 - (10 - P_{10})^2 \\ = -{P_{10}}^2 + 20P_{10} }
{ P_{10} \lt P_1}のとき
 上の条件からもうちょっと引いたらこの形になる。
{ \displaystyle 100 - (9 - P_{10})^2 - 2(9 - P_1) }
 こちらは展開するとより複雑になりそうなのでこのままで。
 以上で、数学的にも解が得られた。

関連エントリー
 20120929 アサルトエンジン リロールの確率について