[過去ログ] 高校数学の質問スレ Part438 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
379
(1): 2024/08/18(日)06:12 ID:Qg46pTwQ(1/3) AAS
>>311
ようやく厳密値算出への糸口がみえてきた。
とりあえず、4人までの期待値を算出。

(* n 人でジャンケンして勝者がm人になる確率 *)
ja[n_,m_] := (
If[m>=n,Return[0]];
If[m==0,1 - 3*(2^n-2)/3^n,3*Binomial[n,m]/3^n]
)
(* 勝者が1人になるまでのジャンケン回数の期待値 *)
je={1};
AppendTo[je,x /. Solve[x == ja[2,0]x +1 ,x][[1]][[1]]]
AppendTo[je,x /. Solve[x == ja[3,0]x + ja[3,2]je[[2]]+1][[1]][[1]] ]
AppendTo[je,x /.Solve[x == ja[4,0]x + ja[4,3]je[[3]] + ja[4,2]je[[2]] + 1,x][[1]][[1]]]
381
(1): 2024/08/18(日)06:20 ID:Qg46pTwQ(3/3) AAS
>>379
まず、このアルゴリズムで良いのかをシミュレーションして検証。
4人でジャンケンして1人の勝者が決まるまでの期待値は45/14

10万回のシミュレーション
j[n_] :=( (* n人でジャンケンして勝者が決まるまでの回数と勝者の数*)
count=0;
Until[Length@Union@a==2,a=RandomChoice[Range[3],n];count++];
b=Sort@Union@a;
If[b=={1,2}, winners=Count[a,2]];
If[b=={2,3}, winners=Count[a,3]];
If[b=={1,3}, winners=Count[a,1]] ;
{winners,count}
)

sim[n_] :=((* 勝者が一人になるまでの回数 *)
For[{winner,counts}=j[n],winner>1k=j[winner];winner=k[[1]];counts=counts+k[[2]]];
counts
)
res4=Table[sim[4],10^5];
Histogram[res4]
Mean[res4]//N
3.21695

45/14=3.214286..
なので、このアルゴリズムで良さそう。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.028s