2010-09-27 111 views
1

我必須實現價值迭代算法,以找到使用Bellman方程的MDP的每個狀態的最優策略。 (a1 s1 0.5)(a2 s1 1.0) s2 0(a1 s2 1.0)(a2 s1 0.5)(a2 s3 0.5) s3 10(a1 s1 0.5) a1 s2 1.0)(a2 s3 0.5)(a2 s4 0.5)適當的數據結構

其中s1是狀態0是與s1相關的回報。在採取行動a1後,我們以概率0.5保持s1。在採取行動a1後,我們以概率0.5進入s2。採取行動a2後,我們以概率1.0停留在s1。 和其他類似。

讀取輸入文件後,我必須將其存儲在某個數據結構中。在PYTHON中這將是合適的數據結構,因此遍歷它很容易。

+2

我們不喜歡爲你做功課。你爲什麼不嘗試一些併發布你的第一次嘗試,以便我們可以評論它。 – 2010-09-28 03:07:36

回答

2
s1 0 (a1 s1 0.5) (a1 s2 0.5) (a2 s1 1.0) 
s2 0 (a1 s2 1.0) (a2 s1 0.5) (a2 s3 0.5) 
s3 10 (a1 s2 1.0) (a2 s3 0.5) (a2 s4 0.5) 

是這樣的嗎?

data = { 's1': { 'reward': 0, 
       'action': { 'a1': { 's1': 0.5, 
            's2': 0.5 }, 
          'a2': { 's1': 1.0 } 
          }, 
       }, 
     's2': { 'reward': 0, 
       'action': { 'a1': { 's1': 1.0 }, 
          'a2': { 's1': 0.5, 
            's2': 0.5 }, 
          }, 
       }, 
     's3': { 'reward': 10, 
       'action': { 'a1': { 's2': 1.0 }, 
          'a2': { 's3': 0.5, 
            's4': 0.5 }, 
          } 
       } 
     }