THE MAKING 290 氷砂糖ができるまで で気になったこと
www.youtube.com
先日この動画を観て 11:44 からの部分、バケットの数 (はかりの数) の 14 という半端な数がちょっと気になった。
バケットの数が少なすぎれば 1kg になりにくいし、多すぎれば過剰設備となる。
きっと丁度良い数なのだろう。
シミュレーションしてみた
バケットの数を変えてみて包装袋の重さの分布を出してみた。
見た感じの仕組み
上から
氷砂糖の投入口 ⇒ 氷砂糖を貯めておく皿(Backet_Pool) x 14 ⇒ 量り皿(Backet_Scale) x 14 ⇒ 包装袋
になっていて Backet_Pool , Backet_Scale の底が開閉可能になっているっぽい。
ゲーセンのメダルゲームみたいに Backet_Pool に充填されていく。
Backet_Scale の底が開いて空になったタイミングで Backet_Pool の底が開いて中身が全部(一部?) Backet_Scale に充填される。
1kg 以上でなるべく 1kg に近い組み合わせで Backet_Scale の底を開けて包装する。(1kg 未満で包装したら不良品になってしまうだろうから、1kg 以上になるようにはしていると思う)
氷砂糖の投入速度と、包装される速度は(単位時間での重さが)同じはず。
長時間特定の Backet_Scale が選ばれなかった場合 Backet_Pool にどんどん溜まって行ってしまう。⇒ 一定量に達するとそれ以上貯まらないようになっている。ように見える。
全ての Backet_Pool を合わせても 1kg 未満だったらどうするんだろう?初期状態とか。⇒ 分からない。
実装した仕組み
重さは int , g 単位
Backet_Pool への充填と包装を交互に行う。
UNTIL 包装袋の数が規定数に達する { Charge(); // Backet_Pool への充填を行う。 TryBagging(); // 包装可能 (Backet_Scaleを組み合わせて1kgを作れるなら) であれば包装を行う。 }
Charge
- 総量がだいたい 1kg になるように充填する。(充填と梱包の速度が同じになるように)
- 1つの Backet_Pool について 0 ~ (2kg / バケット数) の範囲でランダムに加算する。
- 1つの Backet_Pool に 0.3kg の以上貯まらないようにする。
- 動画見た感じそれくらいじゃないかなと思ったので。
TryBagging
- 1kg 以上でなるべく 1kg に近い組み合わせで包装する。
- 1kg 以上になる組み合わせが無ければ、全ての Backet_Pool を開ける。
結果
包装袋の重さの分布 (100000袋)
重さ \ バケット数 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1000 g | 3974 | 8118 | 16080 | 30042 | 50690 | 73211 | 88305 | 94338 | 96713 | 97860 | 98649 | 98908 | 99301 |
1001 g | 3811 | 7639 | 12991 | 19464 | 21837 | 15361 | 6677 | 2791 | 1553 | 984 | 605 | 495 | 328 |
1002 g | 3693 | 6964 | 10784 | 13067 | 10119 | 4713 | 1852 | 1011 | 546 | 400 | 267 | 193 | 140 |
1003 g | 3577 | 6207 | 8852 | 8893 | 5464 | 1989 | 876 | 495 | 332 | 216 | 146 | 108 | 65 |
1004 g | 3293 | 5621 | 7468 | 6221 | 3161 | 1160 | 514 | 316 | 187 | 135 | 58 | 73 | 42 |
1005 g | 3161 | 5244 | 6171 | 4551 | 1918 | 754 | 334 | 234 | 149 | 91 | 69 | 58 | 33 |
1006 g | 3068 | 4582 | 5132 | 3281 | 1372 | 565 | 277 | 143 | 98 | 60 | 53 | 39 | 25 |
1007 g | 2926 | 4370 | 4155 | 2368 | 983 | 397 | 186 | 110 | 82 | 50 | 46 | 30 | 18 |
1008 g | 2797 | 3858 | 3573 | 1911 | 729 | 264 | 166 | 96 | 67 | 30 | 24 | 23 | 8 |
1009 g | 2693 | 3616 | 2973 | 1462 | 543 | 213 | 114 | 77 | 45 | 36 | 18 | 13 | 9 |
1010 g | 2591 | 3281 | 2530 | 1193 | 411 | 189 | 97 | 49 | 34 | 25 | 16 | 12 | 10 |
1011 g | 2366 | 2905 | 2048 | 910 | 346 | 148 | 79 | 45 | 28 | 23 | 9 | 11 | 5 |
1012 g | 2306 | 2795 | 1739 | 790 | 258 | 136 | 66 | 38 | 29 | 13 | 6 | 8 | 3 |
1013 g | 2270 | 2550 | 1563 | 671 | 233 | 98 | 62 | 46 | 18 | 12 | 12 | 6 | 1 |
1014 g | 2206 | 2320 | 1313 | 507 | 225 | 97 | 53 | 40 | 18 | 9 | 8 | 4 | 5 |
1015 g | 1969 | 2028 | 1151 | 487 | 170 | 64 | 41 | 22 | 16 | 9 | 5 | 1 | 2 |
1016 g | 2005 | 1880 | 1008 | 423 | 153 | 81 | 39 | 23 | 8 | 6 | 3 | 4 | 1 |
1017 g | 1935 | 1707 | 881 | 367 | 147 | 62 | 29 | 10 | 11 | 7 | 2 | 9 | 2 |
1018 g | 1850 | 1592 | 751 | 316 | 133 | 59 | 27 | 16 | 9 | 8 | 1 | 1 | 1 |
1019 g | 1705 | 1467 | 725 | 273 | 114 | 48 | 19 | 14 | 8 | 11 | 1 | 1 | 0 |
1020 g | 1619 | 1378 | 564 | 271 | 103 | 37 | 28 | 13 | 10 | 8 | 2 | 1 | 0 |
1021 g | 1587 | 1223 | 601 | 200 | 71 | 39 | 16 | 12 | 5 | 1 | 0 | 0 | 0 |
1022 g | 1530 | 1110 | 535 | 187 | 67 | 35 | 23 | 10 | 2 | 0 | 0 | 0 | 1 |
1023 g | 1418 | 1011 | 443 | 174 | 78 | 28 | 21 | 10 | 3 | 2 | 0 | 0 | 0 |
1024 g | 1375 | 940 | 422 | 153 | 60 | 22 | 11 | 3 | 4 | 0 | 0 | 0 | 0 |
1025 g | 1308 | 842 | 375 | 141 | 55 | 23 | 12 | 7 | 2 | 1 | 0 | 1 | 0 |
1026 g | 1306 | 810 | 347 | 126 | 43 | 29 | 10 | 6 | 1 | 0 | 0 | 0 | 0 |
1027 g | 1265 | 788 | 328 | 108 | 32 | 28 | 8 | 5 | 4 | 0 | 0 | 1 | 0 |
1028 g | 1174 | 777 | 294 | 102 | 53 | 14 | 7 | 3 | 4 | 1 | 0 | 0 | 0 |
1029 g | 1103 | 651 | 289 | 87 | 34 | 16 | 6 | 3 | 1 | 0 | 0 | 0 | 0 |
1030 g | 1057 | 634 | 244 | 118 | 36 | 10 | 6 | 4 | 2 | 1 | 0 | 0 | 0 |
1031 g | 1091 | 578 | 233 | 62 | 29 | 9 | 6 | 2 | 5 | 0 | 0 | 0 | 0 |
1032 g | 997 | 571 | 232 | 68 | 24 | 6 | 4 | 1 | 1 | 0 | 0 | 0 | 0 |
1033 g | 1006 | 478 | 207 | 74 | 18 | 12 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
1034 g | 983 | 457 | 157 | 56 | 34 | 4 | 5 | 0 | 0 | 0 | 0 | 0 | 0 |
1035 g | 865 | 486 | 155 | 68 | 19 | 10 | 1 | 1 | 2 | 0 | 0 | 0 | 0 |
1036 g | 889 | 389 | 146 | 55 | 23 | 6 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
1037 g | 809 | 373 | 158 | 52 | 19 | 12 | 2 | 1 | 1 | 0 | 0 | 0 | 0 |
1038 g | 793 | 347 | 130 | 46 | 11 | 6 | 4 | 2 | 0 | 0 | 0 | 0 | 0 |
1039 g | 784 | 329 | 143 | 46 | 13 | 6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1040 g | 707 | 340 | 108 | 35 | 15 | 5 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
1041 g | 750 | 293 | 113 | 39 | 7 | 4 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1042 g | 630 | 255 | 91 | 46 | 15 | 4 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
1043 g | 695 | 256 | 98 | 22 | 14 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
1044 g | 651 | 241 | 85 | 39 | 9 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
1045 g | 578 | 246 | 74 | 24 | 6 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1046 g | 568 | 251 | 68 | 24 | 10 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1047 g | 559 | 225 | 84 | 26 | 8 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
1048 g | 556 | 201 | 86 | 20 | 6 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1049 g | 536 | 198 | 46 | 24 | 2 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
1050 g 以上 | 16615 | 4578 | 1256 | 310 | 80 | 15 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
バケット数 | 重さの平均 |
---|---|
6 | 1028.1799 g |
7 | 1013.6660 g |
8 | 1007.0596 g |
9 | 1003.5477 g |
10 | 1001.6651 g |
11 | 1000.7360 g |
12 | 1000.3376 g |
13 | 1000.1801 g |
14 | 1000.1088 g |
15 | 1000.0669 g |
16 | 1000.0398 g |
17 | 1000.0334 g |
18 | 1000.0195 g |
確かに 14 くらいでいいんじゃないかと思った。
そんだけ