珈琲豆のブレンドの状態はどの程度同じなのん?


仮説検定の話のついでに提供した珈琲豆の話。 ドンガバチョの「製品ホゲーX」のシムは挫折?したので、せめてこちらの方を。 では問題


問題は毎回同じブレンドの珈琲を飲んでいると言えるか?です。あるいは,毎回同じブレンドの珈琲を飲もうと思えば、どの程度の数の豆を一度に挽けば良いのか?です。


そこで「十進ベーシック」ソースはこんなのです。

!ブラジル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


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS