Re: [討論] 手遊機率

作者: archon (內湖流川楓)   2017-11-27 16:50:10
※ 引述《NoNameL (無名L)》之銘言:
: → arrenwu: 差就只差在是不是有什麼東西會不會跟時間有關
: → arrenwu: 如果內部機制跟時間無關,你啥小策略都沒差
欸... 針對這點,我有個不同的想法...,先說結論:
正因為相信遊戲的隨機是用 random(),
所以,我是友抽派,先拿友情抽試水溫,
如果連 3-40 抽摃龜時,才會去抽大的。
各家用的亂數引擎不盡相同,但原理是差不多的,
有興趣瞭解 random 原理的同學可以參考這裡~
https://msdn.microsoft.com/zh-tw/library/system.random(v=vs.110).aspx
基於推廣 LoveLive! 的私心,以下舉例都用 LLSIF 為背景。
以 UR 卡機率 1% 來說,我認為機率部份的程式大致如下:
r = rand() % 100 // 0~99 隨機產生一個數字
如果是 0,就給你 UR,如果是其他的數字,就給你其他的卡片。
友情抽呢?假設 R 卡機率為 5%,隨機出數字 0~4 給你 R,其他則是給你 N。
rand() 可想成一個隨機序列,把 scale 拉大來看,假設100萬次好了,
理想上就是 0~99 每個數字各出現1萬次。
我先用友抽抽掉30張廢卡,接下來的99萬9仟9佰70次抽卡裡,中UR的機率就提高了。
這跟同時間有沒有人在跟我一起抽,或者有沒有人插隊都沒關係,
總之我就是把接下來序列裡的30次大數字跳過了。
這個作法,唯一的風險,就是寫抽卡那個 RD 吃飽了太閒,
UR 用 0 來出卡,R 用 95~99 出卡。
以一個腦子正常的工程師來講是不會這樣做的。
用這個方式,我在 UR 20%/ SR 80% 的歐洲抽之中,
 第二次就抽中了 UR,原本應該是五抽會中一抽的,但我只用兩抽就收工了!
 是不是很有用?給大家做參考~ ^^"
 不過後來又抽了三次都是 SR,回歸到 1/5 了... 機率真穩 ._.
作者: emptie ([ ])   2017-11-27 16:52:00
多想了吧 你抽好幾次是不是在同一個thread上執行都不知道
作者: tonyxfg (tonyxfg)   2017-11-27 16:52:00
友情抽是什麼意思?
作者: emptie ([ ])   2017-11-27 16:53:00
而且他也可以寫0-999999 然後0-9999出UR啊
作者: arrenwu (鍵盤的戰鬼)   2017-11-27 16:53:00
友情抽那邊可以更詳細說明嗎? 看不懂什麼是友情抽@@"
作者: wolver (超級大變態)   2017-11-27 16:54:00
那是人工讓大數據機率趨近於 亂數 但對單一個人來說那種絕對不是亂數,才會有歐洲人非洲人差別也就是某個人抽很多好卡,就會有倒楣鬼一直抽爛卡
作者: kashiwa27 (UDON)   2017-11-27 16:55:00
友情抽就是很多手遊都有的免費垃圾抽
作者: anumber (Everlasting GuiltyCrown)   2017-11-27 16:55:00
友情點就是大部分遊戲不能課金拿到的資源啦
作者: tonyxfg (tonyxfg)   2017-11-27 16:55:00
原來是這意思XD
作者: s2637726 (BBQ)   2017-11-27 16:56:00
又是賭徒
作者: ming1053 (ming)   2017-11-27 16:56:00
你沒考慮過分散式情況 可能不只一個worker在處理抽卡
作者: tonyxfg (tonyxfg)   2017-11-27 16:56:00
可是這樣也不對啊,照原po的說法會變成卡片總數固定,抽
作者: wolver (超級大變態)   2017-11-27 16:57:00
單一個體跟所有個體總和後的數據 這就是差別
作者: tonyxfg (tonyxfg)   2017-11-27 16:57:00
完不放回,但一般不太可能會這樣做吧?這樣只要準備足夠多的錢就能把卡池抽光光?
作者: arrenwu (鍵盤的戰鬼)   2017-11-27 16:58:00
戰女裡面有類似友情抽的機制嗎?
作者: Rain0224 (深語)   2017-11-27 16:59:00
沒有吧 @@
作者: CCapocalypse (CCinfinity)   2017-11-27 17:01:00
這招有效怎麼會有倒霉鬼? 真正的酋長怎樣做出來的就是r卡
作者: wolver (超級大變態)   2017-11-27 17:03:00
現實就是沒辦法做到單一玩家,自己有單一獨立的數據亂數所以爐石或那些卡牌遊戲才會有防臉黑機制
作者: OAzenO (すごいにゃ~)   2017-11-27 17:04:00
是的 探究到底就是電腦做不到真隨機
作者: wolver (超級大變態)   2017-11-27 17:04:00
幫那堆可憐的地獄倒楣鬼.至於歐洲人還是一樣歐洲所以前面確認你是非洲人還是歐洲人 再決定要不要玩
作者: krousxchen (城府很深)   2017-11-27 17:06:00
問題在於你確定隨機是在你本機執行的嗎??
作者: wolver (超級大變態)   2017-11-27 17:06:00
非洲人還要玩 那你就是要變成石油王. 否則跳比較快
作者: krousxchen (城府很深)   2017-11-27 17:07:00
如果都是在伺服器執行的,你那些友抽馬上被其他人洗掉
作者: shintrain (戰犯分析師)   2017-11-27 17:07:00
抽籤放回跟抽籤不放回的機率是一樣的
作者: shifa (西法)   2017-11-27 17:07:00
簡單說只要抓出歐洲人,其他人就是非洲人?我好像懂了什麼XD
作者: wolver (超級大變態)   2017-11-27 17:08:00
不太可能在本機 這樣很容易作弊.
作者: shintrain (戰犯分析師)   2017-11-27 17:08:00
所以你說先抽一些爛卡讓好卡的機率增加是錯的
作者: guogu   2017-11-27 17:08:00
並不會 通常不是一個數列在取 他是用時間當種子在取
作者: krousxchen (城府很深)   2017-11-27 17:08:00
而事實上,我遇過抽卡突然閃退,重開抽到的東西還在
作者: guogu   2017-11-27 17:09:00
用時間當種子在取的話那跟你前面抽幾次一點關係都沒用
作者: krousxchen (城府很深)   2017-11-27 17:09:00
所以抽卡絕對是在伺服執行的
作者: wolver (超級大變態)   2017-11-27 17:10:00
而且通常為了不讓SERVER負擔太大 很有可能還是先抽好然後USER抽的時候直接派抽好的結果給你
作者: krousxchen (城府很深)   2017-11-27 17:16:00
但如果別人那一千抽都是法老上身??
作者: lay10521 (小伊達)   2017-11-27 17:19:00
獨立事件
作者: howardjou (Hiro)   2017-11-27 17:23:00
可是你ㄧ台抽的數字在其它幾萬台面前可能被洗光了
作者: krousxchen (城府很深)   2017-11-27 17:26:00
你高興就好,因為一百萬分之30是很接近零的
作者: hsiehfat (Okami)   2017-11-27 17:27:00
問題是友抽的池和石抽的池根本不一樣啊...你為什麼覺得抽掉友抽就能影響石抽的結果?有些卡友抽抽不到,有些卡石抽抽不到所以終歸還是回到一句話:玩家根本無法得知伺服器端是怎麼實做隨機這件事情
作者: gn00399745 (Michael)   2017-11-27 17:28:00
你這篇的結論前提很多一個平均分布的樣本 你如何sample 他都還是平均的另外你可以去查一下memoryless property
作者: arrenwu (鍵盤的戰鬼)   2017-11-27 17:33:00
"序列長度夠大時各數字出現的次數差不多" 這隨機就行了Law of Large number 會保證你講的那件事情
作者: jimmy689 (吉米蛆蛆)   2017-11-27 17:36:00
你覺得每次處理你抽獎請求的服務器都是同一臺?
作者: hardyuse (Liu)   2017-11-27 17:39:00
之前才有某遊戲抽卡動手腳的新聞 你還相信random實作?整篇看下來我只覺得你在自high 很多細節不知道你是裝作沒看到還是真的沒看到
作者: bowcar (ほのかな予感から始まり)   2017-11-27 17:48:00
看一下 這作法就當偏方吧 反正友情點放著也沒用我是懂原PO想表達的意思啦,不過就像推文說的這前提很多就寧可信其有吧XD
作者: hollowland (顛倒鐘)   2017-11-27 17:50:00
一般來講 友情抽的random範圍應該跟課金抽依樣你這前提是友抽的範圍=課金的廢卡範圍我想不出來有什麼理由要這樣幹 比起特別縮小友抽範圍
作者: hardyuse (Liu)   2017-11-27 17:52:00
我說的嚴重了,不過我建議你不要對遊戲公司抱太大期望
作者: hollowland (顛倒鐘)   2017-11-27 17:52:00
直接給友抽另一個table不是比較乾脆
作者: hardyuse (Liu)   2017-11-27 17:53:00
你覺得不妥我第二和第三行推文可以刪除沒關係
作者: Xavy (グルグル回る)   2017-11-27 18:19:00
抽卡玄學自己信就好,不用說給人聽
作者: saulong (專業路人)   2017-11-27 18:30:00
我建議你寫個程式下去跑結果 證明有效即可
作者: hardyuse (Liu)   2017-11-27 18:32:00
saulong +1 我也建議你跑程式證明你的理論
作者: dodomilk (豆豆奶)   2017-11-27 18:40:00
糟糕你講得好像有點道理,不過如果沒有足夠次數驗證我是不會信的......有些噓文的可能不了解程式的運作方式
作者: shinchen (starrydawn星晨)   2017-11-27 18:48:00
你怎麼知道友抽跟石抽都是用數字小的當作中獎? 如果設計石抽0中獎 友抽95~99中獎 照你的理論不就反過來了
作者: R0bin03   2017-11-27 18:48:00
用程式觀念試著解釋而已也要被說是玄學…用程式觀念試著解釋而已也要被說是玄學…重複推到抱歉
作者: dodomilk (豆豆奶)   2017-11-27 18:52:00
@shinchen 原PO自己有提到,一般工程師不會這樣折磨自己要證明的話就分兩組,一組直接投石抽,一組先抽友抽連續30次二星以下,再抽石抽。看兩者石抽四五星機率有沒有差不過我猜可能要抽個幾百次才能達到p<0.05
作者: nomorethings (水樹奈々様最高!!)   2017-11-27 18:57:00
友情抽增加機率我也是笑笑的,這種感覺文又沒有足夠數據證明,那麼厲害怎麼不做個統計來證明你的理論咧?
作者: shinchen (starrydawn星晨)   2017-11-27 18:57:00
改個數字也叫折磨自己 當工程師是猴子嗎...你不知道伺服端程式怎麼寫的 分析這些就是玄學沒錯啊
作者: guogu   2017-11-27 19:10:00
1w抽1%隨便都能跑出105以上好嘛w別搞笑了不信你直接寫寫看1w抽1%試試看
作者: hollowland (顛倒鐘)   2017-11-27 19:12:00
你的前提是友抽要先必骰到普卡 然後才骰那張卡
作者: Xavy (グルグル回る)   2017-11-27 19:12:00
還真的有人被唬得一愣一愣的耶
作者: hollowland (顛倒鐘)   2017-11-27 19:14:00
我寫友抽直接骰什麼卡 你這個假設不就gg了
作者: harryron9 (兩個世界)   2017-11-27 19:15:00
10000抽1% 抽成1.05%算是顯著提升...嗯...
作者: noob9527 (怒伯9527)   2017-11-27 19:15:00
阿這不就是賭徒謬誤嗎...
作者: yukitowu (雪兔哥)   2017-11-27 19:15:00
畢竟不會跳例外的BUG很難除錯啊www
作者: hollowland (顛倒鐘)   2017-11-27 19:15:00
別人友抽直接抽那張卡 不就gg了
作者: unsocial (無力感)   2017-11-27 19:16:00
友情抽跟寶石抽怎麼會在一個池?
作者: guogu   2017-11-27 19:19:00
https://i.imgur.com/fXg94Dt.png老人學不會新把戲也不是讀資工的就通融我VB隨便寫吧
作者: hollowland (顛倒鐘)   2017-11-27 19:20:00
我看一下這個程式碼… 我很懷疑你繼續跑個幾十次會得出可以提升抽卡率的結果
作者: noob9527 (怒伯9527)   2017-11-27 19:22:00
照你說的rand()%10 我9抽沒出0 第10抽中0機率有100%呢這種又沒說抽完後獎項就再也抽不到 所以前題就錯了
作者: hollowland (顛倒鐘)   2017-11-27 19:27:00
rand()不是整數所以沒這個問題…上面g大程式示範了直接抽1%抽到1.12% xd
作者: NoNameL (名無乚)   2017-11-27 19:38:00
g大那隻程式是這樣沒錯啊,但這隻程式是「有機率」會掉進無窮迴圈出不來的。那些就是「被吃掉」的小於1%的機率
作者: shinchen (starrydawn星晨)   2017-11-27 19:41:00
guogu的程式是固定抽10000次 你是不是看錯迴圈變數...?會盡無窮迴圈是一直抽到中100個才停下來看次數那種
作者: hollowland (顛倒鐘)   2017-11-27 19:42:00
掉進無窮迴圈程式就當掉了耶...
作者: NoNameL (名無乚)   2017-11-27 19:46:00
啊,對,我看錯了。
作者: kamisun (水銀燈的主人)   2017-11-27 19:53:00
戰女很少大爆死,但我遇過幾次,最嚴重的是去年萬聖節抽快40把四星武器,才來想要的
作者: guogu   2017-11-27 19:56:00
我是用雙浮點去接rnd 理論上來說他是產生0~1的數字
作者: yuyuyuai (>0<)   2017-11-27 20:00:00
怎可能這樣讓你搞 友抽和石抽不太可能會寫在一起吧
作者: gn00399745 (Michael)   2017-11-27 20:01:00
每次run random用的seed應該不太一樣吧事實上seed在亂數序列的位置應該會一直跳你亂數序列概念對 但是你要考慮到seed吧用seed產生亂數 你只要SEED變動 他結果就是和之前抽無關 甚至seed可能會跳回你友抽用的爛seed
作者: yuyuyuai (>0<)   2017-11-27 20:04:00
對 樓上這也是一種反駁的論點 只是最近才被龍珠手遊的廢物工程師打臉QQ
作者: gn00399745 (Michael)   2017-11-27 20:07:00
亂數在程式裡的確是一個大數表單 但是她會循環而且還可以利用多個大數表單交配產生更大的表單
作者: greydust (灰)   2017-11-28 00:50:00
呃你的推論是沒錯 但通常亂數序列至少也是2的31次方減1也就是21億多 就算你先抽掉100個大數字也才增加2100萬分之1的機率..還要考慮到序列重置和序列遠大於2147483647的可能性 基本上這個方法等於沒有用
作者: benny30912   2017-11-28 06:32:00
二項分配的標準差是sqrt(np(1-p)),差不到一個標準差根本沒有統計上的差異

Links booklink

Contact Us: admin [ a t ] ucptt.com