今日の気になる記事

1VIPの部屋2021/02/22(月) 19:40:07.630

いまここに、最終的に33.3…%に収束するゲームをする関数がある
しかし当然ながら100回くらいの試行だと±1%程度の誤差が出る
実測としては、100万回超の試行で小数点以下一位までは確定するんだけど
このn回試せば小数点第一位まで確定 というときのnの値を、計算で求めることはできる?

関数例(python)
def junk_em(try_times=0, round_level=1, string=True):
__true_count = 0
__for i in range(try_times):
____select = rd.choice([True, False, False])
____if select is True:
______true_count += 1
__average = round((true_count / try_times * 100), round_level)
__return str(average) + “%” if string is True else average

2VIPの部屋2021/02/22(月) 19:41:19.396

それとも実際にぶん回して確かめるしかない?

3VIPの部屋2021/02/22(月) 19:42:13.609

どこまで正確にしたい?
例えば33.3333333…%で行こうと本気で思ってるアホじゃないだろ?
33.3%として計算して良いの?

8VIPの部屋2021/02/22(月) 19:45:39.483

>>3
>>3
書いてる通り、小数点以下第一位まで確定で
当然100%確定はないので、たとえば99.999%小数点以下第一位が等しい
で。

23VIPの部屋2021/02/22(月) 20:05:32.285

条件厳密にしなかった俺が悪かった
とりあえず小数点以下第一位を示す確率が99.999%
とするとして。>>8
に書いてっけど

>>21
そう

24VIPの部屋2021/02/22(月) 20:08:32.988

>>23
>>21で良いならチェビシェフの不等式をこねくり回せば出せると思う

26VIPの部屋2021/02/22(月) 20:10:18.267

>>24
ちょっと調べてくる

27VIPの部屋2021/02/22(月) 20:11:01.680

>>23
例えば 20,000 回試行すると、99% の確率で±1%以内の値が出る。
これより細かい値も計算出来るだろうが、計算が面倒臭い。

28VIPの部屋2021/02/22(月) 20:12:31.320

>>27
これどういう計算式?

30VIPの部屋2021/02/22(月) 20:14:44.442

>>28
統計で使う式。世論調査とかで使う。

6VIPの部屋2021/02/22(月) 19:44:46.956

choice使ってたら理論的には確定しないんじゃないか?
まずは確定を定義づけよう

7VIPの部屋2021/02/22(月) 19:45:11.209

https://control-of-money.site/?p=234
これ?

12VIPの部屋2021/02/22(月) 19:47:01.642

>>7
おーリンク先の
https://www.dwdem.com/math/lec/page21_1.html
これかな
ちょっと見てみる

9VIPの部屋2021/02/22(月) 19:45:48.657

一応信頼区間定めれば計算はできる

10VIPの部屋2021/02/22(月) 19:45:57.711

よく読んで無いけど確定はしないよ
n+1回目以降が全部trueになることもあり得るから

13VIPの部屋2021/02/22(月) 19:49:12.855

計算で確定は無理
実際にぶん回しても確定は無理

14VIPの部屋2021/02/22(月) 19:50:58.036

いやいつもプログラム書くとき、まーこんくらい試せばいいでしょ?→あれちょっとブレるな→あと一桁多く試行しよう
みたいにやってたんだけど、予め精度と試行回数の比率を推定できないのかなと思って

15VIPの部屋2021/02/22(月) 19:51:41.482

何がしたいのかを具体的に言ってくれ
真の確率を知ってるんだったらそれで良いし真の確率を知らないんだったら何回やっても大外しする確率的にはずれる可能性もゼロじゃないでしょ
クラーメル・ラオの不等式が似たようなことを評価してると思うけど

17VIPの部屋2021/02/22(月) 19:54:49.487

>>15
つまり真の確率を知らないと、実際に巨大な試行回数で確かめるしかない?

18VIPの部屋2021/02/22(月) 19:57:17.629

>>17
この場合、例えば1億回試行でほぼ収束するものを
より短時間≒(100回試行とか)で予知することはできる?
傾きの近似を得るとか

16VIPの部屋2021/02/22(月) 19:53:31.325

失礼
import random as rd

def junk_em(try_times=0, round_level=1, string=True):
__true_count = 0
__for i in range(try_times):
____select = rd.choice([True, False, False])
____if select is True:
______true_count += 1
__average = round((true_count / try_times * 100), round_level)
__return str(average) + “%” if string is True else average

19VIPの部屋2021/02/22(月) 20:00:48.642

ちなみに局所解のない線形関数を相手にするとして。

25VIPの部屋2021/02/22(月) 20:09:51.582

いずれにしても
提示した関数は最低でも何百万回は試行しないと33.2~4%を示しうるんよ
しかし1試行に数分かかるような場合「どれくらいで収束するかし分からんし、とりあえず1億回で試してみようかな」とか言ってられないはず
超インテリな数学者はどうやって試行の目安を推定してるのかな的な。カンじゃないでしょう

29VIPの部屋2021/02/22(月) 20:14:42.359

例えば99.999精度を実試行で求めるのにかかる時間より数倍も早い時間で近似解求められるなら、それをプログラムに落とし込みたい

31VIPの部屋2021/02/22(月) 20:17:47.239

1000回試行の結果と100回試行10回の平均値は同じになるからそう簡単に早くはならないんじゃね

32VIPの部屋2021/02/22(月) 20:19:46.133

>>31
えー試行時間長い、真の収束値不明の関数相手に
物理で殴りかかるしかないの?
マジで?

33VIPの部屋2021/02/22(月) 20:21:38.145

>>32
「戦は数だよ、兄貴」

参照元:https://hebi.5ch.net/test/read.cgi/news4vip/1613990407/

おすすめ記事一覧!

コメントを残す

メールアドレスが公開されることはありません
※投稿したコメントは記事本文の下に追加されます。