Each Submission has an estimated **Skill Rating** which is modeled by a Gaussian \\(\mathcal N (\mu, \sigma^2)\\) where \\(\mu\\) is the estimated skill and \\(\sigma\\) represents our uncertainty of that estimate. When you upload a Submission, we first play a **Validation Episode** where that Submission plays against itself to make sure it works properly. If the Episode fails, the Submission is marked as Error. Otherwise, we initialize the Submission with \\(\mu_0 = 600\\) and it joins the pool of All Submissions for ongoing evaluation. We repeatedly run Episodes from the pool of All Submissions, and try to pick Submissions with similar ratings for fair matches. We aim to run ~8 Episodes a day per Submission, with an additional slight rate increase for newer Episodes to give you feedback faster. After an Episode finishes, we'll update the Rating estimate for both Submissions. If one Submission won, we'll increase its \\(\mu\\) and decrease its opponent's \\(\mu\\) -- if the result was a draw, then we'll move the two \\(\mu\\) values closer towards their mean. The updates will have magnitude relative to the deviation from the expected result based on the previous \\(\mu\\) values, and also relative to each Submission's uncertainty \\(\sigma\\). We also reduce the \\(\sigma\\) terms relative to the amount of information gained by the result. So all valid Submissions will continually play more matches and have dynamically changing scores as the pool increases. The Leaderboard will show the \\(\mu\\) value of each Team's best Submission.