Algorithm or expression to put n elements in k sets

AI Thread Summary
To partition 17 elements into 3 sets with specified sizes, an algorithm can be designed to distribute elements evenly, such as assigning n/k elements per set and adjusting for non-integer results. A cycling method can be employed, where elements are added one at a time to each set until the total is reached, accommodating any remainder by stopping early. The discussion also highlights the importance of considering a 'distance' function to group similar items together, suggesting that this could relate to clustering problems. Implementing a clustering algorithm could effectively address the need for similarity in set assignments. Overall, the conversation emphasizes the flexibility in partitioning strategies based on set size requirements and element characteristics.
xeon123
Messages
90
Reaction score
0
I have 17 elements, and I want to put them in 3 sets. This makes 2 sets with 6 elements, and 1 set with 5 elements. Now I want to find an algorithm to partition n elements in k sets.

Can anyone give me an algorithm, or a math expression for me to implement in a algorithm?

Thanks
 
Mathematics news on Phys.org
There are many ways to put n elements in k sets. Do you want the set sizes to be similar to each other?
A naive approach would be n/k elements per set. This is not always an integer, but you can fix this by rounding in an appropriate way.
 
You could add 1 element at a time to each set, cycling through all the sets as you add elements. If the number of elements isn't an multiple of the number of sets, you just run out of elements before cycling through all the sets on the last cycle.
 
Is there a 'distance' function, a way to quantify how close or how similar two items are (so that you place similar items in the same set)? (Examples would be assigning customers to their closest service center, or grouping objects of similar colors.)

If this sounds like the case, it may be a clustering problem; one possible algorithm, not difficult to implement, could be this one. (Or, for a clearer explanation that Wikipedia, see here.)
 
Last edited:
Seemingly by some mathematical coincidence, a hexagon of sides 2,2,7,7, 11, and 11 can be inscribed in a circle of radius 7. The other day I saw a math problem on line, which they said came from a Polish Olympiad, where you compute the length x of the 3rd side which is the same as the radius, so that the sides of length 2,x, and 11 are inscribed on the arc of a semi-circle. The law of cosines applied twice gives the answer for x of exactly 7, but the arithmetic is so complex that the...
Back
Top