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

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

TODO

学習ルーチンの分散コンピューティング化に必要な事

サーバ・クライアントのプログラムの修正・実装 サーバ(Java:通信周りを実装) サーバ(C++:パラメータ更新周りを修正) クライアント(Java:GUIと通信周りを実装) クライアント(C++:自己対局&勾配計算周りを修正) ランキングのデータ集計&HTML化…

選手権までの開発スケジュール(案)

3月中:PGQの実装&アピー文書書く 4月頭~:評価関数パラメータの学習(4月20日頃までに完了させる) 4月20日~:思考時間制御のデータ収集&設定を決める ギリギリ、だなぁ。

UEC杯までにやるべき事

評価関数パラメータの学習 思考時間制御のパラメータ調整 Ponderの検証 1.は今の学習ルーチンが良い感じなので、ジックリ時間をかけてやれば良いはずです。 2.に関しては、大会が20分切れ負けなので、最大思考時間を90秒か120秒に設定。んで、思考開始から1…

選手権で見えた課題とその対策

まず、課題。 駒割を重視しすぎて指し手がヌルい。 圧倒的な学習時間(≒対局数)不足。 テキトー過ぎる思考時間制御。 1.に関しては「15年前の評価関数だね」という感じの有り難い助言を頂きました。本当にその通りで、ここは改善の余地ありです。 2.ですが…

実現確率探索に論理バグ発見

バグと言うか、仕様の不備かな。Scoutしとけば良い所で、通常のαβウィンドウで探索してた。 ただ、今は学習ルーチンの修正中なんで、グッと我慢して後で修正する事にします。

選手権までにやりたい事

評価関数のテスト&デバッグ 探索パラメータの学習 まず、評価関数のテストには桜丸@紅莉鳥栖使いたいさん提案の「レベルアップ判定」を使わせてもらっています。 https://twitter.com/sakuramaru7777/status/673435935850127360 私の実装では、100局に1回レ…

次回選手権までのロードマップ

まず最終的な学習ルーチンの構成は「TDLeaf(λ)+Softmax方策+DNN評価関数」とします。 時間があればPGLeafにしたいのですが、流石にそこまでは無理そうです。 んで、上記構成を実現する為にやるべき事。 DNN評価関数の実装。 Convolutionは使用せずに、全結…

今週末にやるべき事

本将棋モード時のDropoutの挙動を修正 フィッシャクロックルールの追加時間を思考時間制御に反映(GPW杯対策) とりあえず、これだけやれば大丈夫かな。

来年に向けてのタスク

完成形の目標はこんな感じ。 線形の評価関数 玉の固さをちゃんと評価出来る様にする 普通のαβ探索 第25回選手権バージョンをリファクタリングするだけで、それ以外は極力いじらない予定 16種類の評価関数による多数決合議 対局時は、シングルスレッド探索ル…

選手権までにやる事

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

選手権までにやる事

GAによる探索パラメータの学習(3月末まで) 並列探索(4月中に) まぁ、可能なのはこれ位かな、実際。 GAの方は行き詰まり気味ですが、後1ヶ月でなんとか形にしたいですね。

とりあえず合議で対局するのは可能になった

まず、Stockfish風探索ルーチンは断念しました。 理由としては、GAでのパラメータ学習が上手く行かなかった事が主な要因です。 かと言って、数十あるパラメータを手調整するのは、私には無理です。 そういう訳で、探索ルーチンはABC探索の方にリトライします…

賀正

遅くなりましたが、あけましておめでとうございます。今年もよろしくお願いします。 さて、一年の計は元旦にありと言いますので、とりあえず今年の(と言うか、選手権までの)TODOでも書いてみます。 Stockfish風探索ルーチンのテスト・デバッグ。 上記探索…

今日帰ったらやる事

ログ出力機能を実装。 rastrigin関数でちゃんと収束しない原因を調査。 ログは、適応度の平均・最大値と各パラメータの平均・エースの値を出せばいいかな。 二つ目の収束しないのは、まずは論文のメタパラメータと値を揃えてテストしてみますか。

今日やる事

GA将!!!!!!!! 電王トーナメントバージョンの公開 SR-PGLeafのアルゴリズムを整理 評価項目追加(三駒相対) Stockfishベースの探索ルーチンをテスト 来週やる、来週 とりあえず三駒相対の差分計算実装かなぁ。 差分計算を午前中に片付けて、午後からはGA将!!…

今週末にやる事

GA将!!!!!!!! 電王トーナメントバージョンの公開 SR-PGLeafのアルゴリズムを整理 評価項目追加(三駒相対) Stockfishベースの探索ルーチンをテスト

選手権までのプラン

2014年11月 探索のStockfish化(シングルスレッド) 2014年12月 並列探索 正月休み 探索のパラメータ調整(可能ならGAで自動化する) 2015年1月 VAPS 2015年2月 評価項目の追加 2015年3月 評価関数の非線形化 2015年4月 チューニング 以前書いてた、さくらの…

選手権に向けてやりたい事

評価関数は現状のコードをベースに改良 基本は線形の評価関数 状況次第では非線形に拡張する 自己対戦からの強化学習でパラメータ調整 VAPS(Value and Policy Search)*1とαβ探索を組み合わせてみる 評価項目を追加 三駒関係 探索はStockfish化 並列探索 各…

プラン再考

加筆&ちょっと優先順位を調整。 コンセプト ギャンブルまがいの「当たればデカいけど、成功確率低い」事もどんどんやって行きます。下手な鉄砲も数撃ちゃ当たる!!! その為の方策として、手間がかかるパラメータ調整は全部学習ルーチンに押し付けます。具…

明日やるべき事

GA将のウェブサイト更新(WCSC24のコメント更新&バージョン表記を修正) 今年一年のTODOリストを作成 Ver.8のプロジェクトを作成 ブログの下書きを清書する

来年に向けてのプラン

鬼の笑う来年の話。ひとまず完成形はこんな形。 昨日一昨日対局した感じだと、探索と評価関数の両方を頑張らないと上には行けないので、どっちも学習で何とかします。 それから、マシンパワー(並列性)は基本的には合議で活用する方向です。 グランドデザイ…

枝刈り関連はほぼ完了

以下は実装済み。 LMR(パラメータ調整中) Null Move Pruning(パラメータ調整中) Futility Pruning・Extended Futility Pruning(パラメータ調整中) Transposition Table Ponder 以下は未実装で、やってみたい。 グローバル詰みテーブルの実装 頓死チェ…

細々更新

以下は実装済み。 LMR Null Move Pruning Futility Pruning(パラメータ調整中) Transposition Table Ponder 以下は未実装で、やってみたい。 Extended Futility Pruning Aspiration Search グローバル詰みテーブルの実装

探索関連でやってる事・やってない事

以下は実装済み。 LMR Null Move Pruning Transposition Table 以下は未実装で、やってみたい。 Futility Pruning、Extended Futility Pruning Aspiration Search Ponder

選手権までにすべき事

例によって優先度順で。 新アルゴリズムでの学習(継続して実施)。 進行度計算ルーチンの実装及び、それを用いた思考時間制御の実装(前バージョンからまるっと持って来る予定)。 詰んだ場合の挙動の修正(可能な限り短手順で詰む手を指す)。 複数評価関…

久々に更新

選手権まであと2ヶ月チョイしか無いので、それまでに出来そうなのをピックアップ。 前提条件として、マシンは6コア12スレッドのものを購入して学習・選手権に使用するものとします。 新学習アルゴリズムのデバッグ・各種メタパラメータの調整 評価項目追加 …

色々修正

とりあえず探索の強化は後回し。 それから、報酬は勝敗に応じた値だけでもそこそこ強くなりそうなので、下手に手を加えない事にしました。 という訳で、まずは実戦用に詰将棋ルーチンを実装。その後に合議方策勾配法をやるって事で。 合議方策勾配法は色々と…

ザックリとリストアップ

優先度順(上ほど高い)で。 探索の強化 ムーブオーダリングの改善(SEEの導入・パラメータ調整) LMR Null-Move Pruning Futility Pruning 自己対戦学習時の報酬の与え方を変更 銀・桂馬の前進時に報酬を与える 詰将棋ルーチンの実装 合議方策勾配法の実装 …

とりあえず現状の課題

評価項目の追加 三駒相対位置関係 王将の移動可能範囲 入玉関連 入玉勝ち宣言の実装 局面の特殊な状態の認識 持ち駒優劣関係のある局面 盤面が同一で手番だけ異なる局面 詰将棋ルーチンの追加 まずは入玉関連の評価項目追加&入玉勝ち宣言の実装かな。今日す…

来年に向けてのプラン

PGLeafの実装 エージェント本体 4x4リバーシの局面クラス・評価関数・探索ルーチン 5五将棋・本将棋の局面クラス・評価関数・探索ルーチン ムーブオーダリングの改善 History HeuristicとSEEを組み合わせてみる 各種枝刈・探索の短縮 LMR null move pruning …