• ベストアンサー

確率の問題

 最近、携帯MP3プレーヤーなるものを購入したのですが、こんな問題を思いつきました。 『問題』  あるCDに、以下の11曲が入っており、これをランダムに連続再生するとします。 ・演奏時間1分の曲が10曲 ・演奏時間10分の曲が1曲  任意の時刻tに演奏時間10分の曲が演奏されている確率は如何。  これはどう解けばよいのでしょう。もともと確率は苦手だったうえ、数学を離れて久しいこともあり、さっぱり思いつきません。  お暇がありましたら、お教え下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • pancho
  • ベストアンサー率35% (302/848)
回答No.6

#3の者です。 質問が「ランダムに連続再生」となっているので、任意の時刻での確率は、やはり1/2と解釈するのが適当です。 しかし、#5の「kony0」さん指摘する  (A) t=0に演奏を開始する  (B) 演奏は完全にランダムではなく、1回のサイクル(20分)中で11曲が必ず1度演奏される という条件をつければ、確かに確率の波が起こります。  1分目: 1/11  2分目: 2/11 ・・・・・  9分目: 9/11 10分目:10/11 11分目:10/11 12分目: 9/11 ・・・・・ 20分目: 1/11   です。 これは、20分目から1分目にまたいだ演奏が起こらないからなのですが、  ・(A)の仮定をしなければ、この境目が任意の時刻に置かれるため、元々の確率1/2のままでよい。  ・(B)の仮定をしなければ、最初のうちは確率の波が起こるが、徐々に確率1/2に収束していく。 となります。 詳しい計算は、ここで披露するのにスペースが足りません。 以上。

Ononomiya
質問者

お礼

再び、ありがとうございます。 なるほど、私の想定したのは(A)を仮定したものでした。 シミュレートしてみましたが、なるほど、tが十分大きい場合にのみ成立しますね。 参考までに、 #include <math.h> #include <stdlib.h> #include <stdio.h> #include <time.h> int play(int); int main(int argc,char** argv){ double c,r,t; srand((unsigned)time(NULL)); t=atof(argv[1]); for(r=0;r<(int)pow(2,16);r++){ c += play(t); printf("%f\n",c/r);} }; int play(int t){ unsigned char l[128]={0}; int r; for(r=0;r<8*128;r++){ if((rand()%1100+1)>100){ l[(int)(floor(r/8))]+=(int)pow(2,(r%8));} else{r += 9;}}; return ((l[(int)(floor(t/8))]>>(t%8))%2); };

その他の回答 (5)

  • kony0
  • ベストアンサー率36% (175/474)
回答No.5

11曲のランダムな曲順の順列がいくつも連なる、「通常の」連続再生の場合は、そんなに単純に行かないのではないかと思われます。(tを20で割った余りt'によって場合わけが必要では?) 任意の正実数tに対し、t'を、t=20n+t', nは正数、0<=t'<20とおく。 0<t'<1では、11曲の曲順のうちの1曲目に10分の曲が来る必要があるので確率1/11 1<t'<2では、11曲の曲順のうちの1曲目or2曲目に10分の曲が来る必要があるので確率2/11 ・・・ という感じになりませんかねぇ?

Ononomiya
質問者

補足

回答ありがとうございます。 解決したと思ったのに、また分からなくなってしまいました。 私は「シャッフル再生(20分間に必ず全ての曲が演奏される)」ではなく、「ランダム再生(同じ曲が連続して演奏されることもある)」を想定していたのですが、この場合でも、t=0 付近が特異点になってしまうような気がしてきました。 #4さんの言う円盤式の抽選は、いわば t<0 もありえる状況であり、この場合は当てはまらないということになるのでしょうか。 また、「シャッフル再生」の場合、おっしゃるとおり、mod 20 で場合わけが必要なのかもしれません。 やはり、確率はわかりません(泣

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.4

No.1のymmasayanです。 >要は累積演奏時間を求めれば良いのだから、短い曲チームには確率10/11で1点、 >長い曲チームには確率1/11で10点が与えられるゲーム、と同視できるのではないか、 >ということです。 > こういう考えで良いのでしょうか。 そういう考え方でもいいと思います。 あと宝くじや年賀ハガキの抽選を考えてもいいと思います。 円盤の半分を10分分、残りを10等分して1分ずつ色分け、回転させて、 遠くから矢を射たときの矢の当たる確率がこの問題の答えです。

Ononomiya
質問者

お礼

たびたび、すみません。 この考えであってるのですね。良かった。 少し数学の勘を取り戻した感じです。

  • pancho
  • ベストアンサー率35% (302/848)
回答No.3

前2者の回答では完全に納得することができないようなので、別の考え方を書きます。 ・10分の曲を1分づつの10曲に分けてみます。すると、全体は「演奏時間が1分の曲が20曲」と見なせます。  (ここまでは大丈夫ですか?) ・任意の時刻にはこの20曲の内、1曲が演奏されています。 ・全ての曲は同じ演奏時間なので、全て等しい確率で選択されます。つまり、確率1/20で演奏されています。 ・元々1分の曲は10曲ですので、1/20×10=1/2となり、1/2の確率で1分の曲がかかっていることになります。 ・反対に、残りの1/2の確率で10分の曲を分割したどれかのパートがかかっていますので、結局10分の曲がかかっている確率は1/2となります。 以上。

Ononomiya
質問者

補足

回答ありがとうございます。 >全体は「演奏時間が1分の曲が20曲」と見なせます。  う~ん、でもこの場合、「分割による1分の曲」は常に10曲連続して出現するのだから、「元から1分の曲」と同視してよいのかが不安です。 >全ての曲は同じ演奏時間なので、全て等しい確率で選択されます。つまり、確率1/20で演奏されています。  そして、選曲自体は1/11なのに、なぜ1/20になるのか。直感的にはちょっと分かりません。  さっき思いついたのは、要は累積演奏時間を求めれば良いのだから、短い曲チームには確率10/11で1点、長い曲チームには確率1/11で10点が与えられるゲーム、と同視できるのではないか、ということです。  こういう考えで良いのでしょうか。

  • tetorin
  • ベストアンサー率21% (14/64)
回答No.2

間違ってたらすいません。 全部の演奏時間が20分なのでその20分の中で10分の曲が演奏されている確率は2分の1ではないでしょうか? 最初はもっと深く考えないといけないかと思ったのですが、これでも問題ないように思えますので。

Ononomiya
質問者

お礼

回答ありがとうございます。 なるほど、全体で20分ですね。納得です。 とはいえ、確率の問題は、納得しても、実は間違いという確率も高いので、もう少し、締め切りは待ってみます。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

これは単純に0.5でしょう。 演奏される順序が任意に決まったとして、任意の時刻を∞回試行すると 半分は10分の曲にぶつかりますね。

Ononomiya
質問者

お礼

回答ありがとうございます。 言われてみると、そう、当たり前のような気がしてきました(汗

関連するQ&A