2

My problem is similar to the problem here https://cs.stackexchange.com/questions/2244/need-a-np-complete-proof-on-an-example , but it is a little different.

Here is my problem:

There are three islands, A, B and C, and a lot of fan-shaped rafts. We must build a bridge from A-->B-->C, and the number of rafts required for each part is already known, say, four rafts are required for connecting AB and three rafts are required for connecting BC.

These rafts are at different positions originally and they can rotate without cost. An interesting thing is that they can overlap with each other if necessary. The distance of moving one raft can be calculated as the distance between the center of mass's original position and its deployed position.

The objective is to find the solution having the minimum total distance of moving rafts in order to have bridge A-->B-->C and using the exact number of rafts for each part of bridge.

I used to the following figure to show my question.

enter image description here

We can see from this figure that the arrangement might not be a straight line, and the rafts can overlap with another one.

There are too many candidates locations for these rafts. It seems the problem is NPC. I do not know whether I am right and how to prove it to be NPC. Anyone know how to solve it? Thanks!

Community
  • 1
  • 1
wzb5210
  • 735
  • 2
  • 9
  • 16
  • Is this homework? answers will be adjusted accordingly. – Hans Z Jun 07 '12 at 21:04
  • @Hans: this is not a homework – wzb5210 Jun 07 '12 at 21:05
  • 1
    When you say "the number of rafts required to build each bridge is already known", is that just by calculating the tip to end distance of the rafts and dividing that by the distance between the two islands? or something more sophisticated? Does the fact that they are fan shaped matter? – Hans Z Jun 07 '12 at 21:10
  • 1
    Here's my take on it so far.... Solving for minimum total distance moved given that they must go into a straight line seems to be not np-hard, given that there are m possible positions in the straight line (m is the min number of rafts to go from A->b) and n rafts. That part seems to be a bipartite graph problem. Once you allocate those buckets, you can then probably do some sort of O(n^2) operation to "turn" the rafts and see if you can move it back in the direction a bit. That doesn't seem like it should be NP-hard once you have them all sitting in a line. – Hans Z Jun 07 '12 at 21:17
  • @Hans: the number of rafts required means the minimum number of rafts needed to form a bridge between the islands. For example, the longest line of sector is L and the minimum distance between A and B is 3.5L, therefore, we need at least 4 to form the bridge A-->B. – wzb5210 Jun 07 '12 at 21:37
  • @Hans: at first I solved the problem as the bipartite graph problem. Then I realized it is not that simple. Moving to points on the direct line between A and B might not achieve the minimum total distance. For the operation you mentioned, how do you guarantee that we can find the optimal solution? – wzb5210 Jun 07 '12 at 21:41
  • On first glance, I would try to **add restrictions** on the problem to reduce the complexity. Some restrictions I'd probably try: [rafts must be located on the straight line; certain rafts must be placed between certain islands; only two islands, one crossing] If the restricted problem can be reduced to a known NPC problem, then you only have to show that the gained complexity of the relaxed case does not negate any of the logic in your reduction. In most practical cases, it does not. – Jordan P Jun 08 '12 at 19:59
  • @Jordan Perr: Do you know what known NPC problem the restricted problem can be reduced to? Thanks – wzb5210 Jun 09 '12 at 15:14

0 Answers0