现场机器人的搜索技术

| 我的字段由开放的网格空间和填充的网格空间组成。我的机器人只能在开放空间上移动。它只能检测其8个相邻网格中的任何一个网格中是否都存在填充的网格空间(即上,下,左,右和诊断空间)。也就是说,它不能超出8个相邻空间。在这样的网格中最好的搜索技术是什么?可以说,我的目的是找到网格中没有的对象(一个对象是一组相连的填充空间) 我已经尝试了以下方法,但都非常糟糕: 保留访问的空间列表(通过将初始位置设为0,0并存储访问的空间的相对位置)。也就是说,我最好访问那些尚未访问过的位置。 首先转到最底部和最左侧,然后开始穷举搜索5个底行,然后搜索下5个底行,依此类推...
已邀请:
我不能完全确定我了解您的目标,但是用于一般网格路径查找,网格泛洪填充等的最常见(非优化)算法是A *(发音为“ A-Star”)。它最广泛的应用是带有“ open”和“ closed”节点的基于网格的路径查找。非常类似于您的“打开”和“已填充”网格空间。 查看 http://en.wikipedia.org/wiki/A*_search_algorithm 希望有帮助!
您没有描述为什么考虑解决方案“相当糟糕”,但是我假设您观察到无效的搜索行为。您可能想尝试的一个尝试是使用“信息值”标记每个空间,也就是说,当您访问该空间时会发现多少先前未被发现的相邻空间。这是您的“奖励”。您的“费用”是前往该特定空间的距离。然后,您将必须找到一种设计,以最大化(奖励-成本)搜索策略。
听起来像是部分可观察的马尔可夫决策过程。也许看看强化学习。 Sutton和Barto提供了免费的在线书籍版本。 我认为这个问题对于强化学习产生好的结果来说太难了,对于经典方法(使用逻辑)来说也太不确定了。

要回复问题请先登录注册