【问题标题】:AI implementation in 2d robot JAVA [closed]二维机器人 JAVA 中的 AI 实现 [关闭]
【发布时间】:2013-01-04 12:07:14
【问题描述】:

我有一个学校项目,如下所示,我在地图上有一个机器人的 API 结构,地图上有墙壁和能量站,这些都是给我的。

我要做的就是实现机器人的人工智能,这样他就可以在地图上覆盖尽可能远的距离,使用能量站在途中充电。这里的问题是机器人在地图上着陆时对地图一无所知,所以我去跟随二维数组:

?????????????????????
?????????????????????
?????????????????????
?????????r???????????
?????????????????????
?????????????????????

我可以得到初始位置,以及数组的高度和宽度,但我什么都不知道。该项目的目标是发送有关地图的最多信息。

您能否就开始提出一些建议,因为我一直在绞尽脑汁却没有找到解决方案。

【问题讨论】:

  • 请表现出一些努力。如果您不知道从哪里开始,那么在您对地图知之甚少的情况下,请在开始时考虑什么可能是好的策略。您的目标应该是什么,您将如何实现这些目标?
  • 你说你可以访问的两件事(init pos,w/h)没有提供你需要的信息。你显然必须有一个更好的 API(你可以“看到”多少块,你可以移动的方向等),但只是没有很好地描述它。
  • 这不是一个编程问题,这是一个how-do-i-approach-a-problem问题。作为学生,你的工作就是自己解决这个问题!

标签: java 2d artificial-intelligence


【解决方案1】:
  1. 在地图上移动机器人以发现新图块
  2. 实施寻路以计算到最近的能源站的距离
  3. 如果fuel = distance to nearest energy station,则移回最近的能源站
  4. 探索每一块瓷砖

【讨论】:

  • 非常感谢。但是还有一个问题是对瓷砖的探索,有什么算法可以帮助我解决这个问题吗?
  • 您只需要确保探索每个节点。按特定顺序逐个节点进行。
  • 机器人什么都不知道,如何指定顺序?
  • 他可以计算他从当前图块有多少个出口,如果可用的话,他总是可以分别说右、上、左、下。当他对每一块瓷砖都这样做时,他最终会发现整张地图。
【解决方案2】:

由于您没有可以开始的信息,因此似乎可以进行简单的深度优先搜索。我建议检查谷歌以获取有关递归深度优先搜索的一些信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多