*珈琲豆のブレンドの状態はどの程度同じなのん?
----
[[仮説検定]]の話のついでに提供した珈琲豆の話。
ドンガバチョの「製品ホゲー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


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