Реализация итерации Q-значения с нуля - PullRequest
0 голосов
/ 30 апреля 2020

Я прохожу онлайн-курс, на котором мне попадаются многие Q-значения . Итак, я написал Python скрипт для его автоматического расчета. Я использовал следующие уравнения. Q-Value Iteration Update Rules Но скрипт не работает должным образом. Это дает неправильные ответы. Хотя я мог бы получить правильный ответ, сделав то же самое на бумаге.

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-значения . Я новичок в обучении укреплению. Хотя я отправил ответы и получил все это правильно, выполняя на бумаге, но я хочу закодировать его.

...