作者candy88257 (阿泰斯)
看板Math
標題[機統] 很認真地詢問一個玩遊戲遇到的統計問題
時間Sun Aug 14 17:41:17 2016
小弟在玩遊戲時遇到一個很困難的統計問題...
問了玩家沒人知道...
想了一下,大概只有統計專精的人才會算吧...
問題:
武器效果1:當使用「招式3」命中敵人時,有50%的機率施放「招式1」與「招式2」
武器效果2:招式沒有暴擊時,拿到一顆藍色球;招式暴擊時,失去所有藍色球。
武器效果3:當藍色球消失時,得到等同於藍色球數量的紅色球。
PS. 藍色球、紅色球會影響招式2的傷害。
武器效果4:每增加一個藍色球,所有招式的暴擊機率都增加q。
(例如增加兩個藍色球時,暴擊機率增加2*q)
招式3的資訊:
傷害 : 0
暴擊機率 : z2
命中機率 : z3
攻擊速度 : z4 (每秒打z4次)
攻擊效果1 : 每打一次算是打z5次
(例如:每秒打6次,每打1次算是打12次,那等於每秒打6*12=72次)
招式1的資訊:
傷害 : x1
暴擊機率 : x2
命中機率 : 1 (100%)
招式2的資訊:
傷害(n個藍色球+m個紅色球,n或m可以為0,但n與m不可以同時為0) : ynm
(例如:擁有4個藍色球與3個紅色球時,招式2的傷害為y43。若兩種顏色的球同時為0個,
則不會施放招式2)
暴擊機率 : y2
命中機率 : 1 (100%)
攻擊效果 : 施放招式2時,會失去所有顏色的球。
原始狀態: 藍色球與紅色球都是0個。
問題 : 最後統計出來每秒平均傷害是多少?
簡單計算 : 例如招式3攻擊速度6,打一下算9下,命中機率80%,
則招式3每秒命中6*9*0.8=43.2下。
如果問題有任何缺陷之類的,可以提出來,我再進行補充!
懇請各位大神幫忙!
感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.150.152.11
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Math/M.1471167679.A.641.html
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 17:44:01
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 17:54:29
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 18:02:27
1F:推 woieyufan : 放心 國中數學能解 08/14 18:28
!!!
懇求樓上大神教學!
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 18:30:33
2F:→ panruru1224 : 該不會是poe吧 08/14 18:31
是POE沒錯,只是如果我用poe的語言來講,應該沒人看得懂...
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 18:36:14
3F:推 arthurduh1 : 1. 變數名稱有點亂 機率/傷害 建議符號分開 08/14 20:20
4F:→ arthurduh1 : 2. 可以考慮 Markov chain 08/14 20:20
5F:→ arthurduh1 : 但你的 y_nm 不曉得有沒有規律,沒規律的話 08/14 20:20
6F:→ arthurduh1 : 肯定會做出無窮級數 08/14 20:20
7F:→ arthurduh1 : 3. 招式 2 的失去籃球效果應該無法觸發武器效果3? 08/14 20:21
8F:→ arthurduh1 : 否則傷害會越來越大 08/14 20:22
感謝您協助!
1. 這部分我再統整一下一起修改好了! 抱歉!
2. y_nm看起來沒有一定的規律,但n與m有最大值。
拿到紅色球與藍色球的方法為:招式不暴擊,包刮招式1、2與3。(暴擊後籃球會消失)
而通常最一開始會先拿到藍球(招式3),然後藉由招式暴擊或招式2的效果的方式,藍球會
轉換成紅球。
3. 招式2的失去所有球的效果會觸發武器效果喔!
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 20:46:19
9F:推 arthurduh1 : 哦哦沒問題 傷害不會越變越大 08/14 21:03
10F:→ arthurduh1 : 你的2. 應該是說 y_nm 本身有最大值?? 08/14 21:04
11F:→ arthurduh1 : 因為 n,m 標記的是球數,是有很小機率可以達到很多 08/14 21:05
12F:→ arthurduh1 : 如果 y_nm 有最大值,那 Markov chain 就可以解了 08/14 21:05
13F:推 arthurduh1 : 也不能說 y_nm 有最大值,應該說 n,m 夠大以後 08/14 21:08
14F:→ arthurduh1 : y_nm 就維持不動 08/14 21:08
抱歉補充一下,
是n、m有最大值,
例如我的n與m最多是4,也就是我的紅球跟藍球分別最多都只有4顆而已,
但n、m不會一直保持在最大值,因為招式3是一直連續施放的,所以因為暴擊、不暴擊與
招式2的因素,各種顏色的球會一直出現又消失。
不過,其實都一樣? 因為n、m到達最大值後,y_nm就是最大值了。
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 21:13:15
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 21:15:09
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 21:16:41
15F:推 arthurduh1 : 恩恩OK 程式讓球數有最大值才合理 08/14 21:15
16F:→ arthurduh1 : 那 (n, m) 就會有 17 種狀態,列出轉換矩陣就可解 08/14 21:17
17F:推 arthurduh1 : 出各狀態在時間夠久後的發生機率。由於傷害數值與 08/14 21:20
18F:→ arthurduh1 : 狀態是獨立的,再依此算出傷害平均值即可 08/14 21:20
19F:推 arthurduh1 : 阿 不是 17 種... 是 25 種 =_=||| 08/14 21:27
感謝! 請問25種狀態是哪25種@@?
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 21:36:36
20F:推 arthurduh1 : (n,m) = (0,0), (0,1), (0,2), (0,3), (0,4), 08/14 21:48
21F:→ arthurduh1 : (1,0), (1,1), (1,2), (1,3), (1,4), ... 08/14 21:48
22F:→ arthurduh1 : (4,0), (4,1), (4,2), (4,3), (4,4) 08/14 21:48
23F:→ arthurduh1 : 當然這是滿暴力的作法,實務上你可以直接寫程式模擬 08/14 21:50
24F:→ arthurduh1 : 也許更深入去探討這個模型會有辦法用估計的(手算) 08/14 21:52
25F:→ arthurduh1 : 但我想你應該只是想要配攻擊點數之類的? 08/14 21:53
再次感謝!
其實我純粹只是好奇這個問題而已,
這已經是這遊戲的千古之謎了...
每次提到,每個玩家回答都是 : 無法計算...
只是,你剛說看25種狀況的發生機率,要怎麼看@@? 因為太複雜了...,3種招式都有暴擊
、不暴擊的情形...
能否詳細舉例幾個@@?
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 21:56:47
26F:推 arthurduh1 : 轉換矩陣你知道是什麼嗎? 就是從某一個狀態到另一 08/14 21:58
27F:→ arthurduh1 : 個狀態的機率。這些機率只跟球數有關 08/14 21:58
28F:→ arthurduh1 : 比如藍0紅1 到 藍2紅1 就是招式3觸發招式1且都 08/14 22:02
29F:→ arthurduh1 : 無暴擊的機率 08/14 22:02
我有點亂掉了@@ 目前確定招式3會同時觸發招式1與2,但要計算球數時應該會有先後計算
的問題...,我再確定一下哪個會先觸發好了@@
另外,您說的這個算法,會考慮到"暴擊機率"很高時,藍球達到最大球數的機率會變很低
的狀況嗎? (也就是暴擊機率也要考慮進去)
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 22:12:20
30F:推 arthurduh1 : 規則講清楚 機率可以列都沒問題 08/14 22:22
好的! 抱歉! 關於同時觸發時的計算順序,我再釐清一下再回覆您!
另外,我問題中提到的所有資訊,包含暴率、命中率、攻擊效果......等,應該皆會影響
到最後的每秒平均傷害。
※ 編輯: candy88257 (118.150.152.11), 08/14/2016 22:47:31
31F:→ arthurduh1 : 不用回沒關係啦... 我也沒時間把那個矩陣弄出來啊 08/14 23:47
32F:→ arthurduh1 : 但你首先就是根據這些規則算出從 藍a紅b 到 藍m紅n 08/14 23:49
33F:→ arthurduh1 : 的機率,做出轉換矩陣後,算 stable 時的機率 08/14 23:50
34F:→ arthurduh1 : 再用這些機率算傷害 08/14 23:50
35F:→ arthurduh1 : 比如上面的「招式3觸發招式1且都無暴擊」的機率 08/14 23:52
36F:→ arthurduh1 : 會根據你給的規則而不同,你只要確定你會算這項 08/14 23:52
37F:→ arthurduh1 : 其他都差不多了(但有 25 x 25 = 625 項...) 08/14 23:53
38F:→ arthurduh1 : (雖然有一些是 0 啦) 08/14 23:53
請問您的625項怎來的@@?
我算3個招式有無暴擊的搭配只有8種,搭配球的組合25總,總共只有200項...
請問哪裡算錯了嗎@@?
※ 編輯: candy88257 (118.150.152.11), 08/15/2016 01:00:45
39F:推 LPH66 : 那個 625 項是從某種球組合變成另一種球組合的變化 08/15 03:08
40F:→ LPH66 : 不只是單指某狀態下使用招式的狀況 08/15 03:10
41F:→ LPH66 : 當然存在一些變化型由於各種原因是絕不會出現的 08/15 03:11
42F:→ LPH66 : 那些項的機率就是 0 這樣 08/15 03:11
43F:→ ttt95217 : .....就算算式列不出來 也可以靠跑模擬跑出來平均啊 08/15 07:02
44F:推 arthurduh1 : 你是對的,頂多 200 項非零 08/15 08:09
45F:→ arthurduh1 : 其實最後要求 stable 機率還是逃不了用電腦 08/15 08:33
46F:→ arthurduh1 : 你可以考慮用電腦 1. 做矩陣 2. 直接模擬 08/15 08:34
47F:→ arthurduh1 : 1. 的誤差是數值處理上 2. 的誤差則是統計上,效力 08/15 08:35
48F:→ arthurduh1 : 比較弱一點,但在這裡實務上應是沒啥區別 08/15 08:36
49F:→ arthurduh1 : 而且相對 1. 來說寫程式的出錯率可能低一點 08/15 08:37
50F:→ candy88257 : 其實我不太懂大家說的寫程式模擬是什麼。我學的模 08/15 20:57
51F:→ candy88257 : 是comsol 08/15 20:58
52F:→ candy88257 : 學過類似程式的軟體是matlab、mathematica 08/15 21:00
53F:→ candy88257 : 還有excel 08/15 21:00
54F:→ candy88257 : 這些有辦法直接模擬這個問題嗎? 08/15 21:00
55F:→ candy88257 : 由於好奇,剛剛去查matlab的指令, 08/15 21:02
56F:→ candy88257 : 還真的有一個指令是markov... 08/15 21:02
57F:→ candy88257 : 有人用matlab嗎? 用matlab這題要怎算? 08/15 21:12
58F:→ wohtp : 程式模擬就是真的把規則寫好,亂數產生器套上去 08/16 23:07
59F:→ wohtp : 給他打個十萬下再來分析各種結果的分布 08/16 23:08
60F:→ thewid : POE 09/05 14:54