唔... 很多板友說的對,機率的東西抽1萬次真是太兒戲了,
我先入為主覺得這是理所當然的結果,一心求快而忽略了些基本的東西,
非常抱歉... <(_ _)>
花了點時間把實驗做得完整一點...
對照組: 直接抽
實驗組: 先抽30次友抽,全槓龜再用心抽
各抽1億次,結果如下:
regular, UR: 1000027 cards, (1.000%)
friend pick first, UR: 1000331 cards, (1.000%)
1億抽的結果,一般正常抽取得到了1,000,027張UR,
而先用30張友情抽篩選再心抽則是得到了1,000,331張UR。
可以看得出來,這 python 內建的 random 函數庫很不錯,
1億抽之下,正常抽選的機率非常貼近 1% 世界線,
而用友抽篩選擇是約略增加了萬分之三的獲獎率。
當然這也只是個相當粗糙的實驗,LLSIF 號稱全球 4000萬 download,
1億抽還不夠每個帳號抽一單,而且我也只做了一次,
主要是這程式跑起來也挺花時間的,從昨晚到現在花了10幾個小時吧,
我把程式附在後面,更多抽的實驗就留給有興趣的朋友繼續囉...
稍微知道隨機函數在程式裡的運作原理的朋友應該可以理解這結果,
對一個隨機均勻分佈的序列,一直做把特定的數字拿掉的動作,
當然會造成其他數字的濃度增加,效果如何則是要看各個隨機函數的設計。
後續還有很多板友提出各式各樣的抽選設計方式會造成友抽試水溫無效,
嗯...,我的感覺是...,沒錯,的確有其他的設計方法,
但是,明明一行 r = random() 就能解決的程式,幹嘛要弄那麼複雜?
以商業遊戲 app 來說,原本的隨機函式已經足夠好了,
工程師光是抓 bug,讓每週活動準時上架都是個挑戰,
就連一堆人創了幾十個幾佰個帳號刷 UR 起手,甚至販賣,這種都不防了,
真的有人會那麼閒,花時間去求追完美的隨機結果嗎?
又不是要做什麼超高精度的科學實驗...
更別提人家原本 random() 就已經是經過千錘百鍊,有很良好的特性,
亂改架構搞不好還讓 random 函式變得更不隨機...
回頭來說,先用友抽篩選到底算不算有用,唔...,就看各人吧~~
現在有兩種抽法,一種是 1%,另一種是 1.0003%,
覺得沒差的人就隨心抽,其實真的也沒差,
萬分之三的機率,抽中100張UR還不夠你多一張,
不過,對我而言,友情抽擺在那裡,本來就會抽掉的,
只不過是調配了一下抽選的順序就加了 0.0003%,why not?