给定的置换<跨度类=“math-container”> $ g_1,\,\ ldots,g_m \在s_n $ 中的大小 $ n $ 和目标置换 $ g \在s_n $ 中,确定是否存在 $ \ {g_1,\,\的子集LDOTS,G_M \} $ ,在某些顺序中(或者,作为此问题的变体)的组合(或者以相同的顺序)等于 $ g $ < / span>,即 $ g_ {i_1} \ circ g_ {i_2} \ circ \ cdots \ circ g_ {i_k}= g $

这实际上是一个子集sum sum sump ,但对于对称组 $(s_n,\ cir)$ 而不是<跨越类=“math-container”> $(\ mathbb {z},+)$ 。

问题是:

  1. 在多项式时间有已知的解决方案?
  2. 否则
  3. ,是这个问题已知为np-complete?
  4. 我在,然而,这些结果似乎是不适用于对称组。

有帮助吗?

解决方案

这个问题,我将调用子集 - perm-sum,是np-complete。成员资格很容易:非确定性地猜测子集,然后检查。

对于硬度,可以从3CNF-SAT以非常相似的方式减少到子集合和的标准硬度证明。

let $ \ varphi $ $ v $ 变量和 $ C $ 条文。我们将构建子集 - PUML-SUM的实例 $ s_ {2v + 4c} $ 。对于每个变量,我们构建 $ 2 $ 排列(一个代表变量的val,以及一个表示其否定的一个),并且对于我们将构建 2美元$ 排列。

到每个子句 $ c_j,1 \ leq j \ leq c $ we关联 $ 4 $ 元素: $ 2v + 4j-k $ for $ 0 \ leq k \ leq 3 $ 。构建 $ 2 $ 禁止与子句相关联,我们只需在其关联元素上执行一个周期。也就是说, $$ p(c_j)=(2v + 4j-3,2v + 4j-2,2v + 4j-1,2v + 4j)$$ (我们将添加 $ 2 $ $ p(c_j)$ 到我们想要查找子集的集合-sum以后。)

考虑 $ i $ -th变量, $ x_i $ ,并与它关联元素 $ 2i-1 $ $ 2i $ $ s_ {2v + 4c} $ 。 构建置换 $ p(x_i)$ 变量 $ x_i $ 只交换其关联元素(< Span Class=“Math-Container”> $ 2i-1 $ 和 $ 2i $ ),并乘以每个子句的排列。然后,在循环符号中,您可以写入: $$ p(x_i)=(2i-1,2i)\ prod_ {j | x_i \在c_j} p(c_j) $$

现在考虑MultiSet $ M $ ,这是 $ p(x_i)$ 的联合 $ p(\ bar {x_i})$ 和两个 $ p(c_j)$

我们定义目标置换 $ t $ 为:

$$ t=prod_ {i= 1} ^ v(2i-1,2i)\ cdot \ prod_ {j= 1} ^ c p(c_j)^ 3 $$

声明:有一个子集 $ x $ $ m $ 撰写到目标置换 $ t $ (让我写入 $ p(x)= t $ )如果且仅当 $ \ varphi $ 是满足的。

假设存在这样的 $ x $ 存在,那么我们知道 $ x $ 完全是一个 $ p(x_i)$ $ p(\ bar {x} _i)$ ,原样 $ x $ 的唯一方法,包括循环 $(2i-1,2i)$ 。此外,我们可以看到,对于每个子句 $ c_j \ in \ varphi $ ,如果变量满足它,则具有 $ p(c_j)^ 3 $ $ p(x)$ 我们需要包含 $ p(\ ell_i)$ 这样的文字 $ \ ell_i $ $ c_j $ 。请注意,使用 $ p(c_j)$ 中的两个实例在 $ x $ 中是不够的。因此,存在满足每个子句的变量的分配。 对于向后方向,Let $ \ sigma $ $ \ vari $ 的令人满意的分配。如果 $ \ sigma(x_i)= 1 $ 那么我们让 $ x $ 包含 $ p(x_i)$ ,否则我们让它包含 $ p(\ bar {x} _i)$ 。对于每个子句 $ c_j $ ,我们知道在 $ 0 \ leq r_j \ leq 2 $ 变量之间它不满足 $ \ sigma $ ,我们添加 $ r_j $ $ P(C_J)$ $ x $ ,所以这种方式 $ p(x)$ 包括 $ p(c_j)^ 3 $ 。很明显<跨度类=“math-con的组成

tainer“> $ x $ 等于 $ t $

其他提示

子集问题甚至更难(np-solly),适用于您可以嵌入 $ s_n $ 的特殊组。查看您在问题描述中链接的纸张。

$ \ textbf {neationation:} $ $ g $ 可以作为元素的组合包装<跨越类=“math-container”> $ \ {g_1,\ ldots,g_k \} $ 如果且仅当 $ g \ in \ langle g_1,\ ldots, g_k \ rangle $ 。在假设<跨度类=“math-container”> $ g_i $ 中可以出现任何次数。

问题的复杂性取决于输入表示。有两种最常用的方式,Cayley表和生成集。对于Cayley桌,请参阅本文的结果。阅读CGM(Cayley会员问题)链接

$ \ textbf {cgm} $

$ \ textbf {输入:} $ 一个组 $ g $ 由其Cayley表,<跨越类=“math-container”> $ x \ subseteq g $ 和 $ t \ in g $

$ \ textbf {output:} $ do $ t $ 属于子组 $ \ langle x \ rangle $ 由 $ x $

在一般问题中,在对称的日志空间中。


$ \ langle a \ rangle $ 表示 $ a $

生成的子组

许可以下: CC-BY-SA归因
不隶属于 cs.stackexchange
scroll top