關於年會搶紅包遊戲的一個思考

Andrew.Hann發表於2019-02-24

1. 遊戲介紹

0x1:遊戲規則

該遊戲名叫紅包接龍,規則如下:

年會會場內所有人都通過釘釘群的方式參與該遊戲,會場人數一般為200~300人(大部分能時候是超過紅包最大拆分份數):

1. 由老闆發出第一個種子紅包,金額 b = 500,紅包分成100份,每份金額是隨機的,紅包發到釘釘群后,大家可以由兩種選擇:搶 or 不搶;
2. 如果選擇不搶,則本輪無損失也沒有收益。
3. 如果選擇了搶,還需要拼手速,因為大部分時候選擇搶的同學個數依然大於紅包最大拆分份數;
4. 所有紅包拆分份數都被搶完之後,由本輪搶的最大金額的同學發下輪的紅包,每輪的紅包金額需要在之前的基礎上增加200;
5. 遊戲迴圈進行,直到達到5000元上限結束;

0x2:遊戲策略分析

1. 伯努利實驗抽象建模

先拋開影響是否能搶到的網速問題,每次搶紅包只有兩種結果:

p=0.99:不是搶到最大的那份紅包;
p=0.01:搶到最大的那份紅包;

按照伯努利實驗的三準則,這個遊戲可以抽象為伯努利實驗。因此我們可以二項分佈或者泊松分佈來對是否搶到那份最大紅包進行數學建模。

但是問題沒有這麼簡單,玩家還需要思考一個最重要的問題,這個遊戲有”前景“嗎?我們知道,賭博是一個”沒有前景“的遊戲,這是從數學期望的角度分析得到的。

2. 基於數學期望分析遊戲的損失風險

從收益的角度來看,單次紅包遊戲的收益期望為:

(搶到非最大那份紅包的概率 * 收益 - 搶到最大那份紅包的概率 * 損失 )* 本輪的紅包金額 = (99 / 100 * 1 / 100 - 1 / 100)* (500 + 200n)= 1 / 10000 * (500 + 200n)

因為紅包是被分成100份的,因此收益要 * 1/100;同時,隨著輪數的增大,越到後面,n越多,本輪的紅包金額就越多。

從上述公式可以看到,從期望角度來看,玩的越多,損失的就越多。

但是!!有一點要注意,就是函式的導數趨勢是很低的,我們將公式在影象中表示:

換句話說,這個公式主要受到 1/10000 的影響,後面的乘積因子受到了壓制。再換一個通俗的說法就是,玩1次和玩100次,最終的損失期望在絕對數值上不會差很多(0.07 ~ 2.05),儘管翻了100倍。

所以,從期望的角度看,多玩幾輪損失也還好,當然不能無限擴大n次數,畢竟從期望上看,玩的越多,虧的就越多,當滿足大數定理的時候,虧就成為必然的了。

3. 基於幾何分佈的角度分析遊戲的損失風險

從上個小節分析數學期望的過程中,我們其實發現這個遊戲隱藏了一個很大的策略前提,在這場遊戲中,只要抽中一次最大的紅包份,基本上整場遊戲就是虧本了,即一次失敗,就前功盡棄。

所以,我們要分析的是,玩的遊戲輪數和首次出現負結果的概率的關係。顯然,幾何分佈是最適合對這個場景進行數學建模的工具。

幾何分佈(Geometric distribution)是離散型概率分佈。它定義為:在n次伯努利試驗中,試驗k次才得到第一次成功的機率。詳細地說,是:前k-1次皆失敗,第k次成功的概率。 

這裡我們定義n為參與遊戲的次數,成功概率定義為抽中最大紅包的概率。

p = 1/100:出現負結果,即抽中最大紅包;
k=隨機變數,表示參與遊戲的次數;

P(X = k)= ,k=1,2,3...N.

這個函式是一個單調遞減的函式,最大值是當k=1時,P(x=1)= 0.01,隨著x的增加,概率逐漸減小。

通俗地說就是,隨著你玩的次數k增多,”玩了k次才碰到前功盡棄的最大紅包的概率是逐漸下降的“,玩的次數越多,危險也就越大,玩的次數越少,危險越小,最小的危險就是隻玩1次,風險為1%。

4. 基於泊松分佈的角度分析遊戲的收益風險

前兩小節分析了遊戲的風險,接下來來分析下游戲的收益前景。

我們將問題轉化為泊松分佈的框架內進行思考和計算:

1. n:遊戲的次數;
2. p=99/100:盈利的概率;
3. λ = np = 0.99n:泊松分佈引數;

從上圖可以看到,n越大,λ也就越大,整體泊松分佈的均值中心就越大,收益的整體期望也就越大。

所以從這個角度來說,單純看搶到紅包的收益,肯定是玩的次數越多,收益越多。

0x3:從極值角度得到一個理論最優策略

如果我們將收益函式和損失函式整合起來,得到一個最終的成果函式,對其求極值,會發現最優點是k=1的時候,因為越往後玩,損失的整體風險是不斷提高的。

也就說,只玩一次就收手!!

這可以看成是一個理論最優值,可惜這不符合我們的”賭徒心理“,而且在實際生活中,我們也沒必要這麼保守,畢竟紅包也沒幾個錢,就算真的抽中了要發,損失也還好,這種情況下,人們常常傾向於冒一定的風險,去獲得更高的收益。但問題是具體要玩多少次呢?

0x4:畫出泊松分佈累計概率分佈圖

畫出泊松分佈的概率分佈圖:

# -*- coding:utf-8 -*-

from scipy.stats import poisson
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np

N = 20
p = 0.99
# mu = N * p
data = poisson.rvs(mu=p*N, loc=0, size=N)
print "Mean: %f" % np.mean(data)
print "SD: %f" % np.std(data, ddof=1)

plt.figure()
plt.hist(data, bins=1, normed=True, histtype='stepfilled')
plt.xlim(0, N * 1)
plt.xlabel("Rounds")
plt.title("Rea Packge Game")
plt.show()

從圖中可以看出,13次左右的時候(其實也就是靠近期望均值中心的次數),我們已經能夠獲得”大部分“的收益了,再往後的收益成本比就會越來越低。而且,次數越多,風險也在不斷提高。

因此,選擇參與13次遊戲,是一個比較明智的選擇。

同時,我們也可以計算一下此時的損失風險:

1. P(參與了13次,一次都沒有抽中最大紅包)= 0.99^13 = 0.877521022999:概率還是相比比較高的;
2. E(損失)=  1 / 10000 * (500 + 200 * 13)= 0.31

 

2. 紅包遊戲該怎麼玩呢? 

經過上面的分析,讀者朋友可能要蒙了,這個遊戲看起來是一個風險與收益並存的遊戲,那我們到底應該採取什麼樣的策略呢?是儘量多的參與搶,還是儘量少的參與搶呢?

首先一點筆者要強調,世界上的所有事情都這樣的,沒有非黑即白的分界線,我們所要做的是,在黑白之間的灰色地帶,找到一個最佳的平衡點,在儘可能少的損失情況下,得到儘可能多的收益。另一方面,每個人對風險的承受能力都是不同的,有的人可以接受高風險高回報,有的人是低風險低迴報。

貝葉斯推斷要做的就是將所有未知因素柔和起來,得出一個風險與收益的綜合概率分佈函式,接下來就是推斷的環節,至於如何進行決策,就看使用者自己的策略和選擇了。

0x1:最終的策略

這裡筆者給出幾點建設性建議:

1. 首先,根據大老闆給出的種子金額以及封頂金額進行一個估算,得到 N 的最大值,例如本文的20;
2. 然後,計算【0,N】之間的95%正態區間的負區間,也就是左區間的整數MIN值,例如本文的13;
3. 將13作為我們整晚遊戲的參與上限,同時建立止損機制,如果在13輪內都沒有抽中最大紅包,則繼續,但是最多隻參與13次,如果在這之前不小心抽總了一次最大紅包,立即停止,及時止損;

筆者需要強調的是,上述的策略是一種偏向保守的策略,即:在儘可能多獲得收益情況下,儘可能少損失

在實際的生活中,我們可以繼續提高風險,來獲得更高的收益,這取決於你對風險的承受能力,其實貝葉斯推斷的核心思想也就在這裡,損失的函式的計算不只是純數學上的計算,對風險的承受能力也應該被考慮在損失函式的計算之中。

關於這個思想的討論,讀者朋友可以參閱我另一篇博文

that's it!!

 

相關文章