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

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

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

バグの原因が絞り込めてきた

http://d.hatena.ne.jp/Gasyou/20120225/1330175123 で書いたヤツですが、どうも「4番目の合議クライアントが探索中」かつ「飛び利きが伸びる手*1」だとおきるッポイです。 前者の理由は不明ですが、ともかく直前の指し手の処理(飛び利きの延長・短縮とか)…

合議+方策勾配法

とりあえず実装してみました。現在5五将棋で学習中。 …なのは良いんですが、何故か本将棋にするとほぼランダムなタイミングでアサーションに引っかかります。置換表内の処理で。 置換表自体はすでに2年半ほど前から稼働実績があるわけですし、実際にコードを…

昨日のアイデアを再考してみる

http://d.hatena.ne.jp/Gasyou/20120224/1330097571 とりあえず自己対戦学習で手を選択する場合の流れはこんな感じ。 各クライアントは個別に現局面での全指し手の評価値・指す確率を計算する。 その後、指す確率を票数として合議サーバにどの手に何票投票と…

VS ssp(5五将棋モード)

昨日の続き。 結局248-?-273で勝率47.6%になりました。 まぁ、こんなもんなのかな。

VS ssp(5五将棋モード)

昨夜から26万局ほど学習したパラメータで。 現在5-0-2で勝ち星先行。割とイイ感じです。 対局数少ないんでハッキリした事は言えませんが、そこそこ強い様です。 となると、本将棋で上手く行かないのは何故に?

自己対戦学習でも合議を有効活用出来ないか

ゲーム情報学研究発表会*1の「合議アルゴリズムプレイヤの棋譜を用いた将棋の評価関数の学習」を読んでたらふと思ったんですが、自己対戦学習で合議を使って手を選択するってのはどうかなぁ、と。 まず、現状の評価項目は下記の通り。 駒割の評価 筋・段個別…

配列の全要素を定数倍する簡単なお仕事

がバグってるかと思って、これはでかいバグかも! と喜んでたんですが… 結果的にバグってたのはログ収集系の方で、定数倍するのはちゃんと動いてました。 該当コードは学習の根幹部分だったんで、ここにバグがあったなら一気に改善する可能性があっったんで…

VS ssp

勝率25%まで落ちてます _| ̄|○ ヤバイなぁ、何とかしないと。

ISSCC関連ニュース @ PC Watch

http://pc.watch.impress.co.jp/docs/column/kaigai/20120222_513581.html IntelのIvy Bridge、AMDのPiledriver他色々なCPUが紹介されています。 私の本命はPiledriverコア搭載のOpteronなんですが、発売時期等は書かれてないのでモヤモヤしてます。 あとは…

対ssp続き

今朝見た時は38勝61敗1分で勝率38%だったんですが、帰ってきたら142勝251敗7分で勝率36%になってました。 うーん、なかなか強くならないですね。ssp相手に勝率6割行ったらfloodgateに投入したいんですが、この調子だと何時になる事やら。

伸び悩んでる?

さっき昨夜からの連続対戦の結果を見たら、勝率30%前後でした。 …伸び悩んでるどころか、前より勝率下がってます orz さーて、どうしたもんかなぁ…

連続対戦ツール、どっかバグってる

帰ってきて結果を見ようとしたら、ツールのCPU使用率が異常に高くて、エンジンは全く動いていませんでした。 んで、ろくにログ出してないんで原因は不明。とりあえずログを吐くモードを追加して再現を待ちます。

合議の様子を視覚化出来ないかなぁ

現局面の将棋盤の上に線なり矢印なりで表示出来ないもんかと検討中。 指し手の移動元・移動先を結ぶ線とかを表示して、票数が多いほど目立つ表示にする(線を太くするとか明るくするとか)と、一目で合議の状況が分かって嬉しいかと。 対応するGUIを一から作…

全幅1手+静止探索6手のバージョン VS ssp(本将棋モード)

たしか15日夜から学習してるんで、約4日経過した時点で、勝率34%まで伸びました。 途中でWindows Updateとかあって再起動してるんで正確な対局数は不明ですが、多分4万局ほどだと思います。 今の所順調に勝率が伸びてるんで、このまま進める方向で。GAとかE…

EDAも実装してみました

Estimation of distribution algorithmって奴で、GAよりも優秀らしいです。 試しにy=f(x1,x2)という形の関数で実験してみると、GAより収束速くてイイ感じでした。 ただ、関数fの引数を100個にすると、個体数が64では解けませんでした。今256に増やして実験中…

GA完成

&簡単なローカルサーチも実装。 …パラメータ数の3倍程度の個体*1が無いとちゃんと収束しないっぽいです。 て事は、本将棋だとパラメータ数3万だから9万個体必要? 一世代の学習が終わる前に選手権が来ちゃいますね。 うーん、困った。 *1:パラメータの集合

トランザクショナルメモリの解説 @ マイナビ

http://news.mynavi.jp/articles/2012/02/16/transaction_memory/index.html Haswellで実装されると言われているトランザクショナルメモリの解説がありました。Intelの開発者向け資料に記載されていた情報だそうなので、かなり信頼出来るソースだと思います。…

GA部分はほぼ完成

とりあえず、y=f(x)の最大値探索はそれなりに上手く動いている模様。 後はxをベクトルにしてちゃんと動くかのテストと、各種パラメータの比較実験ですね。

そろそろGA+強化学習を試すべきか?

http://www.logos.ic.i.u-tokyo.ac.jp/~yano/PDF/GI21_dist.pdf GA*1+TD(λ)で評価関数のパラメータを学習したって先行事例もありますし、これをベースにやってみようかと検討中。 GAは大域的な探索が得意でTD(λ)とか方策勾配法は局所的な探索が得意なんで、…

設定を変えて再投入

前の探索条件(全幅2手+静止探索8手)だと、24時間あたり900局しか自己対戦が出来なかったんで、これじゃぁ多分選手権には間に合わないです。 という訳で、全幅1手+静止探索6手に減らした上で、初期温度を0.02に変更して再投入。ざっと10倍位は速くなって…

備忘録2

一箇所設定をミスってたんで、変更して再投入。 22:59:15 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 学習率==0.001 22:59:15 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 駒割 : 有効(差分計算) 22:59:15 @ core::evl::LinearEvalua…

備忘録

↑で書いた学習、忘れない様に設定をメモしてみます。 21:09:23 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 学習率==0.001 21:09:23 @ core::evl::LinearEvaluator3::LinearEvaluator3() > 駒割 : 有効(差分計算) 21:09:23 @ core::evl::LinearE…

探索を深くして学習させてみます

ベイズ線形回帰とかカーネル法とか自然方策勾配とか色々試してみてもダメだったんで、前のまま(線形の評価関数+方策勾配法)で探索を深くしたバージョンをしばらく学習させてみます。 探索は全幅2手+静止探索一段目8手。これとは別に、方策内部で1手全幅…

自然方策勾配を実装してみました

多分、今のままの評価関数では動かないです、これ。 理由は動かしてみたら分かったんですが、パラメータ更新前に行列Zとqを使ってという式を計算する必要があります。 んで、対局中に一度も出現しなかった特徴があると、Zの対応する行・列が全て0になり、逆…

進行度周りを修正

オプション設定で進行度の有無を設定出来る様にして、それに関連して不要なコードを整理したりちょっと追加したり。今日はコンパイルエラーと戦ってるだけでした。 んで、今週末はパラメータ数を最小限に絞って自然方策勾配を実装してみようと思います。必要…

序盤だけ学習すると囲う現象

「囲う」と言うか、単に王将周辺に駒を集めるだけなんですが、ようやく再現しました。 今まで再現出来なかったのは単純な理由で、前は方策勾配の計算にバグがあるバージョンでこの現象が起きてて、バグを潰すと起きなくなってたみたいです。 ちなみに設定は…

一度視点を変えてみようと思って

わかりやすいパターン認識作者: 石井健一郎,前田英作,上田修功,村瀬洋出版社/メーカー: オーム社発売日: 1998/08/01メディア: 単行本購入: 19人 クリック: 110回この商品を含むブログ (42件) を見る ↑買ってみました。前から気になってなんですが、どうも最…

とりあえず学習ルーチンのデバッグ中

評価関数とか方策勾配法エージェントとかが怪しいんで、ソース読んだりログを見たりしつつデバッグ。 今日はもう寝るんで、アサーション有効にしてデバッグモードで一晩走らせてみます。

Haswellはトランザクショナルメモリ採用らしい

http://blog.livedoor.jp/amd646464/archives/52257233.html "Haswellで"と書かれているのでハードウェアで処理するタイプだとは思うのですが、どの程度性能が上がるんでしょうかね。 ついでに、私の場合はGA将では合議しかしない(=普通のαβ並列化ほど、ス…

二駒相対位置関係の評価のバグを一個修正

気付いてみれば単純なバグでした。 ただ、まぁ、棋力に大きな影響は無さそうな所ですし(多分)、これで上手く行くって感じでも無さそうです。