How can I have several actions for a DQN in the Reinforcement Learning Toolbox?

7 views (last 30 days)
I'm trying to define the output of a DQN agent with a custom environment, and can't use the actionInfo = rlFiniteSetSpec() correctly.
I'm trying to control 3 actuators that will receive commands 0 and 1.
I always get number of actions = 1.
And the documentation is not clear as it's a new toolbox.
Any suggestions?
  3 Comments
Rusczak
Rusczak on 8 Jul 2020
Yes,
I followed Emmanouil's suggestion:
actInfo = rlFiniteSetSpec({[0; 0; 0]; [1; 1; 1]; ...
[1; 0; 0]; [0; 1; 0]; [0; 0; 1]; ...
[1; 1; 0]; [0; 1; 1]; [1; 0; 1]})
Huzaifah Shamim
Huzaifah Shamim on 9 Jul 2020
Oh nice okok. What custom environment where you trying to make?
Also how should I approach it if i have 3 agents (like your three actuators) but 12 actions could be applied to them?

Sign in to comment.

Accepted Answer

Emmanouil Tzorakoleftherakis
If you type
help rlFiniteSetSpec
the second example is
spec = rlFiniteSetSpec({[0,1];[1,1];[1,2];[1,3]})
If you define all possible combinations of the discrete inputs in a cell array as above, that should work (think of a single action as one possible combination of your 3 actuator commands).
I hope this helps.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!