算法模型定義介紹


1.馬爾科夫模型

  1.1馬爾科夫過程

  馬爾可夫過程(Markov process)是一類隨機過程。它的原始模型馬爾可夫鏈。已知目前狀態(現在)的條件下,它未來的演變(將來)不依賴於它以往的演變 (過去 )。

  一個馬爾科夫過程就是指過程中的每個狀態的轉移只依賴於之前的 n個狀態,這個過程被稱為1個 n階的模型,其中 n是影響轉移狀態的數目。最簡單的馬爾科夫過程就是一階過程,每一個狀態的轉移只依賴於其之前的那一個狀態。

  高階馬爾科夫過程:

  當Ai過程與Ai+1過程不是互為充要條件,隨着i的增加,有價值的前提信息越來越少,我們無法僅僅通過上一個狀態得到下一個狀態,因此可以采用如下方案

  • {A1->A2}; {A1, A2->A3}; {A1,A2,A3->A4};……; {A1,A2,...,Ai}->Ai+1. 這種方式就是第二數學歸納法。
  • 對於Ai+1需要前面的所有前序狀態才能完成推理過程。我們將這一模型稱為高階馬爾科夫模型。對應的推理過程叫做“動態規划法”。

2.動態規划dp

  一般思路:

    (1)划分階段:按照問題的時間或空間特征,把問題分為若干個階段。在划分階段時,注意划分后的階段一定要是有序的或者是可排序的,否則問題就無法求解。

    (2)確定狀態和狀態變量:將問題發展到各個階段時所處於的各種客觀情況用不同的狀態表示出來。當然,狀態的選擇要滿足無后效性。

    (3)確定決策並寫出狀態轉移方程:因為決策和狀態轉移有着天然的聯系,狀態轉移就是根據上一階段的狀態和決策來導出本階段的狀態。所以如果確定了決策,狀態轉移方程也就可寫出。但事實上常常是反過來做,根據相鄰兩個階段的狀態之間的關系來確定決策方法和狀態轉移方程。

    (4)尋找邊界條件:給出的狀態轉移方程是一個遞推式,需要一個遞推的終止條件或邊界條件。
3.遞歸函數設計:

  例:void demo(int n, int state){  //第n層,當前層狀態
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM