作者H45 (!H45)
站內DNF
標題Re: [心得] 強化機率與模擬結果
時間Mon Jul 1 17:12:29 2013
※ 引述《KyoukaiShiki (境界式)》之銘言:
: 失敗下降 金幣費用 無色小晶塊數量 成功機率
: 0→1 0 64,953 10 100%
: 1→2 0 64,953 20 100%
: 2→3 0 64,953 30 100%
: 3→4 0 64,953 40 100%
: 4→5 -1 77,943 50 90%
: 5→6 -1 90,934 60 80%
: 6→7 -1 103,924 70 60%
: 7→8 -3 116,915 80 80%
: 8→9 -3 129,906 90 90%
: 9→10 -3 129,906 100 50%
: ※強化所需金幣費用以70紫武器計算。
: 樣本數量:400
: 持續強化到目標值才換下一個樣本。
: 模擬結果:
: 起始強化值:+0,目標強化值+10
: 平均花費金幣費用:2,926,902.75
: 平均消耗晶塊數量:1932.699951
我模擬的平均值是 2,266,809 與 1,472
結果和你的相差太多了
我檢查我的模擬應該沒寫錯,目前推斷有可能是你做錯了?
沒有數學證明之前還不敢100%確定。
-----------------------------------------------------------------
與原PO站內信討論過,原PO和我的模擬應該都沒做錯
目前推測很可能是亂數演算法造成的差異。
我用的亂數是MATLAB內建的,原PO用的應該是C語言的一種快速亂數產生法
理論上MATLAB的更接近真實亂數。
-----------------------------------------------------------------
以下是我的模擬內容
※強化所需金幣費用以70紫武器計算。
樣本數量:10,000
起始強化值:+0,目標強化值+10
花費金幣費用平均值: 2,266,809
花費金幣費用標準差: 1,522,863
花費金幣費用最小值: 909,340
花費金幣費用第一四分位數: 1,195,132
花費金幣費用中位數: 1,779,707
花費金幣費用第三四分位數: 2,818,951
花費金幣費用最大值: 15,120,999
消耗晶塊數量平均值: 1,472
消耗晶塊數量標準差: 1,038
消耗晶塊數量最小值: 550
消耗晶塊數量第一四分位數: 730
消耗晶塊數量中位數: 1,150
消耗晶塊數量第三四分位數: 1,850
消耗晶塊數量最大值: 10,200
: 起始強化值:+1,目標強化值+10
: 平均花費金幣費用:2,861,954.25
: 平均消耗晶塊數量:1922.699951
下面我就省略了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.247.22
1F:→ Xavy:有個15m的,凱莉真黑阿 07/01 17:23
2F:→ H45:萬中之選 ^_< 07/01 17:24
3F:推 CMiles:結論: 人品好,不過比平均值少花100萬左右 07/01 17:36
4F:→ CMiles:人品不好,可能比平均值多花1千萬以上 XD 07/01 17:36
5F:→ blackhippo:把運算式部份程式碼貼上來就知道誰錯啦... 07/01 17:42
6F:推 Xavy:都沒失敗也要90萬阿! 07/01 17:43
7F:→ seaEPC:也算了一下,10000筆 0-10 07/01 17:45
8F:→ seaEPC:AvgCost[2395033.9]Max[17939945]Min[909340]Cube[1557.6] 07/01 17:45
9F:→ seaEPC:10000筆 8-10 07/01 17:45
10F:→ seaEPC:AvgCost[1297176.5]Max[15458753]Min[259812]Cube[901.6] 07/01 17:45
11F:推 CMiles:反正一定是凱莉的錯 XD 07/01 17:47
12F:→ SuperSg:跟強化費用比起來、晶塊好微不足道... 07/01 17:48
-----------------------------------------------------------------
與原PO站內信討論過,原PO和我的模擬應該都沒做錯
目前推測很可能是亂數演算法造成的差異。
我用的亂數是MATLAB內建的,原PO用的應該是C語言的一種快速亂數產生法
理論上MATLAB的更接近真實亂數。
-----------------------------------------------------------------
※ 編輯: H45 來自: 140.116.247.22 (07/01 18:08)
13F:→ Xavy:我覺得可能是樣本數只有400太少 07/01 18:08
14F:→ dreamq:有個有趣的問題 遊戲恐怕不是接近真實亂數的系統 07/01 18:09
15F:→ SuperSg:有一說、線上遊戲為了省成本、採取以時間為基礎的亂數系統 07/01 18:22
16F:→ H45:樓上一語點醒夢中人 說不定遊戲中用的其實就是原PO的亂數 XD 07/01 18:23
17F:→ H45:我本來是想說樓上上 =.= 07/01 18:23
18F:→ seaEPC:我用的也是C 07/01 18:24
19F:→ H45:@seaEPC: 剛站內信討論過,原PO有寫出他的亂數產生法,所以可 07/01 18:28
20F:→ H45:能和C語言內建的會不一樣 07/01 18:28
21F:→ seaEPC:最大問題是不知道遊戲用的是哪種_A_, 反正模擬出來落點大概 07/01 18:30
22F:推 u067:看 DNF版 長知識 XD 07/01 18:31
23F:→ seaEPC:就在那個數值附近2~4m吧,我家裡有留日版實際衝2百把左右80 07/01 18:31
24F:推 KyoukaiShiki:亂數產生我是用現成的code,效果好不好我不清楚XD 07/01 18:32
25F:→ seaEPC:紫,以衝到11為目標的話現金好像是3還4M而已,回去翻一下 07/01 18:32
26F:→ seaEPC:rand嗎 _A_ 07/01 18:33
27F:推 Schelfaniel:如果要衝到 14 的平均花費咩? 07/01 18:35
28F:→ seaEPC:忽然想到,兩位可以去模擬一下增幅,算出來會更有($)趣($) 07/01 18:36
29F:→ vanler:+14可能還要算一算上輩子燒了多少香G_G 07/01 18:36
30F:→ H45:我也想知道+10衝到+14的機率還有成本 有相關資料嗎? 07/01 18:37
31F:→ jeffrey1:增幅失敗是歸0嗎? 07/01 18:37
32F:→ seaEPC:1~10官方有寫參考用的強化機率,11以上沒有啊 XD 07/01 18:37
33F:→ H45:有資料的話增幅甚麼的一下就模擬出來了 07/01 18:37
34F:→ seaEPC:對齁,增幅好像沒寫機率..把強化規則的8~10 -3改成歸0 07/01 18:40
35F:→ seaEPC:無Q消耗量乘100 (10大Q一顆), 機率先假設一樣試試? 07/01 18:41
36F:→ H45:樓上你不也會寫C語言嗎 快寫快寫 XD 07/01 18:42
38F:→ KyoukaiShiki:+10→+11 金幣費用194,859 消耗晶塊120 07/01 18:43
39F:→ KyoukaiShiki:+11→+12 金幣費用324,765 消耗晶塊140 07/01 18:44
40F:→ seaEPC:因為我要準備下班了 (跑 07/01 18:44
41F:→ KyoukaiShiki:+10衝+11我也覺得大概是4把過1把 07/01 18:45
42F:→ Xavy:機率有這麼高喔? 07/01 18:46
43F:推 KyoukaiShiki:我大概衝爆快要40把了?可能更多?不確定因為沒記下來 07/01 18:48
44F:→ H45:如果要計算衝到+14的平均花費 不只是衝裝金幣和無Q 連爆裝的成 07/01 18:52
45F:→ H45:本也要算進去 XD 07/01 18:52
46F:推 KyoukaiShiki:+10衝+11爆掉,假設一把+10能賣200萬,我已經..( 艸) 07/01 18:55
47F:→ fabulous7744:我前陣子才爆了20把+10 只有1把+11 然後又+12陣亡.. 07/01 19:00
48F:推 gary20801:+11不是50%以上嗎?! 07/01 19:38
49F:推 attacksoil:MATLAB了不起?! 07/01 19:48
50F:→ attacksoil:其實我不是很懂這問題為什麼要用到亂數 07/01 19:48
51F:→ attacksoil:期望值不行嗎? 07/01 19:48
52F:→ Xavy:期望值不行吧,不如說跑模擬又快又簡單 07/01 19:50
53F:推 attacksoil:感覺應該可以啊 比較麻煩而已 07/01 19:51
54F:→ Xavy:會一直上上下下,光式子就很難寫了,何苦折磨自己 07/01 19:53
55F:→ H45:期望值 直覺上會無限展開 不太清楚怎麼讓計算式變CLOSED FORM 07/01 19:53
56F:→ H45:MATLAB內建的東西有些真的滿了不起的 這我也是越了解內部演算 07/01 19:56
57F:→ H45:法越是佩服這些天才數學家= = 07/01 19:57
58F:推 attacksoil:稍微想了一下 好像真的可以 不過要跑while就是了 07/01 20:08
59F:→ attacksoil:用到達+10的機率當indicator 07/01 20:08
60F:→ Xavy:會跑不完吧 07/01 20:10
61F:→ seaEPC:看了下紀錄,237把80,平均消耗3m,1385 Q,+11 81,+12 14 07/01 20:13
62F:→ seaEPC:13不敢衝... 數據不算多,看有沒大戶也來提供一下 07/01 20:14
63F:推 attacksoil:好像真的頗麻煩的 不知道該怎麼寫 真的是何苦自虐 07/01 20:14
64F:推 deadwood:+13我不知道好不好衝,但是玩了7年前天才衝出第一把+13 w 07/01 20:19
65F:推 fabulous7744:+13成功過5次 全都在+14的時候變成光了 07/01 20:20
66F:→ deadwood:還只是打算淘汰掉的70魔封(倒 07/01 20:20
68F:→ bbbing:不需要亂數啊,用遞迴算式,拿我的舊算式改 07/01 20:30
70F:→ H45:樓上這數據根本都0%.. 07/01 20:39
71F:推 attacksoil:#1AlD0ehP 很酷 但現在會-3好像要改一下 07/01 20:42
72F:→ H45:@bbbing: 你那篇也有我的推文耶 原來我四年前也是數據魔人 XD 07/01 20:42
73F:→ bbbing:是啊,基本算式都是通用的,只要帶入正確的數字 07/01 20:47
74F:→ H45:不過亂數的好處是可以多知道落點狀況 07/01 20:50
75F:→ H45:#1AlNCiIm 這篇好神奇啊!! 過去的我也幫忙算一下新版的嗎 XD 07/01 20:55
76F:推 attacksoil:用bbbing的公式跑了一下 結果基本上跟這篇是差不多的 07/01 21:15
77F:→ attacksoil:就不特別貼了 07/01 21:15
78F:推 wake01:237把夠大戶了 07/01 21:21
79F:→ H45:@attacksoil: 你算多少? 我算+0->+10平均金幣是1,737,822 07/01 21:30
80F:→ H45:消耗晶塊1104 比亂數的結果還少很多= = 是不是我算錯了? 07/01 21:33
81F:推 attacksoil:我貼在下面了 lv10的結果跟這篇的差不多 07/01 21:39
82F:→ H45:我少加一項XD 加上去就和你的一樣了 07/01 21:55
83F:→ inWaterToT:應該可以用markov chain算出來期望值吧 感覺很像 07/02 11:52