布尔函数代数免疫性与加权无序树自动机研究
1 布尔函数代数免疫性计算
1.1 矩阵秩计算复杂度
对于随机选取的布尔函数 (f \in B_n),计算矩阵 (M_d^{S(f)}) 秩的期望时间复杂度和空间复杂度分别为 (O((\sum_{i = 0}^{d} \binom{n}{i})^2 \sum_{i = d + 1}^{n} \binom{n}{i})) 和 (O(\max_{0 \leq j \leq N} r_j c_j))。不过,该时间复杂度表达式简化不易,并非严格上界,理论上相比其他算法无显著改进,但实践中速度快,可用于 (n = 20) 的计算,利用子矩阵稀疏性还能进一步提升速度。
1.2 Dalai - Maitra 算法
为求布尔函数 (f \in B_n) 的代数免疫性(AI),需计算 (M_d^{S(f)}) 的秩。Dalai - Maitra 算法利用 (M_{V_n,d}^{V_n,d}) 的对合性质(((M_{V_n,d}^{V_n,d})^2 = I)),将计算 (M_d^{S(f)}) 秩的问题转化为计算更小矩阵 (I_d^f) 的秩,其阶数为 (|S(f) \setminus V_n,d| \times |V_n,d \setminus S(f)|)。矩阵 (I_d^f) 定义如下:
[
I_d^f[v, x] =
\begin{cases}
\sum_{i = 0}^{d - wt(x)} \binom{wt(v) - wt(x)}{i} \bmod 2 & \text{if } x \subseteq v \
0 & \text{if } x \n
超级会员免费看
订阅专栏 解锁全文

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



