TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

2018-06-01から1ヶ月間の記事一覧

【Androidアプリ】電卓アプリをアップデート

ほぼ自分用のアプリですが、電卓アプリをアップデートしました。 play.google.com累乗と階乗の演算子の優先順位が除算と同じになっていたというバグの修正です。 JavaCCで文法を定義していましたが、編集ミスで階乗と除算が逆になっていました。電卓アプリは…

将棋AIの進捗 その24(自己対局による強化学習)

これまではAperyの初期局面集にfloodgateの棋譜を加えたものを初期局面集として自己対局を行っていたが、中終盤のバリエーションを増やすため、 やねうら王教師局面からAperyの初期局面集を作成(評価値200以内局面を抽出) 初期局面集から詰みの局面を除く と…

詰み探索の高速化

前回までに作成したdf-pnによる詰み探索を自己対局に組み込んでみたが、探索速度が遅くあまり実用にならなかった。これまでは、モンテカルロ木探索の先端ノードで全探索の7手詰めを行っていたが、それと同じ時間になるようにdf-pnの探索ノード数を調整すると…

王手生成の最大数

詰み探索のMovePickerには最大合法手分の配列を確保していたが、王手生成に限れば最大合法手分よりもサイズを減らすことができる。 そこで、スタックサイズを節約するため、配列のサイズを王手生成の最大数に合わせることにした。 合法手の最大数 合法手の最…

優越関係を利用した証明数と反証数の初期化

局面Aが局面Bを優越する場合、Aの証明数はBの証明数以上になる性質がある。 そのことを利用すると、Aの証明数は、AとAに優越されるすべての局面の証明数の最大値をAの証明数とすることができる。 反証数についても同様に優越関係を利用できる。これをそのま…