プチ将棋の使い方

  1. はじめに
  2. インストール方法
  3. メニューの説明
  4. 画面の説明
  5. 将棋のルールについて
  6. 思考エンジンの登録
  7. 思考エンジンとの対局
  8. ログウィンドウ
  9. USIプロトコル
  10. Bonanzaプロトコル
  11. GPSプロトコル
  12. 添付エンジンssp
  13. 検討
  14. ネットワーク対局
  15. 謝辞

1. はじめに

プチ将棋は任意の大きさの盤面と開始局面で対局することのできる将棋GUIプログラムです。
将棋思考プログラム(以下、エンジンと呼びます)とのプロトコルは USI(Universal Shogi Interface)、Bonanzaプロトコル、GPSプロトコルに対応します。

2. インストール方法

プチ将棋用の適当なフォルダを作成し、ファイル PetitShogi.zip をダウンロードして解凍し、PetitShogi.exeとssp.exeをそのフォルダにコピーして下さい。
プチ将棋を起動するにはPetitShogi.exeをダブルクリックして下さい。

(注1)Windows 8/7/Vistaでの注意点
"\Program Files" の下ではなく、 "\Users\{ユーザー名}" の下のフォルダにインストールして下さい(UACのため)。
(注2)Windows XPでの注意点
.NET Framework 4.0 Client Profileをインストールして下さい。

3. メニューの説明

  1. ファイル
    • [棋譜・局面を開く]:棋譜または局面を開きます。KIF/KI2/CSA/MSK形式を開くことができます。
    • [棋譜を保存]:現在の棋譜を保存します。[ファイルの種類]でKIF/KI2/CSAを選択することができます。
    • [局面を保存]:現在の局面を保存します。[ファイルの種類]でKI2/CSAを選択することができます。
    • [終了]:プログラムを終了します。
  2. 対局
    • [開始]:対局を開始します。対局開始ウィンドウが現れます。(詳しくは7.参考)
    • [投了]:投了します。
    • [中断]:中断します。[再開]で再開することができます。
    • [再開]:任意局面から再開することができます。対局再開ウィンドウが現れます。(詳しくは7.参考)
    • [ネットワーク対局]:ネットワーク上で他のエンジンと対局します。ネットワーク対局開始ウィンドウが現れます。(詳しくは17.参考)
  3. 編集
    • [棋譜・局面貼り付け]:クリップボードの棋譜または局面(KIF/KI2/CSA/MSK形式)を自動判定して貼り付けます。
    • [棋譜コピー]:現在の棋譜をKIF/KI2/CSA形式でクリップボードにコピーします。
    • [局面コピー]:現在の局面をKIF/KI2形式またはCSA形式でクリップボードにコピーします。
  4. 表示
    • [上下反転]:上下(先後)を反転します。
    • [ログウィンドウ]:エンジンとの送受信文字列のログウィンドウを表示します。(詳しくは8.参考)
  5. ツール
    • [検討]:検討ウィンドウを開いて、現在の局面を検討します。(詳しくは14.参考)
    • [オプション]:各種の設定を行います。
    • [エンジン管理]:思考エンジンを登録・削除します。(詳しくは6.参考)
    • [開始局面編集]:開始局面(盤面の大きさと駒の配置)を編集します。(詳しくは5.参考)
    • [ログを開く]:エンジンとの送受信文字列のログファイルを開きます。[オプション]メニューで[ログをファイルに出力する]がONのとき有効です。

4. 画面の説明

  1. 駒の動かし方
    • 移動元の駒をクリックし、指を離して移動し、移動先で再度クリックします。
    • 駒台に同じ駒が複数あるときは一番上の駒を選択して下さい。
  2. 棋譜リスト操作
    • 指し手をクリック:その局面に移動する
    • キーボード↑↓:一手戻る/進む
    • キーボードHome/End:開始局面/終了局面
    • キーボードPageUp/PageDown:一画面分戻る/進む
  3. 時計
    • 先手と後手の消費時間が表示されます。左は最新の一手について、右は累積時間です(単位:時:分:秒)。 その右に表示されるものは持ち時間[分]と秒読み[秒]です。
  4. スコアグラフ
    • スコアの履歴を表示したものです。中心より上は先手有利、下は後手有利です。
    • は先手エンジン、 は後手エンジンの送ってきたスコアです。 合議のときは、 は先手2エンジン、 は後手2エンジンの送ってきたスコアです。
    • 縦軸のスケールは[ツール][オプション]メニューの[スコア最大値]で変更できます。
  5. ステータスバー
    • 先手、後手別に表示され、順に「スコア」「NPS」「読み筋の長さ」「読み筋」です。

5. 将棋のルールについて

  1. 開始局面編集
    プチ将棋は、任意の大きさの盤面と開始局面に対応しています。(注1)
    [ツール][開始局面編集]メニューをクリックすると、開始局面を編集するウィンドウが現れます。
    左上の格子内をクリックすると、下の盤の大きさが変わります。 ここで、開始局面の駒の配置を編集します。
    なお、本将棋(9九)、6六将棋、5五将棋は予め登録されています (これらを変更することも可能です)。 既に登録されている盤面の大きさには色がついています。
    ここで設定した開始局面は保存され、その盤面の大きさについて次回も有効です。
    なお、[回転対称]または[上下対称]をクリックすると、後手側の駒は先手側の駒の 2回回転対称または上下対称になります。回転対称または上下対称のときは、 先手側を入力した後、この機能を用いると入力の手間が半分ですみます。
  2. 成れる最大段
    盤面の段の数に従って、駒が成ることができる段の位置を指定することが必要です。
    例えば本将棋、6六将棋、5五将棋では、 先手から見て三段目以下、二段目以下、一段目で成ることができます。
    [成れる最大段]でそれぞれの段の数について設定することができます。
  3. 二歩、打ち歩詰め、千日手
    二歩、打ち歩詰めは禁止です。千日手(同一局面4回)は引き分けとします。
  4. 駒落ち
    駒落ちは[開始局面編集]で対応します。"先手"(=上手)の駒を適当に落として下さい。

(注1)本将棋のみを行う場合は本節の設定は不要です。


開始局面編集ウィンドウ

6. 思考エンジンの登録

対局を開始する前にエンジンを登録する必要があります。
[ツール][エンジン管理]メニューをクリックするとエンジン管理ウィンドウが現れます。
初期状態では付属のエンジン"ssp"が登録されています。
ここで、以下の項目を入力して[追加]をクリックすると上のリストに追加され、 これが対局開始時の対局者リストになります。
[エンジン名]:適当な文字列を入力して下さい。
[実行プログラム]:[...]をクリックして実行プログラム(exeファイル)を選択して下さい。
[プロトコル]:エンジンのプロトコルを選択して下さい。
なお、ここでは実行プログラムとプロトコルのテストを行いませんので、 正しい組み合わせを入力して下さい。
また、[エンジン名][実行プログラム][プロトコル]がすべて同じエンジンを重複して登録することはできません。


エンジン管理ウィンドウ

7. 思考エンジンとの対局

登録した思考エンジンと対局するには、[対局][開始]メニューをクリックします。
ここで、先手と後手の[対局者]を選択し、[思考時間]と[思考条件]を設定して、 [開始]をクリックすると対局が始まります。
設定方法については[ヘルプ]と次節以下を参考にして下さい。


対局開始ウィンドウ

合議
二つのエンジンの合議を用いるときは下のブロックをONにし、 対局者と思考条件を設定して下さい。
現在、合議は両方のプロトコルがUSIまたはBonanzaのときのみに対応しています。
(GPSプロトコルは局面を戻す機能がないため合議に使用できません)
[重み]はエンジンによって評価値の大きさが異なることを補正するためです。 棋力の調整には不向きです。(有利・不利で効果が逆転するため)
ログウィンドウとステータスバーに表示される評価値は重みをかけたものです。
評価値のよい方(先手のときは評価値の大きい方、後手のときは評価値の小さい方)が採用されます。

連続対局
[対局数]に2以上の数字を入力すると、指定した数だけ連続対局されます。 ただし、先後両方がエンジンであることが必要です。
[先後交代]をONにすると、一局ごとに先後を交代します。
対局者名の後に現在までの勝ち数が表示されます。

棋譜自動保存
[棋譜自動保存]をONにして、[保存先]のフォルダを指定すると、 そのフォルダに棋譜(KI2形式)が保存されます。
棋譜のファイル名は "20080101_120000_先手名_後手名_結果_手数.KI2" のようになります。 ここで、最初の数字は年月日、次の数字は開始時の時分秒、 "結果"は先手勝ち、後手勝ち、引き分けのとき、それぞれ"S","G","D"となります。

(注1)何らかの理由でプチ将棋が異常終了したときは、エンジンが動き続けていることがあります。 このときは、タスクマネージャでエンジンを終了させて下さい。
(注2)メインウィンドウの対局者名の上にマウスポインタを置くと、 プログラム起動時の引数が表示されます。

8. ログウィンドウ

[表示][ログウィンドウ]メニューをクリックすると、ログウィンドウが現れます(注1)。
プチ将棋とエンジンとのデータのやりとりが順に表示されます。
[ログ]タブはエンジンとの送受信データ、[読み筋]タブはエンジンの読み筋です。
[ログ]タブの行頭の数字は手数、次の数字はエンジン番号(1または2)、 U/B/GはUSI/Bonanza/GPSプロトコル、 >/<はエンジンへの送信/エンジンからの受信を表します。
[読み筋]タブの行頭の数字は手数、次は評価値、次の[]内は読み筋の長さ、 最後は読み筋です。


ログウィンドウの[ログ]タブ


ログウィンドウの[読み筋]タブ

合議のときは右のブロックにエンジン2の結果が表示されます。
[読み筋]タブでは、採用された方の評価値の後ろに"*"が表示されます。右上の数字は"*"の数です。 どちらかが定跡手であったときと、指し手が一致したときは"*"はつきません。

(注1)ログウィンドウの表示はリソースを消費しますので、 テスト時以外は表示しないで下さい(特にLinux環境)。

9. USIプロトコル

USIについては、以下のページを参考にして下さい。
プチ将棋はUSIの仕様の内、対局に必要な最低限の機能と、少しの追加機能を用います。
以下にログのサンプルを示します。先手が人間、後手がsspの場合です。
2:U> usi			USI開始を宣言し、エンジンに返答を求める
2:U< id name ssp		エンジン名を返す
2:U< id author ssp		エンジン作者名を返す
2:U< usiok			エンジン情報の終了を表す
2:U> setoption name USI_Ponder value false	*予測読みを行うか(注1)
2:U> setoption name USI_Hash value 50		*ハッシュサイズ[MB](注1)
2:U> setoption name Thread value 1		*スレッド数(注1)
2:U> setoption name resign value 5000		*投了値(注1)
2:U> setoption name book_until value 50		*何手目まで定跡を使用するか(注1)
2:U> isready			対局の準備ができているか問い合わせる
2:U< readyok			準備OKであることを返す
2:U> usinewgame			対局開始を知らせる
2:U> position startpos moves 7g7f		現在の局面を送信する
2:U> go btime 0 wtime 0 byoyomi 1000			エンジンに思考を命令する
...
2:U< info time 874 depth 11 nodes 1304646 score cp 287 pv 8e8f 8g8f ...	思考の途中経過を返す(注2)
...
2:U< info nodes 1304646 nps 1492729 hashfull 62		思考の途中経過を返す(注2)
...
2:U< bestmove 8e8f		決定した指し手を返す
...				以下、"position"行に戻って繰り返す
2:U< bestmove resign		投了表明(エンジンが負けた時)
2:U> gameover lose		勝敗を知らせる(win/lose/draw)
2:U> quit			プログラムを終了させる
(注1)*を付けた行はエンジンに送信する思考条件であり、 それらを使用するかどうかはエンジンの仕様によります。
(注2)思考の途中経過をエンジンが送信するかどうかはエンジンの仕様によります。

10. Bonanzaプロトコル

本将棋に限り、Bonanzaと対局することができます。
Bonanzaのサイト からバージョン6/4/3/2/1をダウンロードして解凍し、 それぞれV6/V4/V3/V2/V1などのサブフォルダに対局に必要なファイルを保存して下さい。 ファイル名が同じですので、必ず別のフォルダに保存して下さい。
対局に必要なファイルとその構成は以下のようになります。

Bonanzaフォルダ
    |--V6--bonanza.exe, book.bin, fv.bin
    |--V4--bonanza.exe, book.bin, hash.bin, fv.bin
    |--V3--bonanza.exe, book.bin, hash.bin
    |--V2--bonanza.exe, book.bin, hash.bin
    |--V1--bonanza.exe, book.bin
エンジン管理ウィンドウで[実行プログラム]に"bonanza.exe"を選択し、 [プロトコル]に[Bonanza]を選択して下さい。
対局開始ウィンドウの[思考時間]と[思考条件]を適当に設定して対局して下さい。(注1)
開始局面が本将棋になっていないときは、先に[ツール][開始局面編集]で設定して下さい。
Bonanzaプロトコルについては、Bonanza添付のドキュメントを参考にして下さい。

(注1)Bonanzaを弱くするには、[思考時間]で[ノード数]または[探索深さ]を選択し適当に小さい数値を設定して下さい。 [ノード数]の下限はBonanza1/2/3/4/6で1/100/100/10/10[K]、[基本探索深さ]の下限は1です。
(注2)合議を使用しているとき、[オプション]メニューの[Bonanzaログ全出力]をONにすると、 ログウィンドウにすべてのログが出力されます。 行数が多くなりますので通常はOFFにして下さい。

11. GPSプロトコル

本将棋に限り、GPS将棋と対局することができます。
GPS将棋 をダウンロード・インストールし(注1)、 エンジン管理ウィンドウで[実行プログラム]に"gpsshogi.exe"、 [プロトコル]に[GPS]を選択して下さい(注2)。
対局開始ウィンドウの[ハッシュ]以外が有効です(注3)。 ハッシュはプログラム内部で自動設定されます。なるべく最新の改良版を使用して下さい。 思考時間が長いときは多くのメモリーを消費します。

(注1)GPS将棋の実行プログラムを例えば"C:\shogi\gpsshogi\smp\gpsshogi.exe" にインストールしたときは、環境変数"OSL_HOME"を"C:\shogi\gpsshogi"に設定することが必要です。
(注2)GPS将棋に同梱されているgpsusi.exeはUSI対応のエンジンであり、 エンジン管理ウィンドウで[実行プログラム]に"gpsusi.exe"、 [プロトコル]に[USI]を選択して使うことができます。
(注3)メインウィンドウの対局者名の上にマウスポインタを置くと、 プログラム起動時の引数が表示されます。
(注4)持ち時間が十分あるのに使用しないときは引数に"-l 1600"等と入力して下さい。 (探索深さ指定、既定値は"-l 1400")
(注5)GPS将棋(GPSプロトコル)を弱くするには、[思考時間]で[探索深さ]を選択し[基本探索深さ]に適当に小さい数値を設定して下さい。 [基本探索深さ]の下限は1です。
(注6)現在、GPS将棋single版はプチ将棋のGPSプロトコルに対応していません。(スレッド数を指定するとエラーになるため)
(注7)GPSプロトコルではステータスバーにNPSは表示されません。
(注8)ログウィンドウの表示はリソースを消費しますので、 テスト時以外は表示しないで下さい(特にLinux環境)。
(注9)Linuxではgpsshogiとgpsusiを /usr/games/ ではなくユーザーの書き込み権限のあるディレクトリに置いて下さい。

12. 添付エンジンssp

添付エンジンsspは任意の大きさの盤面と開始局面、USIプロトコルに対応しています。

13. 検討

[ツール]→[検討]メニューをクリックすると検討ウィンドウが現れます。
[エンジン]、[引数]、[時間]または[深さ]、[スレッド数]を適当に設定して[検討]をクリックすると、 現在の局面に対する思考結果が下に表示されます。
エンジンがUSIプロトコルと詰将棋に対応しているときは、[詰将棋]をクリックすると、 詰将棋の解答が表示されます。
[検討]でのプロトコルと[時間]または[深さ]の有効な組み合わせについては[ヘルプ]を参考にして下さい。


検討ウィンドウ

14. ネットワーク対局

対局サーバーに接続して、ネットワーク上で他のエンジンと対局することができます。
[対局][ネットワーク対局]メニューをクリックすると、ネットワーク対局ウィンドウが開きます。
ここで、[対局者]にこちら側の対局者(エンジンまたは人間)を選択し、 エンジンのときは[引数]とその他の思考条件を適当に設定します。(注1)
[対局数]に2以上の数字を入力すると、指定した数だけ連続対局されます。(注2)
[接続先]はそれぞれの対局サーバーの指定に従って下さい。

[評価値と読み筋を送る]をONにすると、 エンジンの返してきた評価値と読み筋をサーバーに送り、 棋譜再生時にそれらが表示されます。 本機能をサポートしていないサーバーのときはOFFにして下さい。
サーバーとの通信記録はファイルtcpip.logに出力されます (ファイルサイズが100KBを超えるといったん削除されます)。 最初のカラムが">"の行はサーバーに送信した文字列、 "<"の行はサーバーから受信した文字列です。何もない行は受信文字列の2行目以降です。


ネットワーク対局ウィンドウ

(注1) Bonanzaプロトコルでは[投了値]には[なし]以外を設定して下さい。 (終局時の不具合を回避するため)
(注2) 連続対局の合間の待機中は、プログラムウインドウは1秒おきにしか反応しません。 また、1分ごとにサーバーにKeepAlive信号を送っています。 現在、対局者が人間のときは連続対局に対応していません。 毎回、セッション開始の少し前に[対局][ネットワーク対局][開始]を行って待機して下さい。
(注3) ",XXX"の部分はトリップで、ユーザーが適当に決めて下さい。 パスワードは平文が流れますので注意して下さい。 また、トリップをつけないときはレーティングは計算されません。 floodgateで対局する前にyowai_gps(パスワード:yowai_gps-1500-0) とテスト対局することをお勧めします。
(注4) floodgateと55floodgateの場合は[評価値と読み筋を送る]は常にONになります。

15. 謝辞

トップページへ