馬克洛夫鏈
一、引言:馬爾科夫鏈?zhǔn)且环N非常常見(jiàn)且相對(duì)簡(jiǎn)單的統(tǒng)計(jì)隨機(jī)過(guò)程。它描繪了一種狀態(tài)序列,每一個(gè)狀態(tài)值取決于前面的有限個(gè)狀態(tài)。
二、舉例

假設(shè)每個(gè)狀態(tài)進(jìn)入下一個(gè)狀態(tài)的概率相等。0點(diǎn)進(jìn)入2,3概率都為1/2。1點(diǎn)進(jìn)入2概率為1。2點(diǎn)進(jìn)入0,1,3概率都為1/3。3點(diǎn)進(jìn)入0,4概率都為1/2.4點(diǎn)進(jìn)入0,1概率都為1/2。
三、解方程:
設(shè)x1,x2,x3,x4,x0為用戶在1,2,3,4,0點(diǎn)的概率。
我們對(duì)此列出方程:
x1=0*x1+1/3*x2+0*x3+1/2*x4+0*x0
x2=1*x1+0*x2+0*x3+0*x4+1/2*x0
x3=0*x1+1/3*x2+0*x3+0*x4+1/2*x0
x4=0*x1+0*x2+1/2*x3+0*x4+0*x0
x0=0*x1+1/3*x2+1/2*x3+1/2*x4+0*x0
得到行列式:
|? -1? ? ?1/3?? ? 0? ? 1/2? ? 0? |? ? ? ? ? |? ?0? ?|
|? 1? ? ? -1? ? ? 0? ? ? 0? ?1/2? |? ? ? ? ? |? ?0? ?|
|? 0? ? ?1/3? ? ?-1? ? ?0? ?1/2? |? ? =? ? |? ?0? ?|
|? 0? ? ? 0? ? ? 1/2? ? -1? ? 0?? |? ? ? ? ? |? ?0? ?|
|? 0? ? ?1/3? ? 1/2? ?1/4?? -1? |? ? ? ? ? |? ?0? ?|
另外補(bǔ)充條件x1+x2+x3+x4+x0=1
容易解出:
x1=8/55,x2=3/11,x3=12/55,x4=6/55,x0=14/55
四、數(shù)學(xué)建模
用程序來(lái)實(shí)現(xiàn)用戶狀態(tài)的模擬
def fun(n):
? ? x1=0.2
? ? x2=0.2
? ? x3=0.2
? ? x4=0.2
? ? x0=0.2
? ? y1=0.2
? ? y2=0.2
? ? y3=0.2
? ? y4=0.2
? ? y0=0.2
? ? while n>=0:
? ? ? ? y1=1/3*x2+1/2*x4
? ? ? ? y2=1*x1+1/2*x0
? ? ? ? y3=1/3*x2+1/2*x0
? ? ? ? y4=1/2*x3
? ? ? ? y0=1/3*x2+1/2*x3+1/2*x4
? ? ? ? x1=y1
? ? ? ? x2=y2
? ? ? ? x3=y3
? ? ? ? x4=y4
? ? ? ? x0=y0
? ? ? ? n=n-1
? ? print(x1)
? ? print(x2)
? ? print(x3)
? ? print(x4)
? ? print(x0)
n=int(input())
fun(n)

五、結(jié)論:
不難發(fā)現(xiàn)隨著運(yùn)行次數(shù)增加,馬克洛夫鏈的狀態(tài)趨于穩(wěn)定,并與我們解出來(lái)的結(jié)果一致。
數(shù)學(xué)建模里稱(chēng)之為動(dòng)力系統(tǒng)模型。
六、小結(jié):
馬克洛夫鏈在教育學(xué),經(jīng)濟(jì)學(xué),金融學(xué),互聯(lián)網(wǎng),農(nóng)業(yè)等領(lǐng)域有許多重大的應(yīng)用。
我們對(duì)于馬克洛夫鏈的操作步驟是先根據(jù)每個(gè)狀態(tài)進(jìn)入下一狀態(tài)的概率列出方程,在根據(jù)方程列出行列式求解。最后編寫(xiě)代碼建立模型求解。