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

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

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

新評価関数の調整中

設定しないといけないメタパラメータがいくつかあるので、それをいろいろ試して学習させてます。 それから、方策の方もちょっと改良。時間が無いので、新評価関数の調整と並行してやっていきます。 選手権まで後1ヶ月と数日。間に合うかは微妙ですが、頑張り…

新評価関数の調整

Factorization Machineの特性上、パラメータの初期値として与える乱数がパラメータ修正量に大きな影響を与えます。 従来の評価関数では平均0・標準偏差1E-10の乱数だったんですが、このままだとFMの項(2つの特徴量の積)がずっと小さいままです。 んで、場…

新評価関数のチューニング

評価値が差分計算出来る事に気付いたので、早速実装。 NPSが50〜100kだったのが200k前後まで向上。まぁまぁですね。 ただ、それでも処理時間のほとんどが評価値計算なので、何とかしないと。 と言っても、後は実装レベルでのチューニングだけなので、悩まし…

全幅3手での学習

一時的に対Bonanzaの勝率が上がった後に、ドッと下がってそのまま改善しませんでした。 なんか問題があるんだと思いますが、まずは新評価関数の実装を優先したいので学習は中断します。

48knps

学習用マシンで自己対戦中ですが、旧評価関数では300knps前後だったのが新評価関数では48knpsに。 速度低下が1/6なので反復深化が2手前後浅くなる計算ですか。 評価関数の精度が向上すればペイするかと思いますが、どうですかねぇ…

本日の開発終了

新評価関数の進捗具合ですが、完成度60%といった所でしょうか。 駒割・二駒相対・二駒絶対と三・四駒絶対(Factorization Machine使用)の実装は完了していて、後は従来の評価項目を旧評価関数から移植すれば完成です。 あ、それから評価値の差分計算周りも…

今週末のTODO

アピール文書を書く 選手権の使用マシンとアピール文書、シード権について手続き 評価関数の改良

評価関数の改良に着手

探索の改良は選手権直前でも可能なので、まずは学習に時間がかかる評価関数の改良をする事にしました。 んで、現在は新評価関数を一から書き直し中。 主な改良点としては 適切にクラス分けして、処理の見通しを良くする。 Factorization Machine*1を用いた三…

Move Count Based Pruning実装

対Bonanza 6.0(5手読み)の勝率は284-0-193で59.5%、95%信頼区間は55.0〜64.0。 多分実装前より強くなってるんで、良しとしましょう。 …で、全幅3手+静止探索での学習結果。87-0-237で勝率26.9%。 こっちは前日のパラメータより明らかに弱くなってます。…

千日手回避

が出来ていない事が発覚。多分、置換表がらみのバグですね。 さて、どうしたもんかなぁ…

並列探索の効果

Core i7 4930K(3.4GHz 6コア)マシンで並列探索ルーチンを使用してBonanza 6.0(5手読み)と一晩連続対局。 結果は292-0-212で勝率57.9%、95%信頼区間は53.5〜62.3。 シングルスレッドの場合は300-0-278で勝率51.9%だったので、多分強くなってるはず。 ……

並列探索のその後

とりあえず、対局させてもアサーションに引っかからなくなりました。 んで、肝心の棋力向上ですが、現在Bonanza 6.0(5手読み)相手に連続対局中。 …あんまり強くなってる感じは無いですね。 ついでに、CPU使用率は50%前後をフラフラしているので、まだチュー…

とりあえず

上で書いたバグは修正完了。βカット発生時の処理関連のバグでした。 んで、現在別件のバグが発見済み。こっちは処理完了したスレッドの再利用が出来ない、というものです。 今日中の修正は断念したので、明日以降に持ち越しです。

並列探索の現状

並列探索ルーチンをシングルスレッドで走らせると正常なのですが、マルチスレッドだと不詰みの局面を詰みと誤認するバグが発生しています。 で、デバッグ用に探索木のログ出力(YssTreeを使わせて貰っています)を修正して、マルチスレッド時に全部のログを…

並列探索のテスト予定

今日 並列探索ルーチンをシングルスレッドで動作 明日 マルチスレッド動作に変更 明後日 Aspiration Searchを有効にする 今週末にはテスト完了してfloodgateに投入出来るかな? 無事に動けば、ですが。

4対局並行中

自己対戦での学習 学習中のパラメータの検証(シングルスレッド探索) 並列探索のテスト floodgate 今、自宅のPCでこれだけの対局が進行中。 …さすがに、全部目を通すのは物理的に無理だなぁ。

VS Bonanza 6.0(5手読み)

静止探索を安定性の向上を目的として少し修正したんで、テストも兼ねて連続対局。 んで、結果は432-4-409で勝率51.4%。95%信頼区間は47.9〜54.8。 前とほぼ同じ結果なので、まぁ良しとしましょう。

さて

現在全幅3手+静止探索で学習中で、結果が出るのは早くて1週間後。 んで、その間ボーッとしてるのもなんなので、今のうちに並列探索を何とか完成させたい所です。 それから、実装と並行してFactorization Machinesを用いた評価関数の設計もやっていきますか。…

VS Bonanza 6.0(5手読み)

全幅2手+静止探索で140万局学習したパラメータ。昨夜から一晩分。 結果は300-5-278で勝率51.9%。95%信頼区間は47.7〜56.0。 割とイイ感じなので、このパラメータをfloodgateに投入します。19:00の回から反映されるはずです。

VS Bonanza 6.0 5手読み

探索パラメータを修正したバージョンで一晩分。1手1秒。 結果は139-0-196で勝率41.5%。95%信頼区間は36.2〜47.0。 「少しだけ強くなった」って感じでしょうか。 んで、全幅2手+静止探索で140万局学習したパラメータが出来たんで、今度はそっちで連続対局…

選手権までにやる事

全幅探索部のハッシュ表の扱いを修正 Aspiration Searchの実装 並列探索のチューニング(Split条件の見直し) 打ち歩詰め判定の修正 入玉勝ち宣言の扱いを修正(相手が宣言しない場合への対処) 全幅3手+静止探索で学習 評価関数パラメータに関してはそこそ…

VS Bonanza 6.0

Bonanzaの方は探索深さ5手までに限定した、ハンディキャップマッチです。 んで、http://d.hatena.ne.jp/Gasyou/20150304/1425465085 で使った評価関数・探索ルーチンそのままで連続対局。 結果は389-0-625で勝率38.4%、95%信頼区間は35.4〜41.4。 とりあえ…

やっぱり投入する

Sunfish3さんにひどい負け方したんで、20:00の回から上で書いたパラメータを投入。 これでRが1900位まで上がれば嬉しいなっと。

過去最高の出来、かも

http://d.hatena.ne.jp/Gasyou/20150303/1425379246 昨日の棒銀を覚えた評価関数パラメータ+改良後の探索ルーチンでsspと連続対局。 結果、370-0-32で勝率92.0%、95%信頼区間は88.9〜94.5。 前回選手権時の評価関数パラメータだと勝率が84%だったので、…

棒銀を覚えた!

V2.2 N+Lesserkai 1.3.6 N-Gasyou8_8.0.34 P1-KY-KE-GI-KI-OU-KI-GI-KE-KY P2 * -HI * * * * * -KA * P3-FU-FU-FU-FU-FU-FU-FU-FU-FU P4 * * * * * * * * * P5 * * * * * * * * * P6 * * * * * * * * * P7+FU+FU+FU+FU+FU+FU+FU+FU+FU P8 * +KA * * * * * +H…

並列探索の効果 続き

前回とは探索ルーチンだけ改良後のものに変えて、思考時間を4倍にしたらどうなるかテストしてみました。 で、1.7秒だと336-0-64で勝率84%、6.8秒だと374-0-26で勝率93.5%。 レーティングは+175なので、伸び率としては改良後の探索ルーチンの方が上ですね。…

並列探索の実装中

なんですが、完成度95%位の所でバグ発生。結構根本的な問題みたいです。 さて、困った。