[過去ログ] 高校数学の質問スレ Part437 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
150: 2024/07/21(日)10:22 ID:3skoHSGy(1/17) AAS
>>147
built-inのSolveを使わずに自作ソルバーで計算。
画像リンク

東大卒かエリート高校生による検算を希望します。
151
(2): 2024/07/21(日)10:23 ID:3skoHSGy(2/17) AAS
>>134
答が出せないアホ発見!
理工系ならWolframくらい使えるんじゃないの?
医系ならR言語だろうけど。
154: 2024/07/21(日)11:24 ID:3skoHSGy(3/17) AAS
>>133
分数解を計算する自作ソルバーが完成したのでグラフ化
画像リンク

155: 2024/07/21(日)11:51 ID:3skoHSGy(4/17) AAS
Wolframのデフォルトのソルバーは遅いなぁ。
自作ソルバーとの速度比較

Wolfram Language 14.0.0 Engine for Microsoft Windows (64-bit)
Copyright 1988-2023 Wolfram Research, Inc.

In[1]:= n=40;

In[2]:= x={x1,x2,x3,x4} /. Solve[x1+x2+x3+x4==n && x1>=1 && x2>=1 && x3>=1 && x4>=1,{x1,x2,x3,x4},Integers] // Timing // Short

Out[2]//Short= {0.1875, {{1, 1, 1, 37}, {1, 1, 2, 36}, {1, <<2 35}, <<9135 {37, 1, 1, 1}}}

In[3]:= x=Select[Partition[Flatten@Table[{x1,x2,x3,n-x1-x2-x3},{x1,Range[n]},{x2,Range[n]},{x3,Range[n]}],4],#[[4]]>0&] // Timing // Short

Out[3]//Short= {0.015625, {{1, 1, 1, 37}, {1, 1, 2, 36}, {1, <<3>>}, <<9135 {37, 1, 1, 1}}}
156
(2): 2024/07/21(日)13:21 ID:3skoHSGy(5/17) AAS
>>133
応用問題

血液型頻度比はA:O:B:AB=4:3:2:1とする。
40人検査したときに3種類の血液型のみが検出される確率を分数で求めよ。
161: 2024/07/21(日)16:57 ID:3skoHSGy(6/17) AAS
>>156
想定解

In[3]:= calc[40,3]

4660364912515525380760230058213856169
Out[3]= ---------------------------------------
312500000000000000000000000000000000000

In[4]:= N[%,50]

Out[4]= 0.01491316772004968121843273618628433974080
162
(3): 2024/07/21(日)16:59 ID:3skoHSGy(7/17) AAS
病棟がコロナクラスタ化したので新入院を受けられなくなった。
職員へのベクルリーは外来投与にした。
166
(1): 2024/07/21(日)20:24 ID:3skoHSGy(8/17) AAS
血液型の頻度比はA:O:B:AB=4:3:2:1とする。

無作為に3人の血液を集めたら2種類の血液型が存在する確率が最も高い。
無作為に4人の血液を集めたら3種類の血液型が存在する確率が最も高い。

(1) 何人以上の血液を集めれば4種類の血液型が存在する確率を最も高くできるか?
(2) 何人以上の血液を集めれば4種類の血液型が存在する確率が0.5を超えるか?
(3) (1)(2)を満たす最小人数で4種類の血液型が存在する確率を分数で求めよ。
168
(1): 2024/07/21(日)20:29 ID:3skoHSGy(9/17) AAS
医師が羨ましければ再受験すればいいのに
俺の同期は2割以上は再受験組だったぞ。
歯学部には東大数学科卒もいた。
東大卒の獣医免許持ちもいた。
170
(2): 2024/07/21(日)20:35 ID:3skoHSGy(10/17) AAS
>>167
3日投与だよ。
初日2バイアル、あと2日は1バイアルで4バイアルが1人分としてセットされている。生食で直接溶解できないので注射用と一緒にセットになっている。
ハンプも生食で直接溶解は不可。サイレースは注射用水で溶解と規定されているが前の勤務先では生食で溶解して問題なかったな。
171
(1): 2024/07/21(日)20:41 ID:3skoHSGy(11/17) AAS
>>167
>ベクルリーは5日間投与が基本
まさに薬漬け病院だな。
まぁ、薬屋の売り子しかならではの記述だね。
172: 2024/07/21(日)20:45 ID:3skoHSGy(12/17) AAS
薬屋の売り子しかできない医者ならではの記述だね
174
(1): 2024/07/21(日)20:59 ID:3skoHSGy(13/17) AAS
麻酔のバイトをやっていた病院でもベクルリーは早期に始めて3日投与のプロトコールだった。
1バイアルの薬価46498円。肺炎まで悪化させて5日使うのは悪徳病院。
175
(1): 2024/07/21(日)21:06 ID:3skoHSGy(14/17) AAS
>>163
面倒な計算、ありがとうございます。
想定解と合致していて安堵。

Wolfram言語のトレーニングに n 人に m 種類の血液型が存在する確率を計算する小道具(場合分けして集計しているだけ)を作成

calc[n_,m_] :=(
If[m<1||m>4Return[0]];
f[x_] :=(
{p1,p2,p3,p4}={1/10,2/10,3/10,4/10};
{b1,b2,b3,b4}=x;
Binomial[n,b1] p1^b1 Binomial[n-b1,b2] p2^b2 Binomial[n-b1-b2,b3] p3^b3 p4^b4
);
x=Select[Partition[Flatten@Table[{x1,x2,x3,n-x1-x2-x3},{x1,Range[0,n]},{x2,Range[0,n]},{x3,Range[0,n]}],4],#[[4]]>=0&];
Total[f /@ Select[x,Total@Boole@Table[#[[i]]>0{i,Range[4]}]==m&]]
)

別法で計算してくれた値と合致しているので、正しい計算をしている予感。
乱数発生させてのシミュレーションである程度、正答の確信がもてるが、
確率が0.014913程度だとシミュレーションでの確認が回数を増やさないと近似が悪い。

1000万回やって
n=40;
m=3;
k=10^7;
N@Mean@Table[Boole[Length@Union@RandomChoice[Range[4]/10->Range[4],n]==m],k]
0.0149423
177
(1): 2024/07/21(日)21:34 ID:3skoHSGy(15/17) AAS
>>166(Wolfram言語での想定解)
Wolfram Language 14.0.0 Engine for Microsoft Windows (64-bit)
Copyright 1988-2023 Wolfram Research, Inc.
In[1]:= calc[n_,m_] :=(
If[m<1||m>4Return[0]];
f[x_] :=(
{p1,p2,p3,p4}={1/10,2/10,3/10,4/10};
{b1,b2,b3,b4}=x;
Binomial[n,b1] p1^b1 Binomial[n-b1,b2] p2^b2 Binomial[n-b1-b2,b3] p3^b3 p4^b4
);
x=Select[Partition[Flatten@Table[{x1,x2,x3,n-x1-x2-x3},{x1,Range[0,n]},{x2,Range[0,n]},{x3,Range[0,n]}],4],#[[4]]>=0&];
Total[f /@ Select[x,Total@Boole@Table[#[[i]]>0{i,Range[4]}]==m&]]
)
In[2]:= Table[calc[2,i],{i,1,4}]
3 7
Out[2]= {--, --, 0, 0}
10 10
In[3]:= Table[calc[3,i],{i,1,4}]
1 3 3
Out[3]= {--, -, --, 0}
10 5 10
In[4]:= Table[calc[4,i],{i,1,4}]
177 2111 303 36
Out[4]= {----, ----, ---, ---}
5000 5000 625 625
In[5]:= Table[calc[5,i],{i,1,4}]
13 141 561 18
Out[5]= {----, ---, ----, ---}
1000 500 1000 125
In[6]:= Table[calc[6,i],{i,1,4}]
489 18571 2859 297
Out[6]= {------, ------, ----, ----}
100000 100000 5000 1250
In[7]:= Table[calc[7,i],{i,1,4}]
187 6111 54831 819
Out[7]= {------, -----, ------, ----}
100000 50000 100000 2500
In[8]:= Table[calc[8,i],{i,1,4}]
36177 4040351 1590309 319977
Out[8]= {--------, --------, -------, ------}
50000000 50000000 3125000 781250
In[9]:= Table[calc[9,i],{i,1,4}]
14117 1344309 23183889 753543
Out[9]= {--------, --------, --------, -------}
50000000 25000000 50000000 1562500
In[10]:= Table[calc[10,i],{i,1,4}]
22173 7205087 4179633 1364751
Out[10]= {---------, ---------, --------, -------}
200000000 200000000 10000000 2500000

小数表示
{0.3, 0.7, 0., 0.}

{0.1, 0.6, 0.3, 0.}

{0.0354, 0.4222, 0.4848, 0.0576}

{0.013, 0.282, 0.561, 0.144}

{0.00489, 0.18571, 0.5718, 0.2376}

{0.00187, 0.12222, 0.54831, 0.3276}

{0.00072354, 0.080807, 0.508899, 0.409571}

{0.00028234, 0.0537724, 0.463678, 0.482268}

{0.000110865, 0.0360254, 0.417963, 0.5459}

0.5を超えるのは10人以上。
182
(1): 2024/07/21(日)23:23 ID:3skoHSGy(16/17) AAS
>>175
可読性を度外視して1行に纏めた。自分でも解読するのに難渋しそう。

* 血液型頻度比はA:O:B:AB=4:3:2:1, n 人に m 種類の血液型が存在する確率 *)
solve[n_,m_] := Total[Binomial[n,#[[1]]] (1/10)^#[[1]] Binomial[n-#[[1]],#[[2]]] (2/10)^#[[2]] Binomial[n-#[[1]]-#[[2]],#[[3]]] (3/10)^#[[3]] (4/10)^#[[4]]& /@ (Select[Select[Partition[Flatten@Table[{x1,x2,x3,n-x1-x2-x3},{x1,Range[0,n]},{x2,Range[0,n]},{x3,Range[0,n]}],4],#[[4]]>=0&],Total@Boole@Table[#[[i]]>0{i,Range[4]}] == m &])]

実行結果

In[1]:= solve[n_,m_] := Total[Binomial[n,#[[1]]] (1/10)^#[[1]] Binomial[n-#[[1]],#[[2]]] (2/10)^#[[2]] Binomial[n-#[[1]]-#[[2]],#[[3]]] (3/10)^#[[3]] (4/10)^#[[4]]& /@ (Select[Select[Partition[Flatten@Table[{x1,x2,x3,n-x1-x2-x3},{x1,Range[0,n]},{x2,Range[0,n]},{x3,Range[0,n]}],4],#[[4]]>=0&],Total@Boole@Table[#[[i]]>0{i,Range[4]}] == m &])]

In[2]:= solve[40,3]

4660364912515525380760230058213856169
Out[2]= ---------------------------------------
312500000000000000000000000000000000000

尿瓶チンパフェチの嫁なしPhimoseくん(別名、自演認定厨)はWolfram言語はわからないみたいだな。
初学の俺と達人のコードが区別できないみたいだし。
嫁なしPhimoseくんが自演認定厨であることは度々、識者より指摘されている。
俺の想定解よりエレガントな解が投稿されていることを理解できないようだ。
183: 2024/07/21(日)23:27 ID:3skoHSGy(17/17) AAS
BruteForceでの自作ソルバーがデフォルトのソルバーより高速なのは意外だった。
まあ、デフォルトのSolveが万能なゆえに、特化した自作ソルバーより時間がかかるのだろう。
ブラックボックスに算出させているのは気持ち悪いのでなるべく自作する。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.046s