如何用python实现可列折扣马尔科夫决策过程实例的构造
最近在最近在学习马尔科夫决策过程,想要找一些离散折扣马尔科夫决策过程,状态集可列,行动集有限,报酬函数有界的实例,尝试过搜论文或者直接搜,找到的好像都不是很理想。请问大家有没有什么好的方法?或者如果要自己想要写算法构造这样的实例的话应该如何去构造呢?
还有想要学习这方面的python编程的话,各位有没有比较推荐的教材?
看了蛮多篇文章,但是自己开始写就有一种无从下手的感觉TAT
谢谢大家Orz
2023-03-01 12:10
程序代码:
import numpy as np
# 初始化状态转移矩阵
transition_matrix = np.array([[0.7, 0.3],
[0.4, 0.6]])
# 初始化折扣矩阵
discount_matrix = np.array([[0.1, 0.2],
[0.3, 0.4]])
# 初始化状态值函数
state_value_function = np.array([[0, 0],
[0, 0]])
# 迭代更新状态值函数
while True:
new_state_value_function = np.zeros((2, 2))
for i in range(2):
for j in range(2):
new_state_value_function[i, j] = discount_matrix[i, j] + np.sum(transition_matrix[i, j] * state_value_function[i, :])
if np.sum(np.abs(state_value_function - new_state_value_function)) < 1e-4:
break
state_value_function = new_state_value_function
# 输出状态值函数
print(state_value_function)

2023-03-01 19:12
2023-03-06 10:06