# 抽獎需求
- 頭獎約5%,貳獎約10%
- 頭獎和貳獎不能同時中獎
- 最初五次不能完全沒中獎
- 盡量不要連續中獎,但仍有機會連續中獎
- 不能連續20次沒中獎
- 抽一次獎花費50元,玩一次期望值為45元
---
*我們以下討論中,獎池為頭獎、貳獎以及未中獎三種狀況。*
## 最直覺的方式
1. 規則:
+ 設定每次抽獎機率皆為:頭獎5%,貳獎10%,未中獎85%。
+ 第五次抽獎若未中獎且前四次皆為未中獎,則此次抽獎改為從頭獎和貳獎中抽出*。
+ 若已連續19次未中獎,且此次抽獎仍為未中獎,則此次抽獎改為從頭獎和貳獎中抽出*。
<sub>*依照頭獎和貳獎權重(5% & 10%)</sub>
2. 結果:
+ 由[程式碼](https://github.com/Demii-yss/draw-prob/blob/main/sim_constant_prob.py)模擬 10000 名玩家隨機抽 1~200 次,得到的輸出:
```
result = [[2, 2, 1, 2, 2, 0, 2, 2, 2, 2, ...],
[2, 2, 2, 1, 2, 2, 2, 2, 2, 2, ...], ...
prob = [0.0519, 0.1030, 0.8450]
```
+ result[i] : 第 $i$ 位玩家的抽獎結果(依照順序),其中 0~2 分別為頭獎、貳獎及未中獎。
+ prob : 統計全玩家所有抽獎機率結果,分別為頭獎、貳獎及未中獎之機率。
3. 分析:
+ 對於連續未中獎及前五次皆未中獎的調整,造成頭獎以及貳獎機率略為高於 $5\%$ 和 $10\%$。
+ 因每次抽獎結果獨立,無法控制連續中獎機率。
4. 獎勵:
+ 因分析中第一點,獎勵設計以模擬結果之機率為基礎。
+ 頭獎可得 $500$ 元,貳獎可得 $185$ 元,未中獎則為 $0$ 元。
+ 不計入成本,抽一次獎的期望值為 $45.005$ 元。
## Markov Chain
1. 動機:
+ 為控制連續中獎機率,我們考慮前 n 次的抽獎結果進行機率調整。
2. 規則:
+ 以下討論抽出 $0$ 為頭獎,$1$ 為貳獎,$2$ 為未中獎。
+ 考慮矩陣*:
$$A = [a_{ij}]=
\left[
\begin{matrix}
0.0408 & 0.0783 & 0.8809 \\
0.0428 & 0.2182 & 0.7390 \\
0.0516 & 0.0832 & 0.8652 \\
\end{matrix}
\right]
$$
其中 $a_{ij} = P(X_t=j|X_{t-1}=i)$ 為前一次抽獎結果為 $i$ 的情況下,抽出 $j$ 的機率。如某玩家前一次抽獎結果為頭獎(0),則下一次抽獎機率分布為 $[0.0408, 0.0783, 0.8809]$
<sub>*矩陣中機率是利用[優化問題模型生成](https://github.com/Demii-yss/draw-prob/blob/main/first_order.py)。</sub>
+ 在一位玩家進行第一次抽獎前,先進行數次預抽獎並將最後的結果作為*第零次抽獎*。
3. 結果:
+ 由[程式碼](https://github.com/Demii-yss/draw-prob/blob/main/sim_first_order.py)模擬 10000 名玩家隨機抽 1~200 次,得到的輸出:
```
prob = [0.0550, 0.0905, 0.8545]
```
4. 分析:
+ 因機率生成方式已考慮首五次或連續 20 次未中獎的情況並進行優化,因此模擬之中獎機率會在目標機率附近上下浮動,而非皆高於目標機率。
+ 相較於上一個方式,適當降低了連續中獎的情況。
5. 獎勵:
+ 頭獎可得 $500$ 元,貳獎可得 $190$ 元,未中獎則為 $0$ 元。
+ 不計入成本,抽一次獎的期望值為 $44.695$ 元。
## Second-Order Markov Chain
+ 另外使用了一樣的方式,抽獎機率除了考慮前一次的結果,也多考慮了**再前一次**的結果。其中
$$A_0 =
\left[
\begin{matrix}
0.1806&0.3072&0.5120 \\
0.3060&0.1755&0.5184 \\
0.0549&0.4031&0.5418 \\
\end{matrix}
\right]
$$
$$A_1 =
\left[
\begin{matrix}
0.0113&0.2812&0.7073 \\
0.4354&0.1193&0.4452 \\
0.4029&0.0058&0.5912 \\
\end{matrix}
\right]
$$
$$A_2 =
\left[
\begin{matrix}
0.0879&0.1540&0.7579 \\
0.2794&0.2832&0.4372 \\
0.0001&0.0097&0.9901 \\
\end{matrix}
\right]
$$
這裡 $A_i$ 代表兩次的抽獎結果為 $i$。例如某人在這次抽獎前分別抽出頭獎(0)和未中獎(2),則此次抽獎的機率為 $A_{0,2} = [0.0549, 0.4031, 0.5418]$。而利用這個方法所模擬的機率結果為:
```
prob = [0.053, 0.081, 0.866]
```
+ 依照上述模擬結果,設定頭獎可得 $500$ 元,貳獎可得 $230$ 元,未中獎則為 $0$ 元。不計入成本,抽一次獎的期望值為 $45.13$ 元。
## 程式碼 & 聯絡
+ [這裡](https://github.com/Demii-yss/draw-prob)放了進行模擬的程式碼,以及生成一階和二階的機率矩陣優化問題的程式碼。
+ 如有任何問題歡迎與我聯絡:[aha1431962@gmail.com](mailto:aha1431962@gmail.com)。