Re: new ranking calculation
Jason Short <[email protected]>
| Newsgroups | gmane.games.freeciv.general |
|---|---|
| Message-ID | <[email protected]> |
Horn G=E1bor wrote: > Hi! > i made some modifications to the script that generates the ranking due > to the discussed things. Here is a short summary: >=20 > 1, It examines if there were allies. If two player exchanged techs, > they're counted as allies.=20 >=20 > 2, when calculates the new ranking, it doesn't use the (current ranking= ) > point of the player, but adds all of his ally's point to it's as Pille > suggested, and makes a virtual point for the game for every player. > Let's see an example, we have 4 players, A(1200), B(1250), C(1000), > D(1350), E(1400). They do the following alliances: >=20 > A allies B. > A allies C. > A allies D. > B allies C. >=20 > With the current script all they are counted w/ their original points > regardless of allies. W/ the new script every player gets a virtual > score for the current game, and get measured w/ that: >=20 > A: 1200+1250+1000+1350=3D4800 > B: 1250+1200+1000=3D3450 > C: 1000+1200+1250=3D3450 > D: 1350+1200=3D2550 > E: 1400 Where to begin? My understanding of the ranking system is that it is similar to ELO, but=20 simpler. You may want to consider the mathematics behind it before=20 proposing any change. (Actually, since the ranking system is a=20 simplification of ELO I'm not sure there is any mathematical basis for=20 it. You might do better to rework it from scratch.) To add two rankings together is mathematically worthless. The ranking=20 scores have no absolute frame of reference; they only have worth in=20 relation to each other. So instead of rankings of 1200, 1250, 1400 they=20 could just as easily be 200, 250, 400 - obviously this would give vastly=20 different results when added together. Or they could be -800, 750,=20 -600...in which case the alliance would actually be considered weaker=20 than the single player. My point is that adding the rankings is an=20 awful idea. What you can do is average scores, and you can add on fixed-scale=20 amounts if you think it's appropriate. These are ad hoc additions to=20 the system, though - to get something accurate you should go back to the=20 basics and work the math out from scratch with the concept of teams=20 already in place (or at least try). One idea would be ranking(team) =3D average(rankings of players) + 100 * (size of team) where the size of the team is the number of players in the team, not=20 counting the first. The value of 100 may be high, though, and it seems=20 there are diminishing returns from added allies. So maybe: ranking(team) =3D average(rankings of players) + 50 * sqrt(size of tea= m) would be better. You may want to determine this emperically, although=20 this would take a lot of work. I also question whether alliances should be penalized in this way. When=20 playing a team game, obviously each team should be counted as a unit -=20 but I don't think alliances are the same thing at all. After all,=20 player E had the chance to join alliances as well; doesn't the fact that=20 he didn't do so mean he deserved to lose this game? Of course he may=20 have had little choice in the matter, but in the long term a good=20 diplomatic ability will be rewarded with a higher ranking. Diplomacy is as important or more important than civ-building or war.=20 This is true historically as well. Why should the ranking system punish=20 diplomatic skill while the others are rewarded? jason