順序制約のあるパーティションの問題
OrderedPartition問題、入力は、二つの配列であり、nnn正の整数であり、(ai)i∈[n](ai)i∈[n](a_i)_{i\in [n]}及び(bi)i∈[n](bi)i∈[n](b_i)_{i\in [n]}。出力は、インデックス[n][n][n]を2つの互いに素なサブセットIIIおよびJJJに分割したものです。 ∑i∈Iai=∑j∈Jai∑i∈Iai=∑j∈Jai\sum_{i\in I} a_i = \sum_{j\in J} a_i すべてのためのi∈Ii∈Ii\in Iとすべてのためj∈Jj∈Jj\in J:bi≤bjbi≤bjb_i\leq b_j。 言い換えると、最初にbibib_iが弱く増加するようにライン上のインデックスを並べ替えてから、両側のaiaia_i合計が同じになるようにラインをカットする必要があります。 すべてのbibib_iが同じである場合、条件2は無関係であり、NPハードPartition問題のインスタンスがあります。一方、すべてのbibib_iが異なる場合、条件2はインデックスに単一の順序付けを課すため、チェックするオプションはn−1n−1n-1のみであり、問題は多項式になります。これらのケースの間で何が起こりますか? 質問を定式化することによって定義OrderedPartition[n,d]するために、1≤d≤n1≤d≤n1\leq d\leq n、サイズのインスタンスに制限問題nnnの同一の最大部分集合した、bibib_i -sがサイズであるddd。したがって、すべてのbibib_i -sが異なる場合の簡単なケースはis OrderedPartition[n,1]であり、すべてのbibib_i -sが同じ場合のハードケースはOrderedPartition[n,n]です。 より一般的には、任意のnnnおよびdddについて、任意のOrderedPartition[n,d]場合において、条件2に関連する可能なパーティションの数はO(n2d)O(n2d)O(n 2^d)です。従って、もしd∈O(logn)d∈O(logn)d\in O(\log{n})、次にOrderedPartition[n,d]依然としての多項式であるnnn。 一方、任意のnnnおよびdddPartitionについて、ddd整数の問題からに減らすことができますOrderedPartition[n,d]。ましょうp1,…,pdp1,…,pdp_1,\ldots,p_dのインスタンスですPartition。のインスタンスを定義しますOrderedPartition[n,d]。 毎i∈{1,…,d}i∈{1,…,d}i\in \{1,\ldots,d\}、聞かせて私を:= 2 N ⋅ P IおよびbはI:= 1。ai:=2n⋅piai:=2n⋅pia_i := 2n\cdot p_ibi:=1bi:=1b_i := 1 毎i∈{d+1,…,n}i∈{d+1,…,n}i\in \{d+1,\ldots,n\}、聞かせてI:= 1及びbはI:= iが [あればN - dが奇数で、作るnは:= 2合計が偶数となるように]。ai:=1ai:=1a_i := 1bi:=ibi:=ib_i …