6点法
昨日の日記で、
「Lv6ファーストブロウのスキル倍率は1.35」「筋力9,10,11で
スキル加算値は、9.52, 9.80, 10.06」と書いた。
これらの値は、ブログに書いていない多くの測定結果から得たもの。
けれど、今日は逆に「なるべく少ないデータで、上の数値についての説得力のある証拠をそろえる」方法を考えてみる。
以前述べた「境界テスト」の応用で、6パターンの測定で、証拠をそろえることが出来そう。それはこんな感じ。
Step1
まずは、4つのデータから、筋力10の場合に、スキル倍率Sa=1.35を立証してみる。
考え方としては
「攻撃力高め&四捨五入でギリギリ上げられるもの」
「攻撃力低め&四捨五入でギリギリ下げられるもの」
「攻撃力高め&四捨五入でギリギリ下げられるもの」
「攻撃力低め&四捨五入でギリギリ上げられるもの」
という4タイプのデータを用意する。
筋力10、基礎攻撃力71、スキル攻撃力上昇50の場合にやってみたのがこれ。
指輪 | 攻撃力増 | 攻撃力 | スキ攻予測値 | スキ攻実測値 |
---|---|---|---|---|
+4.0 | 50% | 126.0 | 255.5 | 256 |
+8.5 | -55% | 40.068 | 139.4918 | 139 |
+6.0 | 65% | 142.296 | 277.4996 | 277 |
+1.0 | -65% | 28.224 | 123.5024 | 124 |
予想値の四捨五入が実測値に一致していることが確かめられる。さらに1つめと2つめから
Sa*1.12*((71+4.0)*1.50+50)+Sb >= 255.5
Sa*1.12*((71+8.5)*0.45+50)+Sb < 139.5
という不等式が分かり、引き算すると
Sa*85.932 > 85.932
となる。ここからこんな式が出る。
Sa > 1.3499045757110273
同じように3つめと4つめの結果から
Sa*1.12*((71+6.0)*1.65+50)+Sb < 277.5
Sa*1.12*((71+1.0)*0.35+50)+Sb >=123.5
が分かり、引き算すると
Sa*114.072 < 154.0
となる。ここから
Sa < 1.3500245459008344
となる。
まとめると
1.349904 < Sa < 1.350025
と出る。なので、有効数字5桁の精度で Sa=1.35と言ってよさそう。
Step 2
次にSa=1.35と仮定して、Sb=9.8となる証拠をそろえてみたい。
さっきと同じく「四捨五入でギリギリ上がるもの」「四捨五入でギリギリ下がるもの」を用意して
指輪 | 攻撃力増 | 攻撃力 | スキ攻予測値 | スキ攻実測値 |
---|---|---|---|---|
+4.0 | 50% | 126.0 | 255.5 | 256 |
+6.0 | 65% | 142.296 | 277.4996 | 277 |
1つめのデータから
1.35*1.12*((71+4.0)*1.5+50)+Sb >=255.5
という式が出て
Sb >= 9.8
と分かる。2つめのデータから
1.35*1.12*((71+6.0)*1.65+50)+Sb < 277.5
という式が分かり
Sb < 9.8004
と分かる。なので
9.8 <= Sb < 9.8004
となり、これで Sb=9.8と言ってよさそう。
まとめ
4つのデータからSaの値を決め、さらに2つのデータからSbの値を決められる。
なので、6つのデータでSa,Sbを決められると言える。この方法で、今回どちらも有効数字5桁相当の証拠をそろえることが出来た。