识别两个排列差异的完整性


21

索尔在对匿名麋对这个问题的回答的评论中说,您能确定多项式时间内两个置换的总和吗?,表示两个排列的差异是完全的。不幸的是,我看不到置换和问题的直接减少,对于置换差异问题,使完整性降低非常有用。ñ PNPNPNP

排列差异:

实例:正整数数组。A[1...n]A[1...n]

问题:是否存在正整数两个置换和,使得等于吗?ππσσ1,2,...,n1,2,...,n|π(i)σ(i)|=A[i]|π(i)σ(i)|=A[i]1in1in

证明两个排列差异的完整性证明的减少是什么?ñ PNP

编辑10-9-2014:当序列的元素是有符号的差异时,Shor的评论进行了简化,证明了完整性。但是,对于所有元素都是差的绝对值的问题,我看不出有什么容易解决的。N P A ANPAA

更新: 置换差异问题似乎是即使两个置换之一始终是身份置换。非常欢迎这种特殊情况的硬度证明。因此,我对此受限制版本的完整性感兴趣:ñ P ñ PNPNP

限制排列差异: 实例:正整数数组。A [ 1 ... n ]A[1...n]

问题:是否存在正整数的置换 使得等于吗?π 1 2 n | π i i | = [ ] 1 Ñπ1,2,...,n|π(i)i|=A[i]1in

更新2:如mjqxxxx的答案所示,可以有效地确定受限制的问题。原始问题的计算复杂性尚未得到证明。

编辑9/6/16:我有兴趣确定排列差异的这种简化是否是NP完全的:

限制排列差异:

实例:正整数的多重集一种A

问题:是否存在一个置换 的正整数的1 2 n使得 A = { | π i i | 1 Ñ }ππ1,2,...,nA={|π(i)i|:1in}


为什么不直接问彼得?@Peter
caozhu 2014年

您是指电子邮件吗?我去做。
Mohammad Al-Turkistany 2014年

我可能会丢失一些东西,但是这个问题不能表示为2-SAT,因此可以在多时解决吗?我们可以假设WLOG排列中的一个是恒等式(我在这里假设A [i]是循环计算的;这有关系吗?),然后我们可以用矩阵x [ i j表示第二个]。作为一个置换矩阵,是两个变量的从句的结合,表明没有两个变量位于行或列中。然后说,不同的是在从i pi的位置(i)是A [i]为所述或两种可能的地方也可以是英寸x[i,j]
诺姆

@Noam谢谢您的评论。有趣的主意。我没有想到。但是,对我来说,是否会导致多项式时间算法并不清楚,特别是仅给出差的绝对值。
Mohammad Al-Turkistany 2014年

1
是的,似乎周期性地计数间隙或绝对值之间的差异可能很重要。
Noam 2014年

Answers:


5

置换问题之一是同一性的受限问题肯定在P中。构建二分图,其中每个顶点V 1 = { 1 2 ... Ñ }被连接到元件(多个)Ĵ V 2 = { 1 2 ... Ñ }使得| i j | = A [ i ]。然后是所需的排列σPiV1={1,2,,n}jV2={1,2,,n}|ij|=A[i]σ当且仅当图具有可以在多项式时间内确定的完美匹配(即,具有n个边的匹配)时,存在。n


我可能会缺少一些东西,但是任何完美匹配都将无法正常工作。您必须证明受限的完美匹配的存在。考虑一个在输入数组A中出现两次的整数k。对应于置换的完美匹配必须具有两个绝对差为k的边。您的算法无法证明存在这种受限匹配。这使问题变得棘手,甚至可能使问题变得完全。kAk
Mohammad Al-Turkistany 2014年

2
@ MohammadAl-Turkistany:我认为,如果[ ] = [ Ĵ ] = ķ然后ü ü ĴV 1被链接到节点v + [ ]v - [ ]v Ĵ + [ Ĵ ]v Ĵ - [ Ĵ ]v 2A[i]=A[j]=kui,ujV1vi+A[i],viA[i],vj+A[j],vjA[j]V2绝对差为k。完美匹配将包括u i的至少一条边缘和u j的至少一条边缘。数年前,我在思考原始问题时得出了相同的结论,但又采用了另一种方式:我看到将受限问题表达为2-SAT公式很容易(如果需要,我可以添加一个答案) ,但mjqxxxx的想法更好)。kuiuj
Marzio De Biasi 2014年

@MarzioDeBiasi为什么这种方法(和您的方法)不适用于原始的(不受限制的)问题?
Mohammad Al-Turkistany 2014年

@mjqxxx我看到您的方法解决了受限情况。为什么不能扩展它以有效解决原始问题?
Mohammad Al-Turkistany 2014年

@ MohammadAl-Turkistany:因为在最初的问题中,第一个置换的元素(受限版本中的i s)是不固定的,并且使用相同的方法最终得到一个三方图(在我的2-SAT方法中,一个δ ñ π ñ + [ ] π ñ - [ ] 子句...其不是2-CNF子句)。iδi(n)(πi(n+A[i])πi(nA[i]))
Marzio De Biasi 2014年

0

这里的一个轻度有趣变型,其中的问题是容易的:不是接地组{ 1 2 3 ... Ñ },允许的任意子集{ 1 2 4 8 ... }。目标仍然是找到一个置换π, 以便A = { | π 2 k2 k | 2 ķ∈ Ω } ,其中Ω{1,2,3,,n}{1,2,4,8,}πA={|π(2k)2k|:2kΩ}Ω是地面。这里的主要优点在于,新的地面组力的每个元素2 ķ 1 - 2 ķ 2对于一些ķ 1ķ 2,并且如果ķ 1ķ 2,然后ķ 1ķ 2通过该确定区别。因此,对于每个差异| 2 k 12 k 2 | A中,我们可以推断π 2 kA2k12k2k1,k2k1k2k1k2|2k12k2|A1)=2k2π(2k1)=2k2 or π(2k2)=2k1π(2k2)=2k1 (or both).

Efficiently solving this simplified variation is then more or less routine. Begin by constructing the undirected bipartite multigraph G=(LR,E)G=(LR,E) where LL and RR are distinct copies of the ground set, and add edges (2k1,2k2)(2k1,2k2) and (2k2,2k1)(2k2,2k1) whenever |2k12k2||2k12k2| appears in AA with k1k2k1k2. I claim that the following are equivalent:

  1. There is a permutation ππ with differences AA
  2. Every vertex in GG has degree 0 or 2

I won't actually prove this because of time, but it's not too bad to work out on one's own. That 12 is straightforward. That 21 is a bit more arduous, but it's not too bad when you reason with the automorphism of G which sends each vertex in L to its copy in R (and vice-versa). The proof I have in mind directs the edges in G so that all edges in a cycle go ``the same way around the cycle'' (each nonisolated vertex has in-degree = out-degree = 1), and so that the preceding automorphism of G remains an automorphism of the directed version. π is then chosen according to the edges that go from L to R.

You can phrase the above algorithm as a perfect matching question, and I imagine there are other reductions to 2-SAT. I don't see how to extend these approaches to the original problem though.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.