CGF特別例会 大会要項

2002/06/18


CGF特別例会(コンピュータ囲碁大会)大会要項 2002-06-18


1.日時

  参加申し込み締め切り   8月 4日(日)
  大会                   8月24日(土)  9:00-19:00
                                      9:00 会場準備
                                     10:00 選手集合、試合開始
                         8月25日(日)  9:00-17:00
                                      9:00 試合開始

2.場所、交通

  〒182-8585 東京都調布市調布ヶ丘 1-5-1
  電気通信大学 西9号館3F AV会議室

  電気通信大学へは京王線調布駅北口から徒歩約10分です。
  大学の一番西端の8階建ての白いビルです。
  電気通信大学へのアクセスおよび、建物の配置については以下のURLを
  参考にしてください。
  http://www.uec.ac.jp/acc/map.html
  http://www.uec.ac.jp/acc/campusnai.html

3.参加資格

  どなたでも(CGFの会員でなくてもOKです)。
  ただし自作のプログラムに限ります。
  選手として参加希望の方は cgf-admin@cc.hiroshima-pu.ac.jp 宛まで
  メイルを下さい。見学の方は事前にメイルしなくて結構です。

4.使用するコンピュータ

(1)コンピュータは各自で持参してください。貸し出しはしません。
(2)また、大会は通信対戦を基本としますので通信対戦に必要なRS-232C
   クロスケーブル(9ピンコネクタ)を各自で持参してください。
   必要ならば変換コネクタなども持参してください。
(3)2つ以上コンセントが必要な場合は、各自でテーブルタップを持参して
   ください。

5.通信対局方式

   対局は原則として通信対局とします。
   通信規約は、Standard Go Modem Protocol(SGMP)の簡易版です。
   詳細は付録 Aを参照してください。なお、SGMPについては、
   http://www.hiroshima-pu.ac.jp/~sasaki/cgf/gomodemj.txt (日本語)
   http://www.britgo.org/tech/gmp.html (英語 ソース付き)
   をご覧下さい。

   通信関係はCGF(Computer Go Forum)の通信プログラムを利用します。
   通信プログラムとその実装例、DLLなどはCGF Webページ
   http://www.hiroshima-pu.ac.jp/~sasaki/cgf/indexj.html   
   で公開されています。

   SGMP対応のプログラムを簡単に作るには以下のDLLを利用するのがお勧めです。
   http://www.hiroshima-pu.ac.jp/~sasaki/cgf/files/cgfcom.zip
   また事前にデモプログラムで通信のチェックをして下さると助かります。
   http://www.hiroshima-pu.ac.jp/~sasaki/cgf/files/cgfgnu02.zip
   通信を実装していない場合は、代理通信用のプログラム
   http://www.hiroshima-pu.ac.jp/~sasaki/cgf/files/cgftest.zip
   を使って、手入力で対局を行ないます。
   ---> ただし手入力にかかる時間も持ち時間から差し引きます。

   実際の利用方法については以下の記事もご参照ください。
   http://www.hiroshima-pu.ac.jp/~sasaki/cgf/journal/cgfjournal.html


6.ルール

(1)手割合は互先、先番5目半コミ出し。先後はにぎりで決定します。
(2)持ち時間は各50分とします。300手以内に一方の持ち時間が切れた
   ときには、切れた側の時間切れ負けとします。300手を越えていた
   場合は、勝敗は審判が判定します。400手を越えた場合、残り時間に
   かかわらず対局を止め、勝敗は審判が判定します。消費時間は、
   それぞれのプログラムで計測します。1秒未満は切り捨てて構いません。
(3)その他のルールは日本囲碁規約に従います。

7.終局と勝敗の決定

(1)次のいずれかの場合に終局とします。
   a)双方が連続してパスした時。
   b)プログラムが投了の意志表示をした時。
    (通信には投了は存在しないので送らないで下さい。
      画面に表示し、停止するのみ)
   c)操作者が投了の意思表示をした時。
   d)一方の持ち時間が無くなったとき。
   e)400手を越えた時。
   f)反則があった時。
   g)その他審判が必要と認めた時。
(2)死に石の表示: 正常終局したとき、死に石は明確にモニター
   上に表示してください。
(3)勝敗: プログラムが地の計算を行ないます。プログラム同士
   の地の計算が目数まで一致した場合、それを結果とします。
   一致しなければ、プログラム操作者同士で勝敗を判定します。
   双方で勝敗に合意出来ない場合は審判が勝敗を判定します。

8.棋譜
   a)対局が終ったら棋譜ファイルを1局毎に保存して下さい。
   b)全対局終了後にすべての棋譜をフロッピーで回収します。
   c)棋譜の表記形式はSGF(Smart Game Format)形式を推奨します。
    (SGF形式については付録Bを参照)

--------------------------------------------------------------

付録A: 大会通信規約(SGMPの簡易版)

大会で使うSGMPのコマンドは、通信エラーを減らすために以下のよう
に統一します。

・NEWGAMEは必ず黒から送る。白はただ待っているだけ。
・白はNEWGAMEに対して、QUERY(11)とQUERY(8)をきき、その答えが
  ANSWER(2)とANSWER(1)だった場合のみ、OKを返して黒の手を待つ。
・黒はOKが返って来たらMOVEで手を送り、白はそれに対してOKを即座に返す。
・白はMOVEで手を送り、黒はそれに対してOKを即座に返す。
  以下、黒白交互にこれを繰り返す。
・データの再送は、OKが20秒以上返ってこなかった場合のみ、送ってもよい。

通信初期化手順は、
  黒                  白
NEWGAME   --->
               <--- QUERY(11)   あなたの色は?
ANSWER(2) --->                  黒です。
               <--- QUERY(8)    ハンディは?
ANSWER(1) --->                  互先です。
               <--- OK
この固定された手順になります。これ以外のQUERYを送ってはいけませんし、
これ以下を送らないのもまた駄目です。
またQUERY(11)と(8)の順番が逆でもいけません。

手の交換は
MOVE  --->                      手を送る。
               <--- OK
これでワンセット。これを黒白が終局まで交互に繰り返します。

実際の内容は、
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
  ・
  ・
  ・
このようになります。

CGF Webページには、以下の3つのプログラムがあります。

CGFGO   .EXE ・・・ 通信代理プログラム(通信機能を持たない
                    プログラムは、これを使用します。操作時間も
                    持ち時間に含まれます)
CGFCOM  .DLL ・・・ 通信関数を含んだライブラリ
CGFGNUGO.EXE ・・・ GnuGoを使った通信対戦デモプログラム(全ての
                    プログラム はこのプログラムと対戦できる事を
                    確認して下さい)

通信処理に不慣れな方は、CGFCOM.DLLを使用する事により、通信処理の
苦労を軽減する事が可能です。詳しくは、CGFCOM.DLLに付属のドキュ
メントをご覧ください。

CGFCOM.DLLを使っているプログラムは、上記の通信仕様を満たして
いますので、変更の必要は特にありません。ただ、CGFGNUGO.EXEと黒白、
共に打てる事を確認しておいて下さい。COMポートが2つついているパソ
コンならば、1台だけで通信の確認をする事も可能です。


--------------------------------------------------------------

付録B: Smart Game Format (SGF)

SGFは、()の中に、;で始まるノードの列で表されます。最初の
ノードはルートノードと呼ばれ、一局全体にかかわるプロパティを含んで
います。 ルートノードの次のノードが第一手を表します。

(;
GM[1]FF[1]       /GMはゲームの種類を表す。囲碁は1,FFはSGFのバージョン
                 /(1〜4)を表す。
SZ[19]           /盤のサイズ。19路盤
PB[player black] /黒番の名前
PW[player white] /白番の名前
DT[date]         /対局日
PC[place]    /対局場所
KM[komi]     /コミ
TM[time for each player] /持ち時間(分)
RU[rule]     /使用するルール。Japanese
RE[result]    /結果 B+10.5は黒番10.5目勝ち。B+Rは黒中押し勝ち
EV[event]     /イベント名。CGF Tokubetsu Reikai
GN[game name]    /ゲーム名。round 1
;B[aa];W[bb];B[cc]../黒番から見た左上をaa,右上をsaとする。10手ごとに改行。
;B[tt]W[tt])     /パスはtt。

具体例
(;
GM[1]FF[1]
SZ[19]
PB[Black Program]
PW[White Program]
DT[2001-08-25]
PC[Tokyo]
KM[5.5]
TM[50]
RU[Japanese]
RE[B+0.5]
EV[CGF Tokubetsu Reikai]
GN[round 1]
;B[dd];W[pd].....
;B[tt];W[tt])

--------------------------------------------------------------

元のページに戻る