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

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

2011-04-01から1ヶ月間の記事一覧

うーん、困った

デバッグしててもバグが見つからない… 三目並べの学習させると、数千局で引き分けに収束するんで、一応ちゃんと動いてはいるとは思うのですが… まぁいいや、とりあえず今日のところは放置して、続きは明日やろう。

学習ルーチン書き直し中

とりあえずパラメータ修正部分は書き終わりました。 サーて、そんじゃぁデバッグするかぁ。

学習ルーチンの書き直し

自己対戦してパラメータ修正に必要な情報を集める所までは出来ました。 んで、後はパラメータ修正とか情報表示系なんですが、それは後数日で出来る予定。ちょっとややこしい部分なんで、慎重にします。

学習ルーチン書き直し中

昨日の夜にVisual Studioで新しいプロジェクト作って、とりあえず将棋盤とかの基礎部分だけファイルコピーしてビルド。 んで、一晩合法手生成がちゃんと出来てるかのチェックを走らせましたが、1800局ほど経過してエラー無し。多分大丈夫でしょう*1。 さて、…

いっその事、学習用ルーチンを一から書き直すか?

今のコードはifdefマクロばっかで見通し悪いし、どっかにバグがあるのは確かなんで、いっその事一から書き直そうかと考えてます。 来年の選手権まではまだ時間あるし、書き直すなら早いほうが良いかもしれないし。 それから、学習と対局の両方でABC探索使い…

サポートベクターマシン入門

サポートベクターマシン入門作者: ネロクリスティアニーニ,ジョンショー‐テイラー,Nello Cristianini,John Shawe‐Taylor,大北剛出版社/メーカー: 共立出版発売日: 2005/03/01メディア: 単行本購入: 8人 クリック: 135回この商品を含むブログ (42件) を見る …

VS ssp(5五将棋モード)

昨日と同じパラメータで、頓死チェックを実装したやつ。 結果、397-?-562で勝率41.4%。95%信頼区間は38.3〜44.6。 ちょっとだけ強くなったけど、めざましい進歩とは言えないですね。 うーん、頓死チェックは前回反復時のPVノードだけに限定してるけど、内…

VS ssp(5五将棋モード)

方策勾配法で一晩学習させたやつ。 結果、321-0-510で勝率38.6%。95%信頼区間は35.3〜42.0。 うーん、まだまだ弱いですねorz

LIBSVMは断念

どうあがいても評価値の計算が重くなりすぎるので、これは無理だと判断しました。かと言って、自力でSVM実装してLIBSVMより速くするのも無理そう*1なんで、SVM使うのは当面保留。 んで、方策勾配法の方でちょっと気になっていた現象に仮対処。 学習開始時の…

LIBSVMで学習

一晩自己対戦して学習させてみたんですが、対局数が一日3,400局ペース。あまりにも遅すぎます。 んで、sspと対局させても全然勝てないんで、もちょっと高速化出来ないか考えてます。 とりあえず、カーネル関数の計算で時間くってるみたいなんで、デフォルト…

VS ssp(本将棋モード)

連続対戦用の乱数の設定を変えたので、もう一度sspと連続対戦させた結果。 プログラムは最新版で、パラメータは前回選手権時のもの(floodgateに投入してるのと同じ)。 結果は358-5-285で勝率55.7%。95%信頼区間は51.7〜59.6。 という訳で、今から学習さ…

ようやくデバッグモードで対局出来る所まで来た

これで20局位バグらずに行ったら、リリースモード・アサーション有りで一晩走らせてみますか。

続々LIBSVM

学習→近似までの流れがひと通り出来る様になりましたが、今度は精度が悪い。 svm-predictコマンドを使うと平均二乗誤差が0.009位なのに、自分でLIBSVM呼び出すと0.1とか。二桁も悪いのは何か原因がありそうなので、ちゃんと調べないと。// 18:24追記 同じデ…

LIBSVMのsvm_predict()関数を眺めてみた

思いっきりmalloc,freeしてますよ。こりゃ、評価関数に組み込むと重くなる? まぁ、ソースがあるんだから最悪スタックに領域確保するとかって逃げ道はあるか。

ようやくバグ取れた

例によって領域破壊でした。 これだからC++は…↑はい、全部自分のせいです。

続LIBSVM

GA将!!!!!のコードに組み込んで、テスト用の訓練データ作成&SVMでモデル作成までは完了。 んで、忘れないうちにやった事メモ。 設定項目等 構成プロパティ→C/C++→全般の"追加のインクルードディレクトリ"にLIBSVMを解凍したフォルダを追加 プロジェクト→既…

もうちょっとLIBSVMで遊んでみた

特徴を10次元にして、sin(x/y)の近似をさせてみました。x,y以外の特徴はダミー(目標値の計算に用いない)です。 んで、学習用データの数が少ないと誤差が大きいんですが、データ数を100〜1000個程度にしたら大分誤差が小さくなりました。うん、優秀優秀。 …

SVRも試す

今度はsin関数の近似をさせてみました。 train.txt 0.000000 1:0.000000 0.099833 1:0.100000 0.198669 1:0.200000 0.295520 1:0.300000 0.389418 1:0.400000 0.479426 1:0.500000 0.564642 1:0.600000 0.644218 1:0.700000 0.717356 1:0.800000 0.841471 1:…

LIBSVM試してみました

http://d.hatena.ne.jp/Gasyou/comment?date=20110327#cでid:gamidereさんに教えてもらったLIBSVMというものを試してみました。 C++用のインタフェースもあるらしいのですが、とりあえずはコマンドライン版で。 インストール http://www.csie.ntu.edu.tw/~cj…

やる事ないんで

方策勾配法で学習させてます。今度は根気良く1ヶ月ほど待つつもり…なんですが、待てるかなぁ… とりあえず、全自動でパラメータファイルを学習用マシンから連続対戦用マシン(floodgateに投入してたAtomマシンを使用予定)にコピーして、コピー終わったら自動…