くろたまのBCG備忘録 時々攻略

私が参加したBCG(NFTゲーム)について書いていこうと思います https://twitter.com/3fGUnZrZzuePYkL

Hungerの数値からDurabilityの減少値を導き出す計算式について

Hungerの数値が低い時は概ね通用する式


何とかHungerの数値からDurabilityの減少値を計算できないか、と寝る前に
考えていたらHungerの数値が低い時(41以下)に近似値を算出する計算式なら
確立できました
Strength0.2消費時のDurability減少値です

結論を先に書くと1÷√Hunger×1.79の小数点第三位を四捨五入です


但し、微妙に当てはまらない事もあります Hungerが41以下なら誤差は必ず0.01ですが
そしてHungerの数値が極端に大きいと誤差が大きくなります
トッププレイヤーのはちくまさんが情報を寄せてくださりそれが判明しました
有難うございますm(__)m
なのでこの式は正しい式ではなく、あくまでHungerの数値が低い時(41以下)に
近似値を算出可能な式であるという事になります
41以上でもある程度までは通用すると思われますが、正確性は微妙かと…

完全な計算式を作るには恐らくlogやら微分積分やらが必要な気がします
そして私の数学力では絶対に無理( ノД`)
そんな遥か昔に学んだ事など、とうに忘却の彼方です(^_^;)


ではこの式に至った経緯を

まずHunger(以降Xとする)の数値が上昇する程Durabilityの減少値(以降Yとする)は少なくなる反比例の関係なので基本の計算式は

Y=1÷X、それに何らかの定数(以降Zとする)が
乗算、除算、加算、減算されると推察されます 多分乗算
(1÷Xは普通はX分の1と表記されますが分数をブログで表記する方法が面倒くさそうだったのでこのような表記にさせて頂いております)

そして今までのプレイで判明しているHungerの数値とDurabilityの減少値

Hunger    Durabilityの減少値
10.5    0.55
15.5    0.45
21.3    0.41
27.6    0.34
29.6    0.33
30.6    0.32
32.6    0.31
36.6    0.3
37.6    0.29
39.6              0.29
40.6              0.28

37.6を基準に考察
単純に式がY=1÷X×Zであるのなら
0.29=1÷37.6×ZとなるZの値はおよそ10.906

これをためしにHunger15.5に当てはめてみると
1÷15.5×10.906=0.7036
実践値の0.45とはかけ離れておりこの式は誤りと確定


次に思いついたのがStrength0.2消費当たりのMST獲得数の計算式は
0.9×√Profit÷25(ミニファーマーの場合)である事から
Hungerも√にしてみたらどうだろう、という考え方

つまり式はY=1÷√X×Zという仮説
では再び37.6を基準に考察
0.29=1÷√37.6×ZとなるZの数値はおよそ1.7782

これまたためしにHunger15.5に当てはめてみると
1÷√15.5×1.7782=0.4517
実践値の0.45とほぼ一致!
なので現在判明している他の数値にも当てはめてみると…

               実践値
1÷√10.5×1.7782=0.5524  0.55
1÷√21.3×1.7782=0.3853       0.41
1÷√27.6×1.7782=0.3385       0.34
1÷√29.6×1.7782=0.3268       0.33
1÷√30.6×1.7782=0.3215       0.32
1÷√32.6×1.7782=0.3114       0.31
1÷√36.6×1.7782=0.2939       0.3
1÷√37.6×1.7782=0.2900       0.29
1÷√39.6×1.7782=0.2825       0.29
1÷√40.6×1.7782=0.2791       0.28

21.3だけかけ離れているので恐らくこれは私の記録ミスですね
実際のHunger21.3でDurabilityの減少値は恐らく0.39かと思われます

そして36.6、39.6が当てはまりません
これは定数Z=1.7782を実践値から逆算して算出しているため
最適の数値とは多少異なるせいでしょう
なのでエクセルで数値をいじり検証してみた結果
一番実践値との差が少なそうで、キリも良い数字の計算式となったのが冒頭の
1÷√Hunger×1.79の小数点第三位を四捨五入という訳です

            実践値
1÷√10.5×1.79=0.5488  0.55
1÷√15.5×1.79=0.4547       0.45
1÷√27.6×1.79=0.3407       0.34
1÷√29.6×1.79=0.3290       0.33
1÷√30.6×1.79=0.3236       0.32
1÷√32.6×1.79=0.3135       0.31
1÷√36.6×1.79=0.2959       0.3
1÷√37.6×1.79=0.2919       0.29
1÷√39.6×1.79=0.2844       0.29
1÷√40.6×1.79=0.2809       0.28

これで私の保有している信頼出来るサンプルと大体一致しました
39.6のみ僅かに合いませんが… 
ここで初めの方に書きました、はちくまさんからの情報
それによりますと、Hunger156.6だとStrength0.2消費時のDurabilityの減少値は0.16だったとの事です
1÷√156.6×1.79=0.143

全然合いませんね(^_^;) この情報がなければ誤りに気が付けませんでした
39.6が合わないのもちょっとした誤差の範疇だろう、と気にしなかったでしょう
重ね重ねお礼申し上げますm(__)m

なのでこの式はHungerの数値が大きくなればなる程
誤差が大きくなっていくと予想されます
ただ、実際問題として今はまだUncommonより上の
レアリティのファーマーを持っている人は多分居ない
そしてレベル3以上のジェムを保有している人も少数でしょうからHungerに41以上
振り分ける人も多くはないと思われますので、それなりには使える式ではないかと…
少くとも大雑把な目安ならつきます


さて気を取り直して、これにファーマーレベル・レアリティ毎で異なるリペア係数をかければStrength0.2消費当たりのリペア代が算出可能です(A)
そしてStrength0.2消費当たりのMST獲得数の方程式は既に判明している(B)

よって利益はB-Aで表される つまりミニファーマーのStrength0.2消費当たりの利益は
(0.9×√Profit÷25)-(1÷√Hunger×1.79の小数点第三位を四捨五入)×ファーマーレベル・レアリティ毎に異なるリペア係数
となります
通常ファーマーなら÷25を÷5にすればOK?
恐らく通常ファーマーのDurabilityの減少値もミニファーマーと変わらず
リペア係数が高いだけだと思いますので

リペア係数は実際にそのレベル・レアリティでリペアを行えば
簡単に判明する(リペア代÷回復Durability数)ので
リペア係数を導き出す計算式を探す必要は無いでしょう

そして、リペア係数が判明すれば理想のProfitとHungerの数値も算出可能となる、と
次回は私のUncommon、Commonレベル30でそれを計算してみようと思います

追伸 
この記事でのStrength0.2消費時、とは盗みタスクでSpeed効果による2倍消費だと
当てはまらない事が有ります
一度のタスクでSpeed効果による2倍消費は発動せずに0.2消費、つまり
他プレイヤーのHelpに応えるタスク等ですね
この辺りは前回の記事を参照してください