1. 從民間的一個骰子賭戲說起
1.1. 投擲 3 顆 6 面骰子之賭戲
民間有一個常見的骰子賭戲, 賭戲進行時, 檯面上有 $3\times 2$ 的六格方陣, 其上分別有 1$\sim$6 點的圖像, 賭客將賭金放至格子內來下注, 下注完畢, 莊家一次投擲三顆骰子, 接著便依照所擲出的點數來計算輸贏。 出現一顆的點數, 莊家賠給下注者下注金額的一倍, 同理, 兩顆則賠兩倍, 三顆則賠三倍, 而未出現的點數之押金則全歸莊家所有。 為什麼莊家採用投擲三顆六面骰子的模式呢?
六種點數中, 無論押哪一個點數, 輸贏並無差別, 不妨假設押1點1元, 計有:「沒有出現1點, 賠1元」、 「恰出現一個1點, 賺1元」、 「恰出現兩個1點, 賺2元」及「恰出現三個1點, 賺3元」等四種情形, 其期望值約為 -0.0787。 依照相同規則, 投擲兩顆或四顆骰子的期望值分別約為 -0.3611 及 0.1844。 從期望值看來, 投擲三顆骰子雖然稍有利於莊家, 但不失為最接近公平的方式。若將期望值為 0 的骰子顆數稱為「公平顆數」, 但此賭戲的公平顆數是一個介於3、 4之間的非整數, 因此民間的莊家通常採取三顆六面的模式。
若將出現所押點數一顆時, 所賠金額與押金的比值稱為「賠率」 (本賭戲之賠率即為1), 並將期望值為 0 的賠率稱為「公平賠率」。 民間擲三顆骰子賭戲之公平賠率為何? 設賠率為 $t$, 押 1 點 1 元, 若出現一個 1 點, 得 $t$ 元; 兩個 1 點, 得 $2t$ 元; 三個 1 點, 得 $3t$ 元; 若未出現 1 點, 則損失 1 元。其期望值為 $\dfrac{-125+108t}{216}$。 當期望值為 0 時, 得公平賠率為 $t=\dfrac{125}{108}=1.157\ldots.$。
1.2. 投擲 $k$ 顆 $n$ 面之骰子的賭戲
我們接著考慮一般的情形, 考慮「投擲 $k$ 顆 $n$ 面骰子 (點數分別為 $1,2,\ldots,n$), 若出現所押點數 $a$ 顆 $(a\gt 0)$, 則獲得押金的 $at$ 倍; 若未出現所押點數, 則沒收押金」之賭戲, 試問公平賠率 $t$ 為何? 假設押 1 點 1 元, 輸贏情況如下:
出現 1 點之骰子數 | 出現 1 點骰子之排列數 | 其它點數骰子之排列數 | 輸贏金額 |
0 1 $\vdots$ $k$ | $C_0^k$ $C_1^k$ $\vdots$ $C_k^k$ | $(n-1)^k$ $(n-1)^{k-1}$ $\vdots$ $(n-1)^{k-k}$ | -1 $t$ $\vdots$ $kt$ |
其期望值為 \begin{eqnarray*} &&\hskip -25pt \frac{C_0^k\times (n-1)^k\times (-1)}{n^k}+\cdots+\frac{C_i^k\times (n-1)^{k-i}\times it}{n^k}+\cdots+\frac{C_k^k\times (n-1)^{k-k}\times kt}{n^k}\\ &=&\frac{-(n-1)^k+t\sum_{i=1}^k C_i^k\times (n-1)^{k-i}\times i}{n^k} \end{eqnarray*} 當期望值為 0 時, 得公平賠率 \begin{equation} t=\dfrac{(n-1)^k}{\displaystyle\sum_{i=1}^k C_i^k\times (n-1)^{k-i}\times i}\label{1} \end{equation} 式中分母 $\displaystyle\sum_{i=1}^k C_{i}^{k}\times (n-1)^{k-i} \times i= \displaystyle\sum_{i=1}^k k\times C^{k-1}_{i-1}\times (n-1)^{k-i}$。 當令 $j=i-1$ 時,左式可化簡為 $$k\times \sum_{j=0}^{k-1}C_j^{k-1}\times (n-1)^{(k-1)-j}=k\times n^{k-1}$$ 代入 \eqref{1}, 得公平賠率 \begin{equation} t=\dfrac{(n-1)^k}{kn^{k-1}}\label{2} \end{equation} 我們將在下一節探討若放寬顆數須為整數的限制時, 民間賭戲的公平顆數的相關問題。
2. 利用 Maple 求解公平顆數
若放寬顆數須為整數的限制, 則民間賭戲的公平顆數為何? 將 $t=1$、 $n=6$ 代入 \eqref{2}, 則公平顆數即為
$5^k-k6^{k-1}=0$ 的解。 利用 Maple 求解, 得 $k$ 值:
$\gt fsolve(5^{\land} x-x*6^{\land}(x-1)=0,x);$
$$3.292126772$$
接著利用 Maple 分別計算 $n=10$ 及 $n=1,000$ 時之骰子的公平顆數。
$\gt fsolve(9^{\land}x-x*10^{\land}(x-1)=0,x);$
$$5.564147008$$
$\gt fsolve(999^{\land}x-x*1000^{\land}(x-1)=0,x);$
$$567.0406229$$
將 $n=6$、10、50、150、200、400、900、1,000 之公平顆數列表如下,
$n$ | $k$ | $k/n$ |
6 10 50 150 200 400 900 1000 | 3.29212677 5.56414701 28.2536524 84.9685761 113.325814 226.754583 510.326289 567.040623 | 0.5486877953 0.5564147008 0.5650730472 0.5664571741 0.5666290715 0.5668864568 0.5670292100 0.5670406229 |
從中不難發現 $k/n$ 的值都相當接近。 於是我們大膽猜測:當 $n$ 越來越大時, $k/n$ 將會趨近於某一個定值。 我們將觀察以 $n$ 為變數的函數 $s=k/n$ 的漸近性質。將 $k=sn$ 及 $t=1$ 代入 \eqref{2},化簡得 $\dfrac{(n-1)^{sn}}{n^{sn}}=s$,再化簡得 \begin{equation} (1-\frac 1n)^n=s^{\frac 1s}\label{3} \end{equation} 我們再利用 Maple, 分別計算 $n=10,000$、 $n=100,000$ 及 $n=1,000,000$ 時, 所對應的 $s$ 值。 $\gt fsolve((1-1/10000)^{\land} 10000=s^{\land} (1/s),s);$ $$0.5671330276$$ $ \gt fsolve((1-1/100000)^{\land}100000=s^{\land}(1/s),s);$ $$0.5671422642$$ $\gt fsolve((1-1/1000000)^{\land} 1000000=s^{\land} (1/s),s);$ $$0.5671431878$$ 將三種面數之 $s$ 值列表如下,
$n$ | $s$ |
10,000 | 0.5671330276 |
100,000 | 0.5671422642 |
1,000,000 | 0.5671431878 |
我們相信當 $n$ 越來越大時, $s$ 會趨近於一個定值。
中學階段的數學工具不足以求出 $s$ 來, 我們再次利用 Maple 來求解 \eqref{3}
$\gt solve((1-1/n)^{\land}n=s^{\land}(1/s),s);$
得到
\begin{equation}
s=\dfrac{-\hbox{Lambert W}\Big(-n\ln(\frac{n-1}{n})\Big)}{n\ln(\frac{n-1}{n})}\label{4}
\end{equation}
式 4 中, Maple 利用 Lambert W 函數表出 $s$ 的值來。
Lambert W函數 (朗伯 W 函數), 又稱為「歐米加函數」或「乘積對數」, 是複變函數 $f(z)=ze^z$ 的反函數。即對所有的複數 $z$, 可以得到 $W(z)e^{W(z)}=z$。 事實上, Lambert W 函數是一個多值函數。 若限制 $W$, $x$ 為實數, 則函數僅對於 $x\ge -1/e\approx -0.3678\cdots$ 有定義, 在區間 $(-1/e, 0)$ 內是多值的; 如果加上 $w\ge -1$ 的限制, 則定義了一個如下圖的單值函數 $W(x)$。
Lambert W 函數雖不能用初等函數來表示, 但在諸多領域有廣泛的運用, 例如它可以用來解許多含有指數的方程, 也出現在某些微分方程的解中;
在組合數學方面, 則運用於樹狀圖個數的計算。 (以上資料, 引自維基百科)我們則在前兩節中, 藉著投擲骰子的賭戲情境, 透過Maple計算上的協助,
也引出了 Lambert W 函數。
式 \eqref{4} 中, 利用 l'Hospital Rule, 得
$$\lim_{n\to\infty}\Big(-n\ln(\frac{n-1}{n})\Big)=1.$$
故得
$$\lim_{n\to\infty} s=\dfrac{\lim_{n\to\infty}\hbox{Lambert W}\Big(-n\ln(\frac{n-1}{n})\Big)}{\lim_{n\to\infty}\Big(-n\ln(\frac{n-1}{n})\Big)}
=\hbox{Lambert W}(1) .$$
查詢維基百科, 得 $\hbox{Lambert W}(1)=\Omega$, 利用 Maple 計算其近似值。
$\gt evalf((LambertW(1)),60);$
$$ 0.567143290409783872999968662210355549753815787186512508135131$$
故得賠率為 1 之賭戲, 當 $n$ 夠大時, $s$ 會趨近於 $\Omega$。
4. 更進一步的分析
在成功的解出賠率為 1 時, $s$ 的值趨近於一個定數 $\Omega$ 之後, 我們再問賠率為 $t$ 時的 $s$ 值是否也有類似的性質? 將 $k=ns$ 代入 \eqref{2}, 化簡得 $st=(1-1/n)^{sn}$, 當 $n$ 無限大時, 再化簡為 $st=e^{-s}$, 得 $se^s=1/t$, 利用 Lambert W 函數, 即得 \begin{equation} s=\hbox{Lambert W}(1/t)\label{5} \end{equation}
不難得知, 給定骰子面數, 當賭局賠率越低時, 公平顆數就越高。 但是否可能出現賠率很低, 而使得公平顆數幾乎與骰子面數相當, 甚或超過的狀況呢? 直覺上是有可能的, 但此時賠率為何? 試求公平顆數等於骰子面數時的賠率, 將 $s=1$ 代入 \eqref{5}, 得 $\hbox{Lambert W}(1/t)=1$, 因為 $\hbox{Lambert W}(e)=1$,
故得當 $n$ 無限大時, $t=e^{-1}=0.3678\cdots$。
參考文獻
---本文作者任教苗栗縣立興華高中---