离散规划中的前向搜索算法解析
在离散规划领域,搜索可行计划是一个核心问题。本文将深入探讨相关的搜索算法,包括算法的基本原理、不同类型算法的特点及性能分析。
1. 搜索可行性计划的基本要求
在搜索可行计划时,算法的系统性是一个重要要求。系统性意味着在有限图中,算法能够访问每个可达状态,从而判断是否存在解;在无限图中,如果存在解,算法能在有限时间内报告,若不存在解,算法可以持续搜索。
例如,在一个无限的无障碍物瓷砖地板上进行搜索。如果搜索算法只朝着一个方向探索,那么大部分空间将无法被覆盖;而如果以波前的方式从原点向外扩展搜索,则可能满足系统性要求。
2. 通用前向搜索算法
通用前向搜索算法的一般模板如下:
1 Q.Insert(xI) and mark xI as visited
2 while Q not empty do
3 x ← Q.GetFirst()
4 if x ∈ XG
5 return SUCCESS
6 forall u ∈ U(x)
7 x′ ← f (x, u)
8 if x′ not visited
9 Mark x′ as visited
10 Q.Insert(x′)
11 else
12 Resolve duplicate x′
13 return FAILURE
在搜索过程中,存在三种状态:
- 未
超级会员免费看
订阅专栏 解锁全文
1181

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



