AI适用于静态环境

问题描述 投票:-1回答:1

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

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

每个静态代理具有三种形状中的一种,三种颜色中的一种,以及两种尺寸中的一种。它还有一个相关的“奖励”,表示它添加/删除了多少点。

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

有人可能会建议学习和/或进化的方法来解决这个问题吗?由于代理人可能没有观察到相邻方块的限制,我现在卡住了。我不确定如何从单独遇到的(行,列)和静态代理属性中学习这个测试环境中的任何内容。

algorithm machine-learning artificial-intelligence reinforcement-learning agent
1个回答
1
投票

显然,匹配这个问题的最好的学习方法之一是Reinforcement Learning,更具体的Q-Learning。 你会找到一个很好的起点here。 提示:Q-learning是众所周知的,我不在这里重复其他人,但我在这里给出了关键点。

在每个步骤跟踪发生的事情(奖励/惩罚 - 不需要代理类型,......如果环境保持固定并且你想学习这个环境而不是代理人)使用例如一个数组(幸运的是你不是到目前为止学习任何东西!)。继续这样做直到代理停止,正如你所说的那样有两个原因:

  1. 代理人的健康状况降至零:什么都不做! (丢弃阵列)
  2. 代理从另一个角落离开:将以下规则应用于数组中的值

© www.soinside.com 2019 - 2024. All rights reserved.