忍者ブログ
コンピュータ将棋など…。
[1] [2] [3] [4] [5] [6] [7] [8]
一次予選第3局のaimaxとの対局でなのはは2手指しによる反則負けをしました。
ponderからみのバグでした。

ponderは自分の手を送るときに相手の応手を予想して、その続きの自分の手を考えるものです。
USIでは下図、本来あるべきシーケンスのように自分の次の手が決まっても相手からの手を待ってから自分の手(XX03)を送るのですが、2手指しをしたシーケンス(バグ)のように相手の手を待たずに自分の手を送っていました。
これは普通のときは相手の応手を待っていたんですが、詰みを見つけたときは待つ処理が抜けていて、「相手がこう(YY02)やってきたら、XX03で詰むやん!」と喜び勇んで手を送っていました。orz

「何か小さい子の将棋を見ているようで微笑ましいです(^^ゞ」というコメントをいただきましたが、これはちょっと…。

PR
最近はTwitterでつぶやくばかりで、ブログのほうに書いていなかったのでちょっと前からの振り返り。

今回の選手権に向けて、昨年の電王トーナメント時に作りかけていた版を持って行こうと思っていました。
2週間くらい前からのツイートでは、あんまり開発がうまく行っていないことばかりつぶやいていますね。

4月20日「くそっ、Releaseでビルドした奴だと落ちる厄介なバグがある…。」
4月21日「やべぇ、進歩本2の問題やらせたら、ダメダメで泣けた…。
4月21日「やっぱり、静止探索かSEEのあたりがおかしい気がする。」
4月22日「あー、残り時間が少ない…。 このまままだちゃんと動いていない今のプログラムの改修に励むか、去年のプログラムを手直しするか、悩ましい…。」
4月22日「うーん、安定しないな…。例外が発生して落ちてる…。orz
4月23日「28日、29日と葬儀の予定が入った…。あうあう、、」
4月23日「やっぱり配列オーバーしてる…」
4月24日「会社にいる場合じゃない!と思うくらいに焦ってる…。アピールポイントが動いてないし、テストが全然できてないし…。」
4月25日「昨夜はWindowsのインストールで開発できなかった…。XPのサポートが5月6日までだったら問題ないのに! あと一週間あればなぁ…」
4月25日「眠すぎ…。半分以上寝ながらUpdate祭りで、今夜は開発できなかった…。」
4月25日「GUI部とエンジン部の分離の検討ナウ。GUIからエンジンを起動して匿名パイプで通信か…。C/C++だとめんどい。Duplicateの必要性とかさっぱりわからん…。
4月27日「PC発送準備で開発できない罠…」
4月27日「問題集が解けるようになったので試してみたところ、どうしてこうなった? 探索を大幅変更(Stockfish参考)してこの結果だと希望が打ち砕かれた感じです…。
4月27日「あと、詰めルーチンを動くようにして、定跡処理を組み込んで、GUIとドッキングすれば大会に出られる!と 思ってたのに!! って、残作業多すぎww」
4月27日「固定3手詰めルーチンで解けないけど簡単な3手詰め問題がdfpnルーチンで解けない…。ハッシュ周りだと思うけど、一つ一つ確認がしんどい…。」
4月28日「ヤバい、葬儀に行く準備が進まん。PCはとりあえず、持っていくけど、開発進められるのか?」
4月29日「間に合うか、すっごく不安」
4月29日「あした、あさっては普通に出勤なんだよなぁ〜…」
4月30日「きょうとかもう会社に来てる場合じゃない気がする。早く帰りたい。」
4月30日「思考部がだいたい出来た気がする。 あと、GUIとの結合はどうしよう?別プロセスにして匿名パイプで繋げるとか間に合うのか?
5月1日「あしたも出勤日だけど年休にした。間に合わせなくてはっ! それはそうと高速バスで当日の朝到着予定なんだけど、渋滞で遅れたりしないか心配や〜」
5月1日「キターッ!次の一手問題集だとかなりいい感じになりました!! 末端で詰みなしと一手詰と三手詰では三手詰が一番いいみたいです(特に終盤では)。
5月1日「やばっ、GUIが間に合わないか?」
5月2日「GUIがうまく動かないと将棋所での参加になってしまう…。間に合わせなくてはっ。 まずは、エンジンを子プロセスで起動してプロセス間通信を確立するところから、だけど!」
5月2日「10戦して4勝6敗。ただ、おかしな手がたくさん出るんだよなぁ。不成を指すのも気になるし。
5月2日「やばい、子プロセス立ち上げて、プロセス間通信の確立まではできたが、あと4時間ちょっとで出発しないと…。 荷造りもしなきゃだし、初日は将棋所で参加かっ?!
5月2日「とりあえず、GUIが動き出したような…? でも、まだ投了や勝ち宣言はできない。ponderもまだ。

4月23日深夜くらいにようやく次の一手が動き出す。→27日に検証して落ち込む。
4月24~25日くらいでWin8インストール⇒Win8.1アップデート。
4月25日くらいからGUIとエンジンの分離の検討(=GUIのUSI対応)。
4月26日にキーボードとクロネコヤマトのパソコン送付用の箱を購入。
4月27日はPC送付の準備&詰めルーチンの組み込み。
4月28日にPCを送付して、お通夜へ。
4月29日は朝早く目が覚めたので詰めルーチンのデバッグで動くように! ⇒ その後、告別式 ⇒ 帰宅
4月30日定跡処理&末端ノードでの詰め処理追加(ここでエンジンほぼ完成)。⇒5月2日にBona6との対局で4勝6敗
5月2日 GUIのUSI対応 ⇒ 高速バスで出発
5月3日 一次予選…

という感じでかなりギリギリというかほぼアウトな進捗でした(実際GUIはダメでした)。
なんとなく動き出したのは選手権の2週間前で進歩本2の問題をやった感じではよかったのですが、終盤系はかなりダメになっていました(グラフの4/24版)。まぁ、このときには末端の詰めは未実装だったわけですが。
4月30日に末端で一手詰め、三手詰めを呼ぶようにしたところ、三手詰めがよさそうだったので、採用。

今年は千葉県のかずさアークでの開催。参加にかかる費用は大雑把な適当見積もりで約8万円。
ちなみに前のかずさアーク開催時はパーティーに出席していなかったので、パーティーがどんな感じかは知りません。去年みたいに無料になるのか、1000円になるのか、7000円になるのか…。
うーん、ちょっとどうするか悩むなぁ…。
今回の電王トーナメントの持ち時間は予選では15分+秒読み10秒、決勝は2時間切れ負けであった。
個人的には予選の15分+秒読み10秒はすごくありがたかった。
世界コンピュータ将棋選手権(以下 WCSC)が25分切れ負けで手数制限がないため、切れ負けを避けるためあまり時間を使っていなかったところが、15分を使い切っても1手10秒近く使える(実際にはそこまで使えません)。
PentiumG620上でBonanza6.0をシングルスレッド1秒Ponderなしで動かし、激指10のレーティング戦でだいたい四段(R2200)くらいだったので、電王トーナメント仕様のPCで10秒6スレッドなら1.5*10*√6≒30倍となるので、2倍でR150上昇するとするとBona6ならR2900くらいになりそう。これならあまりとんでもない手を指さないような気がする。
まぁ、WCSCでの終盤の時間がなくなって切れるか切れないかでの戦いで読みが浅いがゆえの緩手も見所だと思いますw

秒読みを付けると延々と対局が続いてしまうということも起こりえるが、電王トーナメントでは256手ルールがあるため最長256手で終了する。
WCSCではお互い1手1秒で指すことで1局最大50分+αだが、電王トーナメント予選の理論上最長時間は72分強(お互い初手で15分使い切り、残り1手10秒で256手まで指す)。実際はそんな極端な場合はレアケースで運営上も困った事態にはならないと思う(予選は引き分けは指し直さないし、手数を意図的に伸ばすような指し方は禁止)。
ということで、予選のルールでは1秒未満の手は1秒消費するようにしなくても良かったのではないか?(WCSCでは延々と続く可能性があるが、電王トーナメントは必ず終了するので)

今になって思えば、対局テストは shogi-server を動かして、tripにtest-900-10とでも付けて2つのプログラムを接続すれば出来たのかもしれない(未確認)。
通信ディレイも考えると、ローカルのマシンでなくたとえばレンタルサーバで shogi-server を動かすとか…。

ちなみに自分のプログラムは予選当日の朝時点でちゃんと動いていなかったので、テスト以前の問題でしたw
念のため言っておきますが、私は川端将棋の作者ではありません。
血縁関係も知っている範囲にはいないので、全くの無関係または遠い関係と思います(面識もありません)。

川端将棋は第10回コンピュータ将棋選手権で3位入賞し、アイフォーからAIシリーズとして発売されたソフトです。
当時、いつかはコンピュータ将棋選手権に出場したいと思っていたので「あぁ、これで『川端将棋』の名は使えない」と思った記憶がありますw

というわけで、実は買って持っています。外箱を捨ててしまいましたが。



忍者ブログ [PR]
カレンダー
04 2017/05 06
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
フリーエリア
なのはの応援をしていただき、かつ協力いただける方は、アマゾンでの買い物は下のリンクからお願いします
最新CM
[04/27 とおりすがり]
[10/21 おてだま]
[10/20 おてだま]
[01/24 なのはminiふぁん]
[01/08 sakura]
プロフィール
HN:
かず
性別:
非公開
バーコード
ブログ内検索
最古記事
カウンター
アクセス解析