「ロト6」の例
「ロト6」という宝くじがあります。買ったことはなくても、誰しも名前くらいは聞いたことがあるのではないかと思います。01〜43という43個の数字の中から、自分で好きな6個を選び、200円でくじに換えます。後日発表される抽せん数字(6個)のうち3個以上を的中させれば賞金がもらえます。全部当てれば2億円も夢じゃない、といわれています。
前提知識
基本的には高校数学範囲の確率の知識を用いますが、一部高校では学習しない事項もあります。数式が理解できないと思ったら、適当に飛ばしながら読んでいただくほうがよいです。そうでないと嫌になること間違いなしですので。計算結果を見るだけでも十分だと思います。
なお、本文中で以下の記法を用います。
- n! = n×(n-1)×(n-2)×…×2×1 (階乗) 但し 0! = 1
- exは指数関数(eは自然対数の底 2.718…)
- nCx = n! / (x! (n - x)!) (順列組み合わせ)
「ロト6で2億を当てよう」企画
2010年5月22日、フジテレビ系列「人志松本の〇〇な話」の企画で、「手相でロト6を当てる」というものがありました。手相占いで有名となった島田秀平さんが「宝くじの高額当せん者にあったという線」を紹介し、松本人志さんをはじめとする芸人5人が「インスタント手相」(ペンで線を描く)でロト6に挑戦するというものです。
5人のうち4人は50口(1万円分)を購入し、1人は5口(1000円分)を購入。直感のままに番号を選び、さてその抽せん結果はというと、最高が2000円(5等×2)、他の人もだいたい5等が1口当たるくらいというわけで、全員赤字という結果となりました。5口しか買わなかった人は1円も当たりませんでした。
当せん金額の期待値って?
「ロト6」の場合、当せん金額の期待値、すなわち「各等級の当せん金額に、その等級が当たる確率を掛けて、その総和をとったもの」は、90円くらいになるように調整されているそうです。1口200円ですから、平均的には半分も回収できないことになってしまうわけですね。
ただ、90円でもちょっとおかしいと思いませんか?例えば「年末ジャンボ宝くじ」(1口300円)などを買ったことのある人ならわかるでしょうが、これを連番で10枚買ったら、だいたい下1桁が一致する末等(300円)が1枚当たるだけです。期待値が購入額の45%だったら、3000円分買えば1350円くらいリターンがあるはずですし、今回の番組の企画であっても、1万円分買ったのに4500円以上当たった人がいないのです。
それもそのはず、期待値は確率の非常に低い1等や2等によって吊り上げられているのですから。実際に計算してみればわかります。
- 5等(1000円)
- 選んだ6個の数字の中に、抽せん数字が3個あるとき。抽せん数字は6個あるので、ハズレ37個の中から3個、当たり6個の中から3個を選んでいればよい。
- その確率は 37C3 × 6C3 / 43C6 = 155400/6096454 ≒ 0.02549 (2.549%)
- 4等(約1万円)
- 選んだ6個の数字の中に、抽せん数字が4個あるとき。上と同様、ハズレ37個の中から2個、当たり6個の中から4個を選んでいる確率を求める。
- その確率は 37C2 × 6C4 / 43C6 = 9990/6096454 ≒ 0.001639 (0.1639%)
- 3等(約50万円)
- 選んだ6個の数字の中に、抽せん数字が5個あるとき。抽せん数字とボーナス数字を除く36個の中から1個、当たり6個の中から5個を選んでいると考える(ボーナス数字が出ると2等となる)。
- その確率は 36C1 × 6C5 / 43C6 = 216/6096454 ≒ 0.00003543 (0.003543%)
- 2等(約1500万円)
- 選んだ6個の数字の中に、抽せん数字が5個、そして抽せん数字とは別に1個だけ選ばれる「ボーナス数字」があるとき。ボーナス数字と、当たり6個の中から5個を選んでいる場合。
- その確率は 1C1 × 6C5 / 43C6 = 6/6096454 ≒ 0.0000009842 (0.00009842%)
- 1等(約1億円、最大2億円(キャリーオーバーがあれば最大4億円))
- 抽せん数字6個がすべて的中した場合。
- その確率は 6C6 / 43C6 = 1/6096454 ≒ 0.0000001640 (0.00001640%)
- ハズレ
- 上のどれにもあてはまらない。
- その確率は (6096454 - 155400 - 9990 - 216 - 6 - 1) / 6096454 = 5930841/6096454 ≒ 0.9728 (97.28%)
丸め誤差の関係で合計が100%にならないのはお許しください。m(_ _)m
1等当せん確率なんて夢もいいとこですね。(^^;
で、これをもとに期待値を計算すると、以下のようになるでしょう。当せん金額は毎回変わりますが、1等1億円、2等1500万円、3等50万円、4等1万円として計算します。
等級 | 賞金額 | 確率 | 等級割当額 (金額×確率) |
---|---|---|---|
1 | 100,000,000 | 1.640×10-7 | 16.40 |
2 | 15,000,000 | 9.842×10-7 | 14.76 |
3 | 500,000 | 3.543×10-5 | 17.72 |
4 | 10,000 | 1.639×10-3 | 16.39 |
5 | 1,000 | 2.549×10-2 | 25.49 |
計 | ? | ? | 90.76 |
賞金額をキリの良い数字にして計算したので多少誤差がありますが、だいたい90円ぐらいということがわかります。ところが、注目すべきはあれだけ確率の低い1等の寄与が、90円のうち16円にも達するということです。2等や3等もしかり。90円分戻ってこないはずです。期待値としては間違っていませんが、それでも直感とかけ離れていることには違いありません。
中央値を調べる
「中央値」とは、簡単にいえば「データを小さい順に並べたときに、ちょうど真ん中に来る数字」です。だから、その値より大きい確率と小さい確率が2分の1ずつになるようになっています(厳密にはちょっと違いますが)。今回の「50口」の場合で考えてみましょう。
- 50口買っても1円も当たらない確率は 0.972850 ≒ 0.252
- 50口買って1000円だけ当たる確率は 50C1 × 0.025491 × 0.972849 ≒ 0.330
というわけで、たくさんの人がそれぞれ50口ずつ買うとすれば、当せん額が1000円以内の人だけで半数以上を占めることになります。「500円だけ当たる」などという中途半端なことはありえませんので、中央値は 1000円 です。ちなみに、
- 50口買って2000円だけ当たる確率は 50C2 × 0.025492 × 0.972848 ≒ 0.212
となります。これも合わせれば、当せん額が2000円以内となる確率は約80%。ということは、50口買って3000円以上が当たるのは5人に1人というわけです。同様に3000〜9000円当たる確率も求めて全体から引けば、元が取れる(つまり1万円以上当たる)確率も計算できますが、実はわずか8%です。今回の企画で1000円や2000円しか当たらなかったのも、これを考えれば当然といえます。手相のご利益もあったとは言い難いですね。
ちなみに、5口(1000円)しか買わなかったならばこんな感じ。
- 5口買って1円も当たらない確率は 0.97285 ≒ 0.871
- 元本が回収できる確率(5等1口でも当たれば元は取れますね)は 1 - 0.871 = 0.129
こちらも、5口買って当たらないのはもっともな結果という結論に。
「ポアソンの小数の法則」を用いる計算方法
ところで、上のような数字はいったいどうやって計算するのでしょうか?実は「関数電卓を使う」「プログラムを書く」などという少々反則技を使うわけなのですが、関数電卓を持っている人のほうが少ないでしょうし、普通の電卓で50乗の計算なんてやりたくないですよね?(絶対数え間違います)
しかし、手計算(あるいは普通の電卓)でも近似値の計算なら不可能ではありません。そもそもプログラムを書くにしても、50口で考えられるすべての賞金額の場合を考えていたら、あまりにも時間とメモリを食い過ぎて計算が終わりません(^^;; だからそれも「確率が小さいところを落とす」という近似を使っているわけなのですが。
では、手計算で「近似値」ってどうすれば求められるのでしょうか?ここで有用なのが、「ポアソンの小数の法則」と呼ばれる法則です。確率 p で起こる事象が、n 回の試行の中で x 回起こる確率は、
- λ = np とおけば e-λλx / x!
と近似されるというものです。証明を簡単に書いておくと、そもそも上の確率は、本当は nCxpx(1 - p)n-x で表されるべきものなのですが、nがxに比べて十分大きく、またpが小さいときは、
- nCx ≒ nx / x!
- px = (λ / n)x
- (1 - p)n = (1 - (λ / n))n ≒ e-λ
- (1 - p)x ≒ 1
と近似できるため、求める確率は
- nCxpx(1 - p)n-x
≒ nx / x! × λx / nx × e-λ / 1
= e-λλx / x!
というわけです[参考文献]。近似の過程から、この法則が適用できるのは n が大きく、p や x が小さいという条件がつきますが。何をもって「大きい」「小さい」とするかについては、ここでは深く立ち入りません。とにかく、この法則があれば、あとは「指数関数」の計算さえできれば、普通の電卓の機能でも確率を求めることができるのです。というわけで、「指数関数表」なるものを用意しました。
さて、この法則と指数関数表を用いると、50口のロト6を買って1円も当たらない確率を比較的楽に計算できます。何がしかの賞金が当たる確率は、(155400 + 9990 + 216 + 6 + 1) / 6096454 = 165613/6096454 ≒ 0.02717 と求められますから、p = 0.02717, n = 50とすればよく、λ = np ≒ 1.359 として上の法則により x = 0 (当たりが無い→すべてハズレ) の確率を求めてみます。
- e-1.359 × 1.3590 / 0! ≒ 0.2567 × (1 + 0.001) ≒ 0.257
というわけで、「中央値を調べる」に書いた 0.252 という値に近いものが計算できました。
しかし、困ったことにこの公式では「1000円だけ当たる確率」などを求めることができないのです。なぜなら、これは「0か1か」という2択の場合にしか使えないからです。「当たりかハズレか」の2択であればいいですが、1000円だけという条件を付けたなら、「4等以上か、5等か、ハズレか」の3種類に分けて考えなければいけません。これを解決するために、上の導出を応用して新しく公式を作ってみましょう。
「小数の法則」の拡張
同一の試行に対し、確率 p1 で起こる事象Aと, 確率 p2 で起こる事象Bとを考えます。事象AとBとは互いに排反(同時には起こらない)とし、p1 も p2 も小さい値であるとします(但し、AもBも起こらない場合があってもOKです。つまり、p1 + p2 = 1 でなくてもよいです)。ここで、n 回の試行の中で、事象Aが x 回、事象Bが y 回起こる確率を考えることにします。
本来、この確率は (n! / (x! y! (n - x - y)!)) p1x p2y (1 - p1 - p2)n-x-y と求められるものです。これを先程と同様に近似してみます。n が x や y に比べて十分大きければ、λ1 = np1, λ2 = np2 (修正: 2010.07.11) とおくことで
- n! / (x! y! (n - x - y)!) ≒ nx+y / (x! y!)
- p1x = (λ1 / n)x
- p2y = (λ2 / n)y
- (1 - p1 - p2)n = (1 - (λ1 + λ2) / n)n ≒ e-λ1-λ2
- (1 - p1 - p2)x+y ≒ 1
が成り立つため、
- (n! / (x! y! (n - x - y)!)) p1x p2y (1 - p1 - p2)n-x-y
≒ nx+y / (x! y!) × λ1x / nx × λ2y / ny × e-λ1-λ2 / 1
= e-λ1-λ2 λ1x λ2y / (x! y!)
となるわけです。
「1000円しか当たらない」確率は、「4等以上0口、5等1口、ハズレ49口」となる確率です。上でいう事象Aを「5等が当たる」、事象Bを「4等以上が当たる」と考えれば、
- p1 = 0.02549
- p2 = (9990 + 216 + 6 + 1) / 6096454 = 0.001675
- n = 50
とすればよく、λ1 = np1 ≒ 1.275, λ2 = np2 ≒ 0.084 として x = 1, y = 0 となる確率を求めます。
- e-1.359 × 1.2751 × 0.0840 / (1! 0!)
≒ 0.2566 × (1 + 0.001) × 1.275
≒ 0.328
「中央値を求める」で実際に計算して求めた 0.330 と近い値が出ていることがわかります。
「ちょっとだけ儲けたい」という人への注意
先程「元本を回収できる確率は8%」と書きましたが、上の公式を使って計算することもできます。
1万円を回収するには、「4等以上は当たらないけど5等が10口以上当たる」か、「4等以上が1つでも当たる(5等は問題にしない)」のいずれかが必要です。この2つは両立しませんので、それぞれの確率を求めて足せばいいですね。
前者は、小数の法則の拡張バージョンで y = 0 の場合を考えると
- Σx = 10, 11, …, 50(e-1.359 × 1.275x / x!)
≒ e-1.359 × Σx = 10, 11, …, ∞(1.275x / x!)
= e-1.359 × Σx = 0, 1, …, ∞(1.275x+10 / (x+10)!)
≦ 1.27510 / 10! × e-1.359 × Σx = 0, 1, …, ∞(1.275x / x!)
= 1.27510 / 10! × e-1.359 × e1.275
= 1.27510 / 10! × e-0.084
≒ 1.27510 / 10! × 0.9231 × (1 - 0.004)
≒ 2.88 × 10-6
ということで、事実上「5等が10口以上当たる」ことは皆無に等しい、と考えても大丈夫そうです(結局10乗の計算はしないといけないんですが)。
一方、「4等以上が当たる」という確率は普通の小数の法則で十分でして、p を4等以上が当たる確率 0.001675 とすると、λ ≒ 0.084 となり、
- Σx = 1, …, 50(e-0.084 × 0.084x / x!)
≒ 1 - (e-0.084 × 0.0840 / 0!)
≒ 1 - 0.9231 × (1 - 0.004)
≒ 0.0806
ということで、確率は 8.06%。ちなみに、真面目に計算するなら 1 - (1 - 0.001675)50 ≒ 0.0804 となります。確かに約8%という厳しい結果です。「損をする確率が非常に高い」ということがわかります。(数式は難しく書いていますが、要するに「4等以上が1口も当たらない」確率を求めて、それを全体の確率1から引いていると思ってもらえれば結構です) これを応用して「元を取れる確率を最大にするには何口買えばよいか?」を調べるのも面白いかもしれません(5口なら13%くらいでしたね[中央値を調べるの最後に掲げています])。
結局
宝くじを含め、博打は期待値だけで判断してはいけません。2億円が当たるのは、宝くじ購入者のほんのひと握りにも満たない、いわば「ひとつまみ」の人だけです。1等なんていらない、元を取ってちょっと儲かったら十分だと思う人もいるでしょうが、その確率さえ「夢を見るな」という数字になってしまいます。先日(執筆当時)の事業仕分けでも、我々から取り上げた55%分の一部が天下り役員に流れていることが槍玉に挙げられましたよ。これでも宝くじ買いますか?
指数関数表
このページで紹介した「小数の法則」を用いる場合に、指数関数の値を計算することが必要となります。関数電卓を用いなくても確率計算ができるよう、指数関数表を用意しました。
e-x の値を0.01刻みで載せています。0 ≦ x < 6 ですが、「小数の法則」で利用する分には十分と思います。もし0.01単位より細かいxを指定したいときは、
- e-(x + Δx) ≒ e-x - Δx e-x = (1 - Δx) e-x
の式により、最も近い0.01単位の値を用いて近似してください。Δx には±0.01未満の値が入ります。
- (例1) e-0.342 ≒ (1 - 0.002) × e-0.34 ≒ 0.71035
- (例2) e-1.127 ≒ (1 + 0.003) × e-1.13 ≒ 0.32400
配布ファイルはこちらです。必要に応じて印刷してご利用ください。
- exptable.ods (OpenDocument Spreadsheet形式)
- exptable.pdf (PDF形式)
参考文献
- 東京大学教養学部統計学教室編『統計学入門』(東京大学出版会)
- 「ポアソンの小数の法則」の証明はこの本の115ページによりました。