多項式時間で2つの順列の合計を特定できますか?


29

最近cs.seで2つの 質問がありましたが、これらは次の質問に関連するか、または次の質問と同等の特別なケースがありました。

ようなシーケンスa1,a2,ana nがます 二置換の和に分解との、、その結果。ni=1nai=n(n+1).πσ1nai=πi+σi

いくつかの必要条件があります: がになるようにソートされる場合、aia1a2an

i=1kaik(k+1).

ただし、これらの条件は十分ではありません。このmath.seの質問の答えから、シーケンス5,5,5,9,9,9は2つの順列の合計として分解することはできません(1または5の両方が4)とペアになります。

私の質問は、この問題の複雑さは何ですか?


ところで、簡単なバリエーションが思い浮かびましたが、その複雑さについてはわかりません。多項式時間で2つの順列の固定小数点の自由な合計を特定できますか?(2つの順列が各位置で一致しないことを要求します。つまり、すべてのについてです) Iπiσii
モハマドアル

回答:


20

いいえ、P = NPでない限り、多項式時間で2つの順列の合計を特定することはできません。問題の決定バージョンはNP完全問題と同等であるため、問題はNP完全です目標合計との数値マッチング:2

入力:のシーケンス12... nは正の整数の、Σ N iが= 1、I = N N + 1 1 I2 Nための1 I Na1,a2,ani=1nai=n(n+1)1ai2n1in

質問2個の順列があり及びψ 2ようにψ 1I + ψ 2I = Iための1 I Nψ1ψ2ψ1(i)+ψ2(i)=ai1in

参考文献では、厳しく制限されたNUMERICAL 3-DIMENSIONAL MATCHING(RN3DM)のバリアントは、強力にNP完全であることが証明されました。

RN3DM、与えられた多重集合整数および整数のEようΣ N J = 1 U J + N N + 1 = N eは、そこ2個の順列が存在しないλμように U J + λ J + μ j = eU={u1,...,un}ej=1nuj+n(n+1)=neλμuj+λ(j)+μ(j)=ej=1,...,n

RN3DMから簡単に削減できます。ターゲットサムの問題との数値マッチング:RN3DMのインスタンスを考えます。我々が行うことで、対応するインスタンスを作成I = E - U Iのための1 I nは2ai=eui1in

W. Yu、H。Hoogeveen、JK Lenstra。 遅延と単位時間操作を伴う2台の機械のフローショップでメイクスパンを最小化することはNP困難です。Journal of Scheduling、7:333–348、2004

10月1日編集:あなたの問題はPERMUTATION SUMSと呼ばれます。これは1998年以来、リストされている未解決問題スティーブHedetniemiによってコンビナトリアルの最適化。


2
答えてくれてありがとう。私はこの問題を引き起こしたcs.seの問題の1つに答えました(あなたの参照によって直接答えられた形ではありませんでした)が、答えが与えられてから2番目の問題に答える最初の機会があるべきだと思いますあなたの参照で。
ピーターショー

ピーターに感謝します。私はあなたを助けることができてうれしいです。より良い答えが得られると思います。だから、先に進んでその質問にも答えてください。
モハマドアルトルコ

上記のWebページに表示された問題ステートメントは次のとおりです。PERMUTATION SUMS [Cheston、198X] INSTANCE:正の整数の配列A [1..n]。質問:1 <= i <= nの場合、r(i)+ s(i)= A [i]であるような正の整数{1,2、...、n}の2つの順列rとsが存在しますか?
モハマドアルトルコ

4

一方、マーシャルホール、2つの順列の違いを簡単に識別できることを示しました。


14
マーシャルホールの定理は合計にも適用されますが、結果を適用するには、差と合計の両方をモジュロで計算する必要があります。上Z、和と差の両方がNP完全です。nZ
ピーターショー

3
@PeterShor完全を期すために、2つの順列の違いを特定するNP完全性の証明スケッチを提供することにより、コメントを個別の回答として投稿してください。
モハメッドアルトルコ

3
完全を期すために、2つの順列πがあるとします。我々は次に有するˉ πI = N xは2 - N + 1をϕπも順列です。場合今、 φ + πが多重集合である { X 1X 2... XがN }、次いで φ - ˉ πが多重集合である { X 1 - N + 1 π¯(i)=n+1π(i)ϕ+π{x1,x2,,xn}ϕπ¯。例えば、 { - 2 - 2 - 2 2 2 2 }ため2つの順列の違いとして表現することができない { 5 5 5 9 9 9 }二つの順列の合計ではありません{x1(n+1),x2(n+1),,xn(n+1)}{2,2,2,2,2,2}{5,5,5,9,9,9}
ピーターショー14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.