GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

2009-07-01から1ヶ月間の記事一覧

ちょこっとだけ修正

一晩デバッグモードで動かしてみて、とりあえずはエラー無しで完走していました。 んで、今度はリリースモード・アサーション有りで走らせてみましたが、詰んだらそこで投了しているので終局図が私には分かりづらいです。 そういう訳で詰んでも最後まで(合…

王将の移動可能範囲の評価を実装完了

…完了したはず、多分。 とりあえず最低限必要な評価項目は揃ったし、この辺でUSI対応して対局させてみるって手もありますね。 と言うか、ちゃんと動いてるかどうか不安なんで、対局させて安心したいと言うか… そういう訳で、ひょっとしたらUSI対応の方を先に…

GLOBALFOUNDRIESが第二の顧客を獲得

http://pc.watch.impress.co.jp/docs/news/20090730_305889.html 「AMDから分離したけど、結局AMDのチップしか作ってない」って状況にならずにすんだ訳で、とりあえずはめでたいです。 後はどんどん顧客を増やすだけですが、NVIDIAのGPUを作ったりしたら面白…

王将の移動可能な範囲の評価を実装中

とりあえず前バージョンから移動可能範囲のチェック用コードを(ほぼそのまま)移植して、後は実際の評価値に反映させるだけ。 …させるだけなんだけど、今日はもう疲れたんでパス。明日やります、明日。

評価関数をぼちぼち実装中

とりあえず駒の絶対位置評価を実装。 ベンチマークを動かした感じだと、NPSが270kから250kに1割程度減。これ位なら許容範囲内としましょう。と言うか、後で差分計算にするんで、今の段階で速度どうこう言ってもあんまり意味無かったりして。 えーっと、後は……

大分進んだのでいったん整理

置換表は後回しにして、とりあえず評価項目の充実を急いだ方が良いかな? まぁ、ぼちぼちやっていきます。 History Heuristicでオーダリング。 静止探索。 もうちょっとまともな評価項目。 ベンチマーク用のコード整備。 パラメータのセーブ・ロード。 情報…

昨日書き忘れてた分

History Heuristicでのムーブオーダリングの修正を二つやって、そこそこ高速化しました。 一つはテーブルの拡張で、移動前後の位置と駒種のテーブルだったのを、取った駒種と成・不成も追加しました。 もう一つはオーダリングの基準値の変更で、「最善手にな…

パラメータのロード実装完了

CSVでファイルに書き出したやつを読み込むだけなんで、割と簡単に完成。 それから、学習部分がバグッてたのも修正。対局終了時の報酬の符号が逆転してました。どうりでパラメータを見ても変なわけだ。 そんな感じでのんびりやってます。明日はベンチマーク動…

パラメータのセーブを実装&色々細々と

まずは評価関数のパラメータをセーブするルーチンを実装。これは割とスムーズに行きました。 それから自作のアサーション周りとかでちょっと気になった事があるので修正したり、プロファイラをいじって遊んだりとか、そんな感じ。思いっきり横道にそれてます……

パラメータのセーブ・ロードまわりを実装中

今日は下地作りみたいな感じで、明日には完成するかも。ひょっとしたら。

上の記事と関連して、Intelコンパイラの話題

http://www.xlsoft.com/jp/products/intel/compilers/ccw/index.html?tab=0 Sandy Bridgeから実装される新命令AVXが、今年秋リリース予定のIntel C++コンパイラー 11.1でサポートされるそうです。 コンパイラだけあっても今は無駄ですが、開発環境のほうを早…

Intel Sandy Bridgeまでのロードマップ

http://pc.watch.impress.co.jp/docs/column/kaigai/20090716_302169.html 個人的に興味ある所だけ抜き出すと、来年第2四半期〜第4四半期に32nmプロセス6コアのGulftownが登場。Sandy Bridgeは2011年で、多分上から下まで一斉に登場*1。 Core i7 960後継のGu…

細々と実装中

まず、昨日書いた方策内部でのウィンドウ設定のコードがおかしかったのを修正。 それから、探索ルーチン内で「最後にα・βを更新した位置(それまでに読んだ手の数)」を表示するコードも追加。 …実際見てみると、ひどい値が出てます _| ̄|○ まぁ、まだパラ…

VS ssp 十三晩目

勝率41.4で95%信頼区間が36.4〜46.5。また落ちてます。ガクッと。 明日はもうちょっと強くなっててほしいなぁ…

方策内部でのウィンドウ設定を実装

旧バージョンでもやっていて、ルートノードでの枝刈りとかって名前で呼んでた*1やつです。 簡単に言えば「最善手と比べて選択確率が0.0x%以下の手は正確な評価値を求めない」という処理で、これがあると見込みが無い手は枝刈りが起きやすくて早く処理が終わ…

VS ssp 十一〜十二晩目

昨日はパラメータ差し替えなかったので二晩分。380-0-387で勝率49.5。95%信頼区間は47.9〜53.1。 勝率がやや上下しつつも、順調に強くなってるみたいです。 と言っても、課題の序盤が全然ダメなんですけどね。「勝った」と言うより「勝てちゃった」という対…

VS ssp 十晩目

162-0-221で勝率42.3。95%信頼区間は37.3〜47.4. 今日は勝率落ちそうと分かっていても、この結果はちょっと凹みます。

情報収集の枠組み作り

まだ途中ですが、大体の形は出来たと思います。後は、順次出力する情報を増やしていくだけです。 えーっと、そうすると後はパラメータのセーブ・ロードを作ればベンチマーク環境は一通り完成ですね。それが出来たら探索まわりの改良&チューニングして、そこ…

昨日の実験は失敗

http://d.hatena.ne.jp/Gasyou/20090711/1247315914 ほとんど変化がないので、多分無駄だったんでしょう。

VS ssp 九晩目

229-0-206で勝率52.6%。95%信頼区間は47.8〜57.4。 今の条件で学習しだしてから、初めて勝率が50%を超えました。 この調子でどんどん強くなってくれると嬉しいんですけど、多分明日は勝率落ちてるでしょうね。

ちょっと実験。λを1.0にしてみる

http://d.hatena.ne.jp/mkomiya/20090711/1247243562 小宮さんとこの記事とかコメントでのやり取りでふと思いついて、λを0.9→1.0に変更してみるとどうだろうかと試してみます。 1.0にするとどうなるかと言うと、対局中に出現した局面の評価値の目標が「勝っ…

ベンチマーク用のコード実装

ssp同士を一手1秒で1000局対局させた棋譜があるので、その棋譜の局面から探索してNPSやら色々計測するコードを実装。 当面はこのコードを使って、必要な機能の実装と軽いチューニングをしていく予定。 んで、実装してて色々足りてない機能があったんで、その…

学習用マシンのプログラム差し替え

温度がやたら低くなってたので、探査率の目標値を0.02→0.05にアップ。 でも、多分無駄。今のアルゴリズムの悪い部分がもろに出ちゃってるんで、根本的な解決にはならないはず。

VS ssp 八晩目

142-0-186で勝率43.3。95%信頼区間は37.9〜48.8。 落ちてます。昨日より勝率落ちてます。どーんと。 …大丈夫、明日には上がるはず、明日には。

パラメータ修正前後での誤差の変化

現在は学習アルゴリズムにTDLeaf(λ)を全幅2手+静止探索のルーチンと組み合わせて使っていますが、これだとPVが長くなるのでパラメータ修正前後でちゃんと誤差が減っているか不安です*1。 という訳で、実際にパラメータ修正の直前直後の誤差*2を比較してみま…

VS ssp 七晩目

183-0-188で勝率49.3の95%信頼区間が44.1〜54.5。 ようやく強くなってきましたね。と言っても、前のケースでは勝率70%まで行きましたから、こっちはまだまだですが。 sspとの対局の様子を眺めていると、拙いながらも序盤の学習が進んでそうな様子なので、こ…

VS ssp 六晩目

160-0-243で勝率39.7。95%信頼区間は34.9〜44.7。 微妙に上昇傾向ではあるものの、全幅1手+静止探索の場合よりは学習の進み具合が遅い感じです。 ちょっと気になるんで、ちゃんと誤差が減ってるか見てみます。

VS ssp 五晩目

153-0-285で勝率34.9。95%信頼区間は30.5〜39.6。 昨日よりはやや悪化したけど、1〜3日目よりは多少良くなった…のか? ちょっと良く分からないので、懲りずに連続対戦させてみます。

Windows 7の発売日は10/22(木)

http://pc.watch.impress.co.jp/docs/news/20090707_300424.html 木曜日かよ! 多分行くけどさ、有給とって。 エディションはHome Premiumでいいかな。Vista使った感じだとUltimateはオーバースペックだし。

Intelの次世代マイクロアーキテクチャCPU Sandy Bridge情報

http://a96sj096.cocolog-nifty.com/weblog/2009/07/sandy-bridge-84.html 2/4/6/8コアのバリエーションがあって、CPU自体は新命令のAVX対応。Hyper Threadingも引き続き搭載される様です。 それから、多分これがメインですが、GPUも統合。 CPU内部のバスは…