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

1. 遊戲介紹

0x1:遊戲規則

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

年會會場內全部人都經過釘釘羣的方式參與該遊戲,會場人數通常爲200~300人(大部分能時候是超過紅包最大拆分份數):框架

1. 由老闆發出第一個種子紅包,金額 b = 500,紅包分紅100份,每份金額是隨機的,紅包發到釘釘羣后,你們能夠由兩種選擇:搶 or 不搶;
2. 若是選擇不搶,則本輪無損失也沒有收益。
3. 若是選擇了搶,還須要拼手速,由於大部分時候選擇搶的同窗個數依然大於紅包最大拆分份數;
4. 全部紅包拆分份數都被搶完以後,由本輪搶的最大金額的同窗發下輪的紅包,每輪的紅包金額須要在以前的基礎上增長200;
5. 遊戲循環進行,直到達到5000元上限結束;

0x2:遊戲策略分析

1. 伯努利實驗抽象建模

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

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

按照伯努利實驗的三準則,這個遊戲能夠抽象爲伯努利實驗。所以咱們能夠二項分佈或者泊松分佈來對是否搶到那份最大紅包進行數學建模。工具

可是問題沒有這麼簡單,玩家還須要思考一個最重要的問題,這個遊戲有」前景「嗎?咱們知道,賭博是一個」沒有前景「的遊戲,這是從數學指望的角度分析獲得的。spa

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

從收益的角度來看,單次紅包遊戲的收益指望爲:code

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

由於紅包是被分紅100份的,所以收益要 * 1/100;同時,隨着輪數的增大,越到後面,n越多,本輪的紅包金額就越多。htm

從上述公式能夠看到,從指望角度來看,玩的越多,損失的就越多。blog

可是!!有一點要注意,就是函數的導數趨勢是很低的,咱們將公式在圖像中表示:遊戲

換句話說,這個公式主要受到 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!!

相關文章
相關標籤/搜索