必ず儲かるスクラッチくじ
ジャンケンスクラッチ2ラウンド6という宝くじがあります。簡単に手が出せる1枚200円のスクラッチくじの一種です。くじ1枚の真ん中のスクラッチを削るとあなたのジャンケンの手が出てきます。周りの6つのスクラッチが相手のジャンケンの手です。全部削って、2勝から6勝までが当選で、アイコは負けになります(以下がイメージ図)。
\ ROUND1 / +--------------------+
相手の手6| ̄ ̄ ̄ ̄ |相手の手2 | グーはチョキに勝ち |
ROUND6 | 自分 | ROUND2 | チョキはパーに勝ち |
―――― | の手 |―――― | パーはグーに勝ち |
相手の手5|____ |相手の手3 | アイコは負け |
ROUND5 / 相手の手4 \ ROUND3 +--------------------+
/ ROUND4 \
このスクラッチくじ、れっきとした公営ギャンブルなのですが、このくじは果たして得なのでしょうか。その当選金額と本数は以下のとおりです。
ジャンケンスクラッチ2ラウンド6 第875回全国
等級等 当せん金 本数====== ========= ===========
1等 500,000円 70本 ; 6回勝ち
2等 50,000円 1,400本 ; 5回勝ち
3等 10,000円 7,000本 ; 4回勝ち
4等 1,000円 70,000本 ; 3回勝ち
5等 200円 2,100,000本 ; 2回勝ち
くじの全当選金額を計算すると、
6.65e+08
6億6500万円です。このときの想定販売金額が42億円なので、2100万枚の売上を想定しています。とすると掛け金に対する期待値はわずか15.8%です。要は200円掛けると31.6円返ってくるギャンブルですね。逆に言えば、200円掛けるごとに170円損するギャンブルってことです。お金を増やすつもりなら、やる価値はありません。
スクラッチくじの当選確率
ところが、このくじの仕様では、相手に6回中、2回さえ勝てば損はしないことになります。これはとても割のいい条件に見えます。実際に1等から5等の出現確率と当選金から期待値を計算してみます。6回の試行から1/3の確率の当たり(グーならチョキ)をn回繰り返すことになるので、二項分布に従いますね。
>rpn 5 6 3 n :prob-bin >>tmp
>rpn 4 6 3 n :prob-bin >>tmp
>rpn 3 6 3 n :prob-bin >>tmp
>rpn 2 6 3 n :prob-bin >>tmp
>type tmp
0.00137174
0.0164609
0.0823045
0.219479
0.329218
>rpn :sum <tmp
0.648834
当選する確率は65%です。
スクラッチくじの期待値
続けて、期待値をrpnで計算すると、
>rpn 5 6 3 n :prob-bin | rpn 50k * >>tmp
>rpn 4 6 3 n :prob-bin | rpn 10k * >>tmp
>rpn 3 6 3 n :prob-bin | rpn 1k * >>tmp
>rpn 2 6 3 n :prob-bin | rpn 200 * >>tmp
>rpn :sum <tmp
2617.28
200円投資して回収できる期待値は2617円。なんとプロフィットファクター(PF)が10を越えます。勝率65%でPF10なんて聖杯です。このギャンブルは回数を繰り返すほど儲かることになります。
でも実際はそうなっていません。そんな話も聞きません。これって、相手のジャンケンの手がランダムに出現していないことを意味します。つまり、あなたのジャンケンの手がパーなら本当は1/3の6乗の確率で全部がグーになるのですが、実際はそうなっていない可能性が大です。
スクラッチくじのシミュレーション
実際にジャンケンスクラッチ2ラウンド6のスクラッチくじをシミュレーションしてみましょう。期待値どおりならシミュレーションしても勝てるはずです。
自分のジャンケンの手は1/3の確率でグー、チョキ、パーのどれかを選び、同じようにして相手のジャンケンの手を6回決めます。肝心な点はすべてランダムに1/3の確率で独立事象(事前のジャンケンの手が次の手に影響しない)として手が決まることです。
そして、実際に仮想的にくじを買い、スクラッチして勝敗を決め、勝ち数を数えます。グーを1、チョキを2、パーを3にコード化して、ランダムに6つ生成するには、以下のrpn式で簡単に完成です。
2
3
1
2
1
3
1~3の乱数を6回出力させています。そして、コード化したジャンケンの組み合わせの勝ち負けは次の通り。oが自分が勝ち、xが自分が負け、-は引き分けです。
1-2 o 2-2 - 3-2 x
1-3 x 2-3 o 3-3 -
計算処理を簡便にするために勝ちではなく引き分けをカウントします。コード化された自分の手から相手の手を引いて0になれば引き分けであることが分かります(引き分けも勝ちも共に確率は1/3なので等価)。次の一行でスクラッチくじ一枚中、相手に勝った数を出してくれます。
3
上の例だと3回勝ったことになるので、1000円獲得です。この処理を1千回繰り返します。要は20万円をはたいてギャンブルすることになりますね。
シミュレーションはバッチを使う
以下のように、rpn式を1千回書いたバッチファイルを用意します。
:
(中略) 1000回繰り返す
:
rpn @a 3 ? - -b 3 ? #a -r 6 | rpn 0 0 :lookup | rpn :count >>tmp
時間は掛かりますが、実行後にtmpファイルに1千枚のスクラッチくじそれぞれの勝ち数が記録されます。後は勝ち数毎に枚数を数えて賞金を掛ければ全獲得金額が分かります。
>rpn 5 5 :lookup <tmp | rpn :count | rpn 50k * >tmp2
>rpn 4 4 :lookup <tmp | rpn :count | rpn 10k * >tmp3
>rpn 3 3 :lookup <tmp | rpn :count | rpn 1k * >tmp4
>rpn 2 2 :lookup <tmp | rpn :count | rpn 200 * >tmp5
>paste tmp1 tmp2 tmp3 tmp3 tmp4 tmp5 | rpn ++
2.8736e+06
シミュレーションの結果…
2.8736e+06なので約290万円です。1000で割れば一枚あたりの平均獲得金額が2873円と分かります。事前に計算した期待値2617円に近いですね。ジャンケンの手はランダムに決まるので獲得賞金はばらつきますが、まず負けない、儲かるギャンブルになります。
冷静に考えて、ジャンケンで勝つ確率は1/3。6回連続で勝つ確率は(1/3)^6で0.00137174。逆算すると729回やればその内1回は6連勝する割合です。6連勝1回で50万円貰えるのだから、200円のスクラッチくじを145800円分を買えば、50万円儲かる可能性がある。そんなうまい話があるはずもなく…。
要は元から儲からないようなジャンケンの組み合わせが印刷されているってことになります。自分のジャンケンの手が自由に選べるのなら少しはましですが、全部印刷済みのものでギャンブルするのですから、全ては胴元の手の内にあるわけです。
仮に自分の手を自由に決められるなら、胴元の戦略はグー2つ、チョキ2つ、パー2つを割り振るしかありません。すると期待値は200円です。長く繰り返せば損も得もないギャンブルになります。
冒頭の賞金金額と販売金額は6億6500万円と42億円でした。仮に6億6500万円しか売れなかった場合、どうなるのでしょうか。200円賭けると200円戻ることになるのでしょうか。残念ながら、販売管理費等々が掛かるのでそうはなりません。結局は、販売金額に依存して、賞金をいくらにするかを胴元が判断し、スクラッチの確率を意図的に変化させるということですね(当選本数以上は用意しない)。
実際問題、販売総額が賞金総額より少なかった場合はどうなるのでしょうか?くじ自体が取り止めになることは払い戻しがあるので、コスト的に無理でしょうし、赤字覚悟で予定通りの当選本数でやるのでしょうか。それとも当選本数を変更するのでしょうか。
こうやってシミュレーションしてみると、ジャンケンスクラッチ2ラウンド6というギャンブルは、矢で抽選する宝くじや機械で抽選するロトよりもエグいものに思えます。なにしろ、ジャンケンだから1/3の確率で勝てると購入者が勝手にミスリードしてくれるのですから。
番外編:実際に10枚購入した結果
最後に、実際のスクラッチ結果を載せておきます。ジャンケンの組み合わせが恣意的であることを証明できるでしょうか。
ROUND1 3-2 3-2 1-1 1-3 2-2 3-3 2-1 2-1 2-1 3-1
ROUND2 3-1 3-2 1-3 1-3 2-1 3-2 2-1 2-3 2-1 3-1
ROUND3 3-2 3-1 1-3 1-2 2-1 3-2 2-2 2-2 2-1 3-2
ROUND4 3-2 3-3 1-2 1-3 2-3 3-2 2-1 2-2 2-2 3-3
ROUND5 3-3 3-3 1-3 1-1 2-3 3-2 2-3 2-3 2-3 3-2
ROUND6 3-2 3-1 1-3 1-3 2-2 3-1 2-1 2-3 2-1 3-3
rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。
pasteは講座サポートにあります。lookupはpackage入門に同梱されています。prob-binはビジネス統計(推定編)に同梱されています。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。