付録A Thorデータベースのファイルフォーマット

インターネット上で配布される棋譜データベースにThorデータベースというものがあります。
ここではThorデータベースのファイルフォーマットについて解説します。

  • ファイルの種類

    データベースは次の3種類のファイルから構成されます。

    • 対戦者名データファイル(wthor.jou)
      対戦者名が格納されているファイルです。

    • 大会名データファイル(wthor.trn)
      大会名が格納されているファイルです。

    • 棋譜データファイル(wth_####.wtb)
      棋譜が収められています。
      ####は対戦の行われた年です。
      棋譜には対戦者名、大会名、結果の情報が付いています

  • ヘッダ

    上の3種類のファイルはすべて次のヘッダから始まります。
    ヘッダは16バイトのデータで構成されます。
    Sizeの単位はバイトです。

    Label Size
    ファイルの作られた世紀 1
    ファイルの作られた年(西暦)の下2桁 1
    ファイルの作られた月 1
    ファイルの作られた日 1
    記録されている試合の数 4
    記録されている大会または対戦者名の数 2
    対戦の行われた年 2
    予備 4

    wthor.jouおよびwthor.trnでは記録されている試合の数および対戦の行われた年は0です。
    またwth_####.wtbでは記録されている大会または対戦者名の数は0です。

  • 対戦者名データファイル(wthor.jou)

    wthor.jouではヘッダの後に以下のデータが続きます。

    Label Size
    対戦者名 20

    対戦者名は必ずNULL文字で終わらなければならないので、実質19バイトが使用できます。

  • 大会名データファイル(wthor.trn)

    wthor.trnではヘッダの後に以下のデータが続きます。

    Label Size
    大会名 26

    大会名も必ずNULL文字で終わらなければならないので、実質25バイトが使用できます。

  • 棋譜データファイル(wth_####.wtb)

    wth_####.wtbではヘッダの後に以下のデータが続きます。

    Label Size
    大会名のインデックス 2
    黒番の対戦者のインデックス 2
    白番の対戦者のインデックス 2
    対戦結果(黒石の数) 1
    理論スコア(黒石の数) 1
    棋譜 60

    大会名のインデックスというのは、大会名ファイル中で何番目の大会名かを表しています(一番最初を0とする)。
    黒、白番の対戦者のインデックスも同様です。
    理論スコアは終盤を最善で打ったときの黒石の数です。
    最近は39手目以降が最善のときの値です。

    棋譜は1手目がF5になるように規格化されています。 また、1手目から60手目までどこに打ったかを、以下のマス番号であらわされます。

    A B C D E F G H
    1 11 12 13 14 15 16 17 18
    2 21 22 23 24 25 26 27 28
    3 31 32 33 34 35 36 37 38
    4 41 42 43 44 45 46 47 48
    5 51 52 53 54 55 56 57 58
    6 61 62 63 64 65 66 67 68
    7 71 72 73 74 75 76 77 78
    8 81 82 83 84 85 86 87 88



トップに戻る