Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 调用环境状态元组_Python_Reinforcement Learning_Openai Gym - Fatal编程技术网

Python 调用环境状态元组

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)表示。”

我是新开Ai Gym的人,目前正在出租车环境中运行强化学习(RL),我的研究要求我能够调用状态元组(或者在
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环境也有同样的功能?但似乎不是这样。非常感谢。