我正在使用gym toolkit来创建我自己的env和keras-rl以在代理中使用我的env . 问题是我的行动空间变化,这取决于实际状态 . 例如,我有46个可能的动作,但是给定某个状态只有7个可用,并且我无法找到建模的方法 .

我读过那个问题open-ai-enviroment-with-changing-action-space-after-each-step

但这并没有解决我的问题 .

在健身房文档中没有指示这样做,只有他们的Github回购问题(仍然开放) . 我无法理解代理(keras-rl,dqn代理)如何选择一个动作,它是随机选择的吗?但从哪里来?

有人能帮助我吗?想法?