Algorithm 将列表等分为两部分的算法

Algorithm 将列表等分为两部分的算法,algorithm,np-complete,computation-theory,partition-problem,data-partitioning,Algorithm,Np Complete,Computation Theory,Partition Problem,Data Partitioning,相关问题: 假设我有一个列表,其中正好包含2k元素。现在,我想把它分成两部分,每个部分的长度为k,同时尽量使各部分的总和相等。 快速示例: [3,4,4,1,2,1]可能被拆分为[1,4,3]和[1,2,4],并且总和差将为1 现在-如果零件可以有任意长度,这是的一个变体,我们知道它是弱NP完全的。 但是,将列表分成相等部分的限制(假设它总是k和2k)是否可以在多项式时间内解决这个问题?对此有何证明(或证明它仍然是NP的证明方案) 它仍然是NP完成的。通过将PP(您的分区问题的全部变体)

相关问题:

假设我有一个列表,其中正好包含
2k
元素。现在,我想把它分成两部分,每个部分的长度为
k
,同时尽量使各部分的总和相等。

快速示例:
[3,4,4,1,2,1]
可能被拆分为
[1,4,3]和[1,2,4]
,并且总和差将为
1

现在-如果零件可以有任意长度,这是的一个变体,我们知道它是弱
NP完全的。

但是,将列表分成相等部分的限制(假设它总是
k
2k
)是否可以在多项式时间内解决这个问题?对此有何证明(或证明它仍然是NP的证明方案)


它仍然是
NP
完成的。通过将
PP
(您的分区问题的全部变体)简化为
QPP
(等分分区问题)来证明:

取任意长度
k
加上附加
k
元素的列表,所有元素的值均为零


我们需要在
PP
方面找到性能最好的分区。让我们使用
QPP
的算法找到一个,并忘记所有额外的
k
零元素。四处移动零不会影响此分区或任何竞争分区,因此这仍然是任意长度列表
k
中性能最好的无限制分区之一,它仍然是
NP
完整的。通过将
PP
(您的分区问题的全部变体)简化为
QPP
(等分分区问题)来证明:

取任意长度
k
加上附加
k
元素的列表,所有元素的值均为零

我们需要在
PP
方面找到性能最好的分区。让我们使用
QPP
的算法找到一个,并忘记所有额外的
k
零元素。四处移动零不会影响此分区或任何竞争分区,因此这仍然是任意长度
k
列表中性能最好的无限制分区之一