Computer science 这是NP完全吗

Computer science 这是NP完全吗,computer-science,polynomial-math,np-complete,np-hard,Computer Science,Polynomial Math,Np Complete,Np Hard,我的问题与这里的问题相似,但有点不同 我的问题是: 有三个岛,A,B和C,还有许多扇形的木筏。我们必须从a-->B-->C建造一座桥,每个部分所需的筏数已经知道了,比如说,连接AB需要四个筏,连接BC需要三个筏 这些木筏最初位于不同的位置,它们可以免费旋转。有趣的是,如果需要,它们可以相互重叠。移动一个筏板的距离可以计算为质心原始位置与其展开位置之间的距离 目标是找到具有移动筏的最小总距离的解决方案,以便拥有桥梁A-->B-->C,并使用桥梁每个部分的筏的确切数量 我用下图来表示我的问题 从这

我的问题与这里的问题相似,但有点不同

我的问题是:

有三个岛,A,B和C,还有许多扇形的木筏。我们必须从a-->B-->C建造一座桥,每个部分所需的筏数已经知道了,比如说,连接AB需要四个筏,连接BC需要三个筏

这些木筏最初位于不同的位置,它们可以免费旋转。有趣的是,如果需要,它们可以相互重叠。移动一个筏板的距离可以计算为质心原始位置与其展开位置之间的距离

目标是找到具有移动筏的最小总距离的解决方案,以便拥有桥梁A-->B-->C,并使用桥梁每个部分的筏的确切数量

我用下图来表示我的问题

从这个图中我们可以看出,的排列可能不是一条直线,,木筏可以与另一条重叠


这些木筏的候选位置太多。问题似乎是NPC。我不知道我是否正确,也不知道如何证明它是正确的。有人知道怎么解决吗?谢谢

这是家庭作业吗?答案会相应地调整。@Hans:当你说“建造每座桥所需的木筏数量已经知道”时,这不是家庭作业,是不是仅仅通过计算木筏顶端到末端的距离,然后除以两个岛屿之间的距离?还是更复杂的?它们是扇形的这一事实是否重要?以下是我迄今为止对它的看法。。。。考虑到直线上有m个可能的位置(m是从a->b出发的最小筏数)和n个筏,求解必须进入直线的最小总移动距离似乎不是np难的。这部分似乎是一个二部图问题。一旦你分配了这些木桶,你就可以做一些O(n^2)操作来“转动”木筏,看看你是否能把它移回原来的方向。一旦你让他们排成一行,这似乎不应该是NP难的。@Hans:所需的木筏数量意味着在岛屿之间架桥所需的最小木筏数量。例如,扇区的最长线是L,A和B之间的最小距离是3.5L,因此,我们需要至少4个来形成桥接器A-->B。这是家庭作业吗?答案会相应地调整。@Hans:当你说“建造每座桥所需的木筏数量已经知道”时,这不是家庭作业,是不是仅仅通过计算木筏顶端到末端的距离,然后除以两个岛屿之间的距离?还是更复杂的?它们是扇形的这一事实是否重要?以下是我迄今为止对它的看法。。。。考虑到直线上有m个可能的位置(m是从a->b出发的最小筏数)和n个筏,求解必须进入直线的最小总移动距离似乎不是np难的。这部分似乎是一个二部图问题。一旦你分配了这些木桶,你就可以做一些O(n^2)操作来“转动”木筏,看看你是否能把它移回原来的方向。一旦你让他们排成一行,这似乎不应该是NP难的。@Hans:所需的木筏数量意味着在岛屿之间架桥所需的最小木筏数量。例如,扇区的最长线是L,A和B之间的最小距离是3.5L,因此,我们需要至少4个来形成桥接器A-->B。