artificial-intelligence - 什么是狗定位问题的良好状态空间?
问题描述
假设我们有一个 M*N 迷宫,并且在这个迷宫的不同单元格中有 K 只狗在寻找它们的房子(它们独特的房子也位于迷宫中的某个单元格中)。在每一步中,所有的狗都可以留在他们的位置或移动到迷宫中的相邻单元(符合条件的移动是:如果可能的话,向上、向下、向右、向左)。什么是解决这个问题的好状态空间?
独特的房子意味着每只狗在迷宫的某个地方都有自己的房子。
两只狗也可以站在同一个牢房里。
我个人认为每只狗到它家的曼哈顿距离之和可能是一个很好的启发式方法,但我自己无法定义一个好的状态空间。
以下是 k=2 和 5*5 迷宫示例图片的链接: 示例
解决方案
因为所有的动物都是独立的(它们不会互相阻挡,并且它们有独特的个人目标),所以您不应该对所有代理之间的联合行动进行建模。您实际上是在解决 K 个独立的寻路问题,其中每个人都可以单独使用曼哈顿距离启发式,给定 4 个连接的运动。如果您共同解决它们,那么您会在不必要的情况下使问题成倍增加。
有很多方法可以构建更好的启发式或重用搜索信息,但这是一个不同的问题。
推荐阅读
- python - 在单个模型的多个模型中使用外键时出现 django 错误
- php - PHP Array 如何使所有数组具有相同的长度
- angular - 如何以角度打印HttpRequest标头
- amazon-cloudformation - 无服务器框架 - 获取 API 网关 URL 以用于测试
- qt - 组合框qml的动态翻译
- pandas - 如何计算特定列的滚动平均值并需要打印滚动平均值以及日期
- android - 如何在 Android P (API 28) 中在外部 SD 卡上打开数据库
- angular - 使用服务的可重用组件之间的通信
- angular - Angular Material Snackbar 未正确显示
- java - JPA OneToOne,外键在 Spring Boot 上为空