How to deal with a large number of state and action spaces?

3 visualizaciones (últimos 30 días)
laha_M
laha_M el 28 de Mayo de 2021
Comentada: laha_M el 28 de Mayo de 2021
I have a custom environment where the state is N x 3 (N in the range of thousands) and action space is N x 3 x K (K is in the range of 10s).
How to pass such a large state and action space? I know I can single out each element from this large array and pass them. But is there any easier way where it's possible to pass the array as a whole than each element? (I need this when writing my custom RL environment).
Is there any suggestion in general when dealing with a large number of actions and states? Is there any example I can follow?
  2 comentarios
David Hill
David Hill el 28 de Mayo de 2021
Does not seem very large to me. Why can't you just pass the entire state?
laha_M
laha_M el 28 de Mayo de 2021
I can pass it to the agent. But, the problem is when writing my custom environment. All the provided examples deal with a pretty less number of states and actions.
And I am not sure of the syntaxes when writing the custom MATLAB environment that deals with the whole array (state and action).
The only example I could find that creates a custom environment --
https://in.mathworks.com/help/reinforcement-learning/ug/create-custom-matlab-environment-from-template.html
It singles out the states and actions to define the dynamics.

Iniciar sesión para comentar.

Respuestas (1)

Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis el 28 de Mayo de 2021
Even if the NX3 inputs are scalars, I would reorganize them into an "image" and use imageInput layer for the first layer as opposed to featureInputLayer. This representation may let you handle the large input space. Nx3xK actions sound a bit too much. I am not sure what the specifics of the problem are but you may be able to reformulate the problem to reduce the dimensionality
  1 comentario
laha_M
laha_M el 28 de Mayo de 2021
Thanks, Emmanouil. It is a resource allocation problem.
For each job (1x3 parameters describe one job, N jobs= N x 3 dimension of the state), we need to allocate 3 types of resources from K servers/machines. (Each server has 3 types of resources, and we need to provide them efficiently to fulfill the demand). That makes action states = N x K x 3, i.e., for each job, from each server allocate 3 types of resources (their quantity).

Iniciar sesión para comentar.

Categorías

Más información sobre Image Data Workflows en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by