Call For Participation Ver.0.4 2000-03-24 FJK Computer Go Tournament Shonan, Japan June 1-2, 2000 ----------------------------------------------------------------- The Tournament Policies (1) The tournament provides Computer Go programs level up through the tournament. (2) The tournament provides exchange of information and knowledge between participants. (3) The tournament provides augmentation of Computer Go programmers. (4) The tournament provides a chance for every participant, strong or not, to participate all through the tournament. 1. Schedule Application Deadline: Wednesday, May 10, 2000. Preliminary System Testing: Wednesday, May 31, 2000. Tournament: Thursday-Friday, June 1-2, 2000. 2. Place SHONAN Village Center 1560-39 Kami-Yamaguchi Hayama-City Miura-Gun Kanagawa, 240-0198 JAPAN Tel. +81-468-55-1810 Front(7:00-23:00) http://www.shonan.ne.jp/~mura/english/index_e.html 3. Transportation From either of JR Yokosuka line Zushi station or Keihin-Kyuko line Higashi-Zushi station, take a bus to Shonan Village [approx. 30 min.] http://www.shonan.ne.jp/~mura/english/access-e.html 4. Organization Game Information Research 5. Cooperation Information Processing Society of Japan 6. Prize No prize money 7. Registration (1) Eligibility a) Participants can be of any nationality, gender, or age. b) Any individual or organization can participate. Only a single copy of each program can be registered (no multiple registration is allowed). c) Only a developer of a registered program or a person endorsed by such a developer can participate. d) Any unfair practice, such as duplicating a program developed by someone else, disqualifies the participant. e) Participating programs should possess communication capability. (Programs without such communication capability can still register. However, the time for the operation is counted as part of the playing time.) (2) Application Please fill in the registration form (See Appendix D) and send it via E-mail or postal mail. Participants should subscribe to the participant's mailing lists (ML). (3) Addres Registrations should be sent to the tournament secretariat: Atsushi Yoshikawa, NTT Communication Science Labs., 3-1, Morinosato Wakamiya, Atsugi, Kanagawa, 243-0198 JAPAN E-mail: yosikawa@rudolph.brl.ntt.co.jp Phone: +81-462-40-5211 Fax : +81-462-70-2359 (4) Registration fee Free (5) Cancellation Cancellations can be made. The tournament secretariat must be notified of cancellations by E-mail or postal mail on the day before the tournament. The secretariat does not accept cancellations via telephone. 8. Computer and System Testing (1) Participants must bring their own computers. The secretariat will not provide any computers. If you have no means to bring a computer, consult the secretariat. In principle, the secretarist will not keep any computers that are sent in advance. We strongly recommend Note-PC for electric restriction. Participants may be asked to change their computers if they need too much electrical current. Programs must run on a computers at the tournament site, play by remote access is not allowed. Communication between programs will be done through a RS-232C cable with 9-pin connectors. Participants should bring facilities for the communication, e.g., RS-232C cable, connectors, etc.. (2) Games will be played automatically. The communication protocol applied in the tournament is a simplified version of the Standard Go Modem Protocol (SGMP). For details see Appendix A. For SGMP, see ftp://ftp.nuri.net/Go/programs/protocol.Z (in English) or http://www1.odn.ne.jp/~cag79530/cgf/gomodemj.txt (in Japanese). The communication programs and an implementation example can be found at http://www1.odn.ne.jp/~cag79530/cgf/ All participants should have finished communication testing in advance by using the demonstration program provided by CGF. http://www1.odn.ne.jp/~cag79530/cgf/cgfgnu02.zip If a participating program does not have the communication protocol, the participant must play games manually by using the program provided by CGF. http://www1.odn.ne.jp/~cag79530/cgf/cgftest.zip In that case, the time consumed by the manual input will be subtracted from the time limit. DLLs implementing the communication protocol will be provided on the Web page. (3) The secretariat will provide a chance for communication testing at the tournament place in the afternoon on the day before the tournament. It is not obligatory to attend the testing, but participants are responsible for any disadvantages due to their absence. Participants are responsible for all problems resulting from insufficient testing. 9. Operation during Competition (1) All participating programs should be operated by their participants. If the registered participants are unable to operate their program by themselves, they must designate a substitute at the time of registration. (2) Changes to a program during a game are prohibited. However, modification of a program between rounds is permitted. Unnecessary touches of the keyboard or the mouse may be regarded as giving the computer some information. Especially in games using the communication protocol, participants will not be allowed to touch the keyboard or the mouse without prior permission of the judge during play. (3) Participants who have not implemented SGMP in their program must input the move, given by their program, to the input program with SGMP provided by the tournament organizers. Any mistakes made during input will result in a forfeit of the game. 10. Number of Games and Pairing Games both on the first day and on the second day will be conducted in (modified) Swiss-style. However, the style may be slightly changed according to the number of teams. The total number of games and the pairing method will be announced on the tournament Web page one week before the tournament. 11. Tournament Rules (1) All games will be played on even, with Black giving White 5 1/2 points komi at the start of the game. The side taking black will be determined by the operators performing nigiri. (2) Each program will be allowed 50 minutes to complete its moves. If one side runs out of time before move 300, it loses the game on time. If the game has progressed past the 300th move and one of the programs runs out of time, the tournament judge adjudicates the game. If the game has progressed past the 400th move, it will be stopped regardless of the remaining time and the tournament judge will give the decision. Consumed time should be measured by each program. Times below one second may be omitted. If an unfair act is found, the tournament judge will make a decision. (3) Tardiness Participants who fail to notify the tournament organizers of their tardiness before the pairing of the first round game will forfeit all games. If participants notify organizers, all tardy time will be subtracted from the playing time. In the case of games in the second round or later, participants who are late for the games will lose the games. The pairing of the first round will be performed immediately after the reception. The exact time will be announced on the tournament Web page two weeks before the tournament. It will be about 10:00 a.m. (4) If participants must play a game right after another game, they will be allowed a 10 minute rest period. Any break longer than 10 minutes will be treated as a tardy time. 12. Tie-breaking Rules and Tournament Prizes (1) Tournament results will be determined by applying rules in the order listed below. 1) Number of wins 2) Sum of all opponent's scores (SOS) 3) Sum of defeated opponent's scores (SODOS) 4) Sum of the scores of defeated opponents except two, the one with the largest score and the one with the smallest score 5) Result of head to head competition 6) Rank on the paring table (determined at the time of pairing) In the event of tie, the ranking will be equal. 13. Rules of Go All games will be played according to the rules of the Nihon Ki-in (1990 version). The rules can be found on the CGF Web page: http://www1.odn.ne.jp/~cag79530/cgf/index.html The judges have final authority regarding the interpretation of the rules. 14. End of games and Judgements (1) Games will end based on the following conditions: Both programs send a pass message to their opponent consecutively. One of the programs resigns. (No message should be sent because no message is defined for resigning. The program should only display the decision and halt.) One of the operators decides to resign. One side exceeds the time limit. The game has progressed past the 400th move. A competitor breaks the rules. The tournament judge decides it is necessary to end the game. (2) Dead stones Programs must mark dead stones clearly on the monitor screen when games end normally. (3) Counting the Score Programs must calculate territory. The result is valid if both programs display the same score. If the scores differ, the operators decide the result. Disputes are settled by the tournament judges. 15. Unusual Situations (1) If a program crashes or communication error or power failuer during a game, game will be adjudicated by the tournament judges. (2) Unfair Practices: Any participant found to be cheating will be disqualified from the tournament and the game will be terminated immediately. All remaining games will also be scored as losses. (3) Disputes: Any disputes arising from circumstances not mentioned above will be settled by the judges. If the judges are not able to adjudicate, the tournament chair will adjudicate. The decision of the tournament chair is final. 16. Submission a) Each participant is required to save a game record at the end of each game. b) When the tournament finish, the tournament secretariat will gather all game records. c) All game records will be available from the this web page. d) It is encouraged that the format of the retrievable record of a game is SGF (Smart Game Format, see Appendix B). If formats other than SGF are utilized, explanation for the formats should be provided. e) The tournament organizers reserves the copyright for all game records, but participants may use them freely in any non-profit affairs. 17. Request of questionnaire (1) Participants are requested to explain their programs by filling in the questionnaire shown in Appendix C. These explanations will be distributed to the participants and spectators during the tournament. Please send the questionnaire at the same time as the registration by E-mail (or printed matter or floppy disk). 18. Related Web Pages and E-mail Addresses New information and supplementary information will be on the tournament Web pages. Registrations should be sent to the tournament secretariat. Other inquiries should be sent to the appropriate address, or to the Organizing Committee. a)FJK tournament web: http://www.brl.ntt.co.jp/sig-gi/fjk2k-go/index.html b)Secretariat: mailto:yosikawa@rudolph.brl.ntt.co.jp Appendix A: Tournament Communication Protocol (a simple version of SGMP) Commands of SGMP have been simplified to reduce communication errors during the tournament as follows: -NEWGAME must be sent by Black. White just waits for it. -For Black's NEWGAME, White asks QUERY(11) and QUERY(8), and waits for Black's answers. If the answers are ANSWER(2) and ANSWER(1) respectively, White returns OK and waits for Black's move. -When Black receives OK, Black sends a move by MOVE. Then White responds promptly by OK for Black's MOVE. -White sends a move by MOVE, and Black quickly returns OK for it. The same exchange is repeated alternately between Black and White. -When a player (Black/White) does not receive OK from the partner (White/Black) in 20 seconds after he sends some data, the player can send the same data again. Initialization procedure: Black White NEWGAME ---> <--- QUERY(11) What is your color? ANSWER(2) ---> Black. <--- QUERY(8) What is the handicap ? ANSWER(1) ---> Even (No handicap.) <--- OK This procedure is strictly fixed. No other QUERYs are permitted and it is also forbidden to omit the following steps. It is not permitted to swap the order of QUERY(11) and QUERY(8). An exchange of moves is done as follows: MOVE ---> Send a move <--- OK The exchange is repeated alternately between Black and White until the end. An instance : Try COM1 ... Send --> 01:a1:a0:80 :Send NewGame Read <-- 03:be:b0:8b :Receive Query(11) Send --> 02:c4:c0:82 :Send Answer(2) Read <-- 00:b8:b0:88 :Receive Query(8) Send --> 01:c2:c0:81 :Send Answer(1) Read <-- 02:88:87:ff :Receive OK Game is ready! Send --> 00:85:d2:b3 :My Move. Pos(1-361)=307 Read <-- 00:86:87:ff :Receive OK Read <-- 01:92:d4:bd :Your Move. Pos(1-361)=61 Send --> 02:88:87:ff :Send OK .. .. .. And so on. The following three programs are included in the tournament web pages: CGFGO.EXE --- Communication proxy program: Programs with no communication function use this proxy program. In that case, operation time is counted as allotted game time. CGFCOM.DLL --- A library of communication funcions CGFGNUGO.EXE --- A demo program (GnuGo) with communication functions (All participants are recommended to make sure that their programs can play with the demo program.) If you are not accustomed to communications programming, you can reduce your labor of implementing communication functions by using CGFCOM.DLL. For further detail, please refer to the documents appended to CGFCOM.DLL. Because any program with CGFCOM.DLL satisfies the above mentioned specifications, it is not necessary to change them. Just make sure to be able to play both colors (Black and White) . If your machine has 2 COM ports, then you can make sure of both cases on your machine. Appendix B: Smart Game Format (SGF) SGF is specified as a sequence of nodes which starts with ; in a ( ). The first node is called the root node, which contains properties about the whole game. The next node after the root corresponds to the first move. (; GM[1]FF[1] /DM denotes the kind of game. Go corresponds to 1 and /FFmeans the version number (1 - 4) SZ[19] /Board Size 19 PB[player black] /Black' name PW[player white] /White' name DT[date] /Date when game is played, year-month-day: YYYY-MM-DD PC[place] /Place where game is played KM[komi] /Komi TM[time for each player] / Alotted Time for each player (minutes) RU[rule] /Kinds of rule: Japanese RE[result] /Game result. B+10.5 stands for Black's Win by 10.5 /points. B+R means Black' Win by White's resignation EV[event] /Name of Event. FJK Computer Go Championship GN[game name] /Game name. round 1 ;B[aa];W[bb];B[cc]...... /Record of move sequence. B[X,Y] stands for Black's /move at Point (X,Y). aa and sa are top most left /and top most right corner points respectively on Board /viewed from Black's side. /10 moves per line. ;B[tt]W[tt]) /tt means Pass. An example: (; GM[1]FF[1] SZ[19] PB[Black Program] PW[White Program] DT[2000-06-01] PC[Shonan, JAPAN] KM[5.5] TM[50] RU[Japanese] RE[B+0.5] EV[FJK CGC] GN[round 1] ;B[dd];W[pd]..... ;B[tt];W[tt]) Appendix C: Questionnaire ============= (1) Name of Program (2) Developer's Name (3) Achievements in the past three years (4) Strength of program (dan, kyu) (5) How to get program (commercial product or free software) (6) Purpose of program development (Select some of the following) [ ]For sale [ ]For research [ ] For fun [ ] Other ( ) (7) Published references (Product introduction article, paper, book, Web home page etc.) (8) Programming language (9) Size of engine's part in source code (number of lines) (10) What kinds of databases (for example, Joseki library) are used in your Program? If any, what is the size of the databases? (number of patterns) (11) What is the average number of candidates per move? (12) How does your program treat the capture of a string/block (a set of stones with the same color connected vertically or horizontally)? [ ] Using patterns (the number of patterns) [ ] Using search (search width, search depth) [ ] Combination of patterns and search (the number of pattern, width, depth) [ ] Other ( ) [ ] No treatment (13) How does your Program treat a group (a set of relatedstones of the same color)? Please explain the method using the example in the following figure. + + + + + + + + + + + + + + + O + O + + + + + + + + + + O O + + + O: white + O O O O X X X O O + X: black O O X X X X + + X O + - - O O X - - - - - - <--- Edge of the board (14) Can your Program find Ko threats intentionally (not accidentally)? Can your Program start a Ko fight intentionally? (15) Suppose your program realizes that there are no moves related to death and life of groups and only ten or so moves remain before the end of the game. Then, how does your Program treat the remaining moves? Choose one from the following: [ ]First calculate the value of each move, and then choose one with the highest score. [ ]Obtain the optimal solution by searching the remaining ten moves [ ]Other ( ) (16) Can your program learn through playing games? (17) Does your program have some ways to accelerate the processing speed? (18) What are the next functions you want to implement in your program? (19) If your program has any other characteristics (technical matters or playingstyle), please write them. (20) When do you think your Program will achieve the level of Japanese amateur one dan? Appendix D: Registration form ================= Given Name:_________________________ Age:_________________________________ ___ Family Name:________________________ Nationality:_________________________ ___ Occupation:_________________________________________________________________ ___ Address:____________________________________________________________________ ___ ____________________________________________________________________ ___ Daytime Phone:______________________ Fax:_________________________________ ___ E-mail Address:_____________________________________________________________ ___ Program Name:_______________________ Team Name:___________________________ ___ (if any) Names of Other Developers:__________________________________________________ ___ (if any) Name of Substitute Operator:________________________________________________ ___ (if any) Computer (CPU / clock):_____________________________________________________ ___ Necessary Electric Current:_______________ A (including display. This item should not be omitted.) Communication Function: Yes / No / To be ready (Leave one.) Appendix E: Hotel: This tournament will be held as demonstration session of IPSJ (Information Processing Society of Japan) joint research. Reserch participant can recieve the hotel service, and this tournament participant also can. Application is the following. --- We reserved group reservation for distant participant. Please send the following form by E-mail. We accept in the order of arrival. a) name b) address c) division you belong to d) single or twin (If you use twin and have room mate, append) e) sex f) age g) meal (Breakfast, Lunch or Dinner) - Single 78 rooms, Twin 22 rooms - 6,500-9,000 Yen (not including Tax and Service Charge.) - Breakfast 1,200 Yen, Lunch 900 Yen, Dinner 2,500 Yen (not including Tax and Service Charge.) - Meal We accept the meal only resevation with above price.