コンピュータ将棋

shogi686の学習について その1

まず、学習用の棋譜を用意する。今回は、自分が将棋クエストで指した600局強の棋譜を使った(それより極端に多い棋譜を使うことは想定していない)。棋譜の中に"N+merom686"という文字列があればファイル名の先頭に"b"を、"N-merom686"があれば"w"を付加して…

コンピュータ将棋の開発で出会ったバグや失敗

4年前のUSI対応の思考エンジンを作ったときに遭遇したバグ - merom686's blog 4ヶ月前のコンピュータ将棋の開発中に遭遇したバグ - merom686's blog Killerは王手がかかっていないときだけ使っていたので、重複を避けるためCounter手からKiller手を除いてい…

WCSC25 その9 選手権バージョン公開

http://merom686.g1.xrea.com/com_shogi.htmlダウンロードは↑から。WCSC25に関するブログは、ここでひとまず区切りとする。世界コンピュータ将棋選手権は素晴らしい場だった。

WCSC25 その8 技術的なこと(探索)

単純なアルファベータとビットボードと駒割で作り、そこへPVSや高速1手詰めなどを実装していき、最終的にはStockfishの枝刈りを全て実装した(つもりだが抜けや間違いや過剰が相当あると思う)。アイデアを放置しているコードがあちこちに残っていたりして、…

WCSC25 その7 技術的なこと(学習)

アピール文書は「とりあえず事実は伝えた」という感じでゴチャゴチャした感じになってしまったので、ここで具体的な実装や最終的な仕様を書く。 今回は評価関数の学習について。 ボナンザメソッドを使っている。何だかんだいってシグモイド関数はよい。38要…

WCSC25 その6 自戦記(二次予選)

結果は、一次予選5勝2敗5位通過、二次予選3勝6敗20位。追い込みで残りのStockfish探索を実装し、学習の探索深さを2に増やして時間をかけたことで、思ったより強くなっていたのかもしれない。 1回戦 vs.激指 ● 激指の一手損角換わりに棒銀で対抗。成否はとも…

WCSC25 その5 自戦記(一次予選)

http://merom686.g1.xrea.com/com_shogi.htmlshogi686の棋譜は↑に(将棋所で出力したもの)。評価値の符号が反転することがあるのは、USIの仕様に反して独自Ponderの読み筋を送っているため。なるべく、自分とshogi686の意見のみを書くようにする。よって内…

WCSC25 その4 交通・宿泊

当日に始発で行くのは、かなりギリギリでリスクがあり、テスト対局もしたかったので、前日の昼に家を出ることにした。事前に乗り換えの時刻を調べて、それに従って動くことで何とか辿り着けた。コンピュータ将棋も、駒の動きは完璧に知っていても、このくら…

WCSC25 その3 交流

対局が組まれると、それをきっかけに対戦相手と話すことができるので、そのチャンスは逃さないようにしていた。対局しなかったために話さず終わってしまった人もいるが、そんなに時間の余裕があるわけではないし、自分は3日目会場に行かなかったので、仕方な…

WCSC25 その2 開発

選手権バージョンの開発について。 http://d.hatena.ne.jp/merom686/20110526/13063858824年前に1ヶ月ほど開発していた。それ以前にも、どうぶつしょうぎや立体四目並べを作ったことはあったが、将棋の思考エンジンを書いたのはこのときが初めて。作りは単純…

WCSC25 その1 体調

色々書こうと思っているけど、何から書けばいいのか。とりあえず、いくつかにエントリを分けて書いていこうと思う。今回は体調について。 半年前の電王トーナメントがきっかけで開発を始めたけど、それまでは将棋GUIの開発をしていた。GUIの開発もかなり大変…

WCSC25後の目標

少なくとも3ヶ月はコンピュータ将棋に毎日1秒以上触れる たぶん今の自分は、開発を中断した未来の自分が羨む能力を持っている(自覚がない)。

将棋電王戦FINALまとめ

将棋電王戦FINAL | ニコニコ動画 電王戦FINALの意義 色々なことが起こり、そのたびに感情的な発言をしてしまった。川上会長の思惑通りという気がして悔しいが、これだけ人々の感情を揺さぶったのだから、電王戦を開催する意味があったと思う。 コンピュータ…

将棋電王戦FINAL、第5局

午後は開発できるかなーとか思ってたらやっぱりできない。藤井・森内の振り返り解説に、投了2手前から指し継ぐエキシビション。お楽しみは記者会見。TLの流速が、終局後も全く衰えない。 21手での投了には、異様さを感じた。エキシビションを見ていると忘れ…

将棋電王戦FINAL、第4局

ponanzaの初手は▲78金。実際にコンピュータ同士の対局で、▲78金から相手に飛車を振られても十分に戦えていた、つまり相居飛車にされるのと比べて悪くならなそうだった。だから、これは「ない手」とか「挑発」とかではなく、少なくともコンピュータにとっては…

将棋電王戦FINAL、第3局

前日の夜、対局時間の設定を変えることの可否で盛り上がっていた。「盛り上がった」という表現は不謹慎な気もするが、実際そうだった。結局は設定を変えないことになり、わざと遅刻するという禁術も使われなかった。「本当に遅刻しかねない」などと失礼なツ…

将棋電王戦FINAL、第2局

今回は永瀬六段(プロ棋士側)を応援していた。将棋は努力で決まる、才能は要らないと言っていて、明らかに才能の塊みたいな人だった。プロ棋士の、というより、永瀬の力を電王戦で見たかった。 Seleneは、各定跡手を等確率で選ぶ(変な手を選びやすい)。今…

将棋電王戦FINAL、第1局

観戦していて自分でも不思議だった。完全にコンピュータ側を応援している。勝ってほしいと思っている。結果を求められていた第2回電王戦のときと違って、いい将棋が見られれば勝敗はどちらでもいいと口では言っていたはずなのに。コンピュータが勝つときのほ…

勝ちを目指すのが正義だと思っていたが

「格上相手には稲庭、それ以外は普通のBonanza」とか、そこまで行かなくても「相手によって定跡選択や千日手の評価値を変える」のような勝率の上げ方があると思う。なぜもっと多くの人がそういうことをしないのかと思っていたが、いざ自分が出る段になってみ…

作りたくない理由

知らない場所へ行くのは楽しいけど、不安もある。いきなり道が険しくなって自分の力では進めなくなるかもしれない。その恐怖が足を鈍らせる。 まあしかし、代わりにやってもらうわけにはいかないからね。山登りで、代わりに登ってもらっても、自分が景色を楽…

作りたい理由

主な理由はおいといて、以前から思っていたコンピュータ将棋を作りたい理由がある。自分で作ることによる副産物がいくつかある(と思われる)のだ。 まず、他のゲームへの応用。4目並べとか、自分で考えたゲームとか、より強い探索を実装できるようになるは…

コンピュータ将棋の作り方

数学(高校程度)を勉強する C++でHello Worldを書く template、STL、intrinsicsに慣れ親しむ ミニマックス法で3目並べを読み切ってみる それをαβ法に書き換える 将棋の五大反則を覚える 局面のデータ構造を練る PVSや静止探索について軽く調べておく 駒割の…

どうでもいい懸念

選手権後にはバイナリを公開するつもりだが、自分のプログラムがGPLに感染しているかどうかわからない。どう判断すればいいのかわからない。感染してないのに念のため感染してることにしちゃうのは許されるのだろうか?そして、ソースを公開するのはいいのだ…

5月まであと1秒

Stockfishのソースを読んで、自分のプログラムに実装、デバッグという無限ループ。いや無限ではないけど、こんなペースじゃいつまでかかるのか。やる気がなくてペースが遅い、というのではない。やる気があってもバグ取りには時間がかかるし、そもそも書くべ…

WCSC25に向けての目標

反則負けをしない 1勝する (2/11追記)出場する

WCSCまであと何日

今日が申し込み締め切りということで、今朝は夢に出てきた。寝ているうちに(自分のソフトも含めて)対局が始まっていたという内容。 不安が大きい。交通手段や、宿泊が必要かどうかを考えるのも億劫だ。そもそも人に会いたくない。いや会いたいけど漠然とし…

コンピュータ将棋の開発中に遭遇したバグ

Q.バグ状況A.バグの原因という感じで、ここ2ヶ月に遭遇した大きいバグを書いていく(ていうかQ&Aじゃねえ)。 Q.連続して同じ局面を読ませると違法手を指す。A.局面をセットする前にゼロクリアするのだが、その処理を誤って削除していた。 Q.置換表の使用エ…

第2回将棋電王トーナメント(決勝最終日)

面白かった。3日間、引きこもって見てたけど、開始が11時と遅いので朝食後に運動して健康を保っていた。それでもずっと見てると変な疲れ方した。この3連休は電王トーナメント以外にも当然ながら色々なイベントがあり、人はやや少ない感じだった。 面白い将棋…

第2回将棋電王トーナメント(決勝初日)

なんかもう、これでいい気がしてきた。もし再来年に電王戦がないとしたら嫌だけど、コンピュータ同士の将棋に充実したプロの解説が付けばそれで十分面白い。今回のニコ生はかつてないほどしっかり準備されていたし、解説のプロ棋士もコンピュータ将棋に関係…

第2回将棋電王トーナメント(予選)

かなりの期待をしてたけど、期待通りの面白さ。コンピュータ同士の将棋はそれほど面白くないと言われることもあるが、それはプロの解説がなかったときのイメージだろう。番組の構成も、去年の電王トーナメントと比べてよくなっている。 スイス式 参加チーム…