読者です 読者をやめる 読者になる 読者になる

大貧民の棋譜について

機械学習とかにあたって棋譜は重要だが、コンピュータ大貧民には決まった棋譜の形式などはないのである。
ということでサンプルを作ってみた。
いかがでせう。

TEFUDA
0 2 0 S3 S4 SX SA S2 D5 D9 DA C3 CK 
1 4 1 H4 HQ HA D6 D7 C5 C7 C9 CA C2 
2 0 2 S5 H5 H6 H7 HJ HK DX DQ D2 C4 CX 
3 1 3 S6 S7 S8 SJ SQ SK H3 H8 DK CJ CQ 
4 3 4 S9 H9 HX H2 D3 D4 D8 DJ C6 C8 JR
CHANGE
1 2 HA C2 
4 3 JR 
2 1 S5 C4 
3 4 H3 
HISTORY
4H3D3 0SADA 1PS 2D2C2 3PS 4PS 0PS 2PS 2H5H6H7 3SJSQSK 4PS 0PS 1PS 2PS 3PS 3s5S6S7S8 3H8 3CJ 4H2 0PS 1PS 2PS 3PS 4PS 4D8C8 4S9H9 0PS 1PS 2DXCX 3PS 4PS 2PS 2HJ 3CQ 4PS 0CK 1CA 2PS 3PS 0PS 1PS 1H4C4 2PS 3PS 4PS 0PS 1S5C5 1D7C7 1PS 1D6 2DQ 3DK 4PS 0PS 1PS 2PS 2HK 4PS 0S2 1PS 2PS 0PS 0S3C3 1PS 2PS 4PS 0PS 0S4 1C9 2HA 4PS 0PS 1PS 1HQ 4PS 0PS 0D5 4C6 0D9 4HX 0PS 4DJ 4PS 4D4 
MIBUN
0 4
1 2
2 1
3 0
4 3

手札は交換前の手札を挙げている。
[プレイヤー番号] [身分] [席順] [手札内容]
が一行ずつ。

交換は
[差し出し元] [受け取り人] [交換カード]
が一行ずつ。

ゲーム履歴は最初のプレイヤーから役を列挙している。
役は
[プレイヤー番号][スート][ランク]
で1セットである。
1枚のカードはいずれも2文字で表記されている。
パスはPS、ジョーカー単騎はJR、ジョーカーを他カードの代わりで使うときはスートを小文字にしてわけている。

試合後の身分は、履歴を見ればわかることだが。付けるなら1行で
[プレイヤー0の身分] [プレイヤー1の身分] ...
とかとするのもよいかもしれない。

https://github.com/koganie/uecda_server/:uecda_server棋譜を吐かせられるようにはしている。これ、画面描画の機能はつけるつもりはないのだが、棋譜の形式が定まれば棋譜の再生なども可能となる。
実際の大会の棋譜とかも残せることができれば、ウェブ上でどんな激戦が行われているのか、後で簡単に確認することができたり、なんてことも期待できる。
はたまた棋譜の形式と、任意の形式へのコンバートができれば、
簡単に学習データセットに変換することができるのだ?

ともかくこれは試作。
ご意見等ござればよろしく願いたい。