Отвечая на мой собственный вопрос, давайте рассмотрим среду simple_tag.
env.action_space
для этой среды дает:
[Discrete(5), Discrete(5), Discrete(5), Discrete(5)]
(4 агента)
Вот чтоЯ нашел в заблуждение.Я думал, что действия должны быть списком из 4 элементов, что-то вроде: [0, 3, 4, 1]
, но ожидается, что это будет горячий вектор (из 5 элементов) для всех 4 агентов.Итак, правильный способ кодирования действий:
[array([1., 0., 0., 0., 0.]), array([0., 0., 1., 0., 0.]), array([0., 0., 0., 0., 1.]), array([0., 0., 0., 1., 0.])]
(в зависимости от среды)