【问题标题】:What would be a good heuristic to solving this?解决这个问题有什么好的启发式方法?
【发布时间】:2014-08-24 06:09:49
【问题描述】:

目的是引导机器人从源S 到目标G,同时通过所有检查点@(以任何顺序)。标记为# 的单元格无法访问。机器人可以在标记为.的位置上移动

########
#@....G#
##.##@##
#..@..S#
#@.....#
########

解决此问题的一种方法是从当前状态中选择一个检查点作为目标,然后将机器人引导至该检查点。然后选择下一个检查点作为目标,当前检查点作为源,引导机器人到达新目标。最终将其从最后一个检查点引导到状态G

但是这种技术在很大程度上依赖于遍历检查点的顺序。

我想知道是否可以找到一个好的启发式决定下一步去哪个检查点?

【问题讨论】:

  • 这不是像旅行商问题吗?
  • @Mehrdad 机器人并不真正知道从每个检查点到下一个检查点的路径长度。存在无法访问的单元格位置的附加约束。它相似,但我认为它不完全相同。
  • 如果你说的是机器学习那么我相信你可以设定目标是收集所有的检查点和目标本身为每个奖励一个点,但是收集最后的 G 最糟糕的是很多点.这样,它应该尝试将它们全部收集起来,最后 G
  • @Vlapd 这是一个很好的技术。我可以将负分奖励给每个非检查点单元,以确保找到最短路径。

标签: artificial-intelligence heuristics


【解决方案1】:

我认为这个问题可以归结为旅行商。让 S、G 和 @ 成为图的节点。然后计算每对节点之间的最小距离,考虑任何墙壁。然后你有一个点之间的加权距离图。现在这是 TSP,只是您知道第一个 最后一个节点的细微差别。

【讨论】:

  • 是的,但需要知道如何操作。而且我认为 OP 不确定这个问题是否在 NP 中。
  • 我评论的重点是,如果将问题简化为 TSP 是没有意义的,因为这是一个众所周知的用启发式或近似法解决的难题。要么您应该将 it 简化为更容易表明这是一个更容易的问题,或者您应该将 TSP 简化为 它以表明它至少与 TSP 一样困难。将其减少为 TSP 与将二分搜索减少为 TSP 一样有用。
  • 好吧,也许减少在这里是错误的词。实际上,我证明了这两个问题是等价的。并且显示这个问题与 TSP 一样复杂,与显示相反的问题大致相同。理论计算机科学从来都不是我最擅长的话题,我更喜欢实际应用:-s
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
  • 2021-01-10
  • 2021-02-26
相关资源
最近更新 更多