离散规划中的搜索算法详解
1. 可行计划搜索的基本概念
在离散规划中,搜索可行计划的方法本质上是图搜索算法。不过,这里的状态转移图是通过逐步应用动作来逐步揭示的,而非预先完全确定。
对于搜索算法而言,系统性是一个重要要求。当图为有限图时,系统性意味着算法会访问每个可达状态,从而能在有限时间内正确判断是否存在解决方案。为实现系统性,算法需记录已访问的状态,否则可能会陷入重复状态的循环,导致搜索无法停止。只要确保无冗余探索,搜索即可具有系统性。
若图为无限图,我们可以接受一个较弱的系统性定义。若存在解决方案,搜索算法仍需在有限时间内报告;若不存在解决方案,算法持续搜索也是可接受的。通过确保随着搜索迭代次数趋于无穷,图中的每个可达顶点都能被探索,就能满足这一系统性要求。
以无限无障碍物的瓷砖地板为例,如果搜索算法仅朝一个方向探索,大部分空间将无法被覆盖;而若从原点以波前形式向外扩展搜索,则可能具有系统性。但实际上,每个搜索算法都需仔细分析,因为即使算法向多个方向扩展甚至以波前形式扩展,也未必具有系统性。对于有限图,情况则简单得多,只要标记已访问状态以避免无限重复访问,几乎任何搜索算法都是系统性的。
2. 通用正向搜索
通用正向搜索算法有一个通用模板,使用状态空间表示法。在搜索过程中,状态可分为三种类型:
- 未访问状态 :尚未被访问的状态,初始时除初始状态 (x_I) 外的所有状态都是未访问状态。
- 死亡状态 :已被访问且其所有可能的下一状态也都被访问的状态。这些状态对搜索已无更多贡献,因为没有新的线索可用于寻找可行计划。不过
离散规划搜索算法全解析
超级会员免费看
订阅专栏 解锁全文
2044

被折叠的 条评论
为什么被折叠?



