====== リファレンス(データベース系コマンド編) ====== ~~SOCIAL_META: description = Edaxのデータベース系コマンドのリファレンスです。 ~~ Edaxのコマンドについて、ヘルプの説明だけではよくわからないものもあるので、仕様を整理してみました。コマンドにもいろいろな種類がありますが、今回はデータベース系のコマンドについて整理しました。それ以外のものについては下記リンクを参照ください(リンク切れのものは未作成です) * [[edax:ref_command_basic|基本コマンド]] * [[edax:ref_command_book|Book系コマンド]] * データベース系コマンド(本ページ) * [[edax:ref_command_test|テスト系コマンド]] * [[edax:ref_option|オプション]] データベースファイルの形式は拡張子''.txt'',''.ggf'',''.sgf'',''.pgn'',''.wtb'',''.edx''に対応しており、拡張子で判断しています。詳細は[[#ファイルフォーマットについて]]を参照してください。 [隠しコマンド]と書かれているコマンドはヘルプに記載されていないコマンドですので、使用する場合は自己責任にてお願いします ===== リファレンス ===== ===convert === **書式** base convert 変換元データベースファイル名 変換先データベースファイル名 データベースファイルの形式を変換します。変換前後のフォーマットはデータベースファイル名に指定したファイル名の拡張子で判断されます。 変換先データベースファイルが既に存在する場合は、追記されるようです。 **実行例** base convert WTH_2017.wtb WTH_2017.txt 出力ファイルが存在しない場合はファイルがない旨の警告メッセージが表示されると思いますが、ファイルは出力されます。 === problem === **書式** base problem 入力データベースファイル名 空きマス数 出力ファイル名 入力データベースファイルに登録されている各棋譜について、残りのマス数が「空きマス数」に指定された状態になった盤面を、出力ファイル名に指定したファイルに出力します。 出力されるファイルは、1行あたり1盤面で、入力ファイルの棋譜数分、改行区切りで盤面が出力されます。各行は 盤面情報 手番 の形式で、「盤面情報」はA1,A2,...,H8の順番に64文字分が黒石=''X''、白石=''O''、空きマス=''-''で出力されます。「手番」はそのときの手番の1文字が''X''または''O''で出力されます。(拡張子によらず、この形式で出力されます) **実行例** base problem WTH_2017.wtb 6 problem.txt **出力例(1行分)** OOOOOOOXXOOOXOXXXOOXOXOXOOOOOXOX-XOOOOXX--XOOXOX--XXOOOX--OXXOOX O === tofen[隠しコマンド] === **書式** base tofen 入力データベースファイル名 空きマス数 出力ファイル名 入力データベースファイルに登録されている各棋譜について、残りのマス数が「空きマス数」に指定された状態になった盤面を、出力ファイル名に指定したファイルに出力します。 出力されるファイルは、1行あたり1盤面で、入力ファイルの棋譜数分、改行区切りで盤面が出力されます。各行は 盤面情報 手番 - - 0 1 の形式で出力されます。「盤面情報」は8行目〜1行目の順序で''/''区切りで出力され、各行は黒石=''p''、白石=''P''、空きマスについては連続する空きマス数がその数字で表現されます。「手番」はそのときの手番の1文字が''b''(黒石)または''w''(白石)で出力されます。(拡張子によらず、この形式で出力されます) **実行例** base tofen WTH_2017.wtb 6 problem.txt **出力例(1行分)** 2PppPPp/2ppPPPp/2pPPpPp/PPPPPPpp/PPPPPpPp/pPPpPpPp/pPPPpPpp/PPPPPPPp b - - 0 1 === correct === **書式** base correct データベースファイル名 空きマス数 データベースファイルに登録されている各棋譜について、残りのマス数が「空きマス数」に指定された状態になった以降の手について、最善手ではない手を最善手に置き換えて保存し直すコマンドのように見えますが、うまく機能していないようです。データベースは上書きされるので注意してください。 空きマス数は省略可能で、初期値は24です。 **実行例** base correct WTH_2017.txt 10 === check === **書式** base check データベースファイル名 空きマス数 データベースファイルに登録されている各棋譜について、残りのマス数が「空きマス数」に指定された状態になった以降の手について、最善手ではない手が含まれている棋譜をチェックします。最善手ではない手の数が出力されます。 空きマス数は省略可能で、初期値は24です。 **実行例** base check WTH_2017.txt 10 **出力例(1行分)** F5D6C5F4E3C4E6C6D3F3B3E2G4E7F6H4F7D7E8G6G5C2B4C7H5D8F8H6B6G8D1A6D2C1G3B5C3A5F1E1H3G1B2A4G7F2A2H2B8A3A1B1C8A8B7H7A7H8H1G2 Game #0 contains 3 errors === complete === **書式** base complete データベースファイル名 データベースファイルに登録されている各棋譜について、最終局面までの棋譜かどうかをチェックします。途中状態の棋譜の場合は、最善手で残りを補って上書き保存します。 **実行例** base complete WTH_2017.txt === unique === **書式** base unique 入力データベースファイル名 出力データベースファイル名 入力データベースファイルに登録されている棋譜について、重複がないかをチェックし、重複した棋譜を取り除いたものを出力データベースファイルに出力します。重複しているかどうかは、同一の進行であり、かつ記録されている対局日時・対局者が同一かどうかでチェックされています。 対局日時、対局者でのチェックは一部のデータフォーマットのみしかサポートされていないようです。 出力データベースファイルが既に存在している場合は、追記されます。 **実行例** base unique WTH_2017.txt WTH_2017_2.txt === compare[隠しコマンド] === **書式** base compare データベースファイル名1 データベースファイル名2 指定された2つのデータベースファイルに登録されている全棋譜の全局面について、それぞれのデータベースファイルごとの局面数と、共通の局面数を表示します。 **実行例** base compare WTH_2015.wtb WTH_2016.wtb **出力例** WTH_2015.wtb : 92329 positions - 88934 original positions WTH_2016.wtb : 96512 positions - 93117 original positions 3395 common positions WTH_2015.wtbには92329局面、WTH_2016.wtbには96512局面あり、両方のファイルに共通する局面が3395あることを表しています。original positionsはそのファイルのみに存在する局面の数です。 ===== ファイルフォーマットについて ===== ファイルフォーマットについて調査した範囲でメモ書きしておきます。主に情報が掲載されているサイトへのリンク集です。 === txt === 以下のような形で、試合毎の棋譜を改行区切りで並べたテキストファイルです。 F5F6E6F4E3D6C4E2F7C6D7E7G5G6H6F8D8C8E8C5F3G3F2G4C7H5D3H7F1D1D2G7H4H3H8G8H2C2G2C1C3E1B2A1B1B3B5G1A2A4A3B4H1A5A6B6B7A7A8B8 F5D6C3D3C4F4F6F3E6E7D7G6D8C5C6C7C8B4E3E2D2F2B3B5C2D1G5H6G4G3F1C1H3F7G8F8E8H4E1G1A3A5B6G7G2A4A6A7B7A2B2A1B1H2H1B8A8H7H8H5 === ggf === Generic Game Formatと呼ばれるファイル形式で、[[https://skatgame.net/mburo/ggs/|GGS(General Game Server)]]で使用されている形式のようです。 * [[https://skatgame.net/mburo/ggs/ggf|Generic Game Format]] === sgf === Smart Game Formatと呼ばれるファイル形式で、オセロだけでなく囲碁や将棋の棋譜も記録できるファイル形式のようです。 * [[https://www.red-bean.com/sgf/|SGF File Format FF[4]]] === pgn === Portable Game Notationと呼ばれるファイル形式で、主としてチェスで使用されているようです。 * [[https://ja.wikipedia.org/wiki/Portable_Game_Notation|Portable Game Notation(Wikipedia)]] * [[http://www.saremba.de/chessgml/standards/pgn/pgn-complete.htm|Standard: Portable Game Notation Specification and Implementation Guide]] === wtb === ThorあるいはWthorと呼ばれているデータベースの棋譜ファイル形式です。 * [[http://hp.vector.co.jp/authors/VA015468/platina/algo/append_a.html|Delphinus's Sea内のThorデータベースのファイルフォーマット解説]] * [[http://www.ffothello.org/wthor/Format_WThor.pdf|FFO(フランスオセロ連盟)内のWthorの説明(フランス語)]] === edx === Edaxで使用されている独自のファイル形式で、メモリ上に管理されている試合情報をバイナリで出力したファイルです。