ぴよ確率モデル計算
Wesnothは囲碁や将棋などとは異なり、確率によって結果が大きく左右されるゲームである。このような確率事象を対象とした場合に我々が心がけるべき事柄や考え方は、心理研究として前稿までに既に議論した(1,2,3)。しかしながら実際には、多くの人間にとって、複雑な確率過程の結果を直感的に理解することは困難である。Wesnothに特有の確率現象についての知見を深めることは、技術的な側面のみならず精神衛生上も有益であると考えられる。そこで本稿では計算機によるシミュレーションによって複雑な確率分布を求め、その結果を例示することにした。これにより、実際の試合で不幸な現象(ぴよ事象)がどのくらいの頻度で生じるかの把握が容易となり、また、時には直感に反する現象が存在することが明らかになった。
事例1 暗黒僧による攻撃の失敗率を題材としたぴよ現象の発生頻度の計算
はじめに
暗黒僧は一度に2回の魔法攻撃(常に命中70%)を放つ。1体の暗黒僧の攻撃が2発とも外れる確率は9%であり、2体が連続で(4回連続で)外れる確率は0.81%である。しかしながら1試合トータルで、そのような不幸な現象(ぴよ現象)がどの程度起こりそうかということを見積もることは難しい。その見積もりが存在しないまま試合を行い、こうしたぴよ現象が数回起こったとして、それがしばしば起りうることなのかどうかは判断できまい。しかし暗黒僧が4連続で外すと悲しいことは間違いなく、多くの人間はそのような風景に出くわしただけで、ぴよだぴよだと騒ぎがちである。そこでここでは、このようなぴよ現象が1試合単位でどの程度起こりうるかを計算機シミュレーションにより示すことにした。
方法
暗黒僧による攻撃の成否は確率事象である。計算機上でこの確率試行を行うために、一様乱数を用いた。すなわち0~1までの数を等確率で返すような乱数表を用い、出力された数が0.3以上であれば命中、0.3未満であれば回避とした。このような施行を繰り返し、ぴよ現象の確率分布を算出した。
結果
1) 2回連続回避の発生頻度分布
1試合の間に行われた暗黒僧による攻撃の総数をnとし、攻撃が2回連続で外れる事象をぴよ事象、1試合の間にぴよ事象が何回起こるかをぴよ回数と定義する。このような試合を1000回行い、ぴよ回数が0回、1回、2回・・・生じるような試合がそれぞれどれぐらいの割合で生じるかの確率分布を求めた。Fig. 1に、nを20,40,100としたときの分布を示す。
n=20とは1試合で20回(暗黒僧10体)が攻撃を仕掛けたことを示しており、速攻などによる短期戦を模している。1体の暗黒僧が2回とも外す確率は9%であることから、10体の暗黒僧侶がいたときに、2回とも外す暗黒僧は単純な期待値計算では0.9匹存在することになる。Fig. 1左図ではまさに、ぴよ回数1回が最頻値となっており、期待値通りの結果となっている。加えて、図からは少なからぬ確率で2発とも外す暗黒僧が2体、3体現れるということがわかる。n=40, n=100の場合も同様に、ぴよ回数は期待値を中心として大きく分布しているのがわかる。このような分布の情報は、期待値からは算出できず、豊富な経験を有するプレイヤー以外にとっては直感的に把握するのは困難であるが、計算機シミュレーションの援用により、Fig. 1のように可視化できるようになった。
Fig. 1 2回連続回避が1試合に何度ぐらい起こるかの確率分布
ぴよ回数=1試合の間に、暗黒僧の攻撃が2連続で外れる事象が何度起こったか
n:1試合の間に暗黒僧の攻撃が何度あったか
2) 4回連続回避の発生頻度分布
次に、4回連続で攻撃がはずれることをぴよ事象と定義し、同様に計算機シミュレーションを行った。結果をFig. 2に示す。n=20(暗黒僧10体)の場合、ぴよ事象が起こる確率は8%程度となった。暗黒僧2体が全ての攻撃を外す確率は0.3^4で0.81%である。10体の暗黒僧がいたとして、ぴよ事象が起こる期待値は単純に0.81%の5倍(暗黒僧の数が5倍になるから)としがちである(筆者も計算をするまえはそうだと勘違いしていた)。しかし実際には以下のような確率計算が必要となる。まず10体の暗黒僧のうち2体が全部外す確率は、10C2 * (0.91)^8 * (0.09)^2 =0.17で、全部はずしやがった2体の暗黒僧がとなりどうしになる確率が9!*2 / 10!=0.2なので、これらをかけあわせて0.85が理論的な解である。計算機シミュレーションの結果は理論値と概ね合致する。nが増えれば増えるほど、このようにして求めた理論値は0.81%×nからは乖離してゆく。実際n=40(中期戦相当)では5試合に1回ぐらいはぴよが起こり、n=100程度の長期戦ともなると、ぴよが一度も起こらない試合は全体の6割弱で、それ以外は一度以上のぴよが起こるということがFig. 2からわかる。4回連続外しは、WURIにおいてもぴよの象徴のように扱われているのだが(参考)、実際にはそれほど珍しくない(長期戦をやると5回に2回ぐらいはお目にかかる)ものであるということが明らかになった。
Fig. 2 4回連続回避が1試合に何度ぐらい起こるかの確率分布
ぴよ回数=1試合の間に、暗黒僧の攻撃が4連続で外れる事象が何度起こったか
n:1試合の間に暗黒僧の攻撃が何度あったか
事例2 統計情報(与えたダメージ、受けたダメージと期待値との差)についての計算
はじめに
ゲーム中に統計情報のメニューを開くことで、与えたダメージ(以下与ダメ)と受けたダメージ(以下被ダメ)の総和や、期待値との差を参照することができる。 この統計量はいわゆる「ついてなさ」の指標として用いられる。このような統計量は、試合開始直後は大きく変動しやすいが、試合が進み総ダメージ数が大きくなるほど、期待値に漸近することが良く知られている(大数の法則)。しかしながら、期待値からのずれがどの程度の幅を持ち、試合の進行とともにその幅がどのように推移していくかを直感的に把握するのは、事例1の場合よりもさらに困難である。そこで与ダメや被ダメと期待値との差がどのような分布に従うかを、計算機シミュレーションによって求めた。
方法
事例1と同様に暗黒僧が攻撃した場合の攻撃の成否を、乱数を用いて表現した。暗黒僧による攻撃回数をnとし、n回攻撃した場合に成功した回数が、期待値(n*0.7)とどれだけ異なるかを算出した。このような試行を1000回行い、期待値との差がどのような分布を示すかを求めた。これを2回行い、便宜的に片方を与ダメの期待値との差の分布、もう片方を被ダメの期待値との差の分布とした。(両者とも全てのユニットは暗黒僧であると仮定し、攻撃の命中率は70%とした) また、これらを用いて、(与ダメ―被ダメ)の期待値との差の分布を算出した。
結果 ダメージの期待値との差が従う分布の形状
上述のような試行は一次元のランダムウォーク(参考)と等価であると考えられる。一次元のランダムウォークは正規分布に従うことが知られている。n=10,20,40,80の場合にシミュレーションによって得られた分布をFig. 3に示した。分布のばらつきが持つ幅の指標として、標準偏差(SD)を算出し、併記した。
n=10の場合に着目すると、与ダメと被ダメはそれぞれSD=14(%)程度となっている。分布が正規分布に従う場合、±1*SDの範囲に、全標本の約70%が含まれ、±2*SDの範囲に約95%が含まれることが知られている(参考)。すなわち10回攻撃時(暗黒僧5体分)に与ダメが+28%を越えるばかづきや-28%を超えるぴよが起こるのは、100試合やって5試合程度ということである。また被ダメについても同様の頻度で、ばかづきやぴよが起こる。一方で、(与ダメ―被ダメ)の期待値との差の分布(黒)の標準偏差は、与ダメや被ダメ単体の場合より大きくなる。正規分布の加法性により黒の分布の標準偏差は、与ダメの分布(赤)と被ダメの分布(青)の標準偏差σを用いて(σ赤^2 + σ青^2)^(1/2)と求められるが、得られた値はこれによく合致する。n=10では彼我の期待値からのずれの差が20%以上(たとえば被ダメが+15%で与ダメが-5%、など)となるのは全体の3割に上るということがわかる。
n=20,40,80と攻撃総数がふえるほど、SDは小さくなる。分布が正規分布に従う場合、その標準偏差は標本数nの平方の逆数に比例することが知られている。Fig. 3においても、nが4倍になると標準偏差が半分となっているのが確認できる。すなわち、大数の法則により試行数が大きくなればなるほど、確率分布の幅は小さくなることが確認された。すなわち試行の期待値との差(%)は、試合の序盤ではばらつきが大きく、試合が進むにつればらつきが小さくなるということである。
また、このシミュレーション結果は、暗黒僧以外のユニットに対して拡張することが可能である。分布の形状は、攻撃ユニットの命中率を変化させても(たとえば命中率を70%ではなく50%や30%としても)ほぼ変化しなかった(data not shown)。従ってFig. 3の結果はたとえばオーク兵卒に対してもそのまま当てはめることが可能である。またユニット1体あたりの攻撃回数が2とは異なる場合にも拡張が可能である。たとえばエルフ戦士の近接攻撃を考えたい場合は、ユニット数5の場合に攻撃総数n=20となるだけである。このことは、攻撃回数の多いユニットほど結果のばらつきが"比較的"小さくなるということを意味している。ここで"比較的"と言っているのは、"試合の進行度が同程度のときに攻撃回数の小さいユニットと比較すると"という意味であり、数回のみの攻撃を考えた場合には、依然として相応のばらつきが存在することを付記しておく。
Fig. 3 n回の試行時に、結果と期待値の乖離が従う分布(クリックで拡大)
独立に2回の試行を行い、赤は与ダメと期待値との差、青は被ダメと期待値との差を便宜的に表している。
これらの2者から、(与ダメ―被ダメ)の期待値との差の分布(黒)を求めた。
考察 割合と絶対値の問題
前節により、試行の期待値との差(%)は大数の法則に従い、序盤ほどばらつきが大きくなるということが示された。一方でWesnothにおいては、ダメージの割合ではなく総量こそが、戦況の優劣の指標として適しているとする見方が存在する。たとえば彼我の収入が常に同一であり、ユニットの種類も同一であると簡略化した場合に、戦況の優劣を倒し倒され数で表現することにする。今、一方がもう一方よりも2匹多く倒されてしまった場合を考える。このような条件を満たす場合として、中期戦ではたとえば10vs12、長期戦ではたとえば20vs22になったとする。この場合両者とも、マップ上のユニット数の差は2であるが、倒されたユニット数を割合で表示すると中期戦では2割の差、長期戦の場合は1割の差となる。しかしながら戦況にもよるが、多くの場合場合に優劣を決めるのは、マップ上のユニット数の差(絶対値)であろう。なぜなら、戦闘によって彼我のユニットが倒されて減少することを考慮すると、中期戦でも長期戦でも、マップ上のユニット総数は概ね似通っていると考えられるからである。その場合には、累計の倒し倒され数によって平滑化された"割合"(10分の2だと2割で、20分の2だと1割だとする算出方法)よりも、絶対値である"2"という情報のほうが、戦況の優劣を示す基準としては適していると考えられる。 ※無論不適切な場合も存在するだろう。事例により個々に判断されたし。
このように、しばしば統計情報の期待値との差の割合(%)よりも、絶対値に着目する必要がある。そこで以下では、Fig. 3の結果を、絶対値という観点に着目して議論する。今、暗黒僧の攻撃は全て耐性±0%の相手に、中立時刻に行ったものであるという簡略化を行う。この場合、1回の攻撃で与えるダメージは10である。このことから(与ダメ―被ダメ)の期待値との差の分布(黒)より得られた標準偏差(%)にダメージ量(10*n)を乗じ、攻撃回数nが様々な場合のダメージ量のばらつきを算出すると、それぞれ約20(n=10)、28(n=20)、40(n=40)、56(n=80)となり、試合が長くなるほど運によるダメージ量の差の総和は大きくなることが示された。
しかしながらこの考察は、試合が短くなればなるほど運による影響が小さくなるという結論を導き出すものではない。なぜなら、序盤であればあるほど、結果の偏りが少数のユニットに集約されるという効果が生じるからである。このような効果をも考慮して本節で論じた内容をまとめると「試合の序盤はばらつきが大きくなるが、中盤以降においては、ダメージの総量に着目するとばらつきが小さくなってゆくとはいえない」となる。
まとめ
上述のように、計算機シミュレーションにより、直感的に把握するのは難しいような複雑な確率過程を含む、1試合を単位とした確率分布を示すことができた。また、時には直感に反する現象が存在することが明らかとなった。本稿によってぴよ現象を正しく認識し、ひいてはそれがぴよ事象に直面してもめげずに研鑽を続ける助けとなれば幸いである。