-1表示状态间不直连。例如0不能直接到达1。
现在可以增加一个相似的矩阵Q,它可以看作是agent的“大脑”,表示了agent通过学习环境留下的“记忆”,矩阵Q的行表示agent当前的状态,列表示到达下一状态可能的行为。
Q学习算法步骤如下:
设置gamma参数以及矩阵R;
初始化矩阵Q;
对于每次episode:
随机选择一个初始状态;
目标状态没有到达:
从当前状态的所有行为中选择一个
转移到下一状态;
计算;
将下一状态设为当前状态;
Agent通过以上算法进行学习,每次episode相当于一次训练。在每一次训练中,agent探索环境(矩阵R表示),接受奖励直到到达目标状态。训练的目的是增强agent的大脑,即矩阵Q。训练越多,Q结果越好。通过这种方式,如果Q被加强了,而不是反复探索,不断回到同一房间,就能快速找到目标状态。
参数gamma的取值范围是0-1,如果gamma趋近于0,则agent趋向于考虑瞬时奖励,如果接近1,则趋向于未来的奖励,延迟奖励。