基于抽象解释的建模组合器与回溯门检测复杂度权衡
1. 基于抽象解释的约束组合器
在约束编程领域,有一种约束组合器 w 能让用户从命令式循环创建约束。以某约束 w 为例,其解的集合 Z 可表示为:
[Z = {(X, Y ) | (X, Y ) \in T^3 \land Y \in sol(In \geq 2)} = {(0, 2), (1, 2), (2, 2), (3, 3)}]
不过,迭代固定点方程通常是不可判定的,因为 Do 可能包含其他 w 约束,所以一般情况下 Z 无法计算。
为解决此问题,可使用多面体抽象域计算 T 的近似值。设多面体 P 是 T 的过近似,即 T 的所有元素都是 P 的点。由于定义 T 的对中每个值列表长度为 n ,所以 P 涉及 2n 个变量,可用定义多面体的线性方程的合取来表示 P 。
固定点方程如下:
[P_{k + 1}(Init, Out) = P_k \sqcup (P_k(Init, In) \land Relax(Cond \land Do)) {Init,Out}]
[P_0(Init, Out) = \alp
超级会员免费看
订阅专栏 解锁全文
1009

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



