как определить пространство наблюдения и действия для массива, такого как ввод - PullRequest
0 голосов
/ 27 марта 2020

Я работаю над проблемой и хочу реализовать ее как задачу обучения с подкреплением и интегрировать в тренажерный зал OpenAI. Мои состояния представлены в виде списков длины n, каждый элемент которых выбран из дискретного интервала [0, m]. например, для n = 6 и m = 3 это выборка из пространства наблюдения:

[0 2 1 3 3 2]

, а возможные доступные состояния из этого пространства - это набор других списков, которые достигаются путем изменения числа из k элементов элементы в списке с одинаковыми номерами [0, m]. Например, для k = 1 мы можем иметь следующие два состояния в качестве двух последующих состояний предыдущего состояния:

[0 2 2 3 3 2]

или

[0 3 1 3 3 2]

Мой вопрос заключается в том, что является эффективным способом представлять «действия» в тренажерном зале OpenAI для такого сценария?

Один из способов, который мне приходит в голову, - это просто использовать следующее состояние в качестве самого действия, например, если я напишу:

action = env.action_space.sample()

действие будет следующим состоянием (которое также неявно содержит действие), а затем в env.step(action) сделает состояние равным следующему состоянию.

Кто-нибудь знает лучший способ или использование неявного представления действия со следующим состоянием является оптимальным способом? Кто-нибудь знает предопределенную среду спортзала, которая также имеет такое же представление? Каковы минусы неявного представления действий, которые я только что объяснил?

...