クソマミレンの愚痴

30超え職歴なし長期引きこもり明けのダメ人間がクソ記事を量産

2018年11月28日クソ散歩 ~はてな記法を初めて使った日 ~

f:id:kusomamiren:20181128222841j:plain

自分で問題を設定して、格闘していた。

結果的に満足行くレベルまで12時間以上かかった。

ふたたびの高校数学

ふたたびの高校数学

この本のP396、397の問題。
「誕生日のパラドックス
複数人参加のパーティーでたまたま同じ誕生日がいる人の確率を参加者が2人の場合の確率、3人の場合の確率・・・と60人くらいまで出す(Pythonプログラミングを使って)というのが俺の今日のミッション。

f:id:kusomamiren:20181128223706j:plain

手計算では日が暮れるのでパソコンにやってもらい、そのパソコンへの指示書を俺がPythonというプログラミング言語を使って作る。
そして、下のグラフをPythonのmatplotlibというモジュールを使って再現することが目的。

本に解法は載っている。

f:id:kusomamiren:20181128224323j:plain

だったら簡単じゃないかと思うんだけど、俺は文系で芸術肌だから、理数系の関してはとても頭が悪い人間なのだ。


グループが

2人の場合→ 1 - (364 ÷ 365) =

3人の場合→ 1 - (364 ÷ 365) × (363 ÷ 365) =

4人の場合→ 1 - (364 ÷ 365) × (363 ÷ 365) × (362 ÷ 365) =

これを40人までやる。

曲者なのは階段のようにだんだん掛ける数が増えていく点。

f:id:kusomamiren:20181128222849j:plain

試行錯誤、今までの知識を総動員した結果、たまたまうまく行ったのが始めてから10時間後くらい。

count = 2
k = 365
i = 365
      
for i in range(365, 306 , -1):
    k *= i - 1
    ans = 1 - (k / 365 ** count) 
    count += 1
    print(ans)

計算部分はこんだけ。(60人)
たったこれだけ。
これがキモ。
ここさえできればあとは楽、飾りみたいなもん。
ここまで来るのに10時間コース。
ね、馬鹿でしょ?
文法的にうんこでも動きゃいいんだ。最近ひろゆきだって言ってた。

↓ひとまず形にしたもの。

import matplotlib.pyplot as plt

xl = []
yl = []

count = 2
k = 365
i = 365
      
for i in range(365, 306 , -1):
    k *= i - 1
    ans = 1 - (k / 365 ** count) 
    count += 1
    x = count - 1
    y = ans * 100
    print("{}人目が最初の一人と誕生日が同じ確率は{}%".format(x,y))
    
    xl.append(x)
    yl.append(y)
    
    plt.plot(x, y,"o")
    plt.title("Probability of having people of the same birthday")
    plt.xlabel("People number(people)")
    plt.ylabel("Probability(%)")
    plt.grid(True)
    plt.yticks([0,10,20,30,40,50,60,70,80,90,100])

結果
2人目が最初の一人と誕生日が同じ確率は0.2739726027397249%
3人目が最初の一人と誕生日が同じ確率は0.8204165884781345%
4人目が最初の一人と誕生日が同じ確率は1.6355912466550326%
5人目が最初の一人と誕生日が同じ確率は2.713557369979358%
6人目が最初の一人と誕生日が同じ確率は4.046248364911154%
7人目が最初の一人と誕生日が同じ確率は5.623570309597536%
8人目が最初の一人と誕生日が同じ確率は7.433529235166903%
9人目が最初の一人と誕生日が同じ確率は9.462383388916674%
10人目が最初の一人と誕生日が同じ確率は11.694817771107768%
(中略)
40人目が最初の一人と誕生日が同じ確率は89.1231809817949%
(中略)
60人目が最初の一人と誕生日が同じ確率は99.4122660865348%

f:id:kusomamiren:20181128231418p:plain

結局12時間くらいか。
おまけに、はてなブログソースコードをキレイに上げるにははてな記法とやらで書かないといけないらしく、初はてな記法記事となった。
てかちゃんと表示されんのかね。

参考にしたはてなブログ

upura.hatenablog.com


この記事の所要時間:13時間くらい

起床は9時前。寝たのは1時半ごろ。
最近ずれてきてる。
散歩は買い出し少々。鮭の切り身とかトイレットペーパー買いました。

以上。

1年前
kusomamiren.hatenablog.com

足立区をウロウロした日。
生足率多しと書いているが、そういえば昨日生足の私服JKが遠くに見えたので道を引き返すという行動を取ったのを思い出した。

それにしてもはてな記法めんどくせーな。いちいちプレビューをみないと「見えない」。
やっぱり見たままモードが楽。