奖励矩阵中的状态和奖励是什么?

时间:2020-02-09 17:27:19

标签: reinforcement-learning markov-chains markov-models

此代码:

R = ql.matrix([ [0,0,0,0,1,0],
        [0,0,0,1,0,1],
        [0,0,100,1,0,0],
        [0,1,1,0,1,0],
        [1,0,0,1,0,0],
        [0,1,0,0,0,0] ])

来自:

https://github.com/PacktPublishing/Artificial-Intelligence-By-Example/blob/47bed1a88db2c9577c492f950069f58353375cfe/Chapter01/MDP.py

R被定义为“每个状态的奖励矩阵”。此矩阵中的状态和奖励是什么?

# Reward for state 0
print('R[0,]:' , R[0,])

# Reward for state 0
print('R[1,]:' , R[1,])

打印:

R[0,]: [[0 0 0 0 1 0]]
R[1,]: [[0 0 0 1 0 1]]

[0 0 0 0 1 0]是state0&[0 0 0 1 0 1]是state1吗?

1 个答案:

答案 0 :(得分:1)

根据使用该示例的书,R表示从一个当前状态s过渡到另一个下一个状态s'的回报。

具体来说,R与以下图形相关联:

enter image description here

矩阵R中的每一行代表从 A F 的字母,每一列代表从 A 的字母到 F 1值表示图的节点。也就是说,R[0,]: [[0 0 0 0 1 0]]意味着您可以从状态s=A进入下一个状态s'=E,并获得1的奖励。类似地,R[1,]: [[0 0 0 1 0 1]]意味着您可以在1的情况下获得1的奖励。您从BFD。该目标似乎正在实现并保留在C中,它获得了最大的回报。