- ベストアンサー
ある確率について
以下のような確率を求めるにはどうすれば良いのでしょうか。 まず、AくんとBくんがいます。 双方に値1と値2という数値を設定します(どちらも自然数)。 次に、勝利値というものを求めます。 勝利値は、「値1+乱数(値2)」で求まります。 乱数(値2)というのは、例えば値2が「36」のとき、 「0~35」の間の整数のうち一つを返すという数値とします。 その後、双方の勝利値を比較し、値の大きい方が勝ちとします。 このとき、Aくんの勝つ確率を求める公式は、どのようにして 求めればよいのでしょうか。教えてください。 ちなみに私は、乱数の平均値を出して、それに値1を足したものを 仮の勝利値とし、「Aくんの仮の勝利値÷双方の仮の勝利値の和」で 求めようとしましたが、うまくいきませんでした。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
No.6です。 No.7さんが、不快な思いをされたのなら申し訳なく思います。 場合分けを交えた定式化はきれいではありませんが、行われないこともないと思います。「場合分けしても解けない(定式化不可能)」と「場合分けすれば解ける(定式化可能)」を、区別できるなら区別したいと思います。 回答No6中の場合分けには、不備がありました(ちょっと計算してみたので)。 簡単にするため、A1-B1=d とおきます(言うまでもありませんが、A1、B1の大きさが問題なのではなく、差が問題です)。 Aが勝つ確率をP(A)と表すことにして、 I)d≧0 (0<)B2≦d のとき、P(A)=1 d<B2≦A2+d のとき、P(A)=1-(B2-d)(B2-d+1)/(2・A2・B2) B2>A2+d のとき、P(A)=(2d+A2-1)/(2・B2) II)d<0 も、同じように (0<)A2≦1-d のとき、P(A)=0 1-d<A2≦B2-d のとき、P(A)=(A2+d)(A2+d-1)/(2・A2・B2) A2>B2-d のとき、P(A)=1+(2d-B2-1)/(2・A2) おそらく、こんな感じでは? 計算は怪しいので、具体的な数字を入れて確認してみてください。
その他の回答 (7)
#1,2,5です。 #3さんが、#6で回答しているとおりなのですが…。 元々の質問は、1つの式を求める話だったのです。 (このことは、#2への質問者さんの補足からも読み取れます。) なので、私が#1,2でいいたかったのは、「普通の式1つで、確率は求まらない。」といいたかっただけなんですよね。コンピュータのプログラムのように、数式の中に条件式を加えることが出来れば可能ですけどね。 ちょっと、#6さんがお気に障られたようなので、謝ります。 また、この回答自身も質問と関係なくなってしまったことを質問者さんに謝っておきます。
お礼
>元々の質問は、1つの式を求める話だったのです。 その通りです。私の文章の意図を汲んでくださってありがとうございます。条件を加えれば定式化可能ということが分かり、助かりました。
No.3,4です。 間違いを指摘してくださり、ありがとうございます。 でも、解き方の路線は正しいと思いますが... A君が勝つ ⇔ A1+R(A2)>B1+R(B2) ⇔ R(A2)>B1-A1+R(B2) とすればいいだけのことでしょう。 全ての場合の数=A2・B2 I)A1>B1のとき、 1)B2≧A1-B1 のとき Aが勝つ場合の数=(A1-B1)・A2+Σ[k=1 B1-A1+B2](A2-k) 2)B2<A1-B1 のとき Aが勝つ場合の数=A2・B2 こんな感じでは?(Σのところは適当ですが) Σの計算は、頑張ってやってください(計算が分からなければ補足にその旨書いてください)。 それから、これ以外のケースは、自分でやってみてください。 回答NO.2の 「双方が取り得る値の条件が無い(正確には自然数全部です)ので正確な数字は出てこないでしょう」 そんなの、当たり前です。数値が確定したら、直ちに確率が求められるような公式を出したいというのが、御質問の主旨なんでしょう? それから、ご質問中の「Aくんの仮の勝利値」云々 という部分ですが、期待値をいくら求めても確率は求められません。 例えば、A、Bともにサイコロを振って目の数の多い方が勝つとき、双方の目の期待値はいずれも3.5ですが、勝つ確率は5/12、引き分け1/6、負ける確率5/12です。御質問のケースはこの問題と似てますので、よく検討してみてください。
またまた、#1です。 #3さん、 「Aくんの値をA、Bくんの値をB、とします。 Aくんの乱数をR(B)、Bくんの乱数をR(A)とおくと、 Aくんの勝利値=A+R(B)、Bくんの勝利値=B+R(A) っていう意味ですね?」 違ってますよ。 双方に値を2つ決めるのです。 そして、A君の値1(A1とします)値2(A2とします)に対して A1+乱数(A2) また、B君の値1(B1)と値2(B2)に対して B1+乱数(B2) を求めて、 A1+乱数(A2) vs B1+乱数(B2) を使って勝敗を決めるのですよ。
NO.3です。 訂正 (R(5)=3、R(3)=0)、(R(5)=4、R(3)=0)、(R(5)=3、R(4)=1) の三つだけなので (R(5)=3、R(3)=0)、(R(5)=4、R(3)=0)、(R(5)=4、R(3)=1) の三つだけなので
補足
あああああすみません;; 書き方が悪かったようです…。 Aくんに値1、Bくんに値2を設定するのではなく、 Aくんに値1と値2を(値1A、値2Aとした方がよいかもしれません)、 Bくんにも値1と値2を(同じく値1B、値2Bとした方がよいと思います)設定するという意味でしたが、 今読み返すとどう考えてもmzakitさんの捉え方になりますね。。 つまりこの問題だけで4つの数値を扱うことになります。 どうかこちらの考え方でお願いしますm(._. )m
Aくんの値をA、Bくんの値をB、とします。 Aくんの乱数をR(B)、Bくんの乱数をR(A)とおくと、 Aくんの勝利値=A+R(B)、Bくんの勝利値=B+R(A) っていう意味ですね? A君が勝つ ⇔ A+R(B)>B+R(A) ⇔ R(B)>B-A+R(A) 後は、縦A×横Bます(縦横逆でも良いですが)の表でも作って、整理すれば出せます。 例えば、A=3、B=5 なら、15ますの表を作り、この中でR(5)>2+R(3)を満たすものの数を調べます。(R(5)=3、R(3)=0)、(R(5)=4、R(3)=0)、(R(5)=3、R(4)=1) の三つだけなので、3/15=1/5 ではないでしょうか? 確率=部分/全体 で出さないと、意味不明の数値が出るでしょう。 公式化するには、三角数 n(n+1)/2 のお世話になるのではないかと思いますが...
#1です。 無理だと思いますが…。 先ほどのB君が選ぶ値1と値2を考えましょう。 B君 値1:10 値2:2 このとき、A君が 値1:1 値2:2 だったとしたら、勝つ確率は100%です。 また、A君が 値1:13 値2:2 だったとしたら、勝つ確率は0%です。 この場合、A君の取り得る値に対してB君の勝つ確率は0~100%です。式によって求めると必ず0より大きいか100より小さい値になると思います。条件判断を加えないと正しい数値は求まりません。 要するに、双方が取り得る値の条件が無い(正確には自然数全部です)ので正確な数字は出てこないでしょう。
補足
私の考えでは、値を設定すれば、たとえどんな値であっても確率が求められるので、公式は求められると思うのですが。 式によって求めると必ず0より大きいか100より小さい値になるというのは、確かにそのような気がします。 では、複数の公式を用いて、条件によって使い分ければ何とかならないでしょうか。 例えば、「Bくんの値1+値2<Aくんの値1」のとき、 Aくんの勝率は100%、 「Aくんの値1+値2<Bくんの値1」のとき、 Aくんの勝率は0%、 それ以外のとき、・・・ といった具合に条件分岐させれば何とかなるでしょうか。
この問題は、双方がどういう値1と値2を設定するかによって、確率が変わってきませんか? 例えば、 A君 値1:1 値2:2 B君 値1:10 値2:2 としたとき、A君が勝つ確率は0%です。(A君の「値1+乱数(値2)」がB君の値1を超えないから。)
補足
その通りです。そのような場合も含めて、 正確な確率が分かる公式を求めることはできないのでしょうか。
お礼
返事が遅れまして申し訳ありません。 私が求めていたのはまさしくこれです!ありがとうございます。 この定式が正しいかどうかは私には分かりかねますが、 いくつか数字を入れて確認してみましたのでおそらく大丈夫だと思います。 感謝の気持ちを表すとともに、私の舌足らずな文章のせいで混乱を招いたことを深くお詫び申し上げます。