雖然有人已經厭倦了ALS冰桶挑戰,但是你不得不承認這是一個極為成功的策劃。根據維基百科,這項挑戰是這樣的:

挑戰者需要將一桶冰水倒在自己頭上。

如果被提名者不願意接受挑戰,則需向美國肌萎縮性脊髓側索硬化症協會(ALS Association)捐款。

被提名者需要在24小時之內完成挑戰或捐款。

挑戰者要提名三個人繼續參加冰桶挑戰。

這項活動在不斷傳播,使得越來越多的人參加挑戰,也有越來越多的人被提名。那麼全世界所有人都參加冰桶挑戰究竟需要多長時間呢?讓我們來估計的。

冰桶挑戰模型1

在第一個模型中,我們遵循如下假設:

每個人都會參加冰桶挑戰。

挑戰者會提名三人繼續參加挑戰。

每個人會在被提名後兩天時間內完成挑戰。

每個人只會被提名一次。

挑戰會一直持續,直到全世界70億人全部都參加冰桶挑戰。那麼,究竟需要多久呢?運用數學方法解決此問題並沒有什麼困難,事實上十分簡單。需要做的事情就是設定一個循環周期,假設起初有n1個人參加挑戰,那麼一個循環周期之後已挑戰人數為n2=n1+3×n1,也就是n14倍。接下來就是不斷計算,直到參加人數到達70億。

經過計算,如果初始人數為1,周期為2天,則需要35天左右便可使全世界所有人都參加冰桶挑戰。挑戰人數會隨時間呈線性增長,這是因為每一周期人數都是前一周期人數的4倍,這是一個指數函數。

冰桶挑戰模型2——更加接近實際情況

顯然,在模型1中存在一些問題,讓我們做一些調整:

當提名一個人時,有可能此人已經參加過冰桶挑戰。

假設被提名人沒有參加挑戰的概率等於未參加人數與總人數的比值。

所以,我們得到了被提名人沒有參加挑戰的概率公式為:

P(new)=1-nIBC/npopulation

其中,nIBC為已參加挑戰人數,npopulation為總人數。如此一來,第一個挑戰者提名人未參加的概率為100%,而當大多數人已經參加過挑戰後,提名未參加人的概率會變得非常低。

好吧,讓我們以此模擬一下。首先做一個總人數的列表,然後使用隨機函數對每一位挑戰者選出三位提名者,再檢驗是否已經全部參加。但是這個方法要處理擁有70億項的列表,有些過於繁瑣。

我們可以簡化一下:舉例來明,假設地球上共有100人,而其中80人已經參加挑戰,再次提名時未參加挑戰的概率只有20%,如此一來就不需要使用隨機函數選擇提名者而後再篩選出其中的已挑戰者。這樣的簡化雖然不夠準確,但是也不會太差。當處理龐大數字時,我們可以認為在這種情況下有20%的提名者會繼續參加挑戰。

接下來,我們比較一下模型1和模型2。在第29天時,參加挑戰的人數為2.68億,兩個模型幾乎相同,模型2的調整效果似乎微乎其微。只有到最後幾輪中,兩個模型才有所區別,模型2會因提名概率很低而減緩挑戰速度。但是這時已經太遲了,整個世界還是會徜徉在一片冰水之中。

 

arrow
arrow
    全站熱搜

    Win Driver Blog 發表在 痞客邦 留言(0) 人氣()