Я прохожу онлайн-курс, на котором мне попадаются многие Q-значения . Итак, я написал Python скрипт для его автоматического расчета. Я использовал следующие уравнения.
Но скрипт не работает должным образом. Это дает неправильные ответы. Хотя я мог бы получить правильный ответ, сделав то же самое на бумаге.
def Qvalue_iteration(T, R, gamma=0.5, n_iters=10):
nS = R.shape[0]
nA = T.shape[0]
Q = [[0]*nA]*nS # initially
for _ in range(n_iters):
for s in range(nS): # for all states s
for a in range(nA): # for all actions a
sum_sp = 0
for s_ in range(nS): # for all reachable states s'
sum_sp += (T[a][s][s_]*(R[s][s_][a] + gamma*max(Q[s_])))
Q[s][a] = sum_sp
return Q
Здесь T - вероятности перехода, а R - награда. Может ли кто-нибудь помочь мне с нуля написать этот алгоритм итерации Q-значения . Я новичок в обучении укреплению. Хотя я отправил ответы и получил все это правильно, выполняя на бумаге, но я хочу закодировать его.