最新 追記

(元)駒得少年の冒険

rating
(GPS将棋開発参加記録)
2004|12|
2005|01|02|03|04|05|06|07|08|09|10|11|
2006|01|04|05|06|07|08|09|10|
2007|02|04|05|08|10|11|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|
2011|01|03|04|05|06|07|11|12|
2012|01|03|04|05|

2008-02-01 カレンダーをめくる

_ shogi-server@wdoor微調整

(1) 要約最近の試合結果の表示方法をcgos風の表に変更してみました。見やすくなっているでしょうか? (スタイルファイルを更新したのでスーパーリロードが必要かもしれません)

(2) 現在の状況(α版)と称して、接続プログラムの一覧などをhttpで見られるようになりました。(実は半年前に実装されていた機能だそうですが、今日初めて知りました) ただし、自動処理を想定しているとのことで、人間にはそれほど読みやすくないです。

引き続きご活用ください。

本日のツッコミ(全3件) [ツッコミを入れる]

_ 小宮 [見やすくなりました(*^_^*)]

_ マイムーブ西村 [同感です。]

_ kaneko [フィードバックありがとうございます。デザイン苦手なので、改善点などお気づきの際はよろしくお願いします。]

[]

2008-02-07 Floodgateモード

_ 予告

CGOS将棋版企画に必要な機能がほぼ実装され、現在微調整中です。問題がなければ2月9日のオープン戦後の夜か、翌日の日曜日に公開したいと思います。その際はサーバを再起動しますので、恐れ入りますが再ログインをお願いします。

_ 接続方法など

こちらに別文書をまとめました。説明が分かりにくい点などありましたらご指摘ください。また、持ち時間の変更など盛り上げるための改善案等ありましたらコメントお願いします。

以前のからの変更点は、持時間が15分切れ負けになったことと、AUTOPARING-0-10という文字列がfloodgate-900-0になったところです。

本日のツッコミ(全3件) [ツッコミを入れる]

_ マイムーブ西村 [おぉ、素晴らしいですね。 素早い対応をありがとうございます。 多くのソフトがつないで、盛り上がることを願っています。]

_ 小宮 [おー速いですね! 土日にぜひ対応できるようにしたいです。 コメントとか評価値、読み筋の送信もやりたいです]

_ kaneko [blogでの紹介ありがとうございます。 ご活用ください。]

本日のTrackBacks(全1件) []

_ shogi programming journal :gps将棋 in floodgate gps将棋は、ひとまず4つ投入してみました。gps500はyowai_gps相当です。gps500<gps80..


2008-02-09 日が落ちて雪

_ floodgateモード@wdoor公開

以前より検討されていた、プログラムを連続対戦してレーティングを計算する企画について、先ほど18:00頃より対応した将棋サーバに更新しました。ご活用ください。

従来どおりの使い方も引き続き可能です。

_ gps将棋 in floodgate

gps将棋は、ひとまず4つ投入してみました。gps500はyowai_gps相当です。gps500<gps800<gps1000<gps_normalの順に強いはずです。参加プログラムが増えてきたら適当に減らします。

(追記 500などの数字は思考秒数ではなくて、思考深さ(実現確率)です。紛らわしくてすみません)

本日のツッコミ(全13件) [ツッコミを入れる]

Before...

_ もりわき ["500"の意味は内輪だし、誤解も与えやすい。スタート時点の今は、誰にでも分かりやすくいきたい、なるべく。]

_ うさぴょんの育ての親 [多分、これで常駐するようになったと思います…。>usapyon-on-note ただ今、拡張モードで接続後、対局終了..]

_ kaneko [いらっしゃいませ。きっとすぐまた対局組まれますよ:-)]

本日のTrackBacks(全2件) []

_ コンピュータ将棋協会blog:wdoor floodgateでコンピュータ将棋の自動他流試合 昨日行われたコンピュータ将棋オープン戦は、当協会の対局サーバを用いて行われています。こちらは常時公開されており、ログ..

_ shogi programming journal :Floodgateモードの設計について さっそく沢山のプログラムのご参加ありがとうございます。参加者、観戦者、関係者のみなさまにいくつかご相談したいことがあ..


2008-02-11 Floodgate: request for comments

_ Floodgateモードの設計について

さっそく沢山のプログラムのご参加ありがとうございます。参加者、観戦者、関係者のみなさまにいくつかご相談したいことがありますので、コメントいただけますと幸いです。

_ 組み合わせについて

現状はランダムで、対局数が少ない人が手空きにならないような調整だけ入っています。具体的なアルゴリズムに落とすのは大変かもしれませんが、アイデアだけでもお寄せください。(随時追記します)

_ レーティングについて

現在は、全体の平均が1000になるようになっています。この場合、強い(弱い)プログラムが参入すると今までの参加者のレーティングの数値が下がる(上がる)という影響があります。参加プログラムが増えれば安定するとは思いますが、代替案などありましたらコメントお寄せください。強さ固定のプログラムがあれば、そのプログラムの点数を固定することで参加者による変動を避けられるのですが、ランダムプレイヤでは弱すぎるかと想像しています。

_ CSA互換モードでの連続対局の際の手順について

shogi-server 上で, CSA互換モードで対局したプログラムが次の対局をする手順を検討中です。floodgateへの参加のしやすさを考えると、何もしないで次の対局(下記3a)かCHALLENGE(非公式コマンド)で次の対局(3b)が有力かと思いますが、どちらが参加しやすいでしょうか。あるいは、ほぼ今まで通りにLOGOUTとLOGINの繰り返しを必須にしても問題ないでしょうか

プロトコルに準拠するのはもちろんなのですが、オンラインのコミュニケーションで進むCSA選手権会場と異なり、無人で動かすサーバなので運営上多少考慮すべき点が増えます。一つは、対局の意志の確認で、なるべく対局が実現する(片方が準備ができていない/既に接続していないなどの状況を避ける)ように設計する必要があります。また、何ヶ月も動かすサーバでは、クライアントが既に居ないのにサーバでは居るように見える幽霊状態の発生を避ける必要があります。(余談ですが、拡張モードでは前者については%%GAMEコマンドで確認されていて、また後者の問題は%%CHATの存在で間接的に緩和されています)

CSA互換モードで対局したプログラムが次の対局をする手順について、私が思い付いた選択肢と長所短所を列挙してみました。クライアントの参加しやすさ、設計の美しさ、サーバの実装しやすさなどコメントいただけると幸いです。個人的な好みは2d、現実的には3aか3b, 切断/再接続が新規参加の負担にならないようでしたら(今の設計に近い)1cが有力かと考えていますが、それとは別に自由にコメントをお願いします。(以下、長いです、すみません)

  • 1. 再度対局するにはログインし直す。LOGOUT/切断の方法で選択肢。
    • 1a. サーバが強制切断 (今の実装)
      長所 シンプル。
      短所 切断に関して、プロトコルに準拠しているとは言いにくい。根拠は「クライアントからログアウトコマンドが送られなくても、サーバがクライアントのログアウトを強制的に行うことがある。」くらい。
    • 1b. LOGOUTコマンドを待ってから手順どおりに切断
      長所 LOGOUTコマンドを送るクライアントにプロトコル通りに"LOGOUT:completed"を送信できる。(プロトコルには「対局終了後、クライアントは対局待ち状態に復帰する。」とあるが、試合を組まないのはサーバの自由なのでプロトコル準拠のはず)
      短所 LOGOUTを送らずに通信不通となったクライアントをサーバが検知できない
    • 1c. LOGOUTコマンドを待ってから手順どおりに切断、ただしn分待ってもLOGOUTされなかったら強制切断
      長所 1b+サーバがソケットを回収できる
      短所 n分のあたりが分かりにくいかもしれない
  • 2. ログインし直さずに次の対局に移る。次の対局へ移る手順で選択肢。
    • 2a. 対戦相手が現れたら(floodgateの場合は時刻が来たら)すぐに再試合
      長所 連続対戦を希望するクライアントには、もっとも望まれる振る舞い
      短所 対局後、次の対局を望んでいるか(さらには通信を切断していないか)が、サーバには分からない。対局を希望しないクライアントのLOGOUTコマンドと、サーバからのGame_Summaryのrace conditionが発生する。(クライアントはLOGOUTを送った後にGame_Summaryが来る場合に備える必要がある。サーバも同様)。試合を組んだらagree待ちのまま止まってしまう場合など、対局相手にとって望ましくない状態も予想される。クライアントが通信不通になった場合は、試合を組むまでサーバは検知できない。
    • 2b. 対戦相手が現れたら(floodgateの場合は時刻が来たら)すぐに再試合、ただし対局終了後n分は試合が組まれない
      長所 2a+LOGOUTの競合を緩和。2aより人間が指しやすい。
      短所 n分のあたりが分かりにくいかもしれない。2a同様、クライアントが通信不通になった場合は、試合を組むまでサーバは検知できない。
    • 2c. 対局終了後、非公式コマンドであるCHALLENGEを発効すると対局待ちになる
      長所 LOGOUTとの競合は発生せず、クライアントが通信を切断していないことも分かる。対局を組んだ時に実際に対局される可能性が高まる。
      短所 プロトコルにないコマンドを用いるため、CSAのサーバとの互換性が微妙。プロトコルを拡張するわりには2dと比べると、ログイン直後にLOGOUTとGame_Summaryの競合が発生する点が不満。
    • 2d. 対局するには全てCHALLENGEを必要とする (ログイン直後及び対局終了後は対局が組まれず、CHALLENGE送信後に対局待ちとなる)
      長所 綺麗。ログイン直後も、LOGOUTとの競合が発生しない。
      短所 もはやプロトコルに準拠しない。(CSAの方、いかがでしょう?)
  • 3 合わせ技
    • 3a. 対局終了後、クライアントはn分以内にCHALLENGEかLOGOUTを送信する。そうでなければサーバから切断する。(2c+1c)
      長所 2cよりもサーバがソケットを回収しやすい。
      短所 n分のあたりが分かりにくいかもしれない。
    • 3b. floodgate参加者は2aか2b, それ以外の参加者は1c
      長所 安全かつ需要に答えているかもしれない。
      短所 場合分けが複雑になる
  • 4 追記分
    • 4a. 3aでCHALLENGEの代わりにキープアライブを用いる。(2/11追記)
      詳細 サーバは、クライアントからのLOGOUTかKEEPALIVE(LF一文字もしくは拡張で空文字+LF)を待つ。どちらもn分なければサーバから強制切断する。KEEPALIVEがくれば、次の対局の意志があるとみなす。
      長所 今floodgateに参加しているクライアントはキープアライブを実装していると思われるのでほぼ変更不要で、2aに近い効果となる。
      短所 公式にはkeep aliveは対局中しか認められていない(「クライアントは対局中、手番にかかわらず、…」)。定められている以外のデータをサーバに送る点では、CHALLENGEと同様で、CSAに定められたプロトコルに準拠しているとは言い難い。他に、キープアライブに意味を持たせるのは、今後意味が重なって使いにくくならないか検討が必要。

_ AGREE待ち

片方のプレイヤがAGREEしてもう片方が(通信不調などで)AGREEもREJECTも送らずに沈黙した場合、ある程度でタイムアウトして、サーバは双方の対局者にREJECTを送った方が良いかもしれません。そうでないと、正常なプレイヤがいつまでも次の試合に進めない不利益がありそうです。

_ その他

CSA将棋のfloodgate対応拡張があると便利かもしれないですね。(自分では作れませんが…)

(追記)バグがあるともおっしゃっていますがうさぴょんのUIがCSA将棋の代わりに使えるそうです。(2/15追記)うさぴょんUIがCSA将棋と互換のインタフェースで使えるようになったとおしらせいただきました

_ (2/12)とりあえずの改訂案

AGREEタイムアウトと連続手空き回避が緊急の改善課題と思いますので、クライアントへの影響がなさそうな以下の改善点だけを実装して一旦サーバを差し替えるのが良いかと考えています。どうでしょう > もりわき
なお、2a案なども含めて他は継続審議ですので、引き続きコメントお願いします。> みなさま

  • 1a から 1c (15秒くらい?)に変更。(LOGOUTを受け付ける猶予を設ける)
  • AGREE待ちを60秒(人間が指すことを考慮するとあまり短くできない)でタイムアウトさせて沈黙した方がREJECTしたかのように扱って処理を進める (クライアントとのやりとりはプロトコルで規定されたものなので、拡張ではない)
  • 主催者用意のプログラム以外が二回連続で手空きになることを避ける。おそらく、外部ファイルで主催者用意のプログラムを指定して手空きは必ずそれにすることが簡単。
  • (可能なら)ペアリングのアルゴリズムをサーバ再起動なしで取り替えられるように変更
  • (可能なら)ペアリングで、他の優先事項がなければ対局数の少ない組み合わせを優先してペアに。前回当たった組み合わせを後回しに。

_ (2/13)TODO: 英語の説明

shogi-server は、CGOS のように英語で利用できるようになってほしい@Takodori's Self-brainstorming How to Promote Shogi Globally より。

本日のツッコミ(全38件) [ツッコミを入れる]

Before...

_ kaneko [小宮さん > サマリーが一枚HTMLで見れると便利 の件ですが、レーティングのリストからプレイヤへのリンク先を作って..]

_ 小宮 [>レーティングのリストからプレイヤへのリンク先を作ってみました  ばっちりです!(*´Д`) ありがとうございます..]

_ うさぴょんの育ての親 [0:00過ぎに切断・再接続しました。 こちらは、切断・再接続OKでした。 ステータスがGAME中になっている状態で..]

[]

2008-02-17 Floodgate一週間

_ サーバ再起動

2月18日(月)の日中の時間(昼頃を予定)にサーバを再起動します。切断されてしまった場合は、恐れ入りますが再接続をお願いします。変更内容は以下の通りです。
  • 打ち歩詰め判定のバグ(usapyon-on-note v.s.gps_normal戦)を解消
  • プレイヤが奇数の場合は、必ずgps500が抜ける
  • 勝者同士、敗者同士の対局を優先させる (テスト中)
(2/18追記。13:55頃、無事再起動しました。引き続きよろしくお願いします。)

_ 一週間強のまとめ

2月17日13時頃までに1142試合が行われました。多数の皆様のご参加ありがとうございます。また、多くの方に取り上げていただきました。( コンピュータ将棋協会blog, その2, コンピュータ将棋や囲碁の掲示板, 「うさぴょん」「ねこにゃ」開発日記, マイムーブ, 小宮日記, 「遠見」開発日記, WILDCAT。順次追記します。) この場を借りて御礼申しあげます。
今の時点のレーティングを記念に貼ってみます。(同一プログラム複数参加は高い方のみ掲載)
gps_normal 1572
KShogi900 1433
coredump 1087
usa_test 1046
MyMove900 965
misaki900 868
tomi900 820
ssp 774
cat10 718
garyu 615
そのうち変化をグラフに描いても楽しそうですね。

_ 打歩詰め二題

こちらの局面は、先日のusapyon-on-note対gps_normal戦の最終図です。ここでgps_normalが-0092FUを送ろうとしたところで、接続が切れてしまいました。-0092FUは合法手なのですが、shogi-server内部で、同桂成りの応手を生成できずに(同桂不成が反則なことと勘違い?)混乱して対局が中途半端に終わってしまったようです。shogi-serverは4年間で3万局以上の試合に運用されていたのですが、こんなバグも残っていたとは驚きました。(早速直したので今回再起動する次第です)
P1 * -GI * -KI-OU * -GI * -KY
P2 *  *  *  * -FU *  *  *  *
P3+OU * -FU-FU * -FU-KI-FU *
P4+KI+KE-RY * -GI *  *  * -FU
P5 *  *  *  *  *  *  *  *  *
P6+FU *  *  * +KY *  *  * +FU
P7 * +FU *  * +FU *  *  *  *
P8 * +GI *  *  *  *  *  *  *
P9+KY+KE *  *  *  *  *  * -UM
P+00KA00KI00KE00KY00FU00FU00FU
P-00HI00KE00FU00FU00FU00FU00FU
-
一方こちらの局面は、別の試合で、打歩詰めと判定された(直前の)図です。ここから後手が-0064FUと打ったということでしょうか。珍しいですね。
P1-KY-KE * -KI * -OU * -KE-KY
P2 *  * +TO *  *  *  *  *  *
P3 *  *  *  * -KI-KI * -FU *
P4 *  * -FU * -FU-FU-FU *  *
P5 * -RY+GI+OU *  *  * +FU+FU
P6-FU * +FU+KI+GI+FU+FU * +KY
P7 *  *  * -RY *  *  *  *  *
P8 *  *  *  *  *  *  *  *  *
P9+KY+KE *  *  *  *  *  *  *
P+00FU00FU00FU00FU00FU00GI00GI00KA00KE
P-00FU00KA
-
他の方のテストになるかもしれないと考えてCSA形式で図面を載せてみました。

_

自動で速報を出せると楽しいかもしれません。レーティング差XXあるプログラムが上位に勝ったとか、評価値XXからの大逆転が起こったとか。自動棋譜解説までは難しいかな。

_ GPS将棋@floodgate

gps_normalは2.4GHzのopteronに1スレッドで動いてます。選手権版はmacpro上の8並列なのですが、予測読み中に遅かったり粒度が悪かったりと現在調整中です。仕上がったらfloodgateにも一晩投入してみます。(追記 その前に中盤の評価関数を何とかしないと深く読んでもあまり強くならないかもしれません…)
本日のツッコミ(全6件) [ツッコミを入れる]

Before...

_ もりわき [下の局面、-0064FUと打つ局面だよね。それだと後手の手番かな。]

_ kaneko [すみません、こちらの都合でこの時刻となりました。 無事、再起動しました。 ]

_ うさぴょんの育ての親 [usa_test、出先から常駐開始しました。]

[]

2008-02-21

_ Floodgate速報

昨日は、YSS-1sが登場しました。さすがの連戦連勝です。そんな中、最初に(そして現時点で唯一の)白星を挙げたプログラムはMyMove900でした。おめでとうございます。

各プレイヤのページからレーティングのグラフ(森脇氏作成)に地味にリンクを張りました。(見つかるでしょうか?) 一週間前とのレーティングの差分をとったところcat10が+300点近くと右肩上がりに上昇中です。どこまで伸びるでしょうか。画像の説明

_ (2/25追記)レーティンググラフの説明はこちらをどうぞ http://www.sgtpepper.net/hyspro/diary/20080224.html

本日のツッコミ(全19件) [ツッコミを入れる]

Before...

_ WILDCAT [floodgate楽しませていただいています。他者開発のソフトと気楽に対戦できこと、そしてその結果がすぐにわかること..]

_ kaneko [WILDCATさん ご活用いただきありがとうございます。同一棋譜の件の趣旨、了解いたしました。まずは頻度を調べること..]

_ WILDCAT [ご回答ありがとうございます。そうですね。まずは頻度を調べてみることですね。過去の対戦でどのような状況だったか、興味あ..]

[]


  1. WILDCAT (03-02)
  2. kaneko (03-01)
  3. WILDCAT (03-01)