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

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

TODO

選手権終わったらやりたい事

カブロボに手を出すのはやめて、当分コンピュータ将棋に集中します。 一からコードを書き直す(現在も進行中) 三目並べ・リバーシ・将棋を一つの強化学習エージェントで学習可能にする 評価関数は差分計算を基本にする 評価項目の追加 二駒の絶対位置関係 …

さらに忘れてた分を追加

選手権終わったらやる事。 コンピュータ将棋の改良 一からコードを書き直す(現在も進行中) 三目並べ・リバーシ・将棋を一つの強化学習エージェントで学習可能にする 評価関数は差分計算を基本にする ABC探索 Ponderの実装 とりあえず普通の 相手番に、対局…

忘れてた分を追加

コンピュータ将棋の改良 一からコードを書き直す(現在も進行中) 三目並べ・リバーシ・将棋を一つの強化学習エージェントで学習可能にする 序盤はUCTで指すのを試す ABC探索 Ponderの実装 とりあえず普通の 相手番に、対局中の局面から学習してみる カブロ…

意外とやる事残ってる

将棋の学習関連 TDLeaf(λ)エージェントを再実装。 方策をエージェントから独立させる。 学習中の各種統計情報の収集・表示ルーチン実装。 std::vectorあたりを勉強しとくこと。 王手将棋での予備実験。 εグリーディーとソフトマックス手法の比較。 評価関数…

選手権終わったらやりたい事まとめ

まぁ、選手権の対局を見てればこれ以外にもやりたい事が出てくるでしょうけど。 Atomで一台組む(floodgate等に) コンピュータ将棋の改良 一からコードを書き直す(現在も進行中) 三目並べ・リバーシ・将棋を一つの強化学習エージェントで学習可能にする …

一旦整頓

将棋の学習関連 TDLeaf(λ)エージェントを再実装。 方策をエージェントから独立させる。 学習中の各種統計情報の収集・表示ルーチン実装。 std::vectorあたりを勉強しとくこと。 王手将棋での予備実験。 εグリーディーとソフトマックス手法の比較。 評価関数…

とりあえずは今の方向で進めます

まずは短期。 探索ルーチンの修正 SEEでオーダリングを試してみる MTD-∞ ちゃんとプロファイルとる 中期。選手権まで。 将棋の学習関連 TDLeaf(λ)エージェントを再実装。 方策をエージェントから独立させる。 学習中の各種統計情報の収集・表示ルーチン実装…

細々と実装中

今日やった事。 直線探索を実装して、学習率の設定が楽になった。 駒割の重みの変化をファイルに書き出す。あわせて、ログ出力関係の追加。 昨夜からの一晩分のパラメータだと、学習率が高すぎる様な傾向だったので、今度は学習率を低めに設定して一晩走らせ…

結局昨日は一日中寝てました

ダメ人間まっしぐらです orz 一応、ルートノードでの枝刈りのパラメータ修正はやったので、その結果だけは後で見てみます。 ログ出力まわりの整理 評価関数の再実装 ついでに王将との相対位置評価を実装 ルートノードでの枝刈り とりあえず駒割の重み推移だ…

短期目標含めて更新

まずは短期。 ログ出力まわりの整理 評価関数の再実装 ついでに王将との相対位置評価を実装 【保留】ルートノードでの枝刈り マルチスレッド化 探索ルーチンの修正 ちゃんとプロファイルとる 上の結果次第で、二駒の相対位置関係のチューニング 選手権までの…

…むずい

ルートノードでの枝刈り(仮の最善手よりある程度評価値が低そうな手は、真面目に探索しないルーチン)ですが、昨日からやっててイマイチ良い結果が出てないです。 一応1.5倍程度の高速化はしましたが、副作用ありでこの程度だとちょっとなぁ…って感じです。…

しまった、更新してなかった

ログ出力まわりの整理 評価関数の再実装 ついでに王将との相対位置評価を実装 ルートノードでの枝刈り マルチスレッド化 探索ルーチンの修正 ちゃんとプロファイルとる 上の結果次第で、二駒の相対位置関係のチューニング

当面の方針として

ログ出力まわりの整理 評価関数の再実装 ついでに王将との相対位置評価を実装 ルートノードでの枝刈り マルチスレッド化 探索ルーチンの修正 ちゃんとプロファイルとる 上の結果次第で、二駒の相対位置関係のチューニング ログ出力は性能面以外でもメンテや…

短期目標

当面の方針は「ひたすら高速化する」ですが、今まで書いてなかった事も含めてまとめときます。 まず、やる予定の事。括弧内は速度向上率の目標値。 マルチスレッド化 (x6) 評価関数の再実装 (x3) 二駒の相対位置関係のチューニング (x1.2) ログ出力まわりの…

プラン再構築

将棋の学習関連 TDLeaf(λ)エージェントを再実装。 方策をエージェントから独立させる。 学習中の各種統計情報の収集・表示ルーチン実装。 std::vectorあたりを勉強しとくこと。 王手将棋での予備実験。 εグリーディーとソフトマックス手法の比較。 評価関数…

ハッシュ表の再実装完了

C++のテンプレートを使って、ある程度汎用性のある実装に出来たと思います。多分。 前のはMTD(f)の通常探索用途に偏ってたんで、静止探索だとか他の探索ルーチンだとかと組み合わせるのが難しかったのですが、今度は多分大丈夫。多分。 ただ、ちゃんと動いて…

年末なので色々整理

細々した予備実験が終わったら、いよいよ本将棋の学習です。 で、対局数さえ増やせられればある程度上手く行くんじゃないかと思うので、当面は高速化を中心にやってきます。 正月休み中には時間がかかりそうな探索・ハッシュまわりの実装をして、それから並…

今日やった分まで反映

リバーシでの予備実験 TDLeaf(λ)実装。 TDLeaf(λ)を方策オフに修正。 将棋の学習関連 TDLeaf(λ)エージェントを再実装。 方策をエージェントから独立させる。 学習中の各種統計情報の収集・表示ルーチン実装。 std::vectorあたりを勉強しとくこと。 王手将棋…

今日までの分を反映

全然関係無い話から入りますが、今月入った辺りから鋼鉄の咆哮3ってゲームにハマってて、開発そっちのけでした。 おおざっぱに書くと「戦艦や空母を設計して、その艦を使って戦う」ってゲームなんですが、やってて思った事が一つ。 足し算で設計する…って言…

プラン再構築

メタ強化学習関連をざっくり削除。「ニューロ評価関数+メタ強化学習で、動的にノードの追加・削除を行う」ってプランがあったのですが、それに関しても後で検討する事にします。 それから、リバーシ用の線形評価関数はイマイチ能力的に怪しい部分があるので…

もういい加減、メタ強化学習に見切りをつける時期かもしれない

メタ強化学習 今月いっぱいは足掻いてみて、それでめどが立たなかったらすっぱりあきらめます。 メタパラメータの調整 メタ強化学習が失敗した場合は、何か別の手を考える必要あり。今の所案は二つ。 王手将棋*1・後手ランダム指しで、手作業で調整 上の条件…

色々修正

開発の方はさっぱり進まないです。この分だと、年内に完成も難しいかも… リバーシでの予備実験 TDLeaf(λ)実装。 メタ強化学習で、状態を見て行動選択する様に変更。 メタ強化学習で、状態の表現方法を検討。 εグリーディーとソフトマックス手法の比較。 TDLe…

いったん仕切り直し

リバーシでの予備実験 TDLeaf(λ)実装。 メタ強化学習で、状態を見て行動選択する様に変更。 εグリーディーとソフトマックス手法の比較。 TDLeaf(λ)とTD(λ)の比較。 ← 9月中にはこの辺まで 将棋関連 TDLeaf(λ)エージェントを再実装。 方策をエージェントから…

色々作りなおしたい

強化学習エージェント 方策をエージェントから独立させる メタ強化学習対応 報酬の扱いを修正 探索ルーチン 静止探索専用で、静止探索でもハッシュ表を使用する 今はKFEnd流の2段階だけど、1段階で深さ無制限にするかも → 性能差を計測してから ハッシュ表 …

短期的な項目

「王手したら勝ち」って条件でも上手く行かないので、それの対策。 ソフトマックス手法を試してみる 評価値が高い手ほど選択する確率が高くなるので、ひょっとしたら上手く行くかも 本格的に実装する事になれば、エージェントと方策の実装を分離する メタ強…

色々思い付いたので書き散らす

とりあえずTDLeaf(λ)+線形評価関数が上手く行かないので、それの対応策。 教師ありで学習してみる(評価関数・探索ルーチンは流用) TDLeaf(λ)のエージェント以外がちゃんと動作しているかの確認 + 情報収集が目的 いきなりニューロで評価関数を実装してみ…

色々思い付いた事を追加

本当に必要かどうかは後で検討する。(※マーク) 将棋関連 TDLeaf(λ) 評価関数に特徴を追加 駒の種類・筋ごとの評価 駒の種類・段ごとの評価 駒の種類とその駒に利いている自分 or 相手の利きの数の評価 駒の種類・移動可能なマスの数(自由度)の評価 評価…

今日やった分を反映

将棋関連 TDLeaf(λ) 評価関数に特徴を追加 駒の種類・筋ごとの評価 駒の種類・段ごとの評価 駒の種類とその駒に利いている自分 or 相手の利きの数の評価 駒の種類・移動可能なマスの数(自由度)の評価 将棋のルールの細かい部分の実装 千日手・連続王手の千…

今日やった分を反映

将棋関連 TDLeaf(λ) 評価関数に特徴を追加 駒の種類・筋ごとの評価 駒の種類・段ごとの評価 駒の種類とその駒に利いている自分 or 相手の利きの数の評価 駒の種類・移動可能なマスの数の評価 将棋のルールの細かい部分の実装 千日手・連続王手の千日手の検出…

年度も変わった事ですし、ここで仕切り直し

将棋関連 TDLeaf(λ) 将棋のルールの細かい部分の実装 千日手・連続王手の千日手の検出 入玉宣言の実装 詰みとステイルメイトの区別 打ち歩詰めと打ち歩ステイルメイトの検出 他のソフトとの連続対戦(勝率での検証用) ニューロ評価関数 予備実験 C++ on x64…