有差异序列置换的有效算法?


12

这个问题是由这篇文章引起的,您能确定多项式时间内两个置换的总和吗?,以及对排列的计算属性的兴趣。

甲差异测序 置换的π数的1 2 ... Ñ + 1通过找到在排列的每两个相邻的数字之间的差,形成π。换句话说,a i = | π + 1 - π | 1个Ña1,a2,anπ1,2,n+1πai=|π(i+1)π(i)|1in

例如,序列 是置换的差异序列2 3 4 1。同时,序列2 2 33 1 2不是数字的任何排列的差异序列1 2 3 41,1,323412,2,33,1,21,2,3,4

是否有一种有效的算法来确定给定序列是某个置换的差分序列,还是NP-hard?π

编辑:如果我们使用循环排列来表述问题,则会得到计算上等价的问题。

EDIT2:Cross发表在MathOverflow上,从其差异序列重建排列有多困难?

EDIT3授予了证明草图的赏金,我将在获得完整的正式证明后接受答案。

编辑4:Marzio的完备性证明已经在《组合电子学》上发表。NP


1
也许另一个琐碎(但听起来更合理?)的注释是,如果[ 1 .. n ]的排列(所有值都是不同的),那么问题是要验证该序列是否是n行的优美标记。+ 1个可在多项式时间内求解的节点。ai[1..n]n+1
Marzio De Biasi 2013年

2
@MarzioDeBiasi它认为您与我一样对排列问题充满热情。我希望我提出了最简单的计算有趣的置换问题:)
Mohammad Al-Turkistany

2
:-) ...我宁愿说我的评论直接来自我徒劳地花在优美的树形标签问题上的时间...但是,我对可能解决问题的NP完全减少有一个模糊的想法;如果我成功将其形式化,我将发布答案。
Marzio De Biasi 2013年

@MarzioDeBiasi我发现Shor提出了一条有趣的评论,指出您的问题(具有瓶颈问题的Job Schedule )等同于我的问题的特例。这是Shor的评论: 如果,则问题等同于找到1 ... 2 N的置换,从而i 2 a 1i 2 a = A iK=2N1...2Ni2a1i2a=Ai。这提供了我的问题的完备性的另一个证明。NP
Mohammad Al-Turkistany 2014年

Answers:


10

这是减少可能的证明以证明它是NP难的草图:

1)制成的1的子序列(例如0.11111 )(我称他们1SEQ)强制增加或减少在该置换数的亚序列;ai...11111...

2)如果一个值是装在一个长长1SEQ,它迫使一个(丢失数),并且不改变方向的1SEQ的。例如:1112112111强制两个孔:21112112111

 a_i seq.:     1 1 1  2  1 1  2   1  1  1  forces
 permutation: 1 2 3 4 _ 6 7 8 _ 10 11 12 13 (or its decreasing equivalent)
 (from 4 you cannot go back to 2,
 from 8 you cannot go back to 6)

必须在其余的排列中填充孔。

3)使用足够大的1SEQ,然后是带有一些孔的1SEQ,再加上另一个大的1SEQ,可以构建一条强制线

4)将许多强制线放在一起,您可以构建一个置换网格图,其中的节点对应于底层强制置换中的缺失数字。

例如,序列1111111112111111111112111111111强制以下5x7置换网格图:

29 30 31 32 33 34 35
22 23 24    26 27 28
15 16 17 18 19 20 21
 8  9 10    12 13 14   
 1  2  3  4  5  6  7

w×wa,b|ab|=kw

G

GG

7)当且仅当原始网格图具有哈密顿循环时,您才可以填充所有孔(即完成排列)

编辑:2013年7月27日

我试图正式证明问题的NP完整性:我引入了一个新问题(Crazy Frog问题),即NPC。从差异进行置换重构问题等同于“无障碍单元的一维疯狂青蛙问题”(也是NPC)。

有关减少的详细信息,请参见我对cstheory“两个汉密尔顿路径变体”的问题/答案,或下载“当青蛙遇到排列”时的证明草稿 :))(我仍在检查/完成)


很好,我敢肯定这将导致解决方案,选择小工具肯定是可以实现的。
domotorp

@domotorp:我发布了它(我将在第二天发布选择/同步零件的详细信息);也许它包含一个我没有看到的错误,但是我押注$ 1可以大大简化整个减少过程:-)
Marzio De Biasi

@MarzioDeBiasi很好的可视化效果。看来您在正确的道路上。既然您对此问题相当感兴趣,可以将您的答案发布在MathOverflow上吗?
Mohammad Al-Turkistany

@MarzioDeBiasi您能否在赏金到期之前发布最终答案(正式)?
Mohammad Al-Turkistany

@ MohammadAl-Turkistany:我刚刚从旅行中回来,我将在接下来的几天中尝试对小工具进行形式化(并通过CSP进行检查)。
Marzio De Biasi
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.