这是减少可能的证明以证明它是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|a−b|=kw
G
GG
7)当且仅当原始网格图具有哈密顿循环时,您才可以填充所有孔(即完成排列)
编辑:2013年7月27日
我试图正式证明问题的NP完整性:我引入了一个新问题(Crazy Frog问题),即NPC。从差异进行置换重构问题等同于“无障碍单元的一维疯狂青蛙问题”(也是NPC)。
有关减少的详细信息,请参见我对cstheory“两个汉密尔顿路径变体”的问题/答案,或下载“当青蛙遇到排列”时的证明草稿 :))(我仍在检查/完成)