离散规划中的搜索算法详解
在离散规划领域,搜索算法是寻找可行计划的关键工具。这些算法的核心在于在状态转移图中探索,以找到从初始状态到目标状态的路径。下面将详细介绍搜索算法的相关内容。
1. 搜索算法的系统性要求
搜索算法的一个重要特性是系统性。系统性的定义根据图的有限性和无限性有所不同。
- 有限图 :对于有限图,系统性意味着算法会访问每个可达状态。为了实现这一点,算法需要记录已访问的状态,避免重复访问相同状态导致无限循环。只要确保没有冗余探索,搜索就可以是系统的。例如,在一个有限的迷宫中,算法通过标记已走过的路径,就能保证遍历所有可达的位置。
- 无限图 :对于无限图,系统性的定义相对宽松。如果存在解决方案,搜索算法必须在有限时间内报告;如果不存在解决方案,算法可以无限搜索。要满足这一要求,需要保证在搜索迭代次数趋于无穷大时,图中的每个可达顶点都能被探索到。例如,在一个无限大的无障碍物瓷砖地板上搜索,如果算法只朝一个方向探索,大部分空间将无法被覆盖;而如果从原点向外以波前的方式进行搜索,则可能是系统的。
2. 通用正向搜索
通用正向搜索是一种基于状态空间表示的搜索算法模板,在搜索过程中,状态可分为以下三类:
- 未访问状态 :尚未被访问的状态,初始时除了初始状态 $x_I$ 外的所有状态都是未访问状态。
- 死亡状态 :已经被访问过,且其所有可能的下一个状态也都被访问过的状态。这些状态对搜索没有更多的贡献,因为没有新的线索可以帮助找到可行计划。
-
超级会员免费看
订阅专栏 解锁全文
9

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



