Python 调用环境状态元组
我是新开Ai Gym的人,目前正在出租车环境中运行强化学习(RL),我的研究要求我能够调用状态元组(或者在Python 调用环境状态元组,python,reinforcement-learning,openai-gym,Python,Reinforcement Learning,Openai Gym,我是新开Ai Gym的人,目前正在出租车环境中运行强化学习(RL),我的研究要求我能够调用状态元组(或者在Taxi.py文件中称为“状态空间”)进行一些数据挖掘/状态-动作对操作 有一个函数可以调用它吗 例如:State(123)=(出租车行、出租车列、乘客位置、目的地) 在RL中,状态和动作以矩阵形式表示,列=状态,行=动作 在源代码(taxi.py)中,其所谓的“状态空间由(taxi\u row,taxi\u col,passenger\u location,destination)表示。”
Taxi.py
文件中称为“状态空间”)进行一些数据挖掘/状态-动作对操作
有一个函数可以调用它吗
例如:State(123)=(出租车行、出租车列、乘客位置、目的地)
在RL中,状态和动作以矩阵形式表示,列=状态,行=动作
在源代码(
taxi.py
)中,其所谓的“状态空间由(taxi\u row
,taxi\u col
,passenger\u location
,destination
)表示。”您可以这样做:
>>> import gym
>>> env = gym.make('Taxi-v2')
>>> from gym.envs.toy_text.taxi import *
>>>
>>>
>>> x = TaxiEnv()
>>> random_state = 123
>>> taxi_row, taxi_col, passenger_index, destination_index = x.decode(random_state)
>>> taxi_row
1
>>> taxi_col
1
>>> passenger_index
0
>>> destination_index
3
在您的问题中,您需要乘客位置
和目的地
。但是我使用的代码是返回乘客索引
和目的地索引
。因此,如果您了解环境地图,就可以轻松获得位置
以下是环境中使用的简单映射:
MAP = [
"+---------+",
"|R: | : :G|",
"| : | : : |",
"| : : : : |",
"| | : | : |",
"|Y| : |B: |",
"+---------+",
]
在这张地图中,我们有四个不同的位置(R、G、Y、B)。现在,您可以通过以下索引轻松获得乘客位置和目的地:
- 乘客位置:
- 0:R(ed)
- 1:G(绿色)
- 2:Y(黄褐色)
- 3:B(蓝)
- 4:在出租车上
- 目的地:
- 0:R(ed)
- 1:G(绿色)
- 2:Y(黄褐色)
- 3:B(蓝)
希望这能回答你的问题 谢谢。我测试了def encode,以从给定的元组(与给定的解决方案相反)获取状态,并进行了检验。我想我很幸运,因为taxi.py已经编码了这个函数。有没有可能FrozenLake环境也有同样的功能?但似乎不是这样。非常感谢。