I’ve organized a hackathon or two. Figuring out how to score them is difficult. Even excluding social aspects aggregating results is far from an exact science. However, some methods can enforce additional constraints. Especially if they don’t have to be simple or practical.

Reducing the probability of ties

Ties can be problematic in practice at competitions. Should two teams receive the same scoring any fair system must produce a tie. However, the case of two teams receiving scores that add up to the same final score is an unfortunate possibility that can be minimized.

The most common form of a combined store is as a linear sum where \(s\) are scores and \(w\) are weights.

\[\text{Score}=w_1s_1+w_2s_2+ \dots + w_n s_n\]

This is likely to produce ties. Any single variable in this system (assuming its corresponding multiplicand isn’t 0) can be changed to set the score to any arbitrary value.

However; there exists an implicit constraint; the weights and scores are all rational numbers. Formally, \(s_n \in \mathbb{Q}\) and \(w_n \in \mathbb{Q}\). This also implies their product is rational. While values of \(s\) come from humans we have full control over the values of \(w\). Also, \(w_n \neq 0\), since we do not need to include any criteria with no weight.

By introducing another, irrational, set of multiplicands we can ensure that our output is irrational.

Consider the case:


The first component \(w_1s_1\) is rational while the second component \(w_2s_2\sqrt{2}\) is irrational. In every case except \(s_2 = 0\), the Score is irrational.

Adding more terms requires a string of irrational numbers where each number can’t be constructed through a (rational) linear sum of the other irrational numbers. These irrational numbers must not be a rational multiple of any other number used. ie. you can’t use \(\sqrt{2}\) and \(2\sqrt{2}\), or anything similar as it’s trivial to cancel out the terms. However there are other powers you could use instead which would work, such as using the range \([0, 1)\).

\[\text{Score}=w_1s_12^{0/n}+w_2s_22^{1/n}+ \dots + w_n s_n2^{n-1/n}\]

Here, for any finite number of criteria \(n\), and given the constraints on values of \(w\) and \(s\), no two Scores are equal unless all the values of \(s\) are equal. This is the simple solution to the original problem when using linear sums. However, one could use the even stricter set of transcendental numbers instead. \(e^x\) is transcendental (which guarantees irrationality) for any non-transcendental value \(x\).

Consider the case:

\[\text{Score}=w_1s_1e^1+w_2s_2e^2+ \dots + w_n s_ne^n\]

This solves the same problem, but there is a more general form we can target. This approach requires the score to be a linear sum against vector \(s\), but it’s possible to support an entire class of functions instead. Any non-constant algebraic function taking a single transcendental number resolves to a transcendental number. This can be extended to the multi-variable case by using any arbitrary algebraic function in the form \(f(s_1T_1,\space s_2T_2,\space\dots)\) by choosing some special values of vector \(T\). Note the values of \(w\) are no longer necessary as they may be embedded within \(f\).

The constraint on \(T\) isn’t just to find transcendental numbers. The previous case of using \(e\) and \(e^2\) could trivially be “undone” by taking the square root of the second and dividing it from the first to produce a rational result. Rather, we need \(T\) to be a set of transcendental numbers that are all algebraically independent over the rational numbers. A few such sets are known, including one method of producing these sets to any arbitrary size; the Lindemann–Weierstrass theorem. This shifts the problem to finding a set of algebraic numbers which are linearly independent over the rationals. Which, coincidentally, is the exact problem solved by the first solution to the simple case. Using these we can generate a set of transcendental numbers that are algebraically independent over the rationals:

\[T = [e^{2^{0/n}}, e^{2^{1/n}}, e^{2^{2/n}}, \dots, e^{2^{\left[(n-1)/n\right]}}]\]

Any set \(\{s_1T_1,\space s_2T_2,\space\dots\}\) will be algebraicly independent over the rationals as well as having each element be trancsendental (or zero).

Therefore; for any non-constant algebraic function \(f\), the value \(f(s_1T_1,\space s_2T_2,\space\dots,\space s_nT_n)\) will be transcendental, or zero if all values of \(s\) are zero. Of course values of \(s\) still need to be rational.

Rather than using an arbitrary tie-breaking method, this method inherits all the ordering properties from the scoring function \(f\). Practically this forms an injective (one-to-one) function mapping a vector of rationals \(s\) to the real numbers. Since real numbers are ordered there must be one vector of scores which is the highest within any set.