Reconnaissance Blind Chess
We offer a symbolic prize of 1,000 USD to the first-place winner and 500 USD to the second-place winner (excluding from the rankings any baseline bots).
Players' bots will play games by directly interacting with our server, which will manage the games. I.e., each participant runs her bot remotely. Competitors do not need to attend NeurIPS although attendance is encouraged, and we expect successful participants who cannot attend to work with us to ensure that an appropriate presentation can be given.
We try to make the rules flexible, but ask that participants are honest with any information they share after the tournament.
Participants must design their bot to make their best effort to win the tournament. (Participants may not intentionally weaken their submitted bot at any point in any game.)
Participants are allowed to use any available libraries or software (including chess libraries like Stockfish, for example) as part of their bot.
Participants may use as much of the provided code as they like but are not required to use any of it.
There are no restrictions on the computational resources employed by participants' bots.
Each bot is required to support playing at least 4 simultaneous games. (This requirement may change as we learn more about the number of participants.) Our sample bot code and python API handles the simultaneous game support fairly transparently for the user with an adjustable parameter on how many simultaneous games are allowed, which is set to 4 by default.
Participants may not share their private bot key with anyone.
Although this is not the intent of the competition, human intervention is allowed as are live modifications to one's bot. Again, we ask that participants are honest when reporting their approach.
Networking issues are the responsibility of the participant. (While we make no promises about what we will be able to do, if it seems clear that a network issue alters top rankings, the organizers maintain discretion to try to resolve the issue in a fair manner. We do not want uncontrollable networking issues significantly affecting the tournament).
When neither bot is connected for a scheduled game and the game times out, both players get a loss.
By participating in the competition, competitors agree to allow the organizers to use the collected data (moves and timing) in any manner. All game replays will be available on our website.
Participant and Bot Eligibility
Unless explicitly stated otherwise, everyone age 18 years of age or older is eligible to compete for the monetary prize.
Competition organizers and members of the Johns Hopkins University Applied Physics Laboratory (JHU/APL), the leading organization, and the Johns Hopkins University (JHU) cannot compete for the monetary prize.
Competition organizers and members of JHU/APL may create baseline algorithms, which may play against other bots in the final tournament.
Others from organizing institutions, except JHU/APL and JHU, may compete for the monetary prize.
Tournament Protocol and Ranking
In the final tournament, each bot will play a to-be-determined number of games against every other bot in the tournament, half as black and half as white. Bots will be ranked simply based on their Bayesian Elo (BayesElo) score from the tournament games. Any ties will be broken by considering the specific record of the tied bots when they played against each other. (E.g., if bot A and bot B both have a BayesElo score of 1403 , but bot A won 13 and lost 11 games against bot B, bot A would win the higher ranking.) Remaining ties will be broken by subsequent series of 40 games between the tied bots (20 as white and 20 as black) until the tie is broken.
Players' bots will play games by interacting with our server either indirectly, through our provided python libraries, or directly, via the RESTful API. Prior to the time of a tournament, participants are expected to have their bots up and running, at which time, they would be querying the server for assigned games. When the tournament begins, the server will inform the bots of their current games, and the bots play by sending actions to and receiving results from the server. The server will enable viewers to observe past games. It will similarly maintain a real-time leader board. Teams will be required to support continuously playing at least 4 games simultaneously (the mechanics for which are provided by our code) for up to 1.5 weeks. This number may change if we determine it to be necessary.
Upon registration, each player will set a password, which will be used to authenticate that player's messages to the server. (We do not address more advanced networking or computer attacks such as someone sniffing traffic of another player.)
We have two test tournaments (starting August 11th and September 15th) to allow participants to ensure that they are properly interfacing with the server and to ensure that our server can support all the participants. Participation in the test tournaments is optional. The test tournaments have no bearing on the final rankings and participants are welcome to submit any (poor- or good-performing) bot. To help us ensure the fidelity of our infrastructure, we ask that the bots move at roughly the rate of the one they expect to use in the final tournament or faster.
Organizer Reservations and Discretion
The competition organizers reserve the right to resolve conflicts and unexpected issues as they determine them to exist and best see fit. This may include but is not limited to having bots replay games, omitting games, counting selected games as wins/losses, or holding elimination rounds in the final tournament. Elimination rounds in the final tournament are not planned but may be used to clarify any apparent undesired rating effects caused by bots that would be eliminated.
By participating in the tournament, you agree to our terms and conditions.