Gathering honest teams - and math to prove it

Application: similar to collecting playgrounds.

I have to split a collection of n sequentially ranked elements into two teams from n / 2. Teams should be as smooth as possible. Think of “even” in relation to groups of playgrounds, as described above. Ratings indicate relative levels of “skill” or value. Element number 1 costs 1 "point", element number 2 costs 2, etc. No other restrictions.

So, if I had a collection [1,2,3,4], I needed two teams of two elements. Opportunities

[1,2] and [3,4]

[1,3] and [2,4]

[1,4] and [2,3]

(Order is not important.)

It seems that the third option is the best in this case. But how can I best evaluate large sets? Average / average is one approach, but it will lead to the same ranking for the next pair of candidates, which otherwise looks uneven:

[1,2,3,4,13,14,15,16] and [5,6,7,8,9,10,11,12]

I can use brute force to evaluate all possible solutions for my problem domain.

Is there any mathematical / statistical approach that I can use to check the "uniformity" of the two teams?

Thanks!

+3
source share
5 answers

Your second, longer example does not seem uneven (or unfair) to me. In fact, this is consistent with what you think is the preferred answer for the first example.

This is the non-programming issue of your problem. You have serial numbers and what you want are cardinal numbers. To turn the first into the last, you must define your own image, there is no universal, ready-made approach.

You can, for example, compare each element of 2 sets in turn, for example a1 vs b1, a2 vs b2, ... , and consider the sets to be the same if the number of cases when a is better than b is about the same as the number of cases where b is better than a.

But for your application, I do not think that you will do better than using the playground algorithm, each team leader selects the best player without changes and turns to select an alternative option. Why do you need something more complicated?

+4
source

Are the numbers a ranking? Then no, there is no algorithm for obtaining honest teams, because there is not enough information. Maybe even a coincidence

 [1] & [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] 

stacks up against a big team. This would be, for example, for chess teams if the difference between [1] and [2] was large.

Even the match that you called "unfair":

 [1,2,3,4,13,14,15,16] & [5,6,7,8,9,10,11,12] 

It may be fair in a game like baseball. In the end, players 13-16 still need to beat!


So, probably, the fairest thing would be to just select teams at random. It would also avoid any form of “game” in the system (like my friends, and I went to high school in high school :))

+3
source

I do not think that there is enough information to determine the answer.

What does it mean for someone to be # 1 against # 2? Are they 50% better, or 10% better, or 1% better? How much better is # 1 versus # 5? It really is an algorithm for assigning a value that must be accurate, and a distribution algorithm must correctly reflect this.

For example, as I said, if you have Kobe Bryant mixed with a bunch of children in high school basketball, what will be the relative values? Because in basketball, Kobe Bryant could beat all the students alone. So will his rank be No. 1, and the rest of the children will be # 1000 +?

In addition, you should assume that the definition of the value takes into account the size of the command. Does the team require only 2 players? Or does it need 10? In the latter case, in the second example, the second team looks normal, because the top 4 players will play with 6 much worse players, which may affect success.

If all you do is distribute the meanings, and if the notion of “justice” is embedded in the value system, then the mean is likely to be a fair way for players to spread.

+3
source

You need an iterative ranking approach, with automatic selection to create evenly ranked teams at each iteration. This works even when the mix of participants changes over time. I created a tool for this only for my 5-way group, and then opened it for allcomers if you google for the "Fair Team Picker"

+1
source

Are the teams equal if each "round" of selection is simply carried out in the reverse order of the previous round? If there are 10 players whose talent is 1-10, and we create 5 teams (2 players each), the first round, the first choice, obviously, will choose the best player (talent level 10). Then the next choice will be 9, and so on. The fifth peak will receive a game with talent level 6. In the second round, the selection order is canceled, so the team that just got talent level 6 will choose talent level 5 (highest left) and so on, until the captain who chose the first in the first round, will receive the last player (talent level 1). Thus, each team has a talent level of 11, with one team having 10 and 1, and the next having 9 and 2, and so on. This will work for as many players / teams as possible.

0
source

Source: https://habr.com/ru/post/910781/


All Articles