y=chanceにおける、x=収穫個数に対するz=出現比。 |
収穫(旧収穫記事)に関する記事。収穫物が得られる量について言及する。
収穫物の量は、chance・dropCount・収穫物の量という3段階の計算により求まる。最終的な式はMaxima用のコードとして提供する。
収穫量を決定するアルゴリズムは、harvest_automatedに存在する。以下に、本記事で説明する各計算項目の名称を定義しながらアルゴリズムを載せる。
chanceは、dropGainChanceにGain倍率をかけて導出する。
これはCropCardのメソッドであるため、植物種によってまちまちである。
ただし、CropCardデフォルトの実装が決まっており、それは0.95のtier乗である。大多数の植物種はこれに従う。以下に対応表を載せる。
Tier | 0.95^Tier | Tier | 0.95^Tier | Tier | 0.95^Tier | Tier | 0.95^Tier |
0 | 1 | 16 | 0.440127 | 32 | 0.193711 | 48 | 0.085258 |
1 | 0.95 | 17 | 0.41812 | 33 | 0.184026 | 49 | 0.080995 |
2 | 0.9025 | 18 | 0.397214 | 34 | 0.174825 | 50 | 0.076945 |
3 | 0.857375 | 19 | 0.377354 | 35 | 0.166083 | 51 | 0.073098 |
4 | 0.814506 | 20 | 0.358486 | 36 | 0.157779 | 52 | 0.069443 |
5 | 0.773781 | 21 | 0.340562 | 37 | 0.14989 | 53 | 0.065971 |
6 | 0.735092 | 22 | 0.323534 | 38 | 0.142396 | 54 | 0.062672 |
7 | 0.698337 | 23 | 0.307357 | 39 | 0.135276 | 55 | 0.059539 |
8 | 0.66342 | 24 | 0.291989 | 40 | 0.128512 | 56 | 0.056562 |
9 | 0.630249 | 25 | 0.27739 | 41 | 0.122087 | 57 | 0.053734 |
10 | 0.598737 | 26 | 0.26352 | 42 | 0.115982 | 58 | 0.051047 |
11 | 0.5688 | 27 | 0.250344 | 43 | 0.110183 | 59 | 0.048495 |
12 | 0.54036 | 28 | 0.237827 | 44 | 0.104674 | 60 | 0.04607 |
13 | 0.513342 | 29 | 0.225936 | 45 | 0.09944 | 61 | 0.043766 |
14 | 0.487675 | 30 | 0.214639 | 46 | 0.094468 | 62 | 0.041578 |
15 | 0.463291 | 31 | 0.203907 | 47 | 0.089745 | 63 | 0.039499 |
1.03のGain乗である。以下に対応表を載せる。
Gain | 1.03^Gain | Gain | 1.03^Gain |
0 | 1 | 16 | 1.604706 |
1 | 1.03 | 17 | 1.652848 |
2 | 1.0609 | 18 | 1.702433 |
3 | 1.092727 | 19 | 1.753506 |
4 | 1.125509 | 20 | 1.806111 |
5 | 1.159274 | 21 | 1.860295 |
6 | 1.194052 | 22 | 1.916103 |
7 | 1.229874 | 23 | 1.973587 |
8 | 1.26677 | 24 | 2.032794 |
9 | 1.304773 | 25 | 2.093778 |
10 | 1.343916 | 26 | 2.156591 |
11 | 1.384234 | 27 | 2.221289 |
12 | 1.425761 | 28 | 2.287928 |
13 | 1.468534 | 29 | 2.356566 |
14 | 1.51259 | 30 | 2.427262 |
15 | 1.557967 | 31 | 2.50008 |
期待値を得たいが、正規分布を標本化した上に負部分を0に切り捨てているためこれがまた面倒臭い。
普通の数式を出しても手作業で扱うのはだるいので、Maxima用の数式で説明する。
以下で出現する変数xは、確率に関する関数を数学的な観点で見るときの引数である。単位は、たいてい収穫の個数となる。
密度関数や分布関数のためのdistribとCSV出力のためのnumericalioをロードしておく。
chanceは、dropGainChance*1.03^gainで求められる。以下では、gainも考慮したこれをchanceと呼ぶことにする。
Maximaで正規分布を積分しようとするとよく処理が終わらなくなったりするので、確率密度関数pdfの積分である累積分布関数cdfの引き算によって定積分を行う。
distribで用意されているcdf_normalは、第3引数の標準偏差が0だった時に問題がある。そこで、0だった時はxが期待値よりも大きいか小さいかで0か1を返すようにする。
chance=0であるときに標準偏差は0となる。
IC2.random.nextGaussian() * chance * 0.6827D + chanceの分布関数を考える。
nextGaussianは平均0・標準偏差1の正規分布となる乱数と定義されているが、これで出てきた奴に対して線形変換している。
この操作による確率密度関数への影響は、平均0・標準偏差1の正規分布に対して横にchance*0.6827倍に伸ばしたあと縦にchance*0.6827分の1に押しつぶし、そしてグラフ全体を右にchanceだけ移動させたものとなる。
下図を見ると、正規分布の平均にはchance、標準偏差にはchance*0.6827が対応することが分かる。
よって、分布関数は以下のようになる。
平均0・標準偏差1の正規分布(ガウス分布) | 平均1・標準偏差2の正規分布(ガウス分布) |
Math.roundの引数内部のものの確率密度関数。 実際の収穫量の確率密度関数は整数に丸める処理により離散値となる。 |
図5 左図にchanceをかけて、視覚的に分かりやすくしたもの。 x=chanceとなるようなxが、最も高い確率で引き当てられる。 |
収穫個数は離散的であるので、連続的であるcdf_normal3を収穫個数に対応する区間ごとに積分する。
定積分するべき確率密度関数の区間は、次のようになる。
収穫個数 | 乱数の範囲 |
0 | [-∞, 0.5) |
1 | [0.5, 1.5) |
2 | [1.5, 2.5) |
n | [n - 0.5, n + 0.5) |
これを、収穫個数が0の場合と1以上の場合に分けて
としたいが、これだとcount=0の場合に∞を含むerfが計算できなくなるので、
とする。
Nの値。 plot3d(N(count, chance), [count, 0, 10], [chance, 0, 10]); |
各chanceにおいて、全てのcountにおけるNの和。 起こり得る全ての現象の確率を足すと1となるアレを満たす。 plot2d(sum(float(N(count, chance)), count, 0, 100), [chance, 0, 10]); |
chanceに対するcropCountの期待値のグラフ。 plot2d(sum(float(N(count, chance) * count), count, 0, 100), [chance, 0, 1]); |
左図のより大きな領域でのプロット。 plot2d(sum(float(N(count, chance) * count), count, 0, 100), [chance, 0, 10]); |
これの行列を得たいが、そのためには配列にしないといけないらしい。なので配列を定義する。
行列および配列の添え字番号は1から始まるので、0以上で定義されるcountとchanceのために1を引いておく。また、chanceは連続値であるため、離散値でしか与えられない配列のためにchanceが1刻みのものと0.1刻みの物で2種類の配列を宣言しておく。
配列を行列にするには、genmatrixを使い、floatを使って式の具体的な値を出し、write_dataを使ってCSVとして出力する。
maximaの行列からExcelに張り付けるにはどうやらこれくらいしかない?
下の表を出すためのMaximaコード。
折角期待値の綺麗な関数が書けているので、これの関数を出したい。
というわけで以下の命令により出すと、もう一つ下のようなどーん!とした代物が出てくる。この例では0から10までで止めてあるので実際にはこれは無限に続く。
↓
ということで、この期待値の漸近線を近似してみる。
傾きは大体1.021691099852673であると分かった。次に、傾きを20倍にした奴をchance=20の期待値から引く。
-8.323436869588363*10^-4となり、ほぼ0なので、期待値は+∞においてchanceに比例しそうである。
期待値からchanceの1.02169…倍を引いたもののグラフを下図に示す。
期待値からchanceの1.02169…倍を引いたもの plot2d(kitaiti(chance, 100) - chance*1.021691099852673, [chance, 0, 10]); |
左図の0~2におけるプロット。 |
まあ0.005個くらいの誤差ならよくね?と言うことで、chance=2以上は、以下の式で期待値を近似してよさそうである。
図5を見ると、chanceが正の無限大に発散するとき、x=0の値は何かに漸近する。この図はchanceがかけられているので、実際には、x=0となる確率密度関数の値はchanceに反比例するといえる。
このことから、前項の係数をもっと正確に求められないだろうか。
dropCountが0となる確率は、float(cdf_normal3(0.5, chance));で表され、chance→∞におけるそれはfloat(cdf_normal3(0.5, 1e100));と近似できる。
また、float(cdf_normal3(0.5, 1e100) - cdf_normal3(0, 1e100));が≒0となるので、chance→∞において、dropCountが0となる確率は、分布関数のx=0の値と等しい。その値は、約0.07149153566887989である。
これは、chanceをどんなに上げても、およそ7.15%の確率で何も出ないことを示す。
正規分布の期待値は与えた平均と等しいが、今回の分布では、0以下の部分を0に切り上げている。これがどのように期待値に影響するのだろうか。
そのために、まず正規分布をとる乱数がある区間以外だった場合は0とみなしたときの期待値を考える。それには、確率密度関数にxをかけたものをその区間で積分すればよい。
以下はpdf_normalの引数にそのまま定数を入れるとなんかmaximaが謎に固まるので、引数を表に出してみたバージョン。
そして、chance→∞における、0から∞までの期待値をchanceで割ったものを求めると、
1.021670300193958という結果が出た。5桁に丸めると、前項での値と等しくなるので、前項の値をそのまま使ってよさそうである。
下の表によれば、chance<2ではdropCountが6個を超える場合は考慮しなくてもよさそうである。そこで、次の式を近似式とする。
これらを合わせると、最終的に次のようになる。
この関数のグラフを次に示す。
近似した期待値のグラフ。中央を境にして2つの関数が分かれる。 plot2d(kitaiti2(chance), [chance, 0, 4]); |
以下の式をMaximaに入力すると、kitaiti2(chance);という呼び出しでchanceごとの期待値が分かる。誤差はchance<2では±0.005未満、chance>2では±0.001倍未満のはず。
以下にchanceごとの、各収穫量の発生確率の表を載せる。基本的に一番上の表だけ見ればよいだろう。一番上の表だけ、縦軸にchanceがきて横軸に個数が来ている点に注意。
青いレコードはchance=0のグラフで、隣の赤いレコードはchance=1のグラフ。レコード内では右上に行くほど1刻みで収穫量が下がり、端は0となる。 高さはそのchanceにおいて、その収穫量となる確率を表す。 |
青いレコードは収穫量=0のグラフで、隣の赤いレコードは収穫量=1のグラフ。レコード内では右上に行くほど0.1刻みでchanceが下がり、端は0となる。 高さはそのchanceにおいて、その収穫量となる確率を表す。 |
見方: 先にchanceを算出し、0.6であった場合、表中の青い行に注目する。このとき、dropCountはおよそ4割で0、およそ6割で1、1.4%の確率で2、無視できる確率で3以上となる。
チャ\個 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
0 | 1.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.1 | 1.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.2 | 0.9860 | 0.0140 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.3 | 0.8356 | 0.1644 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.4 | 0.6429 | 0.3571 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.5 | 0.5000 | 0.4983 | 0.0017 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.6 | 0.4036 | 0.5824 | 0.0140 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.7 | 0.3378 | 0.6151 | 0.0470 | 0.0001 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.8 | 0.2914 | 0.6086 | 0.0991 | 0.0009 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
0.9 | 0.2575 | 0.5781 | 0.1598 | 0.0046 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
1 | 0.2320 | 0.5361 | 0.2180 | 0.0139 | 0.0001 | 0.0000 | 0.0000 | 0.0000 |
1.1 | 0.2122 | 0.4907 | 0.2660 | 0.0304 | 0.0007 | 0.0000 | 0.0000 | 0.0000 |
1.2 | 0.1964 | 0.4465 | 0.3008 | 0.0538 | 0.0025 | 0.0000 | 0.0000 | 0.0000 |
1.3 | 0.1837 | 0.4055 | 0.3227 | 0.0816 | 0.0064 | 0.0002 | 0.0000 | 0.0000 |
1.4 | 0.1732 | 0.3685 | 0.3334 | 0.1109 | 0.0134 | 0.0006 | 0.0000 | 0.0000 |
1.5 | 0.1644 | 0.3356 | 0.3356 | 0.1390 | 0.0237 | 0.0017 | 0.0000 | 0.0000 |
1.6 | 0.1570 | 0.3066 | 0.3315 | 0.1640 | 0.0370 | 0.0038 | 0.0002 | 0.0000 |
1.7 | 0.1506 | 0.2810 | 0.3231 | 0.1849 | 0.0525 | 0.0074 | 0.0005 | 0.0000 |
1.8 | 0.1451 | 0.2585 | 0.3120 | 0.2012 | 0.0693 | 0.0127 | 0.0012 | 0.0001 |
1.9 | 0.1402 | 0.2387 | 0.2993 | 0.2131 | 0.0862 | 0.0198 | 0.0026 | 0.0002 |
2 | 0.1360 | 0.2211 | 0.2858 | 0.2211 | 0.1024 | 0.0284 | 0.0047 | 0.0005 |
個\チャ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
0 | 1.0000 | 0.2320 | 0.1360 | 0.1111 | 0.1000 | 0.0937 | 0.0897 | 0.0869 | 0.0848 | 0.0833 | 0.0820 |
1 | 0.0000 | 0.5361 | 0.2211 | 0.1209 | 0.0800 | 0.0589 | 0.0463 | 0.0380 | 0.0322 | 0.0278 | 0.0245 |
2 | 0.0000 | 0.2180 | 0.2858 | 0.1716 | 0.1114 | 0.0794 | 0.0605 | 0.0483 | 0.0400 | 0.0339 | 0.0294 |
3 | 0.0000 | 0.0139 | 0.2211 | 0.1929 | 0.1360 | 0.0982 | 0.0744 | 0.0588 | 0.0480 | 0.0403 | 0.0345 |
4 | 0.0000 | 0.0001 | 0.1024 | 0.1716 | 0.1453 | 0.1116 | 0.0863 | 0.0685 | 0.0558 | 0.0466 | 0.0397 |
5 | 0.0000 | 0.0000 | 0.0284 | 0.1209 | 0.1360 | 0.1165 | 0.0943 | 0.0764 | 0.0628 | 0.0525 | 0.0447 |
6 | 0.0000 | 0.0000 | 0.0047 | 0.0674 | 0.1114 | 0.1116 | 0.0972 | 0.0815 | 0.0682 | 0.0576 | 0.0492 |
7 | 0.0000 | 0.0000 | 0.0005 | 0.0297 | 0.0800 | 0.0982 | 0.0943 | 0.0833 | 0.0717 | 0.0615 | 0.0530 |
8 | 0.0000 | 0.0000 | 0.0000 | 0.0104 | 0.0503 | 0.0794 | 0.0863 | 0.0815 | 0.0729 | 0.0640 | 0.0559 |
9 | 0.0000 | 0.0000 | 0.0000 | 0.0029 | 0.0277 | 0.0589 | 0.0744 | 0.0764 | 0.0717 | 0.0649 | 0.0578 |
10 | 0.0000 | 0.0000 | 0.0000 | 0.0006 | 0.0134 | 0.0401 | 0.0605 | 0.0685 | 0.0682 | 0.0640 | 0.0584 |
11 | 0.0000 | 0.0000 | 0.0000 | 0.0001 | 0.0056 | 0.0251 | 0.0463 | 0.0588 | 0.0628 | 0.0615 | 0.0578 |
12 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0021 | 0.0144 | 0.0334 | 0.0483 | 0.0558 | 0.0576 | 0.0559 |
13 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0007 | 0.0076 | 0.0227 | 0.0380 | 0.0480 | 0.0525 | 0.0530 |
14 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0002 | 0.0037 | 0.0146 | 0.0286 | 0.0400 | 0.0466 | 0.0492 |
15 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0016 | 0.0088 | 0.0206 | 0.0322 | 0.0403 | 0.0447 |
16 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0007 | 0.0050 | 0.0142 | 0.0250 | 0.0339 | 0.0397 |
17 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0003 | 0.0027 | 0.0094 | 0.0188 | 0.0278 | 0.0345 |
18 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0001 | 0.0014 | 0.0059 | 0.0137 | 0.0222 | 0.0294 |
19 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0006 | 0.0036 | 0.0097 | 0.0173 | 0.0245 |
20 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0003 | 0.0021 | 0.0066 | 0.0131 | 0.0200 |
21 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0001 | 0.0012 | 0.0043 | 0.0097 | 0.0160 |
22 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0006 | 0.0028 | 0.0070 | 0.0125 |
23 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0003 | 0.0017 | 0.0049 | 0.0096 |
24 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0002 | 0.0010 | 0.0033 | 0.0072 |
25 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0001 | 0.0006 | 0.0022 | 0.0052 |
26 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0003 | 0.0014 | 0.0038 |
27 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0002 | 0.0009 | 0.0026 |
28 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0001 | 0.0005 | 0.0018 |
29 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0003 | 0.0012 |
30 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0002 | 0.0008 |
31 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0001 | 0.0005 |
32 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0001 | 0.0003 |
33 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0002 |
34 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0001 |
35 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0001 |
36 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
個\チャ | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
0 | 0.0810 | 0.0802 | 0.0795 | 0.0789 | 0.0784 | 0.0779 | 0.0776 | 0.0772 | 0.0769 | 0.0766 |
1 | 0.0219 | 0.0198 | 0.0180 | 0.0166 | 0.0153 | 0.0142 | 0.0133 | 0.0125 | 0.0117 | 0.0111 |
2 | 0.0259 | 0.0231 | 0.0209 | 0.0190 | 0.0174 | 0.0161 | 0.0149 | 0.0139 | 0.0130 | 0.0123 |
3 | 0.0301 | 0.0266 | 0.0238 | 0.0215 | 0.0196 | 0.0180 | 0.0166 | 0.0154 | 0.0144 | 0.0135 |
4 | 0.0344 | 0.0302 | 0.0269 | 0.0241 | 0.0219 | 0.0200 | 0.0184 | 0.0170 | 0.0158 | 0.0147 |
5 | 0.0386 | 0.0338 | 0.0299 | 0.0268 | 0.0242 | 0.0220 | 0.0201 | 0.0186 | 0.0172 | 0.0160 |
6 | 0.0425 | 0.0372 | 0.0329 | 0.0294 | 0.0265 | 0.0240 | 0.0219 | 0.0202 | 0.0186 | 0.0173 |
7 | 0.0461 | 0.0404 | 0.0358 | 0.0319 | 0.0287 | 0.0260 | 0.0237 | 0.0217 | 0.0200 | 0.0186 |
8 | 0.0490 | 0.0432 | 0.0383 | 0.0343 | 0.0308 | 0.0279 | 0.0254 | 0.0233 | 0.0215 | 0.0199 |
9 | 0.0512 | 0.0455 | 0.0406 | 0.0364 | 0.0328 | 0.0297 | 0.0271 | 0.0248 | 0.0228 | 0.0211 |
10 | 0.0526 | 0.0472 | 0.0424 | 0.0382 | 0.0346 | 0.0314 | 0.0287 | 0.0263 | 0.0242 | 0.0223 |
11 | 0.0531 | 0.0483 | 0.0438 | 0.0397 | 0.0361 | 0.0329 | 0.0301 | 0.0276 | 0.0254 | 0.0235 |
12 | 0.0526 | 0.0487 | 0.0446 | 0.0408 | 0.0373 | 0.0341 | 0.0313 | 0.0288 | 0.0266 | 0.0246 |
13 | 0.0512 | 0.0483 | 0.0449 | 0.0415 | 0.0382 | 0.0352 | 0.0324 | 0.0299 | 0.0276 | 0.0256 |
14 | 0.0490 | 0.0472 | 0.0446 | 0.0417 | 0.0388 | 0.0359 | 0.0332 | 0.0308 | 0.0285 | 0.0265 |
15 | 0.0461 | 0.0455 | 0.0438 | 0.0415 | 0.0389 | 0.0364 | 0.0339 | 0.0315 | 0.0293 | 0.0273 |
16 | 0.0425 | 0.0432 | 0.0424 | 0.0408 | 0.0388 | 0.0365 | 0.0342 | 0.0320 | 0.0299 | 0.0280 |
17 | 0.0386 | 0.0404 | 0.0406 | 0.0397 | 0.0382 | 0.0364 | 0.0344 | 0.0323 | 0.0304 | 0.0285 |
18 | 0.0344 | 0.0372 | 0.0383 | 0.0382 | 0.0373 | 0.0359 | 0.0342 | 0.0325 | 0.0307 | 0.0289 |
19 | 0.0301 | 0.0338 | 0.0358 | 0.0364 | 0.0361 | 0.0352 | 0.0339 | 0.0323 | 0.0307 | 0.0291 |
20 | 0.0259 | 0.0302 | 0.0329 | 0.0343 | 0.0346 | 0.0341 | 0.0332 | 0.0320 | 0.0307 | 0.0292 |
21 | 0.0219 | 0.0266 | 0.0299 | 0.0319 | 0.0328 | 0.0329 | 0.0324 | 0.0315 | 0.0304 | 0.0291 |
22 | 0.0182 | 0.0231 | 0.0269 | 0.0294 | 0.0308 | 0.0314 | 0.0313 | 0.0308 | 0.0299 | 0.0289 |
23 | 0.0148 | 0.0198 | 0.0238 | 0.0268 | 0.0287 | 0.0297 | 0.0301 | 0.0299 | 0.0293 | 0.0285 |
24 | 0.0119 | 0.0167 | 0.0209 | 0.0241 | 0.0265 | 0.0279 | 0.0287 | 0.0288 | 0.0285 | 0.0280 |
25 | 0.0094 | 0.0138 | 0.0180 | 0.0215 | 0.0242 | 0.0260 | 0.0271 | 0.0276 | 0.0276 | 0.0273 |
26 | 0.0072 | 0.0113 | 0.0154 | 0.0190 | 0.0219 | 0.0240 | 0.0254 | 0.0263 | 0.0266 | 0.0265 |
27 | 0.0055 | 0.0091 | 0.0130 | 0.0166 | 0.0196 | 0.0220 | 0.0237 | 0.0248 | 0.0254 | 0.0256 |
28 | 0.0041 | 0.0072 | 0.0108 | 0.0143 | 0.0174 | 0.0200 | 0.0219 | 0.0233 | 0.0242 | 0.0246 |
29 | 0.0030 | 0.0057 | 0.0089 | 0.0122 | 0.0153 | 0.0180 | 0.0201 | 0.0217 | 0.0228 | 0.0235 |
30 | 0.0022 | 0.0044 | 0.0072 | 0.0103 | 0.0133 | 0.0161 | 0.0184 | 0.0202 | 0.0215 | 0.0223 |
31 | 0.0015 | 0.0033 | 0.0058 | 0.0086 | 0.0115 | 0.0142 | 0.0166 | 0.0186 | 0.0200 | 0.0211 |
32 | 0.0011 | 0.0025 | 0.0046 | 0.0071 | 0.0098 | 0.0125 | 0.0149 | 0.0170 | 0.0186 | 0.0199 |
33 | 0.0007 | 0.0018 | 0.0036 | 0.0058 | 0.0083 | 0.0109 | 0.0133 | 0.0154 | 0.0172 | 0.0186 |
34 | 0.0005 | 0.0013 | 0.0027 | 0.0047 | 0.0070 | 0.0094 | 0.0118 | 0.0139 | 0.0158 | 0.0173 |
35 | 0.0003 | 0.0010 | 0.0021 | 0.0037 | 0.0058 | 0.0081 | 0.0103 | 0.0125 | 0.0144 | 0.0160 |
36 | 0.0002 | 0.0007 | 0.0016 | 0.0030 | 0.0048 | 0.0068 | 0.0090 | 0.0111 | 0.0130 | 0.0147 |
37 | 0.0001 | 0.0005 | 0.0012 | 0.0023 | 0.0039 | 0.0058 | 0.0078 | 0.0098 | 0.0117 | 0.0135 |
38 | 0.0001 | 0.0003 | 0.0009 | 0.0018 | 0.0031 | 0.0048 | 0.0067 | 0.0086 | 0.0105 | 0.0123 |
39 | 0.0001 | 0.0002 | 0.0006 | 0.0014 | 0.0025 | 0.0040 | 0.0057 | 0.0075 | 0.0094 | 0.0111 |
40 | 0.0000 | 0.0001 | 0.0004 | 0.0010 | 0.0020 | 0.0033 | 0.0048 | 0.0065 | 0.0083 | 0.0100 |
dropCountまで計算し、これが個数かと思ったら大間違いである。最後の刺客、Gain補正がある。
dropCountはスタックされたアイテムを表すItemStackの個数であり、各ItemStackのスタックの合計ではない。よって、スタックされた状態のアイテムが植物種から提供されれば、実際の収穫量はdropCountのそれ倍になる。
しかし、実際にはここにGain補正が加わりそれよりも個数が増える。Gain補正は、各ItemStackのスタックサイズを、(Gain+1)/100の確率で1個上昇させるというものである。
これらを考慮すると、最終的に得られる収穫物の量は次式で表される。
以下のコードをMaximaに入力すると、一番下の行により右クリックしたときに出る収穫物のアイテムの量の期待値が出る。上側4つは、自由に変更してよい。
dropGainChanceをオーバーライドしていない植物種の収穫量の表を載せる。
Tier | Gain | StackSize | 期待値 |
12 | 0 | 1 | 0.5536848034091179 |
12 | 31 | 1 | 1.814122778769537 |
8 | 0 | 1 | 0.680006781725364 |
8 | 31 | 1 | 2.230275899915201 |
4 | 0 | 1 | 0.8324585874431774 |
4 | 31 | 1 | 2.746285675212498 |
1 | 0 | 1 | 0.9724170486670886 |
1 | 31 | 1 | 3.203132439378916 |