#| Snake Eyes in Racket/Gamble From Stand-up Maths: "Are these the luckiest dice rolls in TV history?" https://www.youtube.com/watch?v=XXKjDkmxixA The issue is that in 25 rolls there was (exactly) 5 snake eyes (two 1s). What is the probability of that? 0005001936611813 At least 5 Snake Eyes in 25 rolls: 0.0005517764084543 (These exact probabilities are from my PicatPrism model snake_eyes.pi) This program was created by Hakan Kjellerstrand, hakank@gmail.com See also my Racket page: http://www.hakank.org/racket/ |# #lang gamble ; (require gamble/viz) (require racket) (require "gamble_utils.rkt") (require "gamble_distributions.rkt") (define dice '(1 2 3 4 5 6)) #| What is the probability of getting at least 5 Snake Eyes in n dice tosses? Exact probability via binomial cdf, Importance sampler, 10000 samples n: 25 (exact prob: 0.0005517764084542742) (mean: 0.6944444444444444) variable : s 0: 0.5032000000000001 1: 0.3536000000000001 2: 0.11290000000000001 3: 0.026300000000000004 4: 0.0035000000000000005 5: 0.0004000000000000001 6: 0.00010000000000000002 mean: 0.6749000000000002 Histogram: 0: 4985 ################################################################################ (0.498 / 0 ) 1: 3502 ######################################################### (0.350 / 0.498) 2: 1197 #################### (0.119 / 0.848) 3: 261 ##### (0.026 / 0.968) 4: 46 # (0.004 / 0.994) 5: 7 # (0.000 / 0.999) 6: 2 # (0.000 / 0.999) variable : p #f: 0.9995000000000002 #t: 0.0005000000000000001 mean: 0.0005000000000000001 Histogram: #f: 9991 ################################################################################ (0.999 / 0 ) #t: 9 # (0.000 / 0.999) n: 50 (exact prob: 0.012423421930412681) (mean: 1.3888888888888888) variable : s 1: 0.33829999999999993 2: 0.25029999999999997 0: 0.24519999999999995 3: 0.11409999999999997 4: 0.039999999999999994 5: 0.009899999999999999 6: 0.0020999999999999994 7: 9.999999999999998e-5 mean: 1.4039999999999997 Histogram: 0: 2430 ######################################################## (0.243 / 0 ) 1: 3505 ################################################################################ (0.350 / 0.243) 2: 2420 ######################################################## (0.242 / 0.593) 3: 1133 ########################## (0.113 / 0.835) 4: 368 ######### (0.036 / 0.948) 5: 108 ### (0.010 / 0.985) 6: 30 # (0.003 / 0.996) 7: 5 # (0.000 / 0.999) 8: 1 # (0.000 / 0.999) variable : p #f: 0.9878999999999999 #t: 0.012099999999999998 mean: 0.012099999999999998 Histogram: #f: 9856 ################################################################################ (0.985 / 0 ) #t: 144 ## (0.014 / 0.985) n: 100 (exact prob: 0.14619825195676162) (mean: 2.7777777777777777) variable : s 2: 0.23850000000000002 3: 0.22360000000000002 1: 0.17390000000000003 4: 0.15550000000000003 5: 0.08490000000000002 0: 0.06330000000000001 6: 0.038500000000000006 7: 0.014400000000000001 8: 0.005600000000000001 9: 0.0014000000000000002 10: 0.0004000000000000001 mean: 2.7614 Histogram: 0: 583 #################### (0.058 / 0 ) 1: 1679 ######################################################### (0.167 / 0.058) 2: 2395 ################################################################################ (0.239 / 0.226) 3: 2273 ############################################################################ (0.227 / 0.465) 4: 1603 ###################################################### (0.160 / 0.693) 5: 896 ############################## (0.089 / 0.853) 6: 353 ############ (0.035 / 0.942) 7: 155 ###### (0.015 / 0.978) 8: 47 ## (0.004 / 0.993) 9: 12 # (0.001 / 0.998) 10: 3 # (0.000 / 0.999) 11: 1 # (0.000 / 0.999) variable : p #f: 0.8548 #t: 0.14520000000000005 mean: 0.14520000000000005 Histogram: #f: 8533 ################################################################################ (0.853 / 0 ) #t: 1467 ############## (0.146 / 0.853) n: 200 (exact prob: 0.6544386777686396) (mean: 5.555555555555555) variable : s 5: 0.18089999999999998 6: 0.16269999999999998 4: 0.14899999999999997 7: 0.12619999999999998 3: 0.10669999999999998 8: 0.08689999999999999 2: 0.05719999999999999 9: 0.050099999999999985 10: 0.030899999999999993 1: 0.020599999999999997 11: 0.013199999999999996 12: 0.006899999999999998 0: 0.003599999999999999 13: 0.003099999999999999 14: 0.0009999999999999998 15: 0.0007999999999999998 16: 9.999999999999998e-5 18: 9.999999999999998e-5 mean: 5.568 Histogram: 0: 37 ## (0.003 / 0 ) 1: 208 ########## (0.020 / 0.003) 2: 595 ############################# (0.059 / 0.024) 3: 1117 ###################################################### (0.111 / 0.084) 4: 1567 ########################################################################### (0.156 / 0.195) 5: 1686 ################################################################################ (0.168 / 0.352) 6: 1572 ########################################################################### (0.157 / 0.521) 7: 1249 ############################################################ (0.124 / 0.678) 8: 892 ########################################### (0.089 / 0.803) 9: 509 ######################### (0.050 / 0.892) 10: 314 ############### (0.031 / 0.943) 11: 139 ####### (0.013 / 0.974) 12: 65 #### (0.006 / 0.988) 13: 30 ## (0.003 / 0.995) 14: 12 # (0.001 / 0.998) 15: 7 # (0.000 / 0.999) 16: 1 # (0.000 / 0.999) variable : p #t: 0.6629 #f: 0.33709999999999996 mean: 0.6629 Histogram: #f: 3524 ############################################ (0.352 / 0 ) #t: 6476 ################################################################################ (0.647 / 0.352) n: 250 (exact prob: 0.8257394694648648) (mean: 6.944444444444444) variable : s 7: 0.1592 6: 0.1499 5: 0.1319 8: 0.1287 9: 0.0985 4: 0.0915 10: 0.0682 3: 0.0501 11: 0.0427 12: 0.0246 2: 0.0229 13: 0.013 14: 0.0077 1: 0.0062 15: 0.0021 16: 0.0013 0: 0.0008 17: 0.0004 18: 0.0002 19: 0.0001 mean: 6.945999999999999 Histogram: 0: 10 # (0.001 / 0 ) 1: 60 #### (0.006 / 0.001) 2: 235 ############# (0.023 / 0.007) 3: 493 ########################## (0.049 / 0.030) 4: 968 ################################################## (0.096 / 0.079) 5: 1234 ################################################################ (0.123 / 0.176) 6: 1562 ################################################################################ (0.156 / 0.3 ) 7: 1545 ################################################################################ (0.154 / 0.456) 8: 1286 ################################################################## (0.128 / 0.610) 9: 1037 ###################################################### (0.103 / 0.739) 10: 681 ################################### (0.068 / 0.843) 11: 408 ##################### (0.040 / 0.911) 12: 241 ############# (0.024 / 0.951) 13: 132 ####### (0.013 / 0.976) 14: 62 #### (0.006 / 0.989) 15: 23 ## (0.002 / 0.995) 16: 12 # (0.001 / 0.997) 17: 9 # (0.000 / 0.998) 18: 2 # (0.000 / 0.999) variable : p #t: 0.8284999999999999 #f: 0.17149999999999999 mean: 0.8284999999999999 Histogram: #f: 1766 ################## (0.176 / 0 ) #t: 8234 ################################################################################ (0.823 / 0.176) n: 300 (exact prob: 0.9208438843685147) (mean: 8.333333333333332) variable : s 8: 0.13770000000000002 7: 0.13490000000000002 9: 0.13330000000000003 6: 0.10820000000000002 10: 0.10800000000000001 11: 0.08260000000000002 5: 0.08010000000000002 12: 0.05790000000000001 4: 0.044500000000000005 13: 0.03500000000000001 3: 0.023700000000000002 14: 0.022600000000000002 15: 0.012000000000000002 2: 0.008200000000000002 16: 0.005300000000000001 17: 0.0027000000000000006 1: 0.0014000000000000002 18: 0.0009000000000000001 19: 0.0009000000000000001 0: 0.00010000000000000002 mean: 8.360999999999999 Histogram: 0: 1 # (0.000 / 0 ) 1: 15 # (0.001 / 0.000) 2: 73 ##### (0.007 / 0.001) 3: 232 ############## (0.023 / 0.008) 4: 436 ######################### (0.043 / 0.032) 5: 779 ############################################# (0.077 / 0.075) 6: 1158 ################################################################### (0.115 / 0.153) 7: 1317 ############################################################################ (0.131 / 0.269) 8: 1400 ################################################################################ (0.14 / 0.401) 9: 1281 ########################################################################## (0.128 / 0.541) 10: 1105 ################################################################ (0.110 / 0.669) 11: 775 ############################################# (0.077 / 0.779) 12: 592 ################################## (0.059 / 0.857) 13: 396 ####################### (0.039 / 0.916) 14: 222 ############# (0.022 / 0.956) 15: 104 ###### (0.010 / 0.978) 16: 58 #### (0.005 / 0.988) 17: 39 ### (0.003 / 0.994) 18: 12 # (0.001 / 0.998) 19: 1 # (0.000 / 0.999) 20: 3 # (0.000 / 0.999) 21: 1 # (0.000 / 0.999) variable : p #t: 0.9221 #f: 0.07790000000000001 mean: 0.9221 Histogram: #f: 757 ####### (0.075 / 0 ) #t: 9243 ################################################################################ (0.924 / 0.075) n: 500 (exact prob: 0.9982328329415582) (mean: 13.888888888888888) variable : s 13: 0.1051 12: 0.1049 15: 0.1009 14: 0.0997 11: 0.0872 16: 0.0871 10: 0.0723 17: 0.0665 18: 0.0512 9: 0.0497 19: 0.0391 8: 0.033 20: 0.0274 21: 0.0189 7: 0.0184 22: 0.0108 6: 0.0085 23: 0.0056 5: 0.0041 24: 0.0035 25: 0.002 4: 0.0016 26: 0.0008 3: 0.0006 27: 0.0006 28: 0.0002 30: 0.0002 29: 0.0001 mean: 13.8218 Histogram: 2: 2 # (0.000 / 0 ) 3: 4 # (0.000 / 0.000) 4: 12 # (0.001 / 0.000) 5: 39 ### (0.003 / 0.001) 6: 80 ###### (0.008 / 0.005) 7: 176 ############# (0.017 / 0.013) 8: 282 ##################### (0.028 / 0.031) 9: 480 #################################### (0.048 / 0.059) 10: 731 ###################################################### (0.073 / 0.107) 11: 834 ############################################################# (0.083 / 0.180) 12: 979 ######################################################################## (0.097 / 0.264) 13: 1096 ################################################################################ (0.109 / 0.361) 14: 1081 ############################################################################### (0.108 / 0.471) 15: 1027 ########################################################################### (0.102 / 0.579) 16: 839 ############################################################## (0.083 / 0.682) 17: 717 ##################################################### (0.071 / 0.766) 18: 540 ######################################## (0.054 / 0.837) 19: 390 ############################# (0.039 / 0.891) 20: 268 #################### (0.026 / 0.930) 21: 161 ############ (0.016 / 0.957) 22: 125 ########## (0.012 / 0.973) 23: 59 ##### (0.005 / 0.986) 24: 36 ### (0.003 / 0.992) 25: 22 ## (0.002 / 0.995) 26: 8 # (0.000 / 0.998) 27: 5 # (0.000 / 0.998) 28: 4 # (0.000 / 0.999) 31: 2 # (0.000 / 0.999) 35: 1 # (0.000 / 0.999) variable : p #t: 0.9978 #f: 0.0022 mean: 0.9978 Histogram: #f: 18 # (0.001 / 0 ) #t: 9982 ################################################################################ (0.998 / 0.001) n: 1000 (exact prob: 0.9999999814001567) (mean: 27.777777777777775) variable : s 25: 0.07590000000000001 26: 0.07540000000000001 28: 0.07510000000000001 27: 0.07480000000000002 29: 0.07100000000000001 30: 0.06870000000000001 31: 0.062300000000000015 24: 0.06120000000000001 32: 0.05030000000000001 23: 0.04940000000000001 22: 0.044800000000000006 33: 0.04390000000000001 34: 0.035800000000000005 21: 0.03560000000000001 35: 0.029300000000000007 20: 0.027700000000000006 36: 0.022300000000000004 19: 0.019700000000000002 37: 0.014300000000000004 18: 0.012800000000000004 38: 0.010900000000000002 39: 0.008200000000000002 17: 0.007700000000000002 16: 0.004300000000000001 40: 0.0039000000000000007 41: 0.003200000000000001 15: 0.0024000000000000002 42: 0.0024000000000000002 43: 0.0015000000000000005 14: 0.0011000000000000003 13: 0.0009000000000000002 44: 0.0009000000000000002 45: 0.0008000000000000003 46: 0.00040000000000000013 12: 0.00030000000000000003 47: 0.00030000000000000003 48: 0.00020000000000000006 10: 0.00010000000000000003 11: 0.00010000000000000003 51: 0.00010000000000000003 mean: 27.7392 Histogram: 10: 1 # (0.000 / 0 ) 12: 6 # (0.000 / 0.000) 13: 7 # (0.000 / 0.000) 14: 17 ## (0.001 / 0.001) 15: 26 ### (0.002 / 0.003) 16: 47 ##### (0.004 / 0.005) 17: 81 ######### (0.008 / 0.010) 18: 124 ############# (0.012 / 0.018) 19: 176 ################### (0.017 / 0.030) 20: 248 ########################## (0.024 / 0.048) 21: 364 ###################################### (0.036 / 0.073) 22: 448 ############################################### (0.044 / 0.109) 23: 566 ########################################################### (0.056 / 0.154) 24: 602 ############################################################### (0.060 / 0.211) 25: 682 ####################################################################### (0.068 / 0.271) 26: 772 ################################################################################ (0.077 / 0.339) 27: 751 ############################################################################## (0.075 / 0.416) 28: 763 ################################################################################ (0.076 / 0.491) 29: 734 ############################################################################# (0.073 / 0.568) 30: 673 ###################################################################### (0.067 / 0.641) 31: 632 ################################################################## (0.063 / 0.708) 32: 495 #################################################### (0.049 / 0.772) 33: 425 ############################################# (0.042 / 0.821) 34: 360 ###################################### (0.036 / 0.864) 35: 293 ############################### (0.029 / 0.9 ) 36: 212 ###################### (0.021 / 0.929) 37: 150 ################ (0.015 / 0.950) 38: 112 ############ (0.011 / 0.965) 39: 80 ######### (0.008 / 0.976) 40: 52 ###### (0.005 / 0.984) 41: 46 ##### (0.004 / 0.989) 42: 16 ## (0.001 / 0.994) 43: 13 ## (0.001 / 0.996) 44: 12 ## (0.001 / 0.997) 45: 6 # (0.000 / 0.998) 46: 5 # (0.000 / 0.999) 47: 3 # (0.000 / 0.999) variable : p #t: 1.0 mean: 1.0 Histogram: #t: 10000 ################################################################################ (1.0 / 0 ) |# (define (model n) (; enumerate #:limit 1e-01 ; rejection-sampler importance-sampler ; mh-sampler (define rolls (for/list ([i n]) (b2i (and (= (uniform-draw dice) 1) (= (uniform-draw dice) 1))))) (define s (sum rolls)) (define p (>= s 5)) (list s p) ) ) ; (for ([n '(25 50 100 200 250 300 500 1000)]) (for ([n '(25)]) (newline) (show "n" n) (show2 "exact prob: " (- 1 (dist-cdf (binomial-dist n 1/36) (- 5 1)))) (show2 "mean: " (dist-mean (binomial-dist n 1/36))) (show-marginals (model n) (list "s" "p" ) #:num-samples 10000 ; #:truncate-output 5 ; #:skip-marginals? #t ; #:show-stats? #t ; #:credible-interval 0.84 ; #:hpd-interval (list 0.84 0.9 0.94 0.99 0.999 0.9999999) #:show-histogram? #t ; #:show-percentiles? #t ; #:burn 0 ; #:thin 0 ) ) #| How many rolls are needed to get 5 Snake Eyes? The theoretical expectation is > (pascal_mean 5 1/36) 180 I.e. 5 / (1/36) = 180 Variance is > (pascal_variance 5 1/36) 6300 variable : num-rolls 134: 0.007000000000000017 130: 0.006800000000000015 153: 0.006600000000000016 126: 0.006400000000000015 152: 0.006400000000000015 163: 0.006400000000000015 149: 0.006300000000000015 ... 485: 0.00010000000000000024 484: 0.00010000000000000024 487: 0.00010000000000000024 486: 0.00010000000000000024 492: 0.00010000000000000024 495: 0.00010000000000000024 496: 0.00010000000000000024 499: 0.00010000000000000024 506: 0.00010000000000000024 508: 0.00010000000000000024 510: 0.00010000000000000024 mean: 182.1408000000005 Min: 12 Mean: 179.1195 Max: 744 Variance: 6231.07841975 Stddev: 78.93718021154544 HPD interval (0.84): 63..268 HPD interval (0.9): 54..296 HPD interval (0.94): 45..323 HPD interval (0.99): 29..413 HPD interval (0.999): 16..544 HPD interval (0.9999999): 12..744 Percentiles: (0.01 47) (0.025 59) (0.1 87) (0.05 71) (0.25 122) (0.5 169) (0.75 225) (0.84 255) (0.9 284) (0.95 325) (0.975 363) (0.99 409) (0.999 544) Histogram: 12: 1 ## (0.000 / 0 ) 16: 1 ## (0.000 / 0.000) 17: 1 ## (0.000 / 0.000) 20: 2 ### (0.000 / 0.000) 23: 2 ### (0.000 / 0.000) 24: 1 ## (0.000 / 0.000) 25: 1 ## (0.000 / 0.000) 26: 3 #### (0.000 / 0.000) 27: 2 ### (0.000 / 0.001) 29: 2 ### (0.000 / 0.001) 30: 1 ## (0.000 / 0.001) 31: 2 ### (0.000 / 0.001) 32: 2 ### (0.000 / 0.001) 33: 1 ## (0.000 / 0.002) 34: 2 ### (0.000 / 0.002) 35: 5 ###### (0.000 / 0.002) 36: 5 ###### (0.000 / 0.002) 37: 5 ###### (0.000 / 0.003) 38: 8 ######### (0.000 / 0.003) 39: 5 ###### (0.000 / 0.004) 40: 4 ##### (0.000 / 0.005) 41: 3 #### (0.000 / 0.005) 42: 8 ######### (0.000 / 0.005) 43: 6 ####### (0.000 / 0.006) 44: 9 ########## (0.000 / 0.007) 45: 11 ############# (0.001 / 0.008) 46: 6 ####### (0.000 / 0.009) 47: 9 ########## (0.000 / 0.009) 48: 11 ############# (0.001 / 0.010) 49: 11 ############# (0.001 / 0.011) 50: 15 ################# (0.001 / 0.013) 51: 14 ################ (0.001 / 0.014) 52: 6 ####### (0.000 / 0.015) 53: 9 ########## (0.000 / 0.016) 54: 12 ############## (0.001 / 0.017) 55: 17 ################### (0.001 / 0.018) 56: 13 ############### (0.001 / 0.020) 57: 14 ################ (0.001 / 0.021) 58: 19 ##################### (0.001 / 0.023) 59: 12 ############## (0.001 / 0.024) 60: 23 ########################## (0.002 / 0.026) 61: 14 ################ (0.001 / 0.028) 62: 21 ######################## (0.002 / 0.029) 63: 26 ############################# (0.002 / 0.031) 64: 21 ######################## (0.002 / 0.034) 65: 22 ######################### (0.002 / 0.036) 66: 20 ###################### (0.002 / 0.038) 67: 14 ################ (0.001 / 0.040) 68: 18 #################### (0.001 / 0.042) 69: 24 ########################### (0.002 / 0.044) 70: 29 ################################ (0.002 / 0.046) 71: 22 ######################### (0.002 / 0.049) 72: 29 ################################ (0.002 / 0.051) 73: 26 ############################# (0.002 / 0.054) 74: 27 ############################## (0.002 / 0.057) 75: 25 ############################ (0.002 / 0.059) 76: 37 ######################################### (0.003 / 0.062) 77: 21 ######################## (0.002 / 0.065) 78: 36 ######################################## (0.003 / 0.068) 79: 17 ################### (0.001 / 0.071) 80: 26 ############################# (0.002 / 0.073) 81: 32 #################################### (0.003 / 0.075) 82: 34 ###################################### (0.003 / 0.079) 83: 27 ############################## (0.002 / 0.082) 84: 44 ################################################# (0.004 / 0.085) 85: 42 ############################################### (0.004 / 0.089) 86: 33 ##################################### (0.003 / 0.093) 87: 41 ############################################# (0.004 / 0.097) 88: 32 #################################### (0.003 / 0.101) 89: 29 ################################ (0.002 / 0.104) 90: 27 ############################## (0.002 / 0.107) 91: 45 ################################################## (0.004 / 0.11 ) 92: 29 ################################ (0.002 / 0.114) 93: 34 ###################################### (0.003 / 0.117) 94: 35 ####################################### (0.003 / 0.120) 95: 33 ##################################### (0.003 / 0.124) 96: 42 ############################################### (0.004 / 0.127) 97: 41 ############################################# (0.004 / 0.131) 98: 43 ################################################ (0.004 / 0.135) 99: 35 ####################################### (0.003 / 0.140) 100: 57 ############################################################### (0.005 / 0.143) 101: 46 ################################################### (0.004 / 0.149) 102: 48 ##################################################### (0.004 / 0.154) 103: 40 ############################################ (0.004 / 0.158) 104: 39 ########################################### (0.003 / 0.162) 105: 45 ################################################## (0.004 / 0.166) 106: 42 ############################################### (0.004 / 0.171) 107: 36 ######################################## (0.003 / 0.175) 108: 54 ############################################################ (0.005 / 0.179) 109: 57 ############################################################### (0.005 / 0.184) 110: 48 ##################################################### (0.004 / 0.190) 111: 52 ######################################################### (0.005 / 0.194) 112: 41 ############################################# (0.004 / 0.200) 113: 47 #################################################### (0.004 / 0.204) 114: 48 ##################################################### (0.004 / 0.208) 115: 48 ##################################################### (0.004 / 0.213) 116: 46 ################################################### (0.004 / 0.218) 117: 50 ####################################################### (0.005 / 0.223) 118: 52 ######################################################### (0.005 / 0.228) 119: 47 #################################################### (0.004 / 0.233) 120: 50 ####################################################### (0.005 / 0.238) 121: 53 ########################################################### (0.005 / 0.243) 122: 53 ########################################################### (0.005 / 0.248) 123: 38 ########################################## (0.003 / 0.253) 124: 60 ################################################################## (0.006 / 0.257) 125: 43 ################################################ (0.004 / 0.263) 126: 54 ############################################################ (0.005 / 0.267) 127: 50 ####################################################### (0.005 / 0.273) 128: 45 ################################################## (0.004 / 0.278) 129: 55 ############################################################# (0.005 / 0.282) 130: 55 ############################################################# (0.005 / 0.288) 131: 52 ######################################################### (0.005 / 0.293) 132: 51 ######################################################## (0.005 / 0.298) 133: 56 ############################################################## (0.005 / 0.303) 134: 55 ############################################################# (0.005 / 0.309) 135: 50 ####################################################### (0.005 / 0.315) 136: 52 ######################################################### (0.005 / 0.32 ) 137: 66 ######################################################################### (0.006 / 0.325) 138: 58 ################################################################ (0.005 / 0.331) 139: 48 ##################################################### (0.004 / 0.337) 140: 66 ######################################################################### (0.006 / 0.342) 141: 66 ######################################################################### (0.006 / 0.349) 142: 53 ########################################################### (0.005 / 0.355) 143: 56 ############################################################## (0.005 / 0.360) 144: 73 ################################################################################ (0.007 / 0.366) 145: 57 ############################################################### (0.005 / 0.373) 146: 52 ######################################################### (0.005 / 0.379) 147: 56 ############################################################## (0.005 / 0.384) 148: 49 ###################################################### (0.004 / 0.390) 149: 61 ################################################################### (0.006 / 0.395) 150: 47 #################################################### (0.004 / 0.401) 151: 42 ############################################### (0.004 / 0.406) 152: 48 ##################################################### (0.004 / 0.410) 153: 53 ########################################################### (0.005 / 0.415) 154: 64 ####################################################################### (0.006 / 0.420) 155: 66 ######################################################################### (0.006 / 0.426) 156: 59 ################################################################# (0.005 / 0.433) 157: 48 ##################################################### (0.004 / 0.439) 158: 49 ###################################################### (0.004 / 0.444) 159: 56 ############################################################## (0.005 / 0.448) 160: 47 #################################################### (0.004 / 0.454) 161: 42 ############################################### (0.004 / 0.459) 162: 48 ##################################################### (0.004 / 0.463) 163: 40 ############################################ (0.004 / 0.468) 164: 53 ########################################################### (0.005 / 0.472) 165: 57 ############################################################### (0.005 / 0.477) 166: 47 #################################################### (0.004 / 0.483) 167: 46 ################################################### (0.004 / 0.487) 168: 60 ################################################################## (0.006 / 0.492) 169: 58 ################################################################ (0.005 / 0.498) 170: 59 ################################################################# (0.005 / 0.504) 171: 62 #################################################################### (0.006 / 0.510) 172: 49 ###################################################### (0.004 / 0.516) 173: 48 ##################################################### (0.004 / 0.521) 174: 45 ################################################## (0.004 / 0.526) 175: 58 ################################################################ (0.005 / 0.530) 176: 44 ################################################# (0.004 / 0.536) 177: 59 ################################################################# (0.005 / 0.540) 178: 59 ################################################################# (0.005 / 0.546) 179: 49 ###################################################### (0.004 / 0.552) 180: 60 ################################################################## (0.006 / 0.557) 181: 51 ######################################################## (0.005 / 0.563) 182: 44 ################################################# (0.004 / 0.568) 183: 53 ########################################################### (0.005 / 0.573) 184: 44 ################################################# (0.004 / 0.578) 185: 47 #################################################### (0.004 / 0.582) 186: 58 ################################################################ (0.005 / 0.587) 187: 56 ############################################################## (0.005 / 0.593) 188: 42 ############################################### (0.004 / 0.598) 189: 51 ######################################################## (0.005 / 0.603) 190: 49 ###################################################### (0.004 / 0.608) 191: 41 ############################################# (0.004 / 0.613) 192: 45 ################################################## (0.004 / 0.617) 193: 54 ############################################################ (0.005 / 0.621) 194: 53 ########################################################### (0.005 / 0.627) 195: 38 ########################################## (0.003 / 0.632) 196: 51 ######################################################## (0.005 / 0.636) 197: 40 ############################################ (0.004 / 0.641) 198: 49 ###################################################### (0.004 / 0.645) 199: 44 ################################################# (0.004 / 0.650) 200: 32 #################################### (0.003 / 0.654) 201: 50 ####################################################### (0.005 / 0.657) 202: 36 ######################################## (0.003 / 0.662) 203: 42 ############################################### (0.004 / 0.666) 204: 43 ################################################ (0.004 / 0.670) 205: 44 ################################################# (0.004 / 0.674) 206: 42 ############################################### (0.004 / 0.679) 207: 37 ######################################### (0.003 / 0.683) 208: 35 ####################################### (0.003 / 0.687) 209: 41 ############################################# (0.004 / 0.690) 210: 52 ######################################################### (0.005 / 0.694) 211: 34 ###################################### (0.003 / 0.699) 212: 50 ####################################################### (0.005 / 0.703) 213: 32 #################################### (0.003 / 0.708) 214: 33 ##################################### (0.003 / 0.711) 215: 40 ############################################ (0.004 / 0.714) 216: 30 ################################# (0.003 / 0.718) 217: 46 ################################################### (0.004 / 0.721) 218: 36 ######################################## (0.003 / 0.726) 219: 39 ########################################### (0.003 / 0.73 ) 220: 30 ################################# (0.003 / 0.733) 221: 28 ############################### (0.002 / 0.736) 222: 35 ####################################### (0.003 / 0.739) 223: 40 ############################################ (0.004 / 0.743) 224: 26 ############################# (0.002 / 0.747) 225: 42 ############################################### (0.004 / 0.749) 226: 44 ################################################# (0.004 / 0.754) 227: 33 ##################################### (0.003 / 0.758) 228: 41 ############################################# (0.004 / 0.761) 229: 28 ############################### (0.002 / 0.765) 230: 35 ####################################### (0.003 / 0.768) 231: 27 ############################## (0.002 / 0.772) 232: 32 #################################### (0.003 / 0.774) 233: 30 ################################# (0.003 / 0.778) 234: 37 ######################################### (0.003 / 0.781) 235: 28 ############################### (0.002 / 0.784) 236: 35 ####################################### (0.003 / 0.787) 237: 26 ############################# (0.002 / 0.791) 238: 33 ##################################### (0.003 / 0.793) 239: 32 #################################### (0.003 / 0.796) 240: 34 ###################################### (0.003 / 0.800) 241: 32 #################################### (0.003 / 0.803) 242: 30 ################################# (0.003 / 0.806) 243: 33 ##################################### (0.003 / 0.809) 244: 26 ############################# (0.002 / 0.813) 245: 24 ########################### (0.002 / 0.815) 246: 20 ###################### (0.002 / 0.818) 247: 24 ########################### (0.002 / 0.82 ) 248: 25 ############################ (0.002 / 0.822) 249: 20 ###################### (0.002 / 0.824) 250: 20 ###################### (0.002 / 0.826) 251: 19 ##################### (0.001 / 0.828) 252: 25 ############################ (0.002 / 0.830) 253: 21 ######################## (0.002 / 0.833) 254: 37 ######################################### (0.003 / 0.835) 255: 25 ############################ (0.002 / 0.839) 256: 17 ################### (0.001 / 0.841) 257: 24 ########################### (0.002 / 0.843) 258: 30 ################################# (0.003 / 0.845) 259: 26 ############################# (0.002 / 0.848) 260: 18 #################### (0.001 / 0.851) 261: 27 ############################## (0.002 / 0.853) 262: 23 ########################## (0.002 / 0.855) 263: 31 ################################## (0.003 / 0.858) 264: 23 ########################## (0.002 / 0.861) 265: 15 ################# (0.001 / 0.863) 266: 20 ###################### (0.002 / 0.865) 267: 22 ######################### (0.002 / 0.867) 268: 35 ####################################### (0.003 / 0.869) 269: 19 ##################### (0.001 / 0.872) 270: 13 ############### (0.001 / 0.874) 271: 20 ###################### (0.002 / 0.875) 272: 24 ########################### (0.002 / 0.877) 273: 16 ################## (0.001 / 0.880) 274: 21 ######################## (0.002 / 0.881) 275: 24 ########################### (0.002 / 0.884) 276: 21 ######################## (0.002 / 0.886) 277: 12 ############## (0.001 / 0.888) 278: 13 ############### (0.001 / 0.889) 279: 17 ################### (0.001 / 0.891) 280: 21 ######################## (0.002 / 0.892) 281: 12 ############## (0.001 / 0.894) 282: 22 ######################### (0.002 / 0.896) 283: 16 ################## (0.001 / 0.898) 284: 15 ################# (0.001 / 0.899) 285: 20 ###################### (0.002 / 0.901) 286: 9 ########## (0.000 / 0.903) 287: 13 ############### (0.001 / 0.904) 288: 14 ################ (0.001 / 0.905) 289: 15 ################# (0.001 / 0.906) 290: 16 ################## (0.001 / 0.908) 291: 14 ################ (0.001 / 0.91 ) 292: 12 ############## (0.001 / 0.911) 293: 9 ########## (0.000 / 0.912) 294: 17 ################### (0.001 / 0.913) 295: 13 ############### (0.001 / 0.915) 296: 15 ################# (0.001 / 0.916) 297: 10 ########### (0.001 / 0.918) 298: 11 ############# (0.001 / 0.919) 299: 6 ####### (0.000 / 0.920) 300: 12 ############## (0.001 / 0.920) 301: 12 ############## (0.001 / 0.921) 302: 12 ############## (0.001 / 0.923) 303: 9 ########## (0.000 / 0.924) 304: 9 ########## (0.000 / 0.925) 305: 21 ######################## (0.002 / 0.926) 306: 16 ################## (0.001 / 0.928) 307: 14 ################ (0.001 / 0.929) 308: 10 ########### (0.001 / 0.931) 309: 12 ############## (0.001 / 0.932) 310: 17 ################### (0.001 / 0.933) 311: 11 ############# (0.001 / 0.935) 312: 9 ########## (0.000 / 0.936) 313: 15 ################# (0.001 / 0.937) 314: 6 ####### (0.000 / 0.938) 315: 5 ###### (0.000 / 0.939) 316: 11 ############# (0.001 / 0.939) 317: 12 ############## (0.001 / 0.940) 318: 6 ####### (0.000 / 0.942) 319: 14 ################ (0.001 / 0.942) 320: 15 ################# (0.001 / 0.944) 321: 9 ########## (0.000 / 0.945) 322: 7 ######## (0.000 / 0.946) 323: 16 ################## (0.001 / 0.947) 324: 8 ######### (0.000 / 0.948) 325: 10 ########### (0.001 / 0.949) 326: 9 ########## (0.000 / 0.950) 327: 7 ######## (0.000 / 0.951) 328: 6 ####### (0.000 / 0.952) 329: 12 ############## (0.001 / 0.952) 330: 8 ######### (0.000 / 0.953) 331: 7 ######## (0.000 / 0.954) 332: 10 ########### (0.001 / 0.955) 333: 7 ######## (0.000 / 0.956) 334: 7 ######## (0.000 / 0.957) 335: 9 ########## (0.000 / 0.957) 336: 7 ######## (0.000 / 0.958) 337: 10 ########### (0.001 / 0.959) 338: 9 ########## (0.000 / 0.960) 339: 8 ######### (0.000 / 0.961) 340: 5 ###### (0.000 / 0.962) 341: 8 ######### (0.000 / 0.962) 342: 6 ####### (0.000 / 0.963) 343: 10 ########### (0.001 / 0.964) 344: 8 ######### (0.000 / 0.965) 345: 6 ####### (0.000 / 0.965) 346: 5 ###### (0.000 / 0.966) 347: 8 ######### (0.000 / 0.966) 348: 6 ####### (0.000 / 0.967) 349: 3 #### (0.000 / 0.968) 350: 5 ###### (0.000 / 0.968) 351: 3 #### (0.000 / 0.969) 352: 7 ######## (0.000 / 0.969) 353: 3 #### (0.000 / 0.970) 354: 7 ######## (0.000 / 0.970) 355: 3 #### (0.000 / 0.971) 356: 10 ########### (0.001 / 0.971) 357: 5 ###### (0.000 / 0.972) 358: 4 ##### (0.000 / 0.972) 359: 2 ### (0.000 / 0.973) 360: 3 #### (0.000 / 0.973) 361: 5 ###### (0.000 / 0.973) 362: 5 ###### (0.000 / 0.974) 363: 6 ####### (0.000 / 0.974) 364: 6 ####### (0.000 / 0.975) 365: 4 ##### (0.000 / 0.976) 366: 3 #### (0.000 / 0.976) 367: 2 ### (0.000 / 0.976) 368: 6 ####### (0.000 / 0.976) 369: 3 #### (0.000 / 0.977) 370: 5 ###### (0.000 / 0.977) 371: 4 ##### (0.000 / 0.978) 372: 10 ########### (0.001 / 0.978) 373: 6 ####### (0.000 / 0.979) 374: 3 #### (0.000 / 0.980) 375: 5 ###### (0.000 / 0.980) 376: 3 #### (0.000 / 0.981) 377: 2 ### (0.000 / 0.981) 378: 7 ######## (0.000 / 0.981) 379: 2 ### (0.000 / 0.982) 381: 5 ###### (0.000 / 0.982) 382: 1 ## (0.000 / 0.983) 383: 5 ###### (0.000 / 0.983) 385: 4 ##### (0.000 / 0.983) 386: 7 ######## (0.000 / 0.984) 387: 3 #### (0.000 / 0.984) 388: 2 ### (0.000 / 0.985) 389: 5 ###### (0.000 / 0.985) 390: 3 #### (0.000 / 0.985) 391: 2 ### (0.000 / 0.986) 392: 2 ### (0.000 / 0.986) 394: 6 ####### (0.000 / 0.986) 395: 2 ### (0.000 / 0.987) 396: 3 #### (0.000 / 0.987) 397: 1 ## (0.000 / 0.987) 398: 3 #### (0.000 / 0.987) 399: 4 ##### (0.000 / 0.987) 400: 1 ## (0.000 / 0.988) 402: 1 ## (0.000 / 0.988) 403: 3 #### (0.000 / 0.988) 404: 1 ## (0.000 / 0.988) 406: 4 ##### (0.000 / 0.988) 407: 1 ## (0.000 / 0.989) 408: 2 ### (0.000 / 0.989) 409: 6 ####### (0.000 / 0.989) 410: 4 ##### (0.000 / 0.990) 411: 3 #### (0.000 / 0.990) 412: 4 ##### (0.000 / 0.990) 413: 2 ### (0.000 / 0.991) 414: 1 ## (0.000 / 0.991) 415: 2 ### (0.000 / 0.991) 416: 2 ### (0.000 / 0.991) 417: 1 ## (0.000 / 0.992) 419: 2 ### (0.000 / 0.992) 421: 3 #### (0.000 / 0.992) 422: 1 ## (0.000 / 0.992) 423: 2 ### (0.000 / 0.992) 426: 1 ## (0.000 / 0.992) 429: 3 #### (0.000 / 0.993) 432: 2 ### (0.000 / 0.993) 433: 1 ## (0.000 / 0.993) 435: 1 ## (0.000 / 0.993) 439: 1 ## (0.000 / 0.993) 440: 2 ### (0.000 / 0.993) 441: 3 #### (0.000 / 0.994) 442: 1 ## (0.000 / 0.994) 443: 1 ## (0.000 / 0.994) 444: 1 ## (0.000 / 0.994) 445: 2 ### (0.000 / 0.994) 447: 1 ## (0.000 / 0.994) 448: 1 ## (0.000 / 0.994) 449: 1 ## (0.000 / 0.995) 450: 3 #### (0.000 / 0.995) 451: 1 ## (0.000 / 0.995) 452: 1 ## (0.000 / 0.995) 453: 1 ## (0.000 / 0.995) 458: 1 ## (0.000 / 0.995) 459: 1 ## (0.000 / 0.995) 460: 1 ## (0.000 / 0.995) 461: 2 ### (0.000 / 0.996) 464: 1 ## (0.000 / 0.996) 465: 1 ## (0.000 / 0.996) 468: 1 ## (0.000 / 0.996) 470: 2 ### (0.000 / 0.996) 474: 2 ### (0.000 / 0.996) 476: 1 ## (0.000 / 0.996) 477: 1 ## (0.000 / 0.997) 480: 1 ## (0.000 / 0.997) 482: 1 ## (0.000 / 0.997) 483: 1 ## (0.000 / 0.997) 484: 1 ## (0.000 / 0.997) 488: 1 ## (0.000 / 0.997) 492: 1 ## (0.000 / 0.997) 494: 1 ## (0.000 / 0.997) 499: 1 ## (0.000 / 0.997) 504: 1 ## (0.000 / 0.997) 505: 1 ## (0.000 / 0.998) 508: 1 ## (0.000 / 0.998) 510: 1 ## (0.000 / 0.998) 512: 2 ### (0.000 / 0.998) 516: 1 ## (0.000 / 0.998) 526: 1 ## (0.000 / 0.998) 529: 1 ## (0.000 / 0.998) 531: 1 ## (0.000 / 0.998) 544: 3 #### (0.000 / 0.998) 549: 1 ## (0.000 / 0.999) 554: 1 ## (0.000 / 0.999) 570: 1 ## (0.000 / 0.999) 573: 1 ## (0.000 / 0.999) 574: 1 ## (0.000 / 0.999) 581: 1 ## (0.000 / 0.999) 592: 1 ## (0.000 / 0.999) 744: 1 ## (0.000 / 0.999) |# (define (model2 c) (; enumerate #:limit 1e-01 ; rejection-sampler importance-sampler ; mh-sampler (define (f num-snake-eyes num-rolls) (if (>= num-snake-eyes c) num-rolls (let ([t (b2i (and (= (uniform-draw dice) 1) (= (uniform-draw dice) 1)))]) (f (+ num-snake-eyes t) (+ 1 num-rolls))))) (define num-rolls (f 0 0)) (list num-rolls) ) ) (show-marginals (model2 5) (list "num-rolls" ) #:num-samples 10000 #:truncate-output 5 ; #:skip-marginals? #t #:show-stats? #t ; #:credible-interval 0.84 #:hpd-interval (list 0.84 0.9 0.94 0.99 0.999 0.9999999) #:show-histogram? #t #:show-percentiles? #t ; #:burn 0 ; #:thin 0 ) #| Expected number of Snake Eyes in N tosses, exact using binomial. Only showing probabilities > 0. (n 25) (c 0 expected: 1.0) (c 1 expected: 0.5055315462383781) (c 2 expected: 0.1523397935515054) (c 3 expected: 0.031245478344577693) (c 4 expected: 0.004720056918298243) (c 5 expected: 0.0005517764084542742) (c 6 expected: 5.1582747273015706e-5) (c 7 expected: 3.945255731996333e-6) (c 8 expected: 2.5091965327739274e-7) (c 9 expected: 1.342661959391478e-8) (c 10 expected: 6.095353111135182e-10) (c 11 expected: 2.3611446131610592e-11) (c 12 expected: 7.832623438730479e-13) (c 13 expected: 2.2315482794965646e-14) (c 14 expected: 5.551115123125783e-16) (n 50) (c 0 expected: 1.0) (c 1 expected: 0.7555009482345909) (c 2 expected: 0.4062165885697204) (c 3 expected: 0.16171753680431133) (c 4 expected: 0.049946541711552994) (c 5 expected: 0.012423421930412681) (c 6 expected: 0.0025602018736557985) (c 7 expected: 0.00044665471863647443) (c 8 expected: 6.707890304114006e-5) (c 9 expected: 8.78690278904859e-6) (c 10 expected: 1.0146360887031136e-6) (c 11 expected: 1.041705609550192e-7) (c 12 expected: 9.576739956607128e-9) (c 13 expected: 7.930279766199533e-10) (c 14 expected: 5.944322811757274e-11) (c 15 expected: 4.050093593832571e-12) (c 16 expected: 2.51687559682523e-13) (c 17 expected: 1.432187701766452e-14) (c 18 expected: 7.771561172376096e-16) (n 100) (c 0 expected: 1.0) (c 1 expected: 0.9402202136858168) (c 2 expected: 0.769420824216718) (c 3 expected: 0.5278616876818508) (c 4 expected: 0.30240649358264204) (c 5 expected: 0.14619825195676162) (c 6 expected: 0.06050687369342134) (c 7 expected: 0.021741726383814997) (c 8 expected: 0.006868567824210969) (c 9 expected: 0.001928554445485342) (c 10 expected: 0.00048575688725438493) (c 11 expected: 0.00011062952211438049) (c 12 expected: 2.293741078285283e-5) (c 13 expected: 4.355034810332725e-6) (c 14 expected: 7.610807760682903e-7) (c 15 expected: 1.2297056994903244e-7) (c 16 expected: 1.8442040894406375e-8) (c 17 expected: 2.576103552698328e-9) (c 18 expected: 3.3620650707888444e-10) (c 19 expected: 4.1108894066610446e-11) (c 20 expected: 4.720890345311091e-12) (c 21 expected: 5.103695244201845e-13) (c 22 expected: 5.206945985491984e-14) (c 23 expected: 4.9960036108132044e-15) (c 24 expected: 4.440892098500626e-16) (n 200) (c 0 expected: 1.0) (c 1 expected: 0.9964263771482297) (c 2 expected: 0.9760056751381196) (c 3 expected: 0.9179525365665168) (c 4 expected: 0.808480903831493) (c 5 expected: 0.6544386777686396) (c 6 expected: 0.48191138457824434) (c 7 expected: 0.32170746947287676) (c 8 expected: 0.19485212445066769) (c 9 expected: 0.10741254734607308) (c 10 expected: 0.05411604320612995) (c 11 expected: 0.025031379518332342) (c 12 expected: 0.010677909126951768) (c 13 expected: 0.004218847450830454) (c 14 expected: 0.0015500483406968302) (c 15 expected: 0.0005315474558090783) (c 16 expected: 0.000170707142306048) (c 17 expected: 5.1500967309547896e-5) (c 18 expected: 1.4637208991197248e-5) (c 19 expected: 3.929164908322846e-6) (c 20 expected: 9.985423171654517e-7) (c 21 expected: 2.407670471882284e-7) (c 22 expected: 5.518943002602583e-8) (c 23 expected: 1.2048659292496211e-8) (c 24 expected: 2.509457863730802e-9) (c 25 expected: 4.994118452117391e-10) (c 26 expected: 9.510536802537217e-11) (c 27 expected: 1.735422916482321e-11) (c 28 expected: 3.038125306886741e-12) (c 29 expected: 5.108136136300345e-13) (c 30 expected: 8.260059303211165e-14) (c 31 expected: 1.2878587085651816e-14) (c 32 expected: 1.887379141862766e-15) (c 33 expected: 3.3306690738754696e-16) |# #| (for ([n '(25 50 100 200)]) (show2 "n" n) (for ([c (range (+ 1 n))]) (let ([e (- 1 (dist-cdf (binomial-dist n 1/36) (- c 1)))]) ; Built-in binomial dist ; (let ([e (- 1 (binomial_dist_cdf n 1/36 (- c 1)))]) ; These are exact (rational). (when (> e 0) (show2 "c" c "expected: " e)))) (newline)) |#