What’s this in aid of?
Gomocup is a competition in gomoku (five in row). The competitors are not humans, but computer artificial intelligences (AI, brain). The participant can be every programmer knowing how to create such a program. It’s quite easy. If you aren’t one of them, try to download several interesting programs or choose links to see several interesting addresses. In the other case we challenge you to join in the competition. The AIs having been done compete in tournament with each other using manager – a Win32 application, that you can download here. The AIs communicate with Gomotur either via text files or via standard input/output, so that you can create it in any programming language generating executable win 32 file. The matches are logged into a file, so that you can download this file and replay the match. There are no entry fees, neither any prizes for winners, the only reward is the publicity at this site and your own feeling of your success.
If you don’t know the rules of gomoku, read this paragraph up, because this game is invaluable companion in boring lesson or even more boring lecture. Gomoku is the game designed for two players playing on the square paper or on the go-board or other similar board. The players are alternatively putting it’s own signs (cross and circle) on the paper as far as one of them manages to create the line of five or more stones (free style gomoku rules) in vertical, horizontal or diagonal direction and due to becomes the winner.
If you want to join in, create in any programming language a win32 or DOS program(the brain) that can communicate with the manager.
There are two ways how to communicate. The first one is via text files. The AI program being executed in every move reads the text file with position, computes the best move, writes the best coordination into the text file and terminates itself. This protocol is considered obsolete. The second one is via standard input/output. The program(AI) is executed only at the beginning of the game reads/writes information from/to standard input/output and while the opponent is moving, it is only paused. Important: The brain must flush each output to prevent the data from being bufferred. This can be performed by flush function in pascal or fflush(stdout) in C. The main advantage is the possibility to keep all computations in memory during the whole game. You can download a base of such brain.
The tournament is being played every year at spring. Every correct and registered brain may join. One author may submit only one brain to each tournament. The tournament system is set up to according to number of attendats, usually AI are divided into groups on the basis of recent result. The brains in the same group fight each other for even number of matches (one duel), a draw is also possibble. In order to reduce the first player’s advantage, we use balanced opening from a set. The board has 20×20 squares. The winner is AI forming a continuous line of 5 or more stones. AI obtains 3 points for winning a duel, 1 point for draw or no point for loss. The AI obtaining most points is the winner. If there are more AIs with the same number of points, the score (games won/games loss) then match between then time per move determines. Matches between finalists from the same groups are played again. Winner of the tournament is the winner of the finals. Exact rules, time limits, memory limits etc. are publish on time in advance and usually reflect the last year’s rules.
Before launching the tournament, AI may not take more than 2 megabytes of space (zipped together with all necessary files). AI is allowed to save its information into files, that will last during the tournament. The AI creates a directory with its name for storing it. The size of all files belonging to one AI must not go over 20 megabytes in any time during the tournament.
The brain must obey the time limits for one turn and for match, that are announced before each tournament. The limits won’t be stricter than 30 seconds for turn and 3 minutes for match. The brain determines how much time it spends for the turn according to the remaining time info, provided by the manager. The speed of the PC is not exactly known, so the brain must be able to adapt. The brain must never occupy more RAM than allowed by a memory limit, which is also announced before the tournament and is not lesser than 70MB. The brain mustn’t display anything at screen. The brain may not communicate via a network. Only 32bit executables are allowed.
If you have created your own brain program, you can join the tournament for free, please see how to join the Gomocup.
Tomas Kubes (Tomas_Kubesseznam.cz) – organization of tournament, English translation of www
Vojta Havranek (havranekwerewolf.wz.cz) – organization of first six tournaments, webmaster
Petr Lastovicka (petr.lastovickaseznam.cz) – author of manager and brain bases code, maintenance of the protocol
Jiri Fontan (jiri.fontansofis.cz) – Gomotur manager author
Martin Petricek (bilbocentrum.cz) – foundation of the new protocol
Jan Dolezal (-email.cz) – author of first DOS manager
additional thanks to Vaclav Synacek, Petr Zizka and Jan Curn for their contribution