出租车环境中的州数(Dietterich 2000)

人工智能 强化学习 组合学
2021-11-07 02:52:36

Dietterich 介绍了出租车环境(见第 9 页),他指出:“总共有 500 个 [不同的] 可能状态:25 个方格,5 个乘客位置(包括四个起始位置和出租车),以及4 个目的地”(Dietterich,2000 年,第 9 页)。

但是,在我看来,只有 25(网格)* 4(位置)* 2(车上乘客)= 200 个不同的状态,因为对于代理来说,去某个点应该是同一个任务,无论它是否在去接或下车的路上。只有目的地的动作不同,它将被存储为二进制(乘客是否在车内)

迪特里希为什么要提出 500 个州?

2个回答

这更像是一个组合问题,而不是 AI 问题,但没有评分,环境的完整状态信息是:

(taxi position,passenger position,destination position)

有 25 个可能的出租车位置、5 个乘客位置和 4 个目的地位置2554=500,所以论文是正确的。

您也是正确的,但是您将 1 个目标分为 2 个目标,并且您有 2 个单独的政策,即接送政策和下车政策。因此,您的状态信息将适用于每项政策:

(taxi position,destination position)

有 25 个可能的出租车位置和 4 个可能的目的地位置254=100. 你有 2 个政策,所以你有200状态。

编辑

实际上,在第二种情况下,我认为您可以只使用一项政策,一旦您接载乘客,您只需更改目的地位置,因此您不需要 2 份单独的政策,您将只有100状态

这 。. .

因为对于代理来说,到达某个点应该是相同的任务,无论它是在接送的路上还是下车的路上

. . . 对于理解任务的人来说,这似乎是合乎逻辑/直觉的,但它在数学上并不正确。代理不能“合并”状态,因为它们涉及相同的行为。在呈现组合时,它必须计算状态差异。至关重要的是,朝向乘客位置或朝向目标位置与代理没有任何相似之处,除非您操纵状态使它们如此*。

最终,出租车将学习非常相似的导航行为来接送乘客。然而,使用一个基本的 RL 代理,它非常独立地学习这些,并且必须为乘客和目标位置的每个组合独立地重新学习导航规则。

在环境中学习导航,然后将其组合成不同任务的代理可能是分层强化学习、迁移学习或课程学习的一个例子。这些是更复杂的学习方法,但非常有趣的是,即使是非常基本的 RL 问题也可以证明对更高层次抽象的用途。大多数用于出租车问题的代理都不会这样做,因为使用最简单的算法真的很容易“暴力破解”500 个状态。


*您可以修改状态表示以使任务合理化并使其具有更少的状态,类似于您的建议。例如,有一个可以上车或下车的“目标”位置,以及一个布尔“载客”状态组件。这确实会减少州的数量。但是,这涉及到您作为问题设计者来简化问题以使代理更容易。鉴于这是一个玩具问题,旨在作为基准来查看不同代理的执行情况,这样做会破坏环境的目的。但是,如果您正在创建一个代理来解决更难的现实世界问题,那么寻找对称性和简化状态表示的方法可能是一个非常好的主意,这将加速学习。