4: 2016-05-20 (金) 10:59:04 osinko |
5: 2016-05-21 (土) 00:13:02 osinko |
| | | |
| 1.がよくわからない | | 1.がよくわからない |
| + | |
| + | ***考察1 [#x1281923] |
| + | |
| + | &font(150%){確率は「起こり得る全体の中で希望するものの割合である」}; |
| + | |
| + | -平面上の座標とみなされたbとcは均等に起こり得ると考える |
| + | -判別式を関数と見なしb入力c出力、つまりc(b)と考える |
| + | -希望するものの条件をc(b)として、全体をbとcの&font(Red){試行範囲};と考える |
| + | -&font(Red){成功条件関数};が描くグラフ内部の面積と平面上の均等に起こり得る座標の関係、矩形面積との面積比により確率が導ける |
| + | |
| + | -二次方程式は条件である判別式を導くために利用されている。あくまで確率だけを考えるなら成功条件と全体の関係を考えるだけでよい |
| + | |
| + | ***例 [#n6ce6b47] |
| + | |
| + | 簡単な例を考えてみる。\(x\)と\(y\)軸のグラフがある。成功条件を \(D=2x-3y\) で\(D\)がマイナス値になった時とする。試行範囲を \(0\le x\le 6\) 、\(0\le y\le 4\) とする。 |
| + | |
| + | 以上のことから成功条件関数は\(D=2x-3y=0\quad \rightarrow \quad 2x-3y=0\quad \rightarrow \quad -3y=-2x\quad \rightarrow \quad y=\frac { 2 }{ 3 } x\) |
| + | これらの事をグラフで確認すると以下になる |
| + | &ref(grp1.png); |
| + | |
| + | 6×4の長方形の矩形の範囲面積が全体。画像で青色で示されている三角形の範囲が\(y=\frac { 2 }{ 3 } x\)の内部側の面積となっている |
| + | この様子を視覚的に眺めていると、ほぼ50%の確率で成功条件を満たすことが予想できる。実際にプログラムコードで乱数を作成し、その挙動を確かめる |
| + | |
| + | #code(csharp){{ |
| + | using UnityEngine; |
| + | using System.Collections; |
| + | |
| + | public class prob2 : MonoBehaviour |
| + | { |
| + | void Start() |
| + | { |
| + | int sampling = 1000000; |
| + | for (int i = 0; i < 5; i++) |
| + | { |
| + | print(Test(sampling)); |
| + | } |
| + | } |
| + | |
| + | private float Test(int sampling) |
| + | { |
| + | int count = 0; |
| + | |
| + | for (int i = 0; i < sampling; i++) |
| + | { |
| + | float x = Random.Range(0, 6f); //floatの場合6fギリギリに近い小数点を含む数字、例えば5.98f等の数がランダムで出力されるので1加算しなくていい |
| + | float y = Random.Range(0, 4f); |
| + | |
| + | if (((2f * x) - (3f * y)) < 0) count++; //判別式がマイナスの場合、成功と見なしてカウントアップ |
| + | } |
| + | return (float)count / (float)sampling; //確率を求める |
| + | } |
| + | } |
| + | }} |
| + | 出力 |
| + | 0.500461 |
| + | 0.499495 |
| + | 0.499841 |
| + | 0.500345 |
| + | 0.499351 |
| + | |
| + | やはり50%になる。考えれば当たり前のことなのだが成功関数や試行範囲によって複雑になることが考えられる |
| + | |
| + | ***考察2 [#n8d103ab] |
| + | |
| + | 本で行っている計算を別のやり方、具体的には微積分を使って求めてみる |