in reply to Re^2: "Divide" challenge
in thread "Divide" challenge

I don't think you can avoid a brute force approach

Although I agree that the general problem is likely NP complete, there are probably at least some things one might do,singly or in combination, to pick out more or less likely solutions (and hence improve the likelihood that the first of N solutions contains something close to the optimal solution - i.e. we limit he number of solutions tried to N since we don't have infinite computing resources). I don't have the time to really think these through (or relearn my linear algebra), but someone else might like to pick up the ball on these ideas:

Best, beth

Update: in response to JavaFan's "I don't see how that could help" note below, added clarification of reason for picking more or less likely solutions.

Replies are listed 'Best First'.
Re^4: "Divide" challenge
by JavaFan (Canon) on Mar 11, 2009 at 11:02 UTC
    It might help to calculate the distribution of data flow values and use the distribution to prioritize which combinations of rows and columns should be tried first.

    I don't see how that can help. It may help if you can eliminate large groups of possibilities, but as long as you have to try them all, it doesn't matter is which order you do them.

      If a problem is NP complete, it is unlikely you are ever going to try all possible solutions (at least for large values of N). Instead your only option is to improve the probability that a correct answer will fall within the first X solutions tried. In that respect, order matters a great deal.

      Best, beth