超平面排列中输出敏感的胞腔枚举算法
1 背景介绍
在超平面排列问题中,Avis 和 Fukuda 开发了一种反向搜索方法,其运行时间为 $O(m · d · lp(m, d) · | C |)$,其中 $lp(m, d)$ 是求解一个 $m × d$ 线性规划所需的时间。当维度 $d$ 固定时,他们的算法时间复杂度为 $O(m^2 · | C |)$。通过对其两个主要过程进行效率提升,整体时间复杂度得到了显著优化,优化因子为 $m$。
1.1 胞腔识别方法
考虑排列中所有可能存在的胞腔的状态空间。可以通过以下方法识别胞腔:
- 每个超平面 $h_i$($1 ≤ i ≤ m$)由线性等式 $h_i := {x : a_ix = b_i}$ 给出,其中 $a_i$ 是 $m×d$ 矩阵 $A$ 的第 $i$ 行,$b_i$ 是大小为 $m$ 的列向量 $b$ 的第 $i$ 个元素。
- 对于 $\mathbb{R}^d$ 中的每个点,定义一个长度为 $m$ 的符号向量,由 $+$、$0$ 和 $-$ 组成。点 $x$ 的符号向量的第 $i$ 个位置为 $+$,表示 $x$ 位于超平面 $i$ 的正侧($a_ix > b_i$);为 $0$ 表示 $x$ 位于超平面上;为 $-$ 表示 $x$ 位于超平面的负侧($a_ix < b_i$)。
- 当含义明确时,用胞腔中所有点的符号向量来标识胞腔,该符号向量仅由 $+$ 和 $-$ 组成。胞腔 $c$ 所在超平面正(负)侧的超平面索引集称为胞腔的正(负)支撑,分别用 $c^+$($c^-$)表示。
- 选择一个胞腔作为根胞腔,并在必要时反转一些超平面的方向,使其符号向量仅由 $+$
超级会员免费看
订阅专栏 解锁全文
22

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



