我试图创建一个自定义的环境,以加强学习与openAI健身房。我需要表示环境将在一个名为observation_space的变量中看到的所有可能值。代理有3种可能的操作,称为action_space
更具体地说,observation_space是一个温度传感器,它可以看到从50到150度的范围,我认为我可以通过以下方法来表示所有这些:
编辑,我错了action_space numpy数组
import numpy as np
action_space = np.array([ 0, 1, 2])
observation_space = np.arange(50,150,1)是否有更好的方法可以用于observation_space,在那里可以存储数据?例如,制造20箱50-55,55-60,60-65等.
我想我所拥有的会有用,但似乎有点麻烦.我相信会有更好的做法,因为我在这个问题上没有太多的智慧。这将打印出一个Q表:
action_size = action_space.shape[0]
state_size = observation_space.shape[0]
qtable = np.zeros((state_size, action_size))
print(qtable)发布于 2018-12-12 23:30:08
这实际上与编程无关,所以在stats.stackexchange上您可能会得到更好的答案。不管怎么说,这取决于你想要多少准确性。我想你想要根据传感器的读数来改变温度(增加、降低、不改变)。在50和51之间是否有很大的不同(就最佳行动而言)?如果不是,那么您可以每2度对状态空间进行离散化。诸若此类。
更普遍地说,这样做是在使用在RL中被称为“特性”的内容。状态空间区间上的离散化称为瓦片编码,通常工作良好。
如果您是RL新手,我建议您阅读这本书,或者至少阅读与您所做的相关的第1、3、4章。
https://stackoverflow.com/questions/53712923
复制相似问题