Majority」(以下、「魔女」と記す)というプログラムが強いということでその理由を考えてみました。(魔女のソースコードは全く読んでいません。)まず、ソースコードを読んだ人の感想から。Aperyの評価関数で、Stockfish7から探索パラメータのチューニングはそんなにしていないのではないかと。今回のApery(WCSC26)は、Stockfish6をLazySMP対応して、探索パラメーターをかなりの労力を払ってチューニングしたものだと思うので、何故、これより魔女のほうが強いのかという話になるわけです。私が思いつく限りの理由を挙げてみます。Stockfish7は、探索パラメーターをほとんどいじらなくとも将棋ソフトの探索部として使う場合、かなり適切なパラメーターである。平岡さんは1パラメーターずつ変えて、3000局ぐらい対局させて前のバージョンより有意に強くなっていなければ採用しない方針のようで、この方針だと局所最適解に陥りやすい。extensionなどのパラメーターを調整することで勝率は大きく変化する傾向があり、Apery(WCSC26)との対戦成績を信用するべきではない。定跡が分散していない等で、きちんとしたデータが採れていない。Apery(WCSC26)のlazySMPの実装に問題がある。1)は知らない人がほとんどだと思うのですが、まあ、そういうことなんです。ベストな値にしてもR50、上がるかどうか。探索パラメーターの最適化のみならず、(上位のソフトでは)枝刈りの仕方を工夫する勝負になっているわけです。2)がわりと問題で、有意でなくともある程度の見切りで勝率の上がりそうなほうにパラメーターを動かしたほうがいいという考え方もあります。SGDとかそうですよね。1パラメーターずつ動かすと、2パラメーター以上を同時に動かすのとは違って、局所最適解に陥りやすいです。平岡さんがStockfish6ベースからいきなり7ベースに変更せずにStockfish7で取り入れられた枝刈りを1つずつAperyに入れて勝率を確認しながら改善をされているわけですが、この方法だと複数の枝刈りによって初めて効果が上がるようなものはいつまで経っても取り入れられず、このへんで最新のStockfishにキャッチアップしているソフトとの差が開いていきます。3)は、特に重要で、魔女はAperyとの勝率を見るべきではなく、他の同じぐらいの棋力のソフトと対局させて勝率を見たほうが良いです。4)も、開始局面をバラけさせることが大事です。同じ局面から開始させてしまうと、1スレッド1手0.1秒固定とかだとかなりの確率で同じ進行になり、勝率が偏ります。異なる局面からスタートするのが大切です。このとき、(局面は異なるけど)同じ戦型ばかりになるのはいいのかとか、実戦で生じやすい戦型を重点的に対局させるほうが現実的な勝率になるのではないかなど色々な考え方があるとは思いますが、まあ、このへんも含めてノウハウであり、公平な条件でソフトの棋力を計測するのは、開発者の腕の見せどころでもあります。5)ですが、たぬきのもり(WCSC26)では、大樹の枝にlazySMPを実装したわけですが、24コアPCで計測するとYBWC版より負け越しているようでした。Stockfish6をlazySMP化するのは何か罠があり、たぬきのもり(WCSC26)とApery(WCSC26)は、この罠にハマった可能性もあります。:時間無くてStockfish7の手法全ては試せていないです。counter_move入れてみようとしてたら選手権になってしまいました。結果的には個別に色々試すよりも、Stockfish7ベースで書き換える方が早く強く出来たという事ですね。探索の比較が出来てラッキーです。結果的には個別に色々試すよりも、Stockfish7ベースで書き換える方が早く強く出来たという事ですね。いうことなんですよね。extension絡みで自己対戦成績だけが良くなっているのでなければ。:局面を指し手によって1手進めるdo_move()という関数があるのですが、これを呼び出した回数が探索node数(=探索局面数)となります。second)となります。これは将棋所などで対局させると表示されているかと思います。)を呼び出しています。探索node数≒評価関数を呼び出した回数です。そこで、将棋所のnps表示から思考にかかった時間を掛け算をすれば、おおよその評価関数を呼び出した回数を算出出来ます。:返答ありがとうございます。片方は「評価関数を呼び出した回数10万回」みたいだったら前者の方が優秀である可能性が高い。みたいだったら前者の方が優秀である可能性が高い。枝刈りってすればいいとは限らないので、そのへんはバランスですね...。1手深くなるごとに探索局面数(≒評価関数を呼び出した回数)がk倍になるとして、kが小さければいいというものではないですね。評価関数が優秀だとkは小さくなる傾向はあるかと思いますけども。kは「(探索時の)平均分岐数」と呼ばれる係数です。さんの探しておられるものが、これなのかどうかはよくわかりませんが...。:将棋ソフトの優秀さなんて、対局させて強い方としかいいようがない。いう話じゃなくて、なんとかちゃんねるでよくやってる、難しいお題の局面で同じ正着を見つけるのにどのくらい探索にかかったか、って話ですかね。MAJORITYは実はやねうらおうが作って、あとから使用料を請求するってネタも流れてましたよw。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。