幾何分布を利用した期待値の算出
<TODO>
失敗を繰り返し最後に成功するという事象に対応した経路はこれ一本しかない
部分集合に対する考え方が根本的に違う
A。3回投げて1回表が出る = \(_{ 3 }{ C }_{ 1 }\)本
B。3回投げてずっと裏が出続けて3回目に表が出る =\(1\)本
経路の数がまるで変わってくる
n=3回投げて表が出る期待値 = 3回投げて表が1回出る期待値+3回投げて表が2回出る期待値+3回投げて表が3回出る期待値 = 表の確率×試行回数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
-
|
-
|
|
|
|
-
|
!
|
|
!
|
-
!
-
|
|
-
|
|
!
!
|
-
!
-
|
|
!
!
| using UnityEngine;
using System.Collections;
public class sc3 : MonoBehaviour {
void Start () {
int sampling = 100000;
int total=0;
float result = 0;
for (int i = 0; i < sampling; i++)
{
total+= TrialAttack(0.85f);
}
result = (float)total / (float)sampling; print(result);
}
int TrialAttack(float successs)
{
int i = 0;
while (true)
{
i++;
if (Attack(successs) == false) return i;
}
}
public bool Attack(float successs)
{
if (Random.value < successs) return true;
return false;
}
}
|
これは数学的帰納の視点で見ると、そのまま等比数列の定義
\({ a }_{ n }={ a }_{ 1 }{ r }^{ n-1 }\) と性質的に同一であることに気が付く必要がある。つまり無限等比級数の収束、極限が使えるという事だ
メモ
マイクロソフトが2007年に残しているゲーム用のC#日本語資料。有用な情報なので一度目を通しておくことをお勧めします
資料:C#におけるデーター構造とオーダーに関する資料
- Big O (ランダウの漸近記法) とC#のジェネリックについて理解