網易遊戲筆試題目,怎麼做?

升級裝備題,每升級一次消耗一顆寶石,從一級升至五級概率分別為80%,40%,30%,10%,升級失敗會掉級,請問升至5級平均消耗多少寶石?


1升2,由於沒有掉級的風險,所以消耗寶石的期望為:

E_1 = 0.8	imes 1+0.2	imes (1+E_1)

E_1 = 1.25

2升3,有0.4的概率直接成功,有0.6的概率需要再1升2,2升3

E_2 = 0.4	imes 1+0.6	imes (1+E_1+E_2)

E_2 = 4.375

3升4,有0.3的概率直接成功,有0.7的概率需要再2升3,3升4

E_3 = 0.3	imes 1 +0.7	imes (1+E_2+E_3)

E_3=13.54167

以此類推,E_4=131.875

總的寶石數,求和即可,為151.042

概率論學得爛,不知道對不對。求討論。

————————補充——————

如果k升k+1的概率為p

E_k=p+(1-p)(1+E_{k-1} +E_k)

E_k=1/p+(1-p)/p*E_{k-1}


不小心看到了這個題目,那就來答一下吧..

這是個很典型的 Absorbing Markov Chains, 可以直接利用其性質求解。即求出狀態轉移矩陣P的fundamental matrix N. 答案就是N1所有元素的和.

如果不明白可以參考這個article:https://www.dartmouth.edu/~chance/teaching_aids/books_articles/probability_book/Chapter11.pdf

用Python寫了一下:

Q = numpy.array([[0.2, 0.8, 0, 0],
[0.6, 0, 0.4, 0],
[0, 0.7, 0, 0.3],
[0, 0, 0.9, 0]])
N = numpy.linalg.inv(numpy.eye(4) - Q)
print(sum(N[0]))

-&> 151.041666667


提供一個解法

E_i為從i級升到5級需要數量的期望

E_1 = 0.8E_2+0.2E_1 +1 \
E_2 = 0.4E_3+0.6E_1 +1 \
E_3 = 0.3E_4+0.7E_2 + 1 \
E_4 = 0.9E_3 + 1

E_1 approx  151.042


可以用馬爾科夫鏈來求解.

狀態轉移矩陣T在(i, j)處的元素表示從狀態i轉移到狀態j的概率, 容易得到:

T=left[egin{matrix}
0.2  0.8  0  0  0\
0.6  0  0.4  0  0\
0  0.7  0  0.3  0\
0  0  0.9  0  0.1\
0  0  0  0  1
end{matrix}
ight]

吸收態為狀態5, 可以令各狀態到達吸收態的期望列向量為:

E = left[
egin{matrix}
E_1  E_2  E_3  E_4  0
end{matrix}

ight]^T

求解時可以只取T的1~行列(E5=0)為T", 只取E的E1~E4為E", 有

E

E


這是遊戲數值策劃入門的老題了

一般來說,便於表格求解的方案如下:

n=級別,E(n)=從n成功強化到n+1的消耗石頭期望,p(n)=從n到n+1的強化概率,M(n)=從1級強化到n級的消耗石頭總期望, A(n)=從n到n+1時單次強化消耗石頭期望。

那麼:A(n)=p(n)*1+(1-p(n))*(1+E(n-1))

E(n)=A(n)/p(n)

驗算可知,A(1)=1,E(1)=1/0.8=1.25

A(2)=1.75,E(2)=1.75/0.4=4.375

...

剩下的不算了,跟樓上諸位的結果應該吻合。

另外,還有失敗掉到1級的情況,就要用到M(n)了,道理相通。


E_5 = 0 \
E_4 = 0.1E_5 + 0.9E_3 + 1 \
E_3 = 0.3E_4 + 0.7E_2 + 1 \
E_2 = 0.4E_3 + 0.6E_1 + 1 \
E_1 = 0.8E_2 + 0.2E_1 + 1

遞推思想 E_i代表i級到五級需要多少寶石

解出來 樓上是對的

從上到下E_1E_4


這是不是馬爾可夫過程啊?


推薦閱讀:

奴隸主在場時克蘇恩打死對方的概率如何計算?
遊戲數值策劃中的寶石價值的數學問題?
作為純數的重要分支,概率論在國內的發展為什麼這麼滯後?
X條件於Y的分布,以及Y條件於X的分布,能否唯一確定(X,Y)的聯合分布?
為什麼說Dirichlet分布是分布的分布?

TAG:網易 | 網易遊戲 | 概率論 |