12、提升静态变量顺序:基于结构不变量的优化策略

提升静态变量顺序:基于结构不变量的优化策略

在符号算法的领域中,如何高效地处理和表示状态空间是一个关键问题。本文将深入探讨通过结构不变量来改进符号算法的方法,重点关注变量合并和变量排序这两个重要方面。

1. 局部性与饱和算法

在我们的网络中,局部性很容易确定。因为一个转换 $t$ 的启用和触发效果仅取决于其输入、输出和抑制器位置,以及相应弧的基数表达式中出现的任何位置。识别局部性不仅能提供良好的链接顺序,还具有更大的潜力。

如果 $Top(t) = l$ 且 $Bot(t) = k$,那么在这个范围之外的任何变量 $x_m$(即高于 $l$ 或低于 $k$)不会因转换 $t$ 的触发而改变。在计算 $BfsChaining$ 的第 4 行中的图像时,我们只需访问级别 $l$ 或更低的 MDD 节点,并仅就地更新级别 $l$ 的 MDD 节点,而无需从根节点访问 MDD。

我们引入了最先进的饱和算法(Saturation)。一个级别为 $l$ 的 MDD 节点 $p$ 是饱和的,当且仅当对于所有 $Top(t) \leq l$ 的转换 $t$,都有 $B(K, p) \supseteq N_t(B(K, p))$。饱和算法从级别 1 开始,自底向上地对编码初始状态集的 MDD 节点进行饱和处理,直到级别 $K$ 的根节点饱和为止。

只有饱和节点会出现在操作缓存和唯一表中。这种独特的属性使得饱和算法在建模异步系统时,内存和运行时要求通常比传统的符号广度优先探索小几个数量级。

2. 结构不变量对符号算法的影响

结构不变量已被用于变量消除。然而,基于不变量的消除方法会严重损害局部性,通常不是一个好主意。例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值