1. Participation

  1. Attending the AI RYUSEI
    At least one of the developers is expected to show up to the competition site of the AI RYUSEI and operate the program. This is fairly a reasonable request because one of the purposes of the AI RYUSEI is to produce a space for computer Go software developers to meet together and exchange information.
  2. Bringing computers
    Each competitor brings a computer to the competition hall, with a power cable to let it work and other accessories too. There is no limit on the computer. However, at the time of the application, you must report how many watts your computer uses. You need prior approval if it exceeds 1,000.
  3. Using a remote host via the Internet
    You are allowed to use a remote host if you agree to the following:
    1. The participant must show up the venue.
    2. The participant must conduct the remote operation with self-responsibility.
    3. Time loss due to the delay of communication time and other similar reasons are included in thinking time.
    4. The AI RYUSEI Executive Committee shall not be responsible for the delay of communication time.

    Anyone who wants to use a remote host must tell it in advance to the AI RYUSEI Executive Committee via registration form or email. We strongly recommend such a participant test the Internet connection on the day before the AI RYUSEI begins.

2. Programs

  1. Categories of participation programs
    [Category A]
    Programs wanting to proceed to the final competition.
    [Category B]
    Programs participating only to the preliminary matches and not proceeding to the final competition.
  2. Functions required to all programs
    1. To display the win/lose result when a match ends with two consecutive passes.
    2. To have the communication functions specified in Protocols.
    3. To be able to change the time limit from 30 minutes to 20, 15, and 10 minutes.
    Based on the above, you are allowed to participate in the following categories.
  3. Participation to Category B
    Programs must use a source code in their brain that is permitted to use (in this competition by its developer) and add an explicit unique contrivance. The participants, when making an application, must write details about the source code used and contrivance added.
  4. Functions required of programs participating to Category A
    1. The decision making of the program is done by original modules.
    2. When a match ends with two consecutive passes, the program must display all of dead stones, territories, and the result (win or loss).
    3. The programs must be able to resume an anomalously interrupted game.
  5. About the original modules which do decision making of the program
    - About decision making of the program
    Decision making means the selection of a legal move from all legal moves of Go. It means neither the drawing GUI, communication between processes, nor legal move generations.
    - About the original modules which do decision making
    The source codes of the modules must be written by the developers. There are programs and libraries whose source codes are open to the public. If the modules contain a dead copy from a part of these existing codes, then these are not original. Also, if the modules contain a result from machine learning done by others, then these arenot.

3. Playing a match

  1. Playing through network
    Games are played over a TCP/IP network. For the protocols, see the Protocols.
  2. Programs without communication functions
    If games over the network are impossible for a program, the player can manually input moves through an input program or other. In this case, the following conditions will be applied.
    Players must input a move designated by the program. When it is found that a player has input a different move, he/she will lose the game immediately.
    The time required to input moves is also timed.
    In the case of an input mistake, time required to recover it is also timed.
  3. Operating a computer during games
    Operators must not give additional information to the computer or revise the program during a game.