Гамма определяет, сколько памяти имеет ваш алгоритм.Если вы установите его на 0.0, то ваш алгоритм вообще не будет обновлять функцию значения Q .Если вы установите его на 1,0, то новому опыту будет придан такой же вес, как и всем предыдущим вместе взятым.Лучшие значения лежат между ними и должны быть определены экспериментально.
Вот как это работает:
- На первом шаге вы просто получаете состояние.Просто сохраните его как s t .Кроме того, найдите в своей функции значения лучшее действие, которое можно выполнить в этом состоянии, и сохраните его как a t .
- На каждом последующем шаге вы получаете r t + 1 и s t + 1 .Опять же, используйте функцию значения, чтобы найти лучшее действие - a t + 1 .Значение перехода от вашего предыдущего действия к новому равно r t + 1 + Q (с t + 1 , a t + 1) - Q (s T , а T * 1 040 *) * * тысяча сорок один.Используйте это, чтобы обновить вашу долгосрочную оценку значения предыдущего действия Q (с t , a t t) .Наконец, сохраните s t + 1 и a t + 1 как s t и a t для следующего шага.
По сути, функция значений - это просто скользящее среднее этих значений обновления для каждого действия и каждогосостояние.