【问题标题】:Artificial Intelligence: Blocksworld heuristic A* solution approach人工智能:Blocksworld 启发式 A* 解决方法
【发布时间】:2017-09-24 20:30:57
【问题描述】:

我正在为 Blocksworld 问题开发一种启发式解决方案。

我尝试使用不合适的块数作为我的 h(n)。好像没什么效果。

有人可以指出一个适合问题的启发式方法,并用几个例子解释它是如何工作的。

Blocksworld Problem Example:

Initial(starting State):
Stack 0: D,B
Stack 1: A,E
Stack 2: C
Stack 3: F


Goal State:
Stack 0: A,B,C,D,E,F

【问题讨论】:

  • 我不熟悉“blocksword”问题,也找不到任何相关的好资源。你能定义问题需求是什么吗?
  • @Cristy:我添加了一个问题示例。
  • 也许你可以向你的教授或助教寻求帮助,而不是互联网上对这个问题或你的背景一无所知的随机陌生人。
  • 也许“Blocksworld”实际上是河内塔?

标签: algorithm artificial-intelligence heuristics


【解决方案1】:

Blocksworld 问题由一堆木块组成,这些木块带有标签、一张桌子和一个期望的结束位置。允许移除顶部积木并将其放在另一个堆栈或桌子上(开始一个新堆栈),但不能移动被另一个积木覆盖的积木。目标是以最少的移动次数到达结束状态。

使用 A*,我们需要一个启发式方法来判断所采取的动作是更接近还是远离我们的目标。因此,为每个到位的积木打一分,然后从下到上对最终位置的桩打分,计算积木到所需位置的距离(因此,如果积木在顶部,则得分 -1,如果它在第二个位置,得分-2,然后对下一个块做同样的事情,所以如果两个块倒置,它会给你一个不准确的测量,但希望不会太糟糕)。

我不知道这将如何执行。它显然被设计为一个开放的编程问题。

【讨论】:

    猜你喜欢
    • 2020-05-24
    • 2020-03-01
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 2018-04-14
    • 2012-02-24
    相关资源
    最近更新 更多