30
. . 偶然 信一郎 とちぎ Ruby 会議 06 2015 6 20

Toruby2015 hara-0621

Embed Size (px)

Citation preview

.

.偶然

原 信一郎

とちぎ Ruby 会議 06

2015 年 6 月 20 日

誕生日が同じ確率

【問題 1】50人のクラスで、同じ誕生日の人が 1組以上いる 確率は?

【解答】  2人の誕生日が食い違う確率は 364

365  3人の誕生日が食い違う確率は 364

365 ×363365

  4人の誕生日が食い違う確率は 364365 ×

363365 ×

362365

  · · ·  50人の誕生日が食い違う確率は

364365 ×

363365 ×

362365 × · · · ×

316365 ≒ 0.030

よって、少なくとも 1人一致する確率は、1 − 0.030 = 0.970

誕生日が同じ確率

【問題 1】50人のクラスで、同じ誕生日の人が 1組以上いる 確率は?【解答】  2人の誕生日が食い違う確率は 364

365  3人の誕生日が食い違う確率は 364

365 ×363365

  4人の誕生日が食い違う確率は 364365 ×

363365 ×

362365

  · · ·  50人の誕生日が食い違う確率は

364365 ×

363365 ×

362365 × · · · ×

316365 ≒ 0.030

よって、少なくとも 1人一致する確率は、1 − 0.030 = 0.970

誕生日が一致する人がいる確率

0 20 40 60 80

0.0

0.2

0.4

0.6

0.8

1.0

V1

V2

v2 ≈ 1 −(1 − v1

365

)v1−365

e−v1

v1 10人 20人 30人 40人 50人 60人 70人 80人v2 0.117 0.411 0.706 0.891 0.970 0.994 0.999 1.000

birthdays.rb

N = Integer(ARGV.shift)

birthdays = Hash.new{ 0 }

(0...N).map{rand(365)}.each do |i|

day = (Time.local(2015,1,1) + i*24*60*60).

strftime("%m/%d")

birthdays[day] += 1

end

birthdays.each do |day, num|

if num > 1

printf("%s: %d\n", day, num)

end

end

$ ./birthdays.rb 50

02/20: 2

05/15: 2

Birthdays 1/10

02/02 04/11 11/04 06/20 03/07 09/25 03/24 05/1204/24 08/05 01/02 02/11 11/12 02/28 07/10 11/3012/01 06/12 07/31 08/28 10/02 09/09 04/06 06/1908/15 05/11 09/27 12/30 07/28 08/11 01/12 01/2007/30 07/05 09/11 07/12 01/30 12/24 02/09 06/2809/04 12/11 04/21 11/09 02/26 04/10 04/21 10/1001/09 09/02

Table: 1/10 generated at 2015-06-21 17:30:00

Birthdays 2/10

03/11 03/17 05/14 11/08 10/25 09/17 03/04 01/2703/02 01/14 03/30 05/04 10/15 01/31 03/10 09/0212/03 07/13 10/22 01/01 09/23 03/13 05/21 08/0705/14 10/31 06/16 05/11 10/09 02/27 10/31 05/2004/24 09/16 05/08 10/02 06/08 02/24 10/22 02/1811/09 11/13 04/24 11/20 08/18 12/17 12/05 08/0307/31 01/27

Table: 2/10 generated at 2015-06-21 17:30:00

Birthdays 3/10

12/21 01/01 07/11 10/17 06/02 11/17 03/18 01/2407/14 05/27 12/13 01/14 06/15 07/21 04/14 06/1308/30 06/14 07/08 08/29 07/07 01/26 08/12 07/2605/22 08/13 12/11 02/05 07/06 06/25 07/02 08/2109/24 12/05 04/23 03/18 07/13 01/16 03/13 11/0807/04 07/06 09/21 06/19 04/26 11/19 07/25 01/1806/01 09/19

Table: 3/10 generated at 2015-06-21 17:30:00

Birthdays 4/10

01/19 07/28 06/18 06/07 11/07 03/17 04/14 11/2009/29 12/20 01/13 04/21 11/08 08/18 09/02 06/3004/07 06/27 12/11 08/27 12/20 02/24 12/18 06/3009/08 06/12 08/12 02/05 12/22 06/29 01/26 02/0506/03 11/27 07/25 08/26 08/19 02/12 12/07 06/0809/24 09/06 12/20 01/13 03/01 04/16 06/13 09/1508/21 11/20

Table: 4/10 generated at 2015-06-21 17:30:00

Birthdays 5/10

12/13 12/16 09/08 04/27 08/24 10/19 07/21 08/1212/27 02/24 05/04 04/09 04/07 11/03 02/15 11/0105/19 05/23 05/19 07/19 10/15 12/19 08/14 06/1709/04 04/05 11/17 02/07 08/06 09/02 10/17 07/1311/28 09/25 10/14 07/15 03/25 11/30 01/06 12/3106/17 03/14 10/22 07/19 09/23 05/10 12/09 12/2109/25 08/08

Table: 5/10 generated at 2015-06-21 17:30:00

Birthdays 6/10

09/07 05/04 04/15 05/24 07/19 10/11 05/29 07/2806/29 11/04 07/14 04/15 05/09 11/22 11/02 09/0212/29 01/25 01/27 04/16 07/03 03/31 07/13 08/2304/21 10/08 07/06 01/06 09/25 10/04 04/17 04/3008/13 10/29 04/03 01/31 09/10 02/04 03/08 08/2012/02 07/17 09/07 01/28 03/19 05/08 01/13 10/1111/20 08/13

Table: 6/10 generated at 2015-06-21 17:30:00

Birthdays 7/10

11/23 07/17 08/17 05/24 04/15 07/20 06/24 02/0108/16 06/10 04/24 11/03 05/02 06/21 07/20 07/2712/04 09/08 05/24 11/28 08/30 12/25 07/23 06/0405/23 10/16 06/30 02/27 01/03 07/07 01/22 03/1511/11 08/18 04/04 05/24 04/16 06/17 07/01 05/2909/12 08/21 09/22 02/13 10/03 05/27 02/12 04/1206/13 01/07

Table: 7/10 generated at 2015-06-21 17:30:00

Birthdays 8/10

02/06 11/07 10/17 03/31 11/26 09/13 12/03 01/2208/16 01/26 04/24 06/02 02/08 05/09 04/16 02/2510/31 12/27 08/02 04/13 12/19 09/23 10/11 01/1508/15 06/02 09/01 04/29 10/29 11/25 04/12 10/1611/27 11/14 12/13 06/24 04/22 05/10 11/29 02/0902/21 12/09 04/18 04/26 10/02 07/01 12/06 09/1805/07 04/30

Table: 8/10 generated at 2015-06-21 17:30:00

Birthdays 9/10

04/20 12/13 01/21 10/18 03/19 06/29 10/08 03/0308/10 07/18 02/25 03/04 01/08 04/09 07/30 07/2505/05 03/01 09/14 12/16 02/28 04/14 07/25 01/2109/15 07/30 06/03 05/26 07/12 07/01 11/27 08/1512/25 07/12 03/01 06/09 11/03 01/06 04/04 07/1612/16 08/15 04/18 12/05 05/18 07/05 06/03 04/2405/28 06/20

Table: 9/10 generated at 2015-06-21 17:30:00

Birthdays 10/10

10/14 05/09 05/04 07/11 03/25 08/08 11/15 10/2802/20 01/08 03/11 11/07 06/02 12/07 09/04 01/2411/20 06/12 11/08 02/22 09/16 10/28 06/27 10/1110/08 05/17 01/01 11/21 06/09 12/21 02/15 02/1205/26 06/28 12/11 02/11 11/30 07/31 06/18 08/2308/22 05/02 04/14 09/14 05/01 09/23 12/28 02/1805/31 02/24

Table: 10/10 generated at 2015-06-21 17:30:00

集計

重複 1 2 3

1回目 48 1 02回目 40 5 03回目 46 2 04回目 39 4 15回目 42 4 06回目 42 4 07回目 45 1 18回目 48 1 09回目 34 8 0

10回目 48 1 0

Table: generated at 2015-06-21 17:30:00

中間結果

偶然が起こる

原家の不運 (2014年正月)

...1 テレビが壊れる

...2 車をぶつける

...3 一家でインフルエンザになる

...4 車をぶつける

...5 嫁がぎっくり腰になる

1年目

x o x o x o x o x x o x x o o o x o x o x x x x o x o o o x x x x xo x o x x o o x o x x x o x x x o o x x x x o o o o o o o o x x x ox x o o x o x x o o x x o x o o o x x o o x o x x o o o o o x x o oo x x o o x o x x o x o o o o x o x x o x o o o x x o o x x o x x ox o x x o o x x x x x x o x o x o x o x x o x o o o o o o o x o o xo x x o o o x o x x o o x o x o o x x x o x x o x o x o o x o o x oo x x o x o x x x x o x x x o o o x x o x x o o x o x o x x o x o ox x x x x x o o o o x x x o x o o x o x o x x x o x o o o x x o x xo o o o x x x x o o o x x x x x x o x x o o x o x o o o x x o x x xx x o x o o o x x o o x x o x x o x x x o x o x x o x o o x x o o ox o o x x x o x x o o o x x o x x x o o o o o o x

generated at 2015-06-21 17:30:01

2年目

x x o o o o o o o o o x o x x x o o x x x x x o x o o o x o x o x ox o x x o x x x o x o x o x o o o x x x x o o o o o x o o x o o o xo o x o o o o o x x x x o o x o o x o x o x x o o o x o o o o x ox x o o o x x x o x o x x o o x o o o x x x o x x x x o o x x o x ox x x o o x o x x o o x o x o o o x o x x o o x o x o o o o o o x xo x o x o x x x o x o x x o x o x x o x o o o x o x x x x x x o x ox x o o x o x o x o x x o x o x o o o o x x o o x o x x x x o o x xo x x o o x o o o x x x x o x o o o x x o o o x o o o x o o o o x xx o x x x x x x x o x o x x x x x o o x x x o o o o o x x o x o o xo x x o x x x x o o x x x x o x o o x x o x x x x x o o o x x x o xo o x x o x x o x o o x o o x o o o o o o x o o x x

generated at 2015-06-21 17:30:01

3年目

x x x x o o o x x o o o o o o x o x x o x o o o o o x o o o x o x xo x x x o o x o x o o x x o x o o o x o o o o o x x x o x x x x x ox o x x o o o o x x x x x o x o o o o x x x o x o o o o x o x x o xo o x x o o o x o o o o x o x o o x x x o x x o x o o x o x o o oo o x x o o x x o o x x x o o x x o o x x o o o o x o o x o x x o ox x x x o x o o x x o o o o o o o o x o x x x x o x o x o o x o o ox o o x o x o x o o o x x o x x x x o o o o x o x o x o o x o x o ox x x o x o x x x x x x o x x o o x o x o o x o x o o x x x x x x xo o o x x o o o x o x x o o x x o x x o x o o o o o x x x o x x o xx x o o x x x x x o o x x o x x o o o x o o x o o x o o x x x o o ox x x x o x o o o o x x o o o x o o o x x x x x x x

generated at 2015-06-21 17:30:01

4年目

o o x x o x x x o o x o x o x o x o x o x o x x o o o x o o x o x xo x x x o o o x o x o x x x o o o o x o o o o o x x o x x x x o o xo o o x o x x o x o x o x x o o o o o x o o o x x o x x o x x x o ox x x x o o x x o o x o x o o o x o x x o x x o o x x o o o x o x ox o o x o x x x x o x x o x x o o o o o x o x x o x o o o x o o x oo o o o x x x x o o o x x x o x x o o o x x x o o x x x o x o x x xx x o o x o x o x o o o x x x o x x x x x x x x o x x x o x o o o ox x o x x x x o o x x o x o o x x x x o x x x x x x x x o o o o o oo x o o o x o o o o x o x o x o o o x x x x o o x o o o o x o x x xo x x x o x o o x x o x o x x x x x x o x o x x x x o o o o x o o xx o x x o o x o o o o x o o o o o o x o x x x x o

generated at 2015-06-21 17:30:01

5年目

o o x x o o o o x x x o x x o o o x x o x x o x x o o o o o x o o xo x o o o x o o o o x o o o o x x x o x x o o x x x x x o o x o o ox o x o o o x x o x x x x x x x o o o o x o o o x x o o x x o x x xx x x o x x o x o x o o x x o x o x x o o x o o x o o o o x o x x xx x x o x o o x x x x x o x x o o x o o x o x x x o x o o x x x o xo o o o o x x x x o o x o o o x x x x o o o x o x o o o o o o o ox o x o x x o o x o o o x o o x o o o x o o x x x o o x o o o x x oo x x o o x x x o x x x x x x o o x x o o o x o x x o o o x x o x oo x o o o o o x x o x x x o o o o x o x x x x x x x x x x x x x x ox x x x o o x o x o o x o o x x o x o o o x o o x o x x x x o x x oo o x o x x x x o o x x o o o x x x o x o o x x o x

generated at 2015-06-21 17:30:01

6年目

x x x o o x o x o o x x o o x x o o x x x x o o x x x x o x x o x xo o o o x x x x x o o o o o x o x x x o o x o x x o x o x o o x o ox o x x x x o o o x x x o o o x o o o o o x o o x x x x x x o x o ox x x x o o x x x x o x o o x x x x x x x x o x o x x o o x o o x xo o o x o x o o x x x x o x x o x x o x o x x x o x x o x x o x x oo x x x x x o o o x o x o x o x o o x o x o x x o o o o x o o x o xo x o x x o x x o x o o o o o o o x o o x o o x x o x x o x o o o xx x o o o o x o x x x x o x x x x x o o x x o o o x o o o o o x x xo x x o x o o o o x o o o o o x x o x o o o x o o o x x x x o o oo x x o o o x x x o x x o o x x o o o x o o x x x o o o x o o x o ox o x o x o x x o o o o x o o o x o x o o o o x x o

generated at 2015-06-21 17:30:01

7年目

o o o o x x x x o x x o x x o x o o x o o x x o o x x x o x x x o xo o x o o o o x o o x o x x x o x x o x o o o o x o o o o x o x oo x o x o o o o o x x o x o x x o x o x x x o x x o o x o o o o o xo x x x x o o x x x x x x x x x x o x x o o x x o o x x x o x x o xx x x x o x o x x o x x o x o x x o x x o x o x o x o x x o x o x oo o x o x x x o o x o x o x x o x o x x o o x o x x x x x x x x o oo o x o o x x x x o x o x x o x x x x o x o o x x o x x x o x x x ox x x o x o o o o x o o o o x o x x o o x x o x o o o x o o o x x oo x x o x o x x x o o o o x x o x o x o x o x o x x x x x o o x x xx o x x x x o x x o o x x x x o x o o x x x x x o x x o o o o x o oo x o o o x x o o x o o o o x o o x x x x x x o o x

generated at 2015-06-21 17:30:01

8年目

x o x o o x x o x o o o o o x o x x o o o x o x x x x x o o x o x ox o x o o o o x x x o o x o o x x o o o x x x x o o o x x o x o o oo x x o o x x x x o o x o o o x x o o o x o x x o x x x o x x o x xx o o x o o o x o o x o o x o o x x x x x o o o o o x o o o o x xo o x x x o x x x x o x o x o o x o x x x o x o o o o x o x x o x xx x o o o o x x o o x x x x x o o x x o o o o o x o o x o x x x x xx o x o o x o o x x x x x o o o o x x o x o x x x x x o o x x x o ox o o x x x x o x o x o x x o x x o o o x x x x x o x o o o o x o xx x x x x x x x x x x o x o o o x o o o x o o x o o o o o o o o x xx o o o o o x x x x o o x x x o x x o o o o x o o x o x o x o x o xx x x x o x x o o o o o x x x x o o x x o x o x x o

generated at 2015-06-21 17:30:01

9年目

x x x x x x o o o x x x o x x x o o o o x x x o x x o o o o o o o oo o x o o x o o o x o x o o o o o x x x x o o x o x o o o x o o xo x x x x o o x x x x o o o o o o x o x x o x o x o x o o x o o x oo x o x x o o x x x o o o o x x o x o o x o o x o o x o x x o x x oo x o x o x x o x o x o o x o x x o x x o o x o x o o x o x x x x oo x x x x x o x o x o x o x o x o x x o o x x x o o o o x x o x x xo o o x x o o o x x o x o o x o x x x o o o o x o x x x o o x x x oo x o o x o x x x x x x x x x o o o o o o x o x x o x o x o o x o xx o x x x o x x x x x o x x x o o x x x o o o x x o o o o x x x x xo o o x x o x x o x x o x x x o o o o x x o o x o x x o x x o x o oo x x o x x x x o o x x x o o x x o x x o o x o x o

generated at 2015-06-21 17:30:01

10年目

o o o o o x o x x x x o x x o x x o x x o o o x x o o o x x o o x xo o x o o o o x o o x o x o x x o x o x x o o x x o o o o x o o ox o o o x o x o o x o o x o x o x o o x o x x o x o o o x x x o o xx x o o x x o x o o o x o x o o o o o o x x x x x o x o o o o x x oo x x o x x x x o o x o o x x o x x o o o o o o x o o o o o x x o oo o o x x o x x o o o x x x x o x x x x o o o o o o o o o o o x o xx x o x x o o x x x o o o x o x o o x x x o x x x o o o x o o o x xx o o o x o x x o x x x o o o x x x x x x x o o x x x o o x o o x xo x x x x x o x o x o x o x x o o o x o x x x x x o o o x x x x o oo o x o x o o o x x o o x x x o o o x x o o o x o x o o o o x x x ox x o x x x o o o o x x x o o o x o o x x o x o o o

generated at 2015-06-21 17:30:01

集計結果MAX = 14

x 1 2 3 4 5 6 7 8 9 10 11 12 13 14

1 45 35 10 4 2 3 0 0 0 0 0 0 0 02 53 23 9 7 3 1 1 0 0 0 0 0 0 03 47 24 9 5 3 1 2 0 0 0 0 0 0 04 47 21 11 9 1 1 0 2 0 0 0 0 0 05 43 24 8 5 2 3 1 0 0 0 0 0 0 16 46 25 8 8 3 1 0 1 0 0 0 0 0 07 47 27 10 7 3 1 0 1 0 1 0 0 0 08 43 19 8 7 7 1 0 0 0 0 0 1 0 09 45 25 14 5 3 1 0 0 1 0 0 0 0 0

10 38 26 13 5 3 0 1 0 0 0 0 0 0 0

Table: generated at 2015-06-21 17:30:01

結論

偶然が続くことがある