小数操作関数をかけたダイス関数の平均


内容

既存の公式では、大きく値にずれが生じます。

そこで、以下のような検証を行ってみました。

  • 0.1刻みで0〜500までの値xを作成 (平均250)
  • 上記の値xに対してfloor(x), round(x), ceil(x)をかける
  • 上記の3つの関数の平均を求める

結果

すると、以下のような結果が出ました。

関数 平均値
floor(x) 49.55045
round(x) 50.04995
ceil(x) 50.44955

 

証明

すなわち、以下のような結果が出ます。

  • 納n=0, 1000](floor(x/10))/100≒納n=0, 1000](x/10)/100-0.5
  • 納n=0, 1000](round(x/10))/100≒納n=0, 1000](x/10)/100
  • 納n=0, 1000](ceil(x/10))/100≒納n=0, 1000](x/10)/100+0.5

結論

ダイス関数において小数操作関数を使う場合、平均値を求める際は以下の補正値を加える。
floor(x)⇒-0.5
round(x)⇒0
ceil(x)⇒+0.5

最終結論

E(pDs)=(p*s+p)/2=p(s+1)/2
E(floor(pDs*c))≒E(pDs)-0.5=p(s+1)/2*c-0.5
E(round(pDs*c))≒E(pDs)=p(s+1)/2*c
E(ceil(pDs*c))≒E(pDs)+0.5=p(s+1)/2*c+0.5

(c:小数を含む定数)

 


Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!