• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Algorithm] Split Into Maximal Groups

Status
Not open for further replies.
Level 16
Joined
Oct 12, 2008
Messages
1,570
Tried to formalise this problem. After some thinking and googling I found this:
http://en.wikipedia.org/wiki/Exact_cover_problem
http://en.wikipedia.org/wiki/Knuth's_Algorithm_X

If you can find a set of all sets that fit the description you gave, at most k points and all within some circle of radius r, then the exact cover problem solves your problem.

However, this would mean having to calculate a subset of the Power set of the points, which can be quite costly, certainly as n and k increase, and on top of that the Exact Cover Problem is NP-Complete. I'm not really sure what that means as somehow people in this university tend not to elaborate on that, but from what I read I think there is no efficient deterministic polynomial time algorithm.

I guess you would have to settle with an exponential or maybe even worse solution.. but more research would have to be done to be certain. Maybe a different interpretation of the problem can lead to a different but efficient solution....
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,286
Yes so you are after designing an algorithm that gets as many possible full. If that is the maximum number of full ones (perfect solution) should not mater as long as the result is very close to the perfect solution.

I imagine you will need some kind of iterative algorithm that generates a rough approximation of the solution and then iteratively refines it (maybe even with randomness for a chance of better results).
 
Status
Not open for further replies.
Top