Re: [閒聊] 爐石的RNG

作者: aaaaajack (丁丁是個人才)   2015-11-04 16:03:32
※ 引述《Hsu1025 ()》之銘言:
: 這遊戲的RNG是怎麼運作的?
: 舉個例子:伐木機
: 雖然BZ沒說(還是有說?),每個掉落的2費怪機率應該都相等
: 但是大家應該都有遇過在同一天內遇到重複的怪物的經驗
: 這應該是跟演算法有關吧 (我也不懂程式語言)
: 就我玩過BZ的遊戲來說,這種情況算是屢見不鮮
: WC3信長,-V的時候也常常遇到同一天內選到重複的角色
: WOW、暗黑也有類似的經驗
: 另外就是裝備掉落、卡牌抽獎這種東西,剛開始都會給甜頭
: 之後就會修正到(公司的)期望值
: 好像聽過有人說程式的機率都不是真機率,只是寫法不同,運作方式不同
: 這種遊戲它應該都是寫得穩賺不賠吧?
抱歉直接噓下去有點太衝動了,生日問題的確比較反直覺
簡單來說爐石有84張2費手下,隨機生成兩張相同的機率是1/84
那你可能會覺得隨機生個15張重複的機率還是不高
事實上15張裡面「兩兩比較」的組合高達105種
雖然跟做105次「隨機生成兩張並比較」不一樣
不過作為一種直覺上的估計方式還是可以的
至少能夠解釋「重複的機率並不低」
詳細的計算、估值公式就麻煩自己看看維基百科了
至於隨機數的問題,寫程式用的確實通常是「偽隨機數」
之所以稱為偽隨機數,是因為它是由一個決定性的過程產生的
以C的rand()為例(可能受compiler跟執行環境影響)
我電腦上的gcc在不改變seed的情況下,產生出來的前5個數
固定會是41、18467、6334、26500、19169
簡單來說大概就是你知道seed跟演算法,就可以劈哩啪啦算出整串數字
至於所謂真隨機數來自物理現象,比如某些量子力學效應
相較之下偽隨機數的取得就容易得多,所以一般還是用偽隨機數
偽隨機數可能會有不少缺陷,我不懂統計就不亂說了
但至少均勻分布算是基本要求
程式寫法上我想他們也不會自找麻煩,應該就是亂數在哪個區間就掉什麼
此外,你能見到的只是亂數序列中的一小部分,取樣上應該也沒什麼規律性
所以RNG有什麼缺陷也不容易被你看到,除非真的很嚴重
我是覺得不太需要去懷疑RNG啦......

Links booklink

Contact Us: admin [ a t ] ucptt.com