GAMEPLAY:

Sylver Coinage is a game played between two players. On each player's turn they list a positive integer that can't be made as a combination of the previously named numbers. For example, if the only numbers that have been chosen are 3 and 5, then it turns out the only possible remaining numbers that can be chosen are 1, 2, 4, and 7. This is because 8 can be made up with 5 + 3, 9 can be made using three 3's, and 10 can be made using two 5's. Now, since we have 8, we also get 11 since 11 = 8 + 3 = 5 + 3 + 3, and so on. The first player to pick the number 1, loses.
    For example, if for the first move of the game, Player 1 picks 2, then Player 2 can respond with 3. We see that from here the only number that isn't a combination of 2 and 3 is 1, so Player 1 is forced to pick 1 and loses. In fact, while 2 and 3 are both still viable moves, picking one will lead to a loss if your opponent is any good.

General Tournament Information:

This site will be the main location for information about upcoming tournaments and results. The main Python testing package will be used to test bots and a very similar bit of code will be used to run the tournaments. The general rules for the bots are as follows (but they are subject to change per tournament so please check):
  • The bots must be written in Python3 and work in the environment found on the main testing package page.
  • The bots must have a function called 'nextMove' which is what the testing program will call
  • The 'nextMove' function takes in three arguments
    1. The moves played so far (array of integers)
    2. The remaining possible moves if there are a finite number of them (array of integers or empty array if infinitely many remaining moves)
    3. The remaining time the bot has for the game (float)
  • The 'nextMove' function returns an integer as the move to play
The general tournament rules (again subject to change per tournament) are as follows:
  • If the 'nextMove' function returns something that is not an integer or an integer that is not a legal move, the bot loses.
  • The bot has a chess clock with 30 seconds total (that means that per game, the bot has 30 seconds to make all of its moves).
  • The largest move the bot can play is 1000000.


Upcoming Tournaments:

Additional Resources

  • JavaScript Sylver Coinage Testing Playground, an extension of this website where you can play against bots and also upload your own to test
  • The Colonel's Website, a hub for all things Sylver
  • Sylver Coinage Wiki, the Wikipedia page for Sylver Coinage
  • Winning Ways for Your Mathematical Plays, chapter 18 'The Emperor and His Money', by Berlekamp, Conway, and Guy
  • Numerical Semigroups and the Game of Sylver Coinage, American Mathematical Monthly, by Eaton, Herzinger, Pierce, and Thompson