確率と統計​/幾何分布 のバックアップの現在との差分(No.9)

Unity学習帳2冊目確率と統計 / 幾何分布 のバックアップの現在との差分(No.9)
« Prev  Next »
9: 2016-04-03 (日) 03:33:19 osinko ソース 現: 2016-05-25 (水) 21:34:25 osinko ソース
Line 1: Line 1:
 +TITLE:幾何分布
 +#jsmath
#jsmath #jsmath
**幾何分布 [#z10603a7] **幾何分布 [#z10603a7]
Line 19: Line 21:
2回目で初めて表が出る確率 25%  |×|○| 2回目で初めて表が出る確率 25%  |×|○|
3回目で初めて表が出る確率 12.5% |×|×|○| 3回目で初めて表が出る確率 12.5% |×|×|○|
-4回目で初めて表が出る確率 6.25% |×|×|×|○| (これは逆に考えると3回連続で裏が出る確率6.25% と言える事に留意)+4回目で初めて表が出る確率 6.25% |×|×|×|○| %%(これは逆に考えると3回連続で裏が出る確率6.25% と言える事に留意)%%
&ref(prob8.png); &ref(prob8.png);
幾何分布の定義は以下になる 幾何分布の定義は以下になる
-\(\begin{cases} q=(1-p) \\ { P }\left( x \right) =p{ q }^{ x-1 } \end{cases}\\ \\ P\quad 幾何分布関数\\ p\quad 命題が成功する確率\\ q\quad 命題が失敗する確率\\ x\quad 試行回数\)+ 
 +\(\begin{cases} q=(1-p) \\ { P }\left( x \right) =p{ q }^{ x-1 } \end{cases}\
 + 
 +\(p\quad 命題が成功する確率\
 +\(q\quad 命題が失敗する確率\
 +\(x\quad 試行回数\)
このケースに幾何分布の定義を利用してみると \({ P }\left( x \right) \quad =\quad \left( \frac { 1 }{ 2 }  \right) \cdot \left( \frac { 1 }{ 2 }  \right) ^{ x-1 }\quad =\quad \frac { 1 }{ { 2 }^{ x } } \) となり このケースに幾何分布の定義を利用してみると \({ P }\left( x \right) \quad =\quad \left( \frac { 1 }{ 2 }  \right) \cdot \left( \frac { 1 }{ 2 }  \right) ^{ x-1 }\quad =\quad \frac { 1 }{ { 2 }^{ x } } \) となり
Line 45: Line 52:
2回目で初めて敵にヒットする確率 12.75%  |×|○| 2回目で初めて敵にヒットする確率 12.75%  |×|○|
3回目で初めて敵にヒットする確率 1.9125%  |×|×|○| 3回目で初めて敵にヒットする確率 1.9125%  |×|×|○|
-4回目で初めて敵にヒットする確率 0.286875% |×|×|×|○| (これは逆に考えると3回連続で攻撃が外れる確率は0.2% と言える事に留意) +4回目で初めて敵にヒットする確率 0.286875% |×|×|×|○| %%(これは逆に考えると3回連続で攻撃が外れる確率は0.2% と言える事に留意)%%
- +
-&font(200%){<TODO:以下なんかおかしい>};+
そして、話をこう変えてみる そして、話をこう変えてみる
Line 67: Line 72:
3回目で初めて敵に当たらなかった確率 10.8375%   |×|×|○| 3回目で初めて敵に当たらなかった確率 10.8375%   |×|×|○|
4回目で初めて敵に当たらなかった確率 9.211875% |×|×|×|○|  4回目で初めて敵に当たらなかった確率 9.211875% |×|×|×|○| 
-5回目で初めて敵に当たらなかった確率 7.8300937% |×|×|×|×|○| (&font(Red){??これは逆に考えると4回連続で攻撃がヒットする確率は7.8%(コンボが決まる確率)と言える事に留意};)+5回目で初めて敵に当たらなかった確率 7.8300937% |×|×|×|×|○| %%(&font(Red){??これは逆に考えると4回連続で攻撃がヒットする確率は7.8%(コンボが決まる確率)と言える事に留意};)%%
では剣の敵に対する命中率を90%に変えて計算してみるとどうなるだろうか では剣の敵に対する命中率を90%に変えて計算してみるとどうなるだろうか
Line 78: Line 83:
3回目で初めて敵に当たらなかった確率 8.1%   |×|×|○| 3回目で初めて敵に当たらなかった確率 8.1%   |×|×|○|
4回目で初めて敵に当たらなかった確率 7.29% |×|×|×|○|  4回目で初めて敵に当たらなかった確率 7.29% |×|×|×|○| 
-5回目で初めて敵に当たらなかった確率 6.561% |×|×|×|×|○| (&font(Red){??これは逆に考えると4回連続で攻撃がヒットする確率は6.5%(コンボが決まる確率)と言える事に留意};)+5回目で初めて敵に当たらなかった確率 6.561% |×|×|×|×|○| %%(&font(Red){??これは逆に考えると4回連続で攻撃がヒットする確率は6.5%(コンボが決まる確率)と言える事に留意};)%%
これをグラフにすると武器の性能を視覚的に確認できる これをグラフにすると武器の性能を視覚的に確認できる
Line 87: Line 92:
実際にunityでこれを確認してみる 実際にunityでこれを確認してみる
-<TODO>+#code(csharp){{ 
 +using UnityEngine; 
 +using System.Collections;
-これは数学的帰納の視点で見ると、そのまま等比数列の定義 +public class sc4 : MonoBehaviour 
-\({ a }_{ n }={ a }_{ 1 }{ r }^{ n-1 }\) と性質的に同一であることに気が付く必要がある。つまり無限等比級数の収束、極限が使えるという事だ+
 +   void Start(
 +   { 
 +       int sampling = 1000000;    //サンプリング回数 
 +       float success = 0.9f;      //成功確率 
 +       int x = 5;                  //x回目で初めて成功する
-**クーポン収集問題 [#d8522ef8] +       int total = 0; 
- +       float result = 0; 
-資料: +       for (int i = 0; i < sampling; i++) 
-[[クーポンコレクター問題とは:http://dic.nicovideo.jp/a/%E3%82%AF%E3%83%BC%E3%83%9D%E3%83%B3%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC%E5%95%8F%E9%A1%8C]] +       { 
-[[カイ二乗分布:https://ja.wikipedia.org/wiki/%E3%82%AB%E3%82%A4%E4%BA%8C%E4%B9%97%E5%88%86%E5%B8%83]]+           if( TrialAttack(success) ==x)total++; 
 +       } 
 +       result = (float)total / (float)sampling;    //実験から確率の算出 
 +       print(result); 
 +   }
-***メモ [#e0c48aaf] +   //攻撃試行。無限回数攻撃。攻撃失敗の時点で、それまでの成功回数を返す 
-マイクロソフトが2007年に残しているゲーム用のC#日本語資料。有用な情報なので一度目を通しておくことをお勧めします+   int TrialAttack(float successs) 
 +   { 
 +       int i = 0; 
 +       while (true) 
 +       { 
 +           i++; 
 +           if (Attack(successs) == false) return i; 
 +       } 
 +   }
-資料:[[C#におけるデーター構造とオーダーに関する資料:http://xbox.create.msdn.com/ja-JP/education/catalog/article/data_structures]]+   //攻撃判定。成功確率以内なら真を返す 
 +   public bool Attack(float successs) 
 +   { 
 +       if (Random.value < successs) return true; 
 +       return false; 
 +   } 
 +
 +}} 
 +この結果を各値を変更しながら確かめると求めたとおりの答えが得られているのが確認できる
--Big O (ランダウの漸近記法) とC#のジェネリックについて理解+#navi
« Prev  Next »


トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom