首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用Env状态元组

调用Env状态元组
EN

Stack Overflow用户
提问于 2019-09-17 04:40:07
回答 1查看 718关注 0票数 2

我刚开始开放Ai健身房,目前正在出租车环境中运行强化学习(RL),我的研究要求我能够为某些数据挖掘/状态-动作对操作调用状态元组(或在Taxi.py文件中称为“状态空间”)。

有什么叫这个的函数吗?

例:State(123) = (taxi_row, taxi_col, passenger_location, destination)

在RL中,状态和动作用矩阵形式column = state, row = action表示。

在源代码(taxi.py)中,它称为“状态空间由(taxi_rowtaxi_colpassenger_locationdestination)表示”。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-17 06:25:31

你可以这样做:

代码语言:javascript
复制
>>> 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

在你的问题中,你想要passenger_locationdestination。但是我使用的代码是返回passenger_indexdestination_index。因此,如果您理解了环境地图,您就可以轻松地获得位置。

以下是环境中使用的简单地图:

代码语言:javascript
复制
MAP = [
    "+---------+",
    "|R: | : :G|",
    "| : | : : |",
    "| : : : : |",
    "| | : | : |",
    "|Y| : |B: |",
    "+---------+",
]

在这张地图中,我们有四个不同的位置(R,G,Y,B)。现在,您可以很容易地了解乘客位置和目的地,如下所示:

  • 乘客地点:
代码语言:javascript
复制
- 0: R(ed)
- 1: G(reen)
- 2: Y(ellow)
- 3: B(lue)
- 4: in taxi

  • 目的地:
代码语言:javascript
复制
- 0: R(ed)
- 1: G(reen)
- 2: Y(ellow)
- 3: B(lue)

希望这能回答你的问题!!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57967451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档