/* HPD intervals in Picat. Cf - ppl_hpd_interval.pi - my Gamble model gamble_hpd_intervals.rkt This program was created by Hakan Kjellerstrand, hakank@gmail.com See also my Picat page: http://www.hakank.org/picat/ */ import ppl_distributions, ppl_utils. import util. % import ordset. main => go. /* var : d Probabilities (truncated): 158.297713350624861: 0.0001000000000000 153.49291713343635: 0.0001000000000000 152.250395166044541: 0.0001000000000000 151.930729762412113: 0.0001000000000000 ......... 50.751551952736484: 0.0001000000000000 47.275683420591548: 0.0001000000000000 39.344443222534466: 0.0001000000000000 37.125682786954911: 0.0001000000000000 mean = 100.142 HPD intervals: HPD interval (0.5): 90.68689274425338..111.17408723476110 HPD interval (0.84): 79.12733433493992..121.04364757494778 HPD interval (0.93): 74.22057525172082..128.55782802781516 HPD interval (0.99): 62.45389556318580..137.46836088104033 var : p Probabilities: false: 0.9917000000000000 true: 0.0083000000000000 mean = [false = 0.9917,true = 0.0083] */ go ?=> reset_store, run_model(10_000,$model,[show_probs_trunc,mean, show_hpd_intervals, hpd_intervals=[0.5,0.84,0.93,0.99]]), nl, % show_store_lengths,nl, % fail, nl. go => true. model() => D = normal_dist(100,15), P = check(D >= 136), add("d",D), add("p",P).