作者 chordate (封侯事在)
標題 [討論] 為什麼早期的RNG會有這麼明顯的問題
時間 Mon Jun 26 09:32:17 2023



https://www.youtube.com/watch?v=6YhkkyXydNI&t=316s

這裡面提到,任天堂在開發GB版的俄羅斯方塊時,

有某個方塊出現的頻率高了40%。

後來任天堂的程式設計員和Henk Rogers一起解決這個問題

不過他們解決的方法我是覺得有點怪:

他們是把那個多出現的方塊代號依次+1,+2,+3,+4,+5,+6,+7

這樣不是會讓那個方塊出現的頻率降到比應該有的頻率還低嗎?

(本來是140%,平均分配後其他方塊都多了20%,而該方塊只剩下20%,
  這部分不知道有沒有版友可以解釋一下是怎麼修正成功的)

回到本來問題上,有這麼明顯毛病的RNG怎麼會存在的?

還是那個時候的RNG都是手刻的?

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.7.252 (臺灣)
※ 作者: chordate 2023-06-26 09:32:17
※ 文章代碼(AID): #1acEgaLW (C_Chat)
※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1687743140.A.560.html
Bencrie: 遊戲通常不會用真亂數啦1F 06/26 09:34
chrisjeremy: 所謂的亂數也只是ㄧ條數學方程式而已
依據使用的亂數方程式不同 跑出來的結果也會不同2F 06/26 09:35
midas82539: 亂數是無限的,但你的方塊是有限的,所以你必然有個4F 06/26 09:39
chrisjeremy: 不知道它們的做法如何 以前遊戲主機在硬體效能不足或是為了確保機率順序是固定的 不會因為重開而不同會先跑一組亂數後存起來使用 就可能會出現很偏頗的情5F 06/26 09:40
midas82539: 要把亂數分類成生成方塊的規則(函式),假如是倍率8F 06/26 09:40
chrisjeremy: 況9F 06/26 09:40
nahsnib: 通常沒有真隨機,如果生成的亂數表太爛就會這樣10F 06/26 09:40
midas82539: 那生成機率就可能有差,那你就必須另外靠加權來修正11F 06/26 09:40
RuinAngel: 早期主機有的沒有內建 RNG 所以開發者自己寫 RNG 啊,寫的不好或是用的 Seed 有問題就會沒那麼隨機12F 06/26 09:41
midas82539: 另外你必須要理解的是,真正的隨機機率僅為相對機率14F 06/26 09:43
nahsnib: 然後他是把『多出』的那幾次重分配,所以就OK了15F 06/26 09:43

問題就是怎麼判斷『多出』
如果說計算資源很拮据,那還要判斷『多出』感覺是不划算的。

deepdish: 考古題喔16F 06/26 09:43
跟考古題有啥相關...
不要不爽就隨便指責好嗎。
※ 編輯: chordate (114.32.7.252 臺灣), 06/26/2023 09:45:15
midas82539: 比如說丟硬幣正反,你丟十次的順序可能是4:617F 06/26 09:45
SangoGO: 真隨機的情況,連續5次一樣的方塊或極端的出現是可能的,後來的模型為了避免才加入避免極端產生18F 06/26 09:45
midas82539: 到1000次的450:550,那你要說這硬幣不公正嗎?不
實際上來說樣本還是反映了只要夠多擲出某面機率會從20F 06/26 09:45
nisioisin: nds寶可夢也是同個時間開機每次都會抓到6V百變怪呀22F 06/26 09:46
midas82539: 40%->45%->趨向50%,但如果你沒有擲夠多的確會有45%23F 06/26 09:46
SangoGO: 隨機播放100首歌,有5首歌是A,在機率上可以出現「連播5次A的歌」這種『體感上不隨機的事件』24F 06/26 09:47
midas82539: 的錯覺。你要彌補這一點的話也是要加工
某種程度來說這也反映了為何抽卡要有保底的加權機制不然真的完全隨機非洲人會比你想像的還多26F 06/26 09:48

我想問的倒不是這個,袋子系統剛好連結的影片也有提到。
不過他們說在GB上不是這樣做的。
※ 編輯: chordate (114.32.7.252 臺灣), 06/26/2023 09:50:17
e2167471: 應該就是說他原始RNG有明顯bias  但是原始RNG作為一個選出方塊的function  他們予以保留  只是另外用偽隨機的方式加入一些數字  讓原始的bias變得不明顯
就有點像原本七個籃子  每個籃子都裝不同的方塊
每次重開機  都會有去拿特定某幾籃的傾向  他們解不掉這件事  所以就在每次拿完之後就往每個籃子裡倒進其他六種方塊  那個傾向還是會在  只是長期下來會比較公正29F 06/26 10:24

--
作者 chordate 的最新發文:
點此顯示更多發文記錄