【问题标题】:How do I find an optimal solution to the 24 puzzle in a timely manner?如何及时找到24个谜题的最优解?
【发布时间】:2018-07-07 00:15:42
【问题描述】:

问题:

在不到 5 秒的时间内(在普通计算机上)计算出随机 24 (5x5) sliding puzzle 的最优解。

我的尝试:

使用带有曼哈顿距离/线性冲突的IDA* 算法作为启发式算法,如here 所述,我的Java 实现可以在不到2 秒的时间内解决一个4x4 (15) 难题。

在 5x5 (24) 拼图上运行相同的实现会在 5 分钟后生成解决方案的路径。

我在想我可以减少搜索空间,从而减少执行时间,首先解决顶行和左列,然后继续解决剩余的 4x4 框。事实证明,这很困难,因为我想不出/设计一个启发式方法可以让 IDA* 及时解决顶部和左侧部分。

【问题讨论】:

  • 在很少有人使用 Java 开发的优化世界中,C++ 是更好的选择
  • 看过模式数据库吗?
  • @FrankS101 我刚试过模式数据库,而且..他们找到最佳解决方案的速度也很慢

标签: algorithm graph-algorithm heuristics


【解决方案1】:

在 russel 和 norvig 的 AI 书籍中,提到 5x5 滑动拼图具有如此巨大的状态空间,即使是最好的 AI 搜索算法也可能需要数小时才能解决。 (第 71 页,第 3 版)

【讨论】:

    猜你喜欢
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 2010-09-05
    相关资源
    最近更新 更多