タグ

ブックマーク / gasyou.hatenablog.jp (5)

  • 探索ルーチンのリファクタリングは中断 - GA将?開発日記~王理のその先へ~

    強化学習関連でやってみたい事が出来たんで、そっちを優先します。 んで、何をするかと言うと、自己対局時に「あまり学習していないパラメータが出て来た局面を優先的に選ぶ」というものです。 今までの自己対局では「評価値が高い手ほど高確率で選ぶ」様にしていたのですが、別に自己対局で「勝つ」事は重要ではないです。 評価関数のパラメータに適切に値を設定するのが目的なので、むしろ「未知の局面」に誘導した方が良いんじゃないかな、と。 具体的には、UCB1*1の式を修正して、評価値にボーナスを与えます。 こうすると、PV末端で「あまり学習していないパラメータが出現したが、評価値が少し低い手」と「頻繁に学習したパラメータが出現した、評価値が高い手」を近い確率で選択する様にならないかな〜、と。 評価値にボーナスを与える以外はSoftmax方策のまんまですし、PV Leafの評価値+ボーナスを評価関数パラメータで微

    探索ルーチンのリファクタリングは中断 - GA将?開発日記~王理のその先へ~
  • 詰将棋ルーチンの話 - GA将?開発日記~王理のその先へ~

    ネタが無いんで、選手権時にチラホラ話していた詰将棋ルーチンの話です。 ザックリ言うと「ABC探索ベースで指し手を王手と応手に限定して、Singular Marginを無限大に設定したルーチン」なんですが、詳しく書いてみます。 まず、探索打ち切りはルートノードからの手数ではなく、先手・後手の「残り深さ」がマイナスになったら打ち切ります。 で、「残り深さ」ですが、攻め方(王手する側)は1手深く読む度に、そのノードでの「王手の数-1」を残り深さから引いていきます。同様に、守り方(王手される側)は「応手の数-1」を引いていきます。 ルートノードでは攻め方・守り方の残り深さを同じ値に設定して、残り深さで反復深化します。 こうするとどうなるかというと、「王手・応手の少ない、一道に近い展開」をどんどん深く読んでいきます。逆に、応手が多かったりすると有望では無い展開と判断して、浅い所で打ち切ります。 ま

    詰将棋ルーチンの話 - GA将?開発日記~王理のその先へ~
  • オンメモリプロセッサという妄想 - GA将?開発日記~王理のその先へ~

    コーディングしてると時々出てくるのが、メモリアクセスがボトルネックになる現象。 んで、これってメモリ上(か、メモリモジュール上)にシンプルなプロセッサ*1を載せれば解決しないかなぁ、と時々思います。 例えばdouble型の1次元配列が2つあって、内積を計算する場合。 これだと、連続したアドレスからメモリ上の値を読んで掛け算・足し算していくだけですから、プロセッサ・メモリ間を高速化するよりメモリに近い所にプロセッサを追加した方が高速化出来そうな気が。 FB-DIMMが実現出来た訳ですから、DIMMにARMコアを載せるってのも技術的には可能なはず。 問題はプログラミングのモデルをどうするかとかOSのサポートなんですが、そこら辺は誰かに頑張ってもらうとしてw まぁ、私が思いつく位だから、研究レベルだともう誰かがやってるでしょうね、多分。 *1:ARM系のとか

    オンメモリプロセッサという妄想 - GA将?開発日記~王理のその先へ~
  • 第24回世界コンピュータ将棋選手権 反省会場 - GA将?開発日記~王理のその先へ~

    ではまず、選手権で頻出した課題局面から。将棋所の画面を使わせて頂きました。 はい。初期局面です。 GA将!!!!!!!が先手番で指した手は、大抵7八金です。で、それを見た相手はほぼほぼ飛車を振ります。 自己対戦での学習時に、GA将!!!!!!!は居飛車ばかり指していたみたいです。なので、7八金は「どうせ相掛かりになるから、とりあえず角頭を守っておこう」という狙いだと思います。 で、後手としては「後手が振り飛車にすると7八金は悪形だから、飛車を振ろう」と考えたんじゃないかと。 実は、この辺の事は選手権で対局相手の方に解説してもらうまで分からなかったんですが、言われてみれば確かに、という感じです。 で、同じ様な問題(相手の戦型・狙いを決め打ちして指している)は他の局面でも起きている可能性が高いので、これは解決しないといけない問題です。 という訳で、対策としては居飛車・振り飛車をどちらも指すオー

    第24回世界コンピュータ将棋選手権 反省会場 - GA将?開発日記~王理のその先へ~
  • 第24回世界コンピュータ将棋選手権 - GA将?開発日記~王理のその先へ~

    私的には選手権は「年に一度のお祭」なので、今回も参加出来て非常に楽しかったです。 運営・共催・協賛等関係者の皆様、お疲れ様でした&ありがとうございました。おかげ様で貴重な時間を過ごす事が出来ました。 優勝したAperyチームの皆さん、おめでとうございます。来年は連覇目指して頑張って下さい。 選手として参加された皆さん、お疲れ様でした。色々と話が出来て楽しかったです。 GA将!!!!!!!は5勝2敗で一次予選を3位通過し、二次予選は3勝6敗で21位でした。 シード権は獲得出来ませんでしたが、「二次シード組に一発入れる」という目標は達成出来ました。来年は決勝進出争いに加われる位強くしたいです。 リアルタイムでじっくりとGA将!!!!!!!の指し手を見て、色々と課題が見つかりました。技術的な事は後日分析と対策を書きます。 とりあえず来年バージョンの目標ですが、オールラウンダーを目指して色々学習さ

    第24回世界コンピュータ将棋選手権 - GA将?開発日記~王理のその先へ~
  • 1