Edaxのコマンドについて、ヘルプの説明だけではよくわからないものもあるので、仕様を整理してみました。コマンドにもいろいろな種類がありますが、今回は基本的なコマンドについて整理しました。それ以外のものについては下記リンクを参照ください(リンク切れのものは未作成です)
書式
init
盤面を初期状態に戻し、新たなゲームを開始します。
書式
new
盤面をsetboard
コマンドで指定した開始局面に戻し、新たなゲームを開始します。setboard
コマンドを実行していない場合は、initと同じ効果です。
書式
setboard 開始局面
new
コマンドを実行した際の開始局面を指定します。開始局面を設定し、new
まで実行されたのと同じ効果を持ちます。開始局面の書式は、盤面を表す64文字と手番を表す1文字から成り立つ計65文字の文字列で、盤面の64文字はA1,B1,C1,…,H8の各マスについて以下の文字を並べた文字列です。
上記以外の文字は無視されます。手番を表す1文字は、黒なら“b”,“B”,“x”,“X”,“*”のいずれか、白なら“o”,“O”,“w”,“W”のいずれかを指定します。
実行例
setboard ---------------------------O*------O**-----O--------------------*
最後の*
が黒番であることを、その前の64文字が盤面を表します。
書式
undo
1手戻します。mode
コマンドにより人対Edaxになっている時は2手戻します(つまり、1つ前の自分の手番まで戻ります)。
書式
redo
undo
で戻した手を再度1手進めます。mode
コマンドにより人対Edaxになっている時は2手進めます。
mode
コマンドにより人対Edaxになっている時は1手も進みません。このバグはVer4.4では修正されています。書式
play 手
指定した手を打ちます。複数手を指定することも可能です。手はa1〜h8の形式で入力し、大文字小文字は問いません。パスを入力する場合はpa
またはps
と入力しますが、明示的にパスを入力しなくてもパスの局面であればEdaxが自動的にパスだと判断して先に進めてくれます。
実行例
play f5d6c3d3c4
play tiger
のように定石名で入力することも可能です(初めて知りました)。あまり需要はないかもしれませんが、是非定石名で入力したいという方は、ソースコードを参照して指定可能な定石名を確認してください。568行目までがフランス語の定石名、568行目以降が英語の定石名だそうです。どちらも利用可能です。書式
手
打つ手をa1〜h8の形式で入力します。大文字小文字は問いません。パスを入力する場合はpa
またはps
と入力します。play
コマンドとは異なり、1手だけ進めることができます。
書式
force 手
Edaxが序盤に打つ手を指定します。手の書式はplay
と同様で、複数手を指定することも可能です。go
コマンドを実行した時に、force
で指定されている範囲であればEdaxは指定された手を打ちます。
実行例
force f5d6c3d3c4
play
同様に定石名で入力することも可能です。書式
go
Edaxに1手打たせます。Edaxは以下の優先順位で打つ手を決めます。
force
コマンドで指定された手書式
mode モード番号
黒と白のどちらをEdaxが持つかを指定します。モード番号の意味は以下の通りです。
Edaxの番になると、Edaxは自動的に手を打ちます。特にmode
を2にすると終局まで自動的に進みます。
実行例
mode 2
書式
stop
Edaxの探索を止めます。プロンプト(>
)が出ていない状態でも入力して実行することができます。自動対局、go
コマンド、hint
コマンド等でEdaxが探索していて、その探索を中止したい場合に実行します。このコマンドを実行すると、mode
は3に戻ります。
書式
quit exit
Edaxを終了します。quit,exitのどちらでも構いません。
書式
eof
Edaxを終了します。以下の条件を満たす場合のみ機能します(実質的に常に機能するものと思われます)。
書式
hint ヒント数
その局面の候補手とその評価値を出力します。いくつ候補手を出力するかをヒント数に指定します。ヒント数を指定しなかった場合は1つ出力します。候補手は以下の優先順位で出力されます。
実行例
>hint 6 depth|score| time | nodes (N) | N/s | principal variation ------+-----+--------------+-------------+----------+---------------------- book +0 G6 f8 C5 c6 B4 g5 H6 d2 book +0 C5 b6 D8 c6 C7 d2 B5 a5 book -4 G5 book -6 C6 c5 21@73% -02 0:02.473 36325175 14688708 B3 e3 E2 g4 G3 f2 B5 f8 H5 21@73% -03 0:00.055 556316 10114836 B5 d2 E2 c5 G6 g5 F7 f8 C6 ------+-----+--------------+-------------+----------+----------------------
書式
analyze analyse
現在の局面から初手まで遡って、棋譜内容を解析します。実際に打った手と、それ以外の最善手の比較表が出力されます。出力される表の意味は以下の通りです。
表の右側にコメントがついているのは、実際に打った手よりEdaxが探索した手の方が評価値が高かった場合のもので、コメントの意味は以下の通りです。
最後に出力される集計表には、黒と白のそれぞれについて以下の項目が出力されます。
実行例
> analyze N played alternative ply level alt. move score score move ---+-------+-----+-----------+--+--------------- 60 0 0 a8 +26 59 0 0 B7 -26 58 3 2 d1 +26 > +18 a8 57 4 1 G8 -26 > -30 B7 56 5 3 h8 +26 = +26 d1 55 6 1 G7 -26 = -26 B7 54 7 4 a7 +26 > +12 g8 53 8 1 B1 -26 < -10 B7 <- Mistake 52 9 6 a1 +10 < +14 g8 <- Mistake 51 10 2 B2 -14 > -20 G7 50 11 7 g1 +14 > +0 g8 (中略) 5 21@73% 5 C4 +1 > -4 C6 4 21@73% 3 d3 -1 > -2 g5 3 21@73% 4 C3 +1 > +0 C4 2 21@73% 2 d6 -1 < +0 f6 <- Edax disagrees 1 21@73% 0 F5 +0 | rejections : discs | errors : discs | error rate | Black | 10 / 17 : +34 | 5 / 11 : +42 | 3.818 | White | 10 / 18 : +28 | 3 / 11 : +22 | 2.000 |
書式
vmirror
盤面を上下反転します。
書式
hmirror
盤面を左右反転します。
書式
rotate 角度
盤面を指定された角度だけ反時計回りに回転します。角度は90,180,270が指定可能です。
実行例
rotate 90
書式
symetry 対称パターン
盤面を指定された対称パターンに従って対称移動します。対称パターンは0〜15の範囲で指定可能です。対称パターンの意味は以下の通りです。
8〜15は上記でさらに黒と白を入れ替えた状態になります。
実行例
symetry 3
書式
opening
現局面までの定石名(英語名)を表示します。既に定石を抜けた局面でも、抜ける直前の定石名が表示されます。
書式
ouverture
現局面までの定石名(フランス語名)を表示します。既に定石を抜けた局面でも、抜ける直前の定石名が表示されます。
書式
debug-pv 手
指定した手(a1〜h8)について、その後の最善進行例を出力します。名称からすると作者のデバッグ用のコマンドと思われます。出力される情報は、探索結果を一時的に記憶しておくhashと呼ばれるメモリから取得しているため、予めhintコマンド等で該当手の探索を行っておく必要があります。
実行例
>debug-pv c2 pv = C2 g5:20@73%[+07,+07]; C6:19@73%[-07,-07]; e3:18@73%[+07,+07]; D7:17@73%[-07,-07]; c5:16@73%[+07,+07]; E6:15@73%[-07,-07]; d2:14@73%[+07,+07]; G6:13@73%[-07,-07]; f7:12@73%[+07,+07]; B5:11@73%[-07,-07]; e7:10@73%[+07,+07]; F8:09@73%[-07,-07]; b4:08@73%[+07,+07]; A3:07@73%[-07,-07]; e2:06@73%[+07,+07]; B3:05@73%[-07,-07]; h6:04@73%[+07,+07]; G4:03@73%[-07,-07];
出力される内容は、手、探索の深さ、selectivity、評価値の上限と下限(この意味は未調査)です。
書式
save ファイル名
現在の対局の棋譜を保存します。保存形式はファイル名の拡張子によって決まります。以下の拡張子で保存することができます。
.eps
と.svg
は画像形式です(画像で保存できるというのは初めて知りました)。
実行例
save kifu.txt
setboard
により開始局面を指定した棋譜を保存する場合、.txt
形式は保存はできても読み込むことができないようです。開始局面を指定した棋譜は、.txt
以外のファイル形式で保存してください。書式
open ファイル名 load ファイル名
指定された棋譜ファイルを読み込みます。open
でもload
でも機能は同じです。拡張子によってファイル形式を判断しています。以下の拡張子を読み込むことができます。
実行例
open kifu.txt
.svg
や.eps
形式は残念ながら読み込めません。書式
help 対象カテゴリ
ヘルプを出力します。対象カテゴリは以下が指定可能です。
対象カテゴリを省略すると、すべてのヘルプが出力されます。
実行例
help commands
書式
version
バージョン情報を出力します。