岡山県倉敷市のプログラミングスクールなら「iTeen(アイティーン)倉敷駅前校」!!教育のプロが、プログラミングを一から丁寧に個別指導します。小学生から高校生対応!岡山県倉敷市のプログラミング、IT知識の個別指導「iTeen倉敷駅前校」

【考察】いろんな硬貨を入れたら、貯金箱はいくらになる?【頭の使い方】
84 Views

皆さま、こんにちは。


今日は、私が年末にふと考えてしまった

「500円玉の貯金箱」から始まる、

ちょっとした知的遊びの話です。






この貯金箱を見ていて、ふと思いました。

「いろんな硬貨をごちゃまぜに入れていったら、

 満杯になったとき、いくらぐらいになっているんだろう?」


ここから、小学生レベルから大学生レベルまで、

ゆっくり階段を登るように一緒に考えてみましょう。


刺さる人にはぶっささる!

興味ない人は白目になる!

そんな脳みそストレッチ長編ブログが始まるよ~♪♪


【レベル☆】小学生レベル

まずは一番簡単なところからスタートです。

500円玉だけで100万円なら、

100万円 ÷ 500円 = 2000枚

つまり、この貯金箱は

「硬貨が約2000枚入る箱」と考えられます。

では、1円・5円・10円・50円・100円・500円を

全部おなじ確率で入れていったとしたらどうでしょうか。

1枚あたりの平均金額は、ざっくり111円。

そうすると、1枚あたりの平均 × 2000枚

22万円ちょっと



【レベル☆☆】中学生レベル

ここで、ちょっと引っかかりませんか?

「いや、500円玉と1円玉って、大きさ全然違うよね?」

仮に全部1円玉なら、500円玉よりたくさん入るはずです。

そこで、今度は「体積」で考えます。

単純化して、“6種類が同じ枚数ずつ入ったら?”としてみます

貯金箱の容量を

「500円玉2000枚分の体積」だとみなします。

そこに、体積の小さい硬貨も混ざっていくなら、

入る枚数は2000枚より増えていきます。

各硬貨の体積(円柱近似、mm3)

・1円:約471

・5円:約570

・10円:約651

・50円:約589

・100円:約682

・500円:約1103

ここから計算

・貯金箱の総容量V箱=2000×V(500円)

=2000×1103 ≒ 2,206,000(mm3)

・6種類が同じ枚数n枚ずつなら、総体積は

V合計=n×(471+570+651+589+682+1103)

=n×4066(mm3)

・満杯条件 V合計=V箱 より

n=(2000×1103) / 4066

n≒542.6

6種類を同数ずつ入れると、各硬貨は約543枚ずつ。

合計約3256枚入る計算になります。

金額は約36.1万円。

枚数だけで考えた約20万円より増えるのは、

「小さい硬貨が混ざると、同じ体積で入る枚数が増える」

からです。

注意点として、現実は“すき間”ができるので、

これは体積だけで見た理想化モデルです。

ざっくりとすき間をランダム詰め=15%程度と仮置き。

36.1×0.85=30.685

おおよそ30.7万円

(以降の「空隙込み概算」は、空隙率15%を仮置きします)

同じ貯金箱でも、

「枚数だけで考える世界」から

「体積まで考える世界」に移ると、

見える景色がガラッと変わります。

このあたりが、中学生レベルの考え方です。

日常生活でよく遭遇する難易度かもしれません。



【レベル☆☆☆】高校生レベル

さらに、もう一段階深く考えてみます。

「そもそも、財布の中の硬貨は本当に“ランダム”なのかな?」

ちょっと自分の財布を思い浮かべてみてください。

1円と5円は、ほっとくと溜まりやすい。

10円と100円は、普段からよく使う。

50円は、流通量がかなり少ないらしい。

500円玉は、持っている枚数が人によってかなり違う。

つまり、

「現実の財布の中には、その人なりのクセがある」

ということに気づきます。

ここで、実際にデータを取ってみます。

例えば、ある時点の私の財布の中身が

1円 5枚

5円 3枚

10円 8枚

50円 2枚

100円 7枚

500円 4枚

だったとします。この数字をもとに、

・それぞれの硬貨がどれくらいの割合で入っているか

・1枚あたりの平均金額はいくらか

・体積まで合わせると、どれくらいの枚数が入りそうか

などを計算していくと、

さっきの「全部おなじ確率」という前提とは違う、

もっと現実に近い予測ができるようになります。


ちょっと計算過程が長いので省略しますが、

上記の私の財布の中身を標準値と仮定して

硬貨の体積を公表数値から円柱近似値として計算すると、、、

平均金額100円/枚、入る枚数(期待値)=3000枚ちょっと

結論:私の財布の硬貨の癖で考えると満杯=33万円くらい

空隙を踏まえて概算すると約28万円くらい

この辺りから、

ただの貯金箱が、立派な「データ分析の教材」に変わります。

数学が、ノートの上ではなく、

生活の中で立ち上がってくる感じです。

実際にかなり近い数値に落とし込めているかもしれませんね。




【レベル☆☆☆☆】大学生レベル

さらにもう一歩だけ、先に進んでみると

理論・抽象概念」がなぜ必要なのかが分かります。

さきほどの

1円が5枚、5円が3枚、10円が8枚……

という財布の中身の数字を、「観測データ」として扱います。

まず最初の足掛かりとして、

「6種類の硬貨は、どれも同じくらい出てきそう」

という、ざっくりした仮定からスタートします。

そこに、実際に数えた結果を足していくと、

「この人の場合は、100円玉は全体の24%くらいかな」

「10円玉を貯めやすい支払い方だな」

という“その人らしい財布のクセ”が、数字として見えてきます。

このように、最初のざっくりした予想(先入観)と

実際に観測したデータをうまく混ぜ合わせて

「今の予測」をアップデートしていく考え方を、

「ベイズ統計」と呼びます。

(ベイズ好きな人たちをベイジリアンと呼びます 笑)。


このやり方を使うと、

・1枚あたりの平均金額

・1枚あたりの平均体積

を、現実のクセに合わせた形で見積もれるようになります。

少しだけ一緒に計算過程を見てみましょうか。

「財布の中で各硬貨が出てくる確率」を

 p1, p5, p10, p50, p100, p500 とします。

① 事前分布(最初の先入観)

最初は「どの硬貨も同じくらい出てきそう」という先入観を置きます。

(p1, p5, p10, p50, p100, p500) ~なので、事後分布は

Dirichlet(1+5, 1+3, 1+8, 1+2, 1+7, 1+4)

= Dirichlet(6, 4, 9, 3, 8, 5)

⇒財布データで推定した“癖のある確率”を使って、

平均金額の期待値を出します。

満杯の期待金額(近似)

期待金額 ≒ V箱 × (E[金額]/E[体積])

≒ 2,206,183.441 × (101.885714… / 677.177275…)

≒ 331,934.6 円

空隙を踏まえて概算すると、だいたい28.2万円です。


私は数学は苦手ですが統計学は結構好きです。

ベイズ統計を使えば

「すれ違った紳士がカツラである確率」なども

しっかりと根拠をもって算出できるのですよ。笑


もう完全に大学でやる内容じゃないか

と思うかもしれませんが、出発点は最初の一言です。


「これ、いろんな硬貨を入れたら、いくらになるんだろう?」

小学生(同確率・枚数固定)⇒約22万円

中学生(体積+同数仮定、空隙15%)⇒約30.7万円

高校生(財布のクセ反映、空隙15%)⇒約28万円

大学生(ベイズ平滑化、空隙15%)⇒約28.2万円


なお、高校生レベルと大学生レベルで

最終的な金額があまり変わらないことに気づけたなら◎

今回の財布データがそれなりに充実しており、

「先入観を入れても結論が大きく動かない」

状態だったからです。

つまり、ベイズ統計は

「答えを変える魔法」ではなく、

「その推定がどれくらい信頼できるかを確認する道具」

だと言えます(正しく計算ができている、ということです)。


/////


おわりに

これは“正解”ではなく、「頭の使い方の一例」です

今回のお話は、「貯金箱の正しい金額を当てる」

ことが目的ではありません。


お伝えしたかったのは、

同じテーマでも、考え方の階段を一段ずつ上っていくと、

世界の見え方そのものが変わってくる

ということです。


まずいちばん簡単なモデルで考えてみる。

そこに、「大きさ」「現実の生活」「データ」など、

新しい要素を少しずつ足していく。


それでも面白かったら、もう一歩だけ先の世界(統計や理論)をのぞいてみる。

分からないことは、都度調べて知識を“身内”に変えていく。


だいたい、こんな流れで私は全ての物事を考えています。

①まずは共通点を考えてみる。(抽象化)

②そのあとで、身近な例に当てはめてみる。(具体化)

③行き来を繰り返すと、考え違いが減って、

④初めての問題でも勘が働くようになります。(構造的理解)


今回のブログは、その頭の動きを

子どもたちでも追いかけられるように

わざと「小学生 → 中学生 → 高校生 → 大学生」と

階段状にしてみたものです。


途中のどこで止まっても構いません。


小学生レベルで「あ、なるほど」で終わっても良いし、

中学生レベルで「おもしろいな」と感じて終わっても良い。

そしてお気づきでしょうか。

先ほどの思考実験も、突っ込みどころが残っています 笑


本当に大事なのは、

「これってなぜ?」「なんか少し変じゃない?」

と、常に世界に対して疑問と好奇心を持てること

それを、少しだけ深く考えてみようとすることです。


そういう頭の使い方(構造化、メタ認知)は

プログラミングを通して物凄く効率よく強化することができます。


正直、ここまで読んでいただいて、何かをお渡しできる方は

1000人に1人かもしれません。

それでも、その一人にとって何かのきっかけになれれば幸せだなと思って

変なブログを書かせていただきました。

iTeen倉敷駅前校でも、

子どもたちと一緒に逞しい知性を育てていけたらいいなと思っています。

最後までお付き合いいただき、本当にありがとうございました。


ボボボーボ・漆川



追記:何年先になるか分かりませんが、実際に私が

「財布の小銭を適当に貯金中の貯金箱」


これが満杯になった時には、絶対にこのブログにリンクして

推定との違いを見てみましょう。


そのころに、また記事で一緒に「そんなことあったね」

と思って頂けたら嬉しいです。


・コツコツ貯金する楽しみ

・推論検証の楽しみ

・ブログ読者様と一緒に体験できる楽しみ。


皆様のおかげで、楽しみが×3に増えました。笑