У меня есть симуляция, которая отсчитывает время каждые 5 секунд.Я хочу использовать OpenAI и его базовые алгоритмы для обучения в этой среде.Для этого я бы хотел адаптировать симуляцию, написав некоторый код адаптера, соответствующий OpenAI Env API.Но есть проблема: поток управления определяется Агентом в настройке OpenAI.Но в моем мире среда действия не зависит от агента.Если агент не решает или недостаточно быстр, мир просто продолжает существовать без него.Как можно было бы добиться этого изменения запуска следующего шага?
Короче говоря: OpenAI Env получает шаг от агента.Мое окружение дает моему агенту около 2-3 секунд, чтобы принять решение, а затем просто сообщает ему, что нового, снова предлагая сделать выбор: действовать или нет.
В качестве примера: моя среда довольно похожа на реальный рынок торговли акциями.Агент получает 24 шанса купить / продать продукты за определенную предельную цену, чтобы накопить определенный объем в течение этого целевого времени, и на шаге 24 времени агент получает вознаграждение, и слот завершается.Вознаграждение основано на средней цене за единицу товара по сравнению со средней ценой всех участников рынка.
В любой момент времени 24 слота торгуются параллельно (24-х параллельная торговля фьючерсами).Я считаю, что для этого мне нужно создать 24 среды, что заставляет меня думать, что A3C будет хорошим выбором.