*珈琲豆のブレンドの状態はどの程度同じなのん? ---- [[仮説検定]]の話のついでに提供した珈琲豆の話。 ドンガバチョの「製品ホゲーX」のシムは挫折?したので、せめてこちらの方を。 では問題 ---- COLOR(#fe891c){問題は}毎回同じブレンドの珈琲を飲んでいると言えるか?COLOR(#fe891c){です。あるいは,}毎回同じブレンドの珈琲を飲もうと思えば、どの程度の数の豆を一度に挽けば良いのか?COLOR(#fe891c){です。} ---- そこで「十進ベーシック」ソースはこんなのです。 !ブラジル50%、メキシコ25%、キリマンジャロ25% LET n=10000 !豆10000個 LET a=50 !豆1の割合(%) LET b=25 !豆2の割合(%) LET c=25 !豆3の割合(%) LET bean$="" !豆を測る。 LET ma=INT(n*a/100) LET bean$=REPEAT$("a",ma) LET mb=INT(n*b/100) LET bean$=bean$&REPEAT$("b",mb) LET mc=n-(ma+mb) LET bean$=bean$&REPEAT$("c",mc) !PRINT bean$ !ブレンドする。 RANDOMIZE FOR i=1 TO n LET l=INT(RND*n)+1 LET r=INT(RND*n)+1 IF l>r THEN LET dum=l LET l=r LET r=dum END IF LET bean$=bean$(l:r)&bean$(1:l-1)&bean$(r+1:n) NEXT i PRINT bean$ !テスト LET tn=100 ! 資料とする豆粒の個数 100 LET tt=20 ! 試行の回数 FOR j=1 TO 10 LET sd=0 FOR ti=1 TO tt LET s=INT((n-tn)*RND)+1 LET tbean$=bean$(s:s+tn-1) ! PRINT tbean$ LET cnta=0 LET cntb=0 LET cntc=0 FOR i=1 TO tn SELECT CASE tbean$(i:i) CASE "a" LET cnta=cnta+1 CASE "b" LET cntb=cntb+1 CASE "c" LET cntc=cntc+1 END SELECT NEXT i LET d=SQR((cnta-INT(tn*a/100))^2+(cntb-INT(tn*b/100))^2+(cntc-INT(tn*c/100))^2) LET sd=sd+d ! PRINT cnta;cntb;cntc;d NEXT ti PRINT sd/tn NEXT j END