-1

我有一个网格环境,每个单元格中都包含一个静态代理。当我的代理进入一个单元格时,这个单元格中的静态代理可能会从我身上拿走分数,给我分数,或者什么也不做。我的代理无法观察相邻的单元格,直到它移动到一个单元格中,它只能向上、向下、向左或向右移动。

该代理在探索时无法学习。它从一个特定的角落进入网格,并且只能从那个角落离开。如果代理成功地探索环境并以积极的健康状态返回角落,那么它可以从收集到的经验中学习,包括它访问过的(行、列)位置,以及位于这些位置的静态代理的属性。职位。如果探员在探索过程中的生命值降至零,则游戏结束。但是我可以根据需要多次重新开始探索。

每个静电剂具有三种形状中的一种、三种颜色中的一种和两种尺寸中的一种。它还有一个相关的“奖励”,表明它从我身上添加/删除了多少点。

在这种环境下,每一步都会让我损失一分。我想设计一个能正确识别与此网格中每种类型的静态代理相关的奖励的代理。

请有人推荐一种学习和/或进化的方法来解决这个问题?由于代理可能无法观察相邻方格的限制,我目前被困住了。我不确定如何从单独遇到的(行、列)和静态代理属性中从这个测试环境中学到任何东西。

4

1 回答 1

1

显然,与这个问题相匹配的最好的学习方法之一是Reinforcement Learningand 更具体的Q-Learning您会在这里

找到一个很好的起点。 提示:Q-learning 非常有名,这里不再赘述,但我在这里给你一个重点。

在每一步都使用例如数组(幸运的是你不是到目前为止学习任何东西!)。继续这样做,直到代理停止,正如您所说,这可能有两个原因:

  1. 特工的生命值降为零:什么都不做!(丢弃数组)
  2. 代理从另一个角落离开:对数组中的值应用以下规则

在此处输入图像描述

于 2014-03-23T09:43:26.743 回答