[仏教の最適化プログラムの続き。]…
jrf> [仏教の最適化プログラムの続き。] 簡単な数式で、妊娠確率をどれぐらいにすればよいか考えてみる。 1ヶ月のうち r の確率妊娠できる者がいるとすると k (== 12 を考える)期で妊娠する確率 q は、 q = r + r * (1 - r) + ... + r * (1- r) ** (k - 1) = 1 - (1 - r) ** k …になる。目標となる確率を R として q = R となるのは、 r = 1 - exp(ln(1- R) / k) …のときになる。 「望む妊娠」の場合、最も妊娠しやすい者は、12ヶ月で 50% ぐらいが妊娠する感じだろうか。すると k = 12, R = 0.5 とすると、r = 0.0561256873183065 になる。 「望まない妊娠」の場合、最も妊娠しやすい者は、12ヶ月で 10% ぐらいが妊娠する感じだろうか。すると k = 12, R = 0.1 とすると、r = 0.00874161095469671 になる。 妊娠しにくい者は、10年で10%ぐらいが妊娠する感じだろうか。すると、k = 12 * 10, R = 0.1 とすると、r = 0.000877618964158571 になる。 「望む妊娠」の場合は、妊娠のしやすさ=1.0 のとき r = 0.0561256873183065 で、妊娠のしやすさ=0.1 のとき r = 0.000877618964158571 にして判定すればよい感じだろうか。ここで前は判定は random.random() < K * (妊娠のしやすさ ** m) にすると言っていたが、そうではなく線形に変化させればいいのではないか。でも、m を使うなら m = 1.8058556732541744 になる。 「望まない妊娠」の場合は、妊娠のしやすさ=1.0 のとき r = 0.00874161095469671 で、妊娠のしやすさ=0.1 のとき r = 0.000877618964158571 で線形に変化させればいいのだろうか? 0.1 のときはもっと小さくしても良さそうだが…。ところで r = 0.000877618964158571 の場合、m を使うなら、m = 0.9982854751280996 になる。 ちなみに不倫で、1ヶ月で終る「行きずりの関係」の場合は、うかつなことが多いとして、両者の中間ぐらいの確率を用意するか…。 ……。 不倫から結婚への「昇格」。12ヶ月で 20% が昇格するする感じでいいだろうか (r = 0.0184234701262483 になる)。もっと大きな確率にするなら、離婚から結婚までの猶予期間があってもよいかもしれない。 ……。 このあたり Python を計算機として使って出した。なにかの参考になるかもしれないから、特に整理せず、それも公開しておくか…(↓ バージョン 0.0.1)。まぁ、こんなふうに計算機として使ってる…ということで。 《test_of_increase_1.py - 増えていく確率のテスト》 https://gist.github.com/JRF-2018/aace48ebc44229844b6f75a39a287578