精華區beta C_Chat 關於我們 聯絡資訊
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 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1687743140.A.560.html
Bencrie: 遊戲通常不會用真亂數啦 06/26 09:34
chrisjeremy: 所謂的亂數也只是ㄧ條數學方程式而已 06/26 09:35
chrisjeremy: 依據使用的亂數方程式不同 跑出來的結果也會不同 06/26 09:36
midas82539: 亂數是無限的,但你的方塊是有限的,所以你必然有個 06/26 09:39
chrisjeremy: 不知道它們的做法如何 以前遊戲主機在硬體效能不足 06/26 09:40
chrisjeremy: 或是為了確保機率順序是固定的 不會因為重開而不同 06/26 09:40
chrisjeremy: 會先跑一組亂數後存起來使用 就可能會出現很偏頗的情 06/26 09:40
midas82539: 要把亂數分類成生成方塊的規則(函式),假如是倍率 06/26 09:40
chrisjeremy: 況 06/26 09:40
nahsnib: 通常沒有真隨機,如果生成的亂數表太爛就會這樣 06/26 09:40
midas82539: 那生成機率就可能有差,那你就必須另外靠加權來修正 06/26 09:40
RuinAngel: 早期主機有的沒有內建 RNG 所以開發者自己寫 RNG 啊, 06/26 09:41
RuinAngel: 寫的不好或是用的 Seed 有問題就會沒那麼隨機 06/26 09:41
midas82539: 另外你必須要理解的是,真正的隨機機率僅為相對機率 06/26 09:43
nahsnib: 然後他是把『多出』的那幾次重分配,所以就OK了 06/26 09:43
問題就是怎麼判斷『多出』 如果說計算資源很拮据,那還要判斷『多出』感覺是不划算的。
deepdish: 考古題喔 06/26 09:43
跟考古題有啥相關... 不要不爽就隨便指責好嗎。 ※ 編輯: chordate (114.32.7.252 臺灣), 06/26/2023 09:45:15
midas82539: 比如說丟硬幣正反,你丟十次的順序可能是4:6 06/26 09:45
SangoGO: 真隨機的情況,連續5次一樣的方塊或極端的出現是可能的 06/26 09:45
SangoGO: ,後來的模型為了避免才加入避免極端產生 06/26 09:45
midas82539: 到1000次的450:550,那你要說這硬幣不公正嗎?不 06/26 09:45
midas82539: 實際上來說樣本還是反映了只要夠多擲出某面機率會從 06/26 09:46
nisioisin: nds寶可夢也是同個時間開機每次都會抓到6V百變怪呀 06/26 09:46
midas82539: 40%->45%->趨向50%,但如果你沒有擲夠多的確會有45% 06/26 09:46
SangoGO: 隨機播放100首歌,有5首歌是A,在機率上可以出現「連播5 06/26 09:47
SangoGO: 次A的歌」這種『體感上不隨機的事件』 06/26 09:47
midas82539: 的錯覺。你要彌補這一點的話也是要加工 06/26 09:48
midas82539: 某種程度來說這也反映了為何抽卡要有保底的加權機制 06/26 09:48
midas82539: 不然真的完全隨機非洲人會比你想像的還多 06/26 09:48
我想問的倒不是這個,袋子系統剛好連結的影片也有提到。 不過他們說在GB上不是這樣做的。 ※ 編輯: chordate (114.32.7.252 臺灣), 06/26/2023 09:50:17
e2167471: 應該就是說他原始RNG有明顯bias 但是原始RNG作為一個 06/26 10:24
e2167471: 選出方塊的function 他們予以保留 只是另外用偽隨機的 06/26 10:25
e2167471: 方式加入一些數字 讓原始的bias變得不明顯 06/26 10:26
e2167471: 就有點像原本七個籃子 每個籃子都裝不同的方塊 06/26 10:28
e2167471: 每次重開機 都會有去拿特定某幾籃的傾向 他們解不掉這 06/26 10:29
e2167471: 件事 所以就在每次拿完之後就往每個籃子裡倒進其他六種 06/26 10:30
e2167471: 方塊 那個傾向還是會在 只是長期下來會比較公正 06/26 10:30