1 |
Sorry @Sprung that I annihilated your thread. Your idea is really interesting!
|
1 |
Sorry @Sprung that I annihilated your thread. Your idea is really interesting!
|
2 |
\n
|
2 |
\n
|
3 |
Note that what you call 120 is actually 400/log_2(10) and thus 2^(1/120) actually 10^(1/400) =: B.
|
3 |
Note that what you call 120 is actually 400/log_2(10) and thus 2^(1/120) actually 10^(1/400) =: B.
|
4 |
\n
|
4 |
\n
|
5 |
[quote]The values would be between 2^10 (ELO 1200) and 2^20 (ELO 2400). Floating points shouldn't have any problem with this. Make sure to add them up in ascending order, to prevent floating point inaccuracies.[/quote]Yes. And the scale can be multiplied with any factor, so that we can get numbers rather like @Sprung proposed in his 1st post. [spoiler]I'd use the factor B^-1500 to get playerstrength=1 for elo=1500. Of course this factor is not really needed if the transformation to playerstrength is only done for calculation. It wouldn't even be necessary if sensible people would have defined the elo scale as 0+-1 instead of 1500+-400/ln(10). In order to also account for this factor being =1 [/spoiler]I will use a general factor B^-eloShift to get playerstrength=1 for elo=eloShift. eloShift=0 is easiest to calculate, eloShift=1500 is most elegant (because it compensates the non-elegance of 1500), eloShift=1380 is used in @Sprung 's 1st example. Thus
|
5 |
[quote]The values would be between 2^10 (ELO 1200) and 2^20 (ELO 2400). Floating points shouldn't have any problem with this. Make sure to add them up in ascending order, to prevent floating point inaccuracies.[/quote]Yes. And the scale can be multiplied with any factor, so that we can get numbers rather like @Sprung proposed in his 1st post. [spoiler]I'd use the factor B^-1500 to get playerstrength=1 for elo=1500. Of course this factor is not really needed if the transformation to playerstrength is only done for calculation. It wouldn't even be necessary if sensible people would have defined the elo scale as 0+-1 instead of 1500+-400/ln(10). In order to also account for this factor being =1 [/spoiler]I will use a general factor B^-eloShift to get playerstrength=1 for elo=eloShift. eloShift=0 is easiest to calculate, eloShift=1500 is most elegant (because it compensates the non-elegance of 1500), eloShift=1380 is used in @Sprung 's 1st example. Thus
|
6 |
{{{ playerstrength = B^(elo-eloShift). }}} teamstrength is the average of the team's players' playerstrength. Actually the only thing that changes is that team elo is no longer the normal average, but {{{ team elo = log_B(teamstrength)+eloShift. }}} My observation with concrete values in comparison to the current system: For teams with no elo deviation it results in the same. The higher a team's elo deviation, the better its teamstrength.
|
6 |
{{{ playerstrength = B^(elo-eloShift). }}} teamstrength is the average of the team's players' playerstrength. Actually the only thing that changes is that team elo is no longer the normal average, but {{{ team elo = log_B(teamstrength)+eloShift. }}} My observation with concrete values in comparison to the current system: For teams with no elo deviation it results in the same. The higher a team's elo deviation, the better its teamstrength.
|
7 |
\n
|
7 |
\n
|
8 |
I have proven that using this new kind of team elo in the current elo calculation for 2 teams of any size results in win probabilitites proportional to teamstrengths. Because I have recently calculated the correct solution for [url=http://zero-k.info/Forum/Thread/20712]ZK's team FFA elo[/url] (currently a wrong one is used), I wondered if teamstrengths are still proportional to win probabilities that were calculated by inserting this new team elo in the FFA solution. This would show that "playerstrength" is really fundamental. Unfortunately it didn't hold true, even though both alternatives seem valid.
|
8 |
I have proven that using this new kind of team elo in the current elo calculation for 2 teams of any size results in win probabilitites proportional to teamstrengths. Because I have recently calculated the correct solution for [url=http://zero-k.info/Forum/Thread/20712]ZK's team FFA elo[/url] (currently a wrong one is used), I wondered if teamstrengths are still proportional to win probabilities that were calculated by inserting this new team elo in the FFA solution. This would show that "playerstrength" is really fundamental. Unfortunately it didn't hold true, even though both alternatives seem valid.
|
9 |
\n
|
9 |
\n
|
10 |
@TheEloIsALie indicated that the transformation could be arbitrary. So let's assume a general function f with inversion g, where {{{ playerstrength = g(elo)
|
10 |
@TheEloIsALie indicated that the transformation could be arbitrary. So let's assume a general function f with inversion g, where {{{ playerstrength = g(elo)
|
11 |
teamstrength = average of team's playerstrength
|
11 |
teamstrength = average of team's playerstrength
|
12 |
team elo = f(teamstrength). }}} [spoiler]Now we can also see why elo deviation increases this team elo: As long as g is a convex and strictly monotonic increasing diffeomorphism, team elo is similar to the p-norm of a vector of player elos and thus between average (p=1) and maximum (p=infinity).[/spoiler]
|
12 |
team elo = f(teamstrength). }}} [spoiler]Now we can also see why elo deviation increases this team elo: As long as g is a convex and strictly monotonic increasing diffeomorphism, team elo is similar to the p-norm of a vector of player elos and thus between average (p=1) and maximum (p=infinity).[/spoiler]
|
13 |
Then we have the possibility to use either team elo for a probability calculation as usual or probabilities proportional to teamstrength. I have shown that the equivalence of both even for team FFA with N teams is equivalent to {{{ 2/(N(N-1)) sum from k=2 to N (1/(1+B^(f(teamstrength_k) - f(teamstrength_1)))) = teamstrength_1 / (sum from k=1 to N (teamstrength_k)). }}} [b]What is f? Does such an f even exist?[/b]
|
13 |
Then we have the possibility to use either team elo for a probability calculation as usual or probabilities proportional to teamstrength. I have shown that the equivalence of both even for team FFA with N teams is equivalent to {{{ 2/(N(N-1)) sum from k=2 to N (1/(1+B^(f(teamstrength_k) - f(teamstrength_1)))) = teamstrength_1 / (sum from k=1 to N (teamstrength_k)). }}} [b]What is f? Does such an f even exist?[/b]
|
14 |
[spoiler]Example 2v2v2:
|
14 |
[spoiler]Example 2v2v2:
|
15 |
team 1: 1200, 1600
|
15 |
team 1: 1200, 1600
|
16 |
team 2: 1300, 1500
|
16 |
team 2: 1300, 1500
|
17 |
team 3: 1300, 1700
|
17 |
team 3: 1300, 1700
|
18 |
Win chances according to current system: 1: 42.6%, 2: 42.6%, 3: 64.0% (sum > 100%)
|
18 |
Win chances according to current system: 1: 42.6%, 2: 42.6%, 3: 64.0% (sum > 100%)
|
19 |
correct FFA solution for current system: 1: 28.7%, 2: 28.7%, 3: 42.7%
|
19 |
correct FFA solution for current system: 1: 28.7%, 2: 28.7%, 3: 42.7%
|
20 |
FFA solution with team elo from teamstrength: 1: 31.9%, 2: 22.6%, 3: 45.5%
|
20 |
FFA solution with team elo from teamstrength: 1: 31.9%, 2: 22.6%, 3: 45.5%
|
21 |
proportional to teamstrength: 1: 29.0%, 2: 19.5%, 3: 51.5%
|
21 |
proportional to teamstrength: 1: 29.0%, 2: 19.5%, 3: 51.5%
|
22 |
\n
|
22 |
\n
|
23 |
This
could
also
be
combined
with
(
[url=http://zero-k.
info/Forum/Thread/20712]team
size
dependancy[/url]
and
[url=http://zero-k.
info/Forum/Thread/7402?postID=89751#89751]probability
system[/url])
or
ANN.
If
you
are
interested
in
[url=http://research.
microsoft.
com/en-us/projects/trueskill/details.
aspx]TrueSkill[/url],
[url=http://research.
microsoft.
com/en-us/projects/trueskill/faq.
aspx]here[/url]
you
are.
[/spoiler]
|
23 |
This
could
also
be
combined
with
(
[url=http://zero-k.
info/Forum/Thread/20208?page=1&Search=&User=&grorder=&grdesc=False&grpage=2]team
size
dependancy[/url]
and
[url=http://zero-k.
info/Forum/Thread/7402?postID=89751#89751]probability
system[/url])
or
ANN.
If
you
are
interested
in
[url=http://research.
microsoft.
com/en-us/projects/trueskill/details.
aspx]TrueSkill[/url],
[url=http://research.
microsoft.
com/en-us/projects/trueskill/faq.
aspx]here[/url]
you
are.
[/spoiler]
|