递归方程不收敛

问题描述

我想求解下面的递归方程(贝尔曼方程),但方程不收敛。 有什么办法可以解决这个问题吗?

visual equation

n = 101; beta = 0.9; r = 0.7
w = np.linspace(0,1,num=n); l = np.linspace(0,num=n) 
VL = np.zeros(n); VR = np.ones(n)
VL2 = np.zeros(n); VR = np.ones(n)
lbest_pos = [0]*n

def u(w,l):
  return r*(w*(1-l)) + (1-r)*l

while np.linalg.norm(VL2-VR2) > 0.000001:
  VR2 = VL2.copy()
  for i in range(n):
    temp = [ u(w[i],l[k]) + beta * VR2[k] for k in range(n)]
    lbest_pos[i] = np.argmax(temp) 
    VL2[i] = temp[lbest_pos[i]]

while np.linalg.norm(VL-VR) > 0.000001:
  VR = VL.copy()
  for i in range(len(w)):
    VL[i] = max(VL2[i],u(w[i],1) + sum(VR)/n )

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)