Is there a way to generate a list of distinct numbers such that no two subsets ever have an equal sum? I'm trying to figure out a way to assign weights to a group of servers (a galera cluster of database servers), and I want to always be able to compute a quorum, meaning no set of weights should ever be allowed to add up to exactly 50% (a quorum in this case means over 50%).
Is there a mathematical formula to generate a set of (probably unique) numbers so that you can never sum any subset of those numbers to equal any subset of the remaining numbers? Additionally, no individual number should be double or more than double of any other number.
For example, with [3, 4, 5], there is no way to take any set of 1, 2, or 3 of those to add up to be equal to any subset of remaining numbers. There will always be an inequality, so a quorum can be computed (or it can be determined that no quorum is available, in the case where too many servers are disconnected from each other).
I understand this is a problem relating to server administration, but it seems to be of a mathematical nature.
What I'd like to be able to do is assign individual weights to a initial pool of servers, but ideally be able to generate another weight if another server gets added to the pool in the future.
The practical application is that all servers know their own weight, and they know the total weight of all servers. If a server suddenly dies, or connectivity fails between a few of them, the servers try to determine if they have a quorum. Each server that can still communicate with another will add up their weights, and if the total of their weights is more than exactly 50% of the initial set's total, then there is a quorum, and those servers will declare themselves to be the new canonical group. If they fail to get over 50%, they don't have a quorum and will declare themselves to be offline or otherwise unable to continue service.
 A: For $n$ servers, consider weights
$$
1 + m, 2 + m, 4 + m, \ldots, 2^n + m
$$
for $m$ large enough to make sure each is less than twice each of the others.
The uniqueness of subset sums for subsets of equal size follows from the uniqueness of binary expansions.
A: If the weights needn't be integer, you can choose them from the set
$$\left\{1+\frac1p:p\text{ prime}\right\}$$
A: Perhaps you are over-thinking this? What do you lose by taking a quorum as being simply more than 50% of the servers? If you want a way to break ties when the servers are split into two groups of equal size, just name one server as being special, and take the group that contains the special server.
Or am I missing something?
A: If "probably unique" turns out to be "actually, no, they don't need to be unique," then weight one server as 2n+1, and all of the remaining servers as 2n. Then no matter how the two groups are chosen, one group will always have an odd sum and the others will always have an even sum. The two sums will thus never be the same.
