Я не мог понять, как обновить значения Q для игры в крестики-нолики. Я читал все об этом, но я не мог представить, как это сделать. Я читал, что значение Q обновляется в конце игры, но я не понял, есть ли значение Q для каждого действия?
Алгоритм обучения Q для крестиков-ноликов
Ответы (2)
У вас есть значение Q
для каждой пары состояние-действие. Вы обновляете одно значение Q
после каждого выполняемого вами действия. Точнее, если применение действия a1
из состояния s1
переводит вас в состояние s2
и приносит вам некоторое вознаграждение r
, то вы обновляете Q(s1, a1)
следующим образом:
Q(s1, a1) = Q(s1, a1) + learning_rate * (r + discount_factor * max Q(s2, _) - Q(s1, a1))
Во многих играх, таких как крестики-нолики, вы не получаете награды до конца игры, поэтому вам нужно запустить алгоритм через несколько эпизодов. Так информация о полезности конечных состояний распространяется на другие состояния.
Q
в s2
. В SARSA вы выбираете действие a2
с помощью политики, а затем обновляете Q(s1, a1)
с учетом Q(s2, a2)
вместо max(Q(s2, _))
.
- person Tudor Berariu; 18.02.2015
Проблема со стандартным алгоритмом Q Learning заключается в том, что для распространения значений от последнего к первому ходу требуется слишком много времени, потому что вы знаете результат игры только в конце игры.
Поэтому алгоритм Q Learning должен быть изменен. В следующем документе приведены некоторые подробности о возможных модификациях:
- неотрицательная награда дается после окончания игры (кроме розыгрыша), то обновление Q выполняется не на каждом шаге действия (что ничего не меняет), а только после окончания игры
- обновление Q выполняется путем распространения его нового значения от последнего хода назад к первому ходу
- включена другая формула обновления, которая также учитывает точку зрения противника из-за поочередного характера игры для двух игроков.
Абстрактный:
В этой статье сообщается о нашем эксперименте по применению алгоритма Q Learning для обучения игре в крестики-нолики. Исходный алгоритм модифицируется путем обновления значения Q только после завершения игры, распространения процесса обновления от последнего хода назад к первому ходу и включения нового правила обновления. Мы оцениваем производительность агента, используя представления полного и частичного пансиона. В этой оценке агент играет в крестики-нолики против игроков-людей. Результаты оценки показывают, что производительность модифицированного алгоритма Q Learning с частичным представлением доски сравнима с производительностью игроков-людей.
Учимся играть в крестики-нолики (2009 г.) Дви Х. Видьянторо и Юс Г. Вембрина
(К сожалению, это платный доступ. Либо у вас есть доступ к архиву IEEE, либо вы можете попросить авторов предоставить копию на сайте researchgate: https://www.researchgate.net/publication/251899151_Learning_to_play_Tic-tac-toe)