You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I wanted to create a game that allows a user to pick their favorite choice out of four options. By picking their favorite, the winning competitor should go up in rank, while the losing competitors propotionately decrease in rank.
This simulation takes in 2 parameters: # of competitors & # of rounds
ELO Algorithm
I based this 4-player ELO off of the standard 2-player ELO Algorithm used on most chess websites:
Ea = probability of player a winning
Ra = Rating of player a; Rb = Rating of player b
RA = Rating before; R'A = Rating After
SA = 1 if player is winner; SA = 0 if player is loser
K = constant
The resulting 4-player version of this alogirthm is as follows:
The 5th code block begins the simulation, where it will ask you to input # of rounds and # of competitors
Finally, run the last code block to view the simulation's analysis
Results & Discussion
While I was successful in creating a normally distributed 4-Player ELO System, it does seem that there is a consistent skew to the right. Fortunately, for my purposes this is not an issue.
This algorithm can be applied to a number of scenarios to compare competitors in an adjusted and fair manner. For example, I applied this algorithm to an NFT game that I made with Flask that allows users to vote on their favorite NFT (shown below).