2010-05-31

_ shogi-server で指定定跡戦(または中断からの再開)への対応に向けて

この文書の背景:

  • CSAの公式サーバの実装が中断からの再開に対応したらしい → shogi-serverでも再開の練習ができるようにしたい
  • 強い人が選んだ指定の定跡局面群から指すことで、偏らない序盤を実現する → 観戦して楽しいかも/コンピュータ将棋のテスト用の記譜として使えるかも
  • せっかく作るなら(森脇に作ってもらうなら)、事前に細部を確認しておこう

要約: プロトコルのGame_Summeryの指定のBEGIN PositionからEND Positionで囲まれた部分に初手からの指し手と消費時間が追加されることがある。

クライアントで対応が必要になる変更点:

  • BEGIN PositionからEND Positionまでに、指手があれば認識して、その指手を進めた局面と手番から対局を開始する。
  • Total_Time:1500 などの指定から、BEGIN PositionからEND Positionまでに指手があればその消費時間を減らしてから対局する。

クライアントが(まだ)対応しなくて良い点:

  • BEGIN PositionからEND Position内の局面の部分は読まなくて良い。必ず平手初期局面が入る。
  • (枝葉)To_Move:+やTo_Move:-の情報は、BEGIN PositionからEND Position内の指手の最後から推論できるので、見なくてもよい。

例: 再開時に先手番の局面 (CSAプロトコルに記載されている例)

BEGIN Game_Summary
Protocol_Version:1.1
Protocol_Mode:Server
Format:Shogi 1.0
Declaration:Jishogi 1.1
Game_ID:20060505-CSA14-3-5-7
Name+:TANUKI
Name-:KITSUNE
Your_Turn:+
Rematch_On_Draw:NO
To_Move:+
BEGIN Time
Time_Unit:1sec
Total_Time:1500
Least_Time_Per_Move:1
END Time
BEGIN Position
P1-KY-KE-GI-KI-OU-KI-GI-KE-KY
P2 * -HI *  *  *  *  * -KA * 
P3-FU-FU-FU-FU-FU-FU-FU-FU-FU
P4 *  *  *  *  *  *  *  *  * 
P5 *  *  *  *  *  *  *  *  * 
P6 *  *  *  *  *  *  *  *  * 
P7+FU+FU+FU+FU+FU+FU+FU+FU+FU
P8 * +KA *  *  *  *  * +HI * 
P9+KY+KE+GI+KI+OU+KI+GI+KE+KY
P+
P-
+
+2726FU,T12
-3334FU,T6
END Position
END Game_Summary

例: 後手番の局面で再開 (金子の創作)

BEGIN Game_Summary
Protocol_Version:1.1
Protocol_Mode:Server
Format:Shogi 1.0
Declaration:Jishogi 1.1
Game_ID:20060505-CSA14-3-5-7
Name+:TANUKI
Name-:KITSUNE
Your_Turn:+
Rematch_On_Draw:NO
To_Move:-
BEGIN Time
Time_Unit:1sec
Total_Time:1500
Least_Time_Per_Move:1
END Time
BEGIN Position
P1-KY-KE-GI-KI-OU-KI-GI-KE-KY
P2 * -HI *  *  *  *  * -KA * 
P3-FU-FU-FU-FU-FU-FU-FU-FU-FU
P4 *  *  *  *  *  *  *  *  * 
P5 *  *  *  *  *  *  *  *  * 
P6 *  *  *  *  *  *  *  *  * 
P7+FU+FU+FU+FU+FU+FU+FU+FU+FU
P8 * +KA *  *  *  *  * +HI * 
P9+KY+KE+GI+KI+OU+KI+GI+KE+KY
P+
P-
+
+2726FU,T12
-3334FU,T6
+7776FU,T6
END Position
END Game_Summary
本日のツッコミ(全2件) [ツッコミを入れる]
_ 山田 剛@CSA (2010-05-31 00:37)

まとめありがとうございます。<br>この記述のとおりで実装できると思います。<br><br>なお、CSAサーバは途中局面からの再開には以前から対応してテストもできる…つもりだったのですが、今年の選手権でバグが見つかってしまいました。<br>ちゃんとデバッグして、今年のGPW杯から、中断再開機能の実装を推奨します、としたいと思っています。

_ kaneko (2010-06-01 00:11)

ありがとうございます。早めにGPS将棋も対応させたいと思います。

[]