Implementing an Elo Rating System

Question

The Elo Rating System is a method for calculating the relative skill levels of players in zero-sum games such as chess.

Below is a simplified description of the system for our purposes

  • Each player starts at the same score

  • For each game played, the loser transfers points to the winner, and the amount of points that are transferred depends on how likely the win is

  • For example, if a player is ranked 2000 and is playing against a player with a score of 1700 then the lower-ranked player would receive a disproportionate amount of points from the higher-ranked player in the event of a win

Given this information, write code that will implement this system. The exact point differentials you allocate in this simplified system can be arbitrary, but the key is to cover the bullet points above.

Solution

Access restricted

Subscribe to premium account to see the solution.

Get premium now