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

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

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

K55の学習方式、真似てみようかなぁ

http://homepage2.nifty.com/kakinoki_y/free/55shogi.pdf 基本的な話は講演会で聞いてきたので、(全く同一のアルゴリズムになるかは置いといて)実装は出来るはず。 ボナンザメソッドも簡易版*1を実装してあるし、手持ちのクラス+αで出来るはず。 問題は学…

今年の選手権は参加を見送る事にしました

現状では昨年選手権時から何の進展も無い事、それと、プライベートで色々忙しい事もあり、見送る事としました。 来年はなんとしても参加したいので、それまでに学習を成功…させれれば良いなぁ。

VS ssp(5五将棋モード)

昨晩から16万局ほど自己対戦で学習し、今朝から連続対局させてたやつ。 結果、203-?-352で勝率36.6%。95%信頼区間は32.6〜40.7。 以前は勝率60%前半だったんで、それよりは弱いですね。やっぱり、評価項目の差があるせいかもしれません。

K55の学習方式実装中

ソースのチェックが予定より早く終わったんで、実装に着手しました。 んで、現在は連続対局して学習する部分まで完成。ログ出力とかは明日に回します。 さて、それじゃぁ今夜はアサーション有効にして走らせときますか。

とりあえず評価項目を変更して学習させてみます

本将棋ではなく5五将棋で。 んで、二駒相対と駒の自由度は無くても何とかなるかもしれないし、コードが複雑でどっかにバグが潜んでる可能性があるんで、とりあえず無効で。 他は今までと同じ設定。アサーション有効にしてもエラー出なかったんで、それなりに…

さて、どこから手をつけたもんか

今週末はTreeStrap(minimax)とかTDLeaf(λ)とかで走らせてログを見つつ、どこから着手しようかとひたすら悩んでました。 以前の日記でTreeStrapやろうかと書いたんですが、理論的にはTDLeaf(λ)の方がちゃんと裏付けあるし、基本的にはそっちで頑張ってみよう…

メモリ買ってきたら初期不良だった(´・ω・`)

昨日、元開発用マシンのCPU・M/B・メモリを売って、その金でメモリ買ってきたんですよ。メインマシン用に。 で、昨日の夜から今朝にかけてエラーチェックしてみたら、見事に初期不良。 原因切り分けるのに今日一日かかったんで(よそ事しながらだったっての…

AMD E-300(Bobcat)の性能

http://pc.watch.impress.co.jp/docs/column/tawada/20110128_423038.html ざっと見た感じだと、シングルスレッドだとAtom D510より上で、マルチスレッドだとHyper-Threadingがある分Atomが盛り返す感じですね。 どっちかって言うとGPUの性能を重視してるプ…

TreeStrap(minimax)、頑張ってみるか?

方策勾配法は上手く行かないし、TreeStrapはTDLeaf(λ)をぶっちぎったらしいし、それならTreeStrapを選ばない手は無いよなぁ。 んで、TreeStrap(αβ)とTreeStrap(minimax)の差は僅からしいんで、それならシンプルなminimaxの方が練習には向いてる気がする。 よ…

うぬぅ、上手くいかない

現在の駒割のパラメータはこんな感じ。 駒価値_歩 : 80.9349 駒価値_香 : 100.77 駒価値_桂 : 109.953 駒価値_銀 : 311.978 駒価値_金 : 400.686 駒価値_角 : 326.461 駒価値_飛 : 410.435 駒価値_と : 411.141 駒価値_圭 : 407.971 駒価値_杏 : 423.946 駒…

こうなりゃヤケだ

5五将棋の学習は置いといて、本将棋の方の学習させてみます。設定は 学習率0.9 探索深さ全幅0手+静止探索4手 合議無し 他は5五将棋の場合と同じ。 収束遅いみたいだけど、1週間もあれば大丈夫かな? てか、こんなペースで選手権に間に合うのか?

うーん…

自然方策勾配法は諦めて、方策勾配法の方を色々やってるんですが、まだバグが見つかりません。 先手だけ学習とか後手だけ学習させると、ちゃんと学習した側の勝率が100%になるんで、基本的な部分は間違ってないと思うのですが… でも、ログを見てると所々評…

Honeycomb(Android 3.0)はタブレット専用?

http://journal.mycom.co.jp/news/2011/01/24/064/index.html という噂があります。んで、Honeycombとは別系統のIce Cream SandwichがAndroid 2.4として今夏登場との噂も。 とりあえずAndoroidスマートフォンが欲しいんですが、来年冬モデルには2.3と2.4が混…

自然方策勾配法、無理かも

冷静になって計算式を見てみると、途中でパラメータ数×パラメータ数の行列が必要です。 んで、今の評価項目だとパラメータが最大100万個程度あるんで、行列だけで4TB必要。 どう考えても無理です、本当にありがとうございました。 さて、それじゃぁ次の手を…

見切り発車で自然方策勾配法を実装中

行列の計算が必要なので、とりあえず行列クラスを実装中(ライブラリ探してきて使っても良いんですが、それだと再配布時のライセンスを考慮するのが面倒だし、勉強がてらやってます)。 んで、逆行列の計算アルゴリズムが複数あるみたいなんで、適当に選んで…

VS ssp(5五将棋モード)

昨夜からやってたやつ。 結果、385-?-393で勝率49.5%。95%信頼区間は45.9〜53.1。 前よりは強くなってますが、まだまだですね。 自然方策勾配法も計算方法だけは何となく分かってきたんで、そっちで学習が高速化出来ればいいんですが…

あれ、強くなってる?

追加で2日ほど学習させたパラメータですが、対ssp(5五将棋モード)で現在51勝48敗。ひょっとしたら、前より強くなってるかも。 となると、単に収束してなかっただけ? 学習させればまだ伸びるのかな? うーん、やっぱり全自動でパラメータファイル更新&連…

自然方策勾配法を実装しようかと検討中

強くなるロボティック・ゲームプレイヤーの作り方 ~実践で学ぶ強化学習~作者: 八谷大岳,杉山将出版社/メーカー: 毎日コミュニケーションズ発売日: 2008/08/28メディア: 単行本(ソフトカバー) クリック: 73回この商品を含むブログ (12件) を見る んで、本読…

VS ssp(5五将棋モード)

合議用に学習したパラメータで、今日帰ってきてから数時間分。 結果、66-?-109で勝率37.7%。95%信頼区間は30.5〜45.3。 やっぱり、クライアント単体が弱いと、合議しても大して強くならないみたいです。 んで、一晩学習した結果、対局数が120万局弱(1クラ…

サンコーのキーボード型PC

http://d.hatena.ne.jp/mkomiya/20110119/1295421783 小宮さんとこで紹介されてましたが、¥19,800なので結構安いですね。 CPUはPMX-1000。詳しくは知らないんですが、元をたどるとSocket 7時代のx86互換CPUであるmP6系のコアみたいです。 http://pc.watch.i…

一つ上の補足

合議自体は多数決合議で、ただし、評価値に乱数加える方法ではありません。 評価項目自体を全評価関数共通の項目の他に、二駒の相対位置関係・駒の自由度・王将の移動可能範囲を用意し、これら3項目の有効・無効の組み合わせで8通りの評価関数を作ります。 …

合議用の学習ルーチン実装

と言っても、評価関数は元々合議対応してますし、学習ルーチンも半分は出来てたんで、割とサクっと出来ました。 ざっと走らせた結果大丈夫そうなので、アサーションを外して本番稼動。今の所一日135万局(全8クライアント合計)ペースなんで、多分明日夜には…

せこいイカサマ思い付いた

floodgateで他のエンジンの評価値・PV付きの棋譜が入手出来るんで、PV末端の自分で計算した評価値を他のエンジンの評価値に近付ければ、ひょっとしたらそこそこ強い評価関数が出来るかも。 ただ、どっかからお叱り受けるかもしれませんし、あまりにもせこ過…

そういや学習アルゴリズム

TD(λ)-MCって選択肢もあったんだ。 でもあれはモンテカルロ木探索でそこそこの精度が無いとダメだし、今のままじゃ難しいか。 と言うか、TD(λ)-MCって、単純にモンテカルロで対局するのとどっちが強いんだろう? もしモンテカルロと大差無いなら、素直にモン…

まだバグ発見出来ず

アサーションに引っかかってくれないですorz どうしよっかなぁ。現実逃避気味に、合議用のコードを書いてみるか?

学習アルゴリズム、どうしよっかなぁ

今実装しているのは下の三つ。どれも自己対戦で学習します(TDLeaf(λ)のみ、USIで他のエンジンと対局して学習する機能あり)。 TDLeaf(λ) TreeStrap 方策勾配法 TDLeaf(λ)もTreeStrapもチェスで実績ありますが、方策勾配法は聞いた事ありません。 アルゴリズ…

Sunfishさんのウェブサイト発見

http://www22.atwiki.jp/cits/pages/33.html サイトって言うか、Wiki? ちなみにfloodgateでのGA将!!!!!との戦績は3 - 36 (+11) 0.08!!! (0.00) 。どうも、苦手な相手みたいです。

今日はバグ発見無し

アサーション有効で8800局ほど学習させましたが、まだ引っかかってません。 うーん、となると、アサーションでは検出出来ない、もうちょっと高レベルの(アルゴリズムの部分の)バグか?

バグ一個潰した

昨日か一昨日書いたバグですが、ルートノードで千日手チェックが漏れてたのが原因でした。 んで、修正してまたアサーション有効にして学習中。今度はバグの再現が楽になる様にしてみたんで、次からは効率良く修正出来るはず。

バグ発見か?

アサーション有効で5五将棋を走らせてみたら、何か引っかかってます。 まだバグの状況がよく分からないので、エラーメッセージを追加して再度再現させてみます。