回溯搜索中的成本模型与通用重启策略解析
1. 成本模型算法基础
在解决约束满足问题(CSP)时,有一种成本模型算法,它结合了解决问题与信息获取的过程。以某个具体例子来说,对于赋值 $(X = 1, Y = 5)$,未知集合 $UnknownsN$ 为 ${υ1, υ5}$。通过计算 $r1 = K1/(1 - p1) = 50/0.1 = 500 > r5 = 200/0.9$,进而得到 $R({υ1, υ5}) = K5 + p5K1 = 205$,以及 $R({υ1, υ5})/P({υ1, υ5}) = 205/(0.9 × 0.1) ≈ 2278$,此时算法会进行回溯。同样,对于赋值 $(X = 1, Y = 6)$ 对应的叶节点也会有类似情况。而对于 $(X = 2, Y = 6)$ 对应的叶节点,当前未知集合为 ${υ2}$,由于 $R({υ2})/P({υ2}) = 70/0.8 = 87.5 ≥ Q$,未知量 $υ2$ 会被确定。若其值为 1,则 $(X = 2, Y = 6)$ 是一个解,算法终止;否则,接下来会确定 $υ3$ 和 $υ4$。在这个例子中,该算法能生成一个最优策略,预期成本约为 90。
为了提高算法的搜索效率,可以设置一个限制 $SizeLimit$ 来控制与节点相关的当前未知集合 $UnknownsN$ 的大小。若 $|UnknownsN|$ 大于 $SizeLimit$,则按 $ri$ 递增的顺序依次确定未知量,并将其从当前集合中移除,直到 $|UnknownsN| = SizeLimit$。同时,回溯条件也需要相应调整,可将测试条件改为 $(CostDetSuccN + R(UnknownsN))/P(UnknownsN) > Q$,其中 $Cos
超级会员免费看
订阅专栏 解锁全文

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



