数组排列分析:基于流和线性代数的解决方案
1. 基于流的上界求解
在处理索引和原子方程系统时,相应的格会提供最小上界运算符。但对于多重集方程,我们需要自行定义统一两个多重集方程的方法,每个多重集方程都与一个原子方程系统相关联。
例如,我们要统一多重集方程 $\hat{A} \ominus M = \varnothing$(已知 $(v = A[i] = A[j])$)和 $\hat{A} \ominus M = A[j] \ominus v$(已知 $(A[i] = A[j])$)。形式上,给定两个多重集表达式 $E_1$ 和 $E_2$,以及它们所涉及原子的两个等价关系 $\equiv_1$ 和 $\equiv_2$,我们希望将每个 $E_i$ 重写为一个共同的多重集表达式 $E$,使得 $E_i \equiv_i E$($i = 1, 2$)。
1.1 原子重写
当一个原子 $a$ 仅出现在 $E_1$ 中时,我们可以通过向 $E_2$ 中添加 $a \ominus b$(其中 $a \equiv_2 b$)将其引入 $E_2$。这个重写过程可能会导致需要将 $b$ 引入 $E_1$,以此类推。寻找原子的共同重写过程可以看作是在图中旅行。
我们将 $\equiv_1$ 和 $\equiv_2$ 的等价类视为顶点,如果 $x \in V \cap V’$,则用标记为 $x$ 的边连接两个顶点 $V$ 和 $V’$。得到的图显然是二分图,每条边连接 $\equiv_1$ 和 $\equiv_2$ 的类。
例如,要统一 $E_1 = a$ 和 $E_2 = e$,已知 $(b \equiv_1 c \equiv_1 d)$ 和 $
超级会员免费看
订阅专栏 解锁全文

974

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



