- 締切済み
確率
全26種類あるカードを1回につき4枚、計8回32枚配るとき、全種類のカードを手に入れることができる確率はいくらでしょうか。 ただし、毎回配るカードの種類はアトランダムに選ぶものとします。 天文学的な数字になるかと思いますが、解法と合わせて教えていただけるとありがたいです。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
No.3,5の回答をしたものです。 正しい回答がなされているのに、それをよく検討もしないで誤った回答をして申し訳ありませんでした。
- 20080715
- ベストアンサー率68% (13/19)
再び失礼します。 おおよその値が知りたいのであれば、シミュレーションをやってみる という方法もあります。 実際にプログラムをかいてシミュレーションをやってみました。 以下のプログラムは、 「26種類のカードがそれぞれ400枚ずつ入っている袋の中から、 一度に32枚のカードをランダムに取り出す」 という操作を 10億回 行ったときに、全種類のカードが取り出されている 回数を数えるものです。 このプログラムを実行した結果、10億回のうち、全種類のカードが取り出 されていたのは、1119回 でした。 したがって求める確率はおよそ 1119/100000000=0.000001119 という結果になりました。 ------------------------------- プログラム #include <stdio.h> #include <stdlib.h> #include <time.h> int GetRandom(int min,int max); int main(void) { int i,j,k,t,temp,s,count=0,a[10400],b[26]; for(k=0;k<10400;k++){a[k]=k/400;} for(k=1;k<=2000;k++){ srand((unsigned int)time(NULL)); for(j=1;j<=100;j++){rand();} for(j=1;j<=500000;j++){ for(i=0;i<=25;i++){b[i]=0;} s=0; for(i=10400-1;i>=10400-1-31;i--){ t=GetRandom(0,i); if(b[a[t]]==0){s+=1;b[a[t]]=1;} temp=a[i]; a[i]=a[t]; a[t]=temp; } if(s==26){count+=1;} } printf("%d*500000回目の試行が終了しました %d\n" ,k,count); } printf("%d\n",count); return 0; } int GetRandom(int min,int max) {return min + (int)(rand()*(max-min+1.0)/(1.0+RAND_MAX));}
>では1種類につき400枚であればいかがでしょうか? 26*400=10400枚のシャツッフルされたカードから32枚を抜き出した場合、 直感では数回、悪くても数十回に一回は全26種のカードが揃うように感じられます。 ある種類のカードが選ばれない確率aは、それ以外のカードが選ばれる確率として求められるので、最初の一枚は10000/10400、次の一枚は9999/10399,... となるので a1=10000*9999*...*9969/10400*10399*...*10369 =10000!*10368!/(10400!*9968!) =2.8462597e+35659*2.3302099e+37134/7.7934005e+37262*2.991149919e+35531 =0.28451 (winxpの電卓による) 2種類のカードが選ばれない確率は、残りの24種類のカードが選ばれる確率と同じと考えられるので、 a2=9600!*10368!/(10400!*9568!)=0.07689 3種類のカードが選ばれない確率は、 a3=9200!*10368!/(10400!*9168!)=0.01965 4種類のカードが選ばれない確率は、 a4=8800!*10368!/(10400!*8768!)=0.00473 5種類のカードが選ばれない確率は、 a5=8400!*10368!/(10400!*8368!)=0.00106 6種類以上のカードが選ばれない確率を無視すると、選ばれないカードがある確率は F=a1+a2+a3+a4+a5+...+a31=0.38684+alpha 従って全ての種類のカードが揃う確率は 1-F=1-0.38684: 61.3%以内となります。 選ばれたカードの順番を無視した組合せの数ではなく、順番を無視しないケース数を数え上げる必要があると考えられます。 上記 Fは次の値に対応します。 F=(P(10000,32)+P(9600,32)+P(9200,32)+P(8800,32)+...+P(400,32))/P(10400,32)
- 20080715
- ベストアンサー率68% (13/19)
>では1種類につき400枚であればいかがでしょうか? 次のようなご質問と解釈して回答します。 「全26種類あるカードが各々400枚ずつある。(合計で26*400=10400枚のカードがある) これらのカードの中から、同時に32枚のカードを抜き出す。 このとき、どの種類のカードも 1 枚以上抜き出されている確率はいくらか?」 二項係数をC(a,b)と書くことにします。(C(a,b)=a!/(b!*(a-b)!)) 求める確率の分母は C(10400,32)です。 求める確率の分子は次のようにして計算できます。 a[1]+a[2]+…+a[26]=32を満たす正の整数の組(a[1],a[2],…,a[26]) は全部で736281組あります。この736281組の各々に対して、 積 C(400,a[1])*C(400,a[2])*…*C(400,a[26]) の値を計算し、 それらを全て足し合わせれば、求める確率の分子になります。 この分子の値を計算機を使って計算すると、 145868119583271671756919477274411008000000000000000 0000000000000000000000000000000000000 となります。 したがって求める確率は、 (145868119583271671756919477274411008000000000000000 0000000000000000000000000000000000000)/C(10400,32) = 2526456421802103041969637398937600000000000000000000 00000000000000000000000000000/22014716050738977001323 73135371477199320664866649221510156213096161056546722 11211887381 =0.00000114762162545235119789… (分子の値を計算する方法は他にもあります。)
A.各カードが32枚以上あり任意にカードを選ぶ場合、 任意の種類のカードが選ばれない確率は、1回につき4枚...の条件は無視できるので a=(25/26)**32=0.28506 2..25種類のカードが選ばれない確率は a^2...a^25 これらを全て足し合わせると、不足しているカードがある確率は F=a+a^2+a^3+..+a^25 = a*(1-a**26)/(1-a) = a/(1-a) = 0.28506/0.71494=0.39872 したがって全種類のカードを手に入れることができる確率は 1-F=0.60128 : 約60% となります。 B.26種のカードが8セット、毎回新しいセットのカードで各4枚を選ぶ時、 1回の試行であるカードが選ばれない確率は b=(25/26)*(24/25)*(23/24)*(22/23)=22/26 = 0.84615 8回の試行であるカードが全く選ばれない確率は a=b**8=0.26278 A.と同様に F=(1-a**26)/(1-a) = a/(1-a)=0.35645 したがって全種類のカードを手に入れることができる確率は 1-F=0.64355 : 約64% となります。 以上の通り考えてみました。参考にしてください。
- haberi
- ベストアンサー率40% (171/422)
26種26枚のカードの組が8組あって、それぞれの組から4枚づつとったとき・・・ と解釈しました。 おしくも1枚だけ欠ける確率は(25^8)(24^8)(23^8)(22^8)*26/1 2枚欠ける確率は(24^8)(23^8)(22^8)(21^8)*26*25/2/1 . . 22枚欠ける確率は(4^8)(3^8)(2^8)(1^8)*26*25*24*23/4/3/2/1 以上をすべて足して一から引くという、シリコン知能むきの問題ですね
- pasocom
- ベストアンサー率41% (3584/8637)
ご提示の問題文の中で「1回につき4枚、計8回」と言う部分は計算に何の影響も与えません。無意味な記述です。 従って、問題文は「全26種類あるカードを32枚配るとき、全種類のカードを手に入れることができる確率はいくらか。」ということです。 (それともなにか抜けている文章があるのでしょうか?) これを読むとわかるかと思いますが、カードが全部で何枚あるかがわからないので、計算ができないです。もし、カードが全部で32枚なら確率は「1」になります。カード枚数が増えれば増えるほど確率は下がっていき、カードが無限大枚数あるとすると求める確率は最小(一定値)になるでしょう。 この問題文では計算不能ということです。
補足
分かりやすい説明ありがとうございます。 では1種類につき400枚であればいかがでしょうか? よろしくお願いします。