通过sympy求解Bellman方程,寻找最优策略。 import sympy '''SymPy 是一个、符号计算库。 处理数学对象的计算称为符号计算。 在符号计算中,未计算的数学表达式会以符号形式保留。''' from sympy import symbols # symbols 函数定义符号 sympy.init_printing() #为数学表达式打印unicode字符 v_hungry,v_full=symbols('v_hungry v_full') q_hungry_eat,q_hungry_none,q_full_eat,q_full_none= \ symbols('q_hungry_eat q_hungry_none q_full_eat q_full_none') #通过使用sympy.symbols()方法,我们能够获得数学表达式和多项式的变量。 alpha,beta,x,y,gamma=symbols('alpha beta x y gamma') system=sympy.Matrix(( (1,0,x-1,-x,0,0,0), (0,1,0,0,-y,y-1,0), (-gamma,0,1,0,0,0,2), ((alpha-1)*gamma,-alpha*gamma,0,1,0,0,-4*alpha+3), (-beta*gamma,(beta-1)*gamma,0,0,1,0,4*beta-2), (0,-gamma,0,0,0,1,-1))) #标准的系数矩阵 a=sympy.solve_linear_system(system,v_hungry,v_full, q_hungry_eat,q_hungry_none,q_full_eat,q_full_none) #求解线性方程组 print(system) print(a)
【强化学习】Markov决策过程之求解Bellman期望方程
于 2022-01-24 17:56:00 首次发布