Stockfish 2.2への道 未完 [将棋]
最近、まったくStockfishをいじっていなかったのだが、理由は慎重にやってたのに弱くなったて、心が折れたから。
今を遡ること一ヶ月前、2chのコンピュータ将棋板より
100局だと6割、60-40だと明らかに強くなったと言える模様
というので100局ためしにやってみたところ40-60。
ちょっと前まで五分だと思ってたのに何かおかしい。
気を取り直して少し前まで戻しても40-60。
あげく、今までデグレだと思っていた箇所を無効化しても40ー60。
何をやっても40-60になっていて心が折れた。
かなり慎重にやってきた「つもり」だったが甘かった。
そもそも100戦がかなりきつい。
仮に専用マシンがあっても時間がかかるのでちょっと変更しては暫く待つ必要があるので本当に欲しいのはマシンパワー。
ただ、2.2の途中で終了処理の改善が入っていて、これが入っていると2.1が落ちないのではないかと疑っている。具体的には反復深化のときに最善手(PV)が入れ替わるときに無効なポインタ参照をしてしまっているのが原因(と思っている)。
そもそもが、NPS=強さでもないところがまた難しい。
例えば2chに書かれていたベンチマークだが
オリジナルgpsfishone(2.1ベース)
gpsfish_2.1.exe bench 1024 4 20 default time
===============================
Total time (ms) : 311350
Nodes searched : 238387391
Nodes/second : 765657
gpsfish 5ベース
gpsfish_5.exe bench 1024 4 20 default time
===========================
Total time (ms) : 320032
Nodes searched : 267113402
Nodes/second : 834645
時間が毎回揺らいでるのは仕様としてもNPSだけみると5のほうが多い。
にも関わらず弱いのは、いわゆるLMRのチューニングが変わっているからだと思われる。
今回それを探り出そうと思って、2度目のマージを行っていたのだが知らぬ間に弱くなっていた。
ということで、結論としては、単に強さを求めるのであれば2.1ベースにしておいたほうが無難。
5などをベースにするときはパラメータをチューニングする覚悟が必要。
と思っている。
また気力が出たらなにかやろうと思う。
あと、ソースコードの方はプッシュはしたが、gpsfish_5のタグも打ってなかったので、うっておいた。
https://github.com/woodyring/Stockfish
あと、タグにバイナリを登録した。core2あたりで動くようにビルドしたつもりだが動くかは不明
https://github.com/woodyring/Stockfish/releases/tag/gpsfish_5
動くかはわからないが、動いたら弱さを体感して欲しい(笑)
今を遡ること一ヶ月前、2chのコンピュータ将棋板より
>>468 > 将棋ソフトの思考方法を少し変えては変更前のソフトと1000回対局させ、53%以上の勝率を上げれば「強くなった」と判断する。 n局やって検出できる最小の勝率を(50+x)%とすると 有意水準5% x≒98/√n 有意水準1% x≒128.8/√n 有意水準0.5% x≒140/√n 簡単にx≒100/√n とすると 25局 70% 100局 60% 400局 55% 900局 53.3% 1600局 52.5%
100局だと6割、60-40だと明らかに強くなったと言える模様
というので100局ためしにやってみたところ40-60。
ちょっと前まで五分だと思ってたのに何かおかしい。
気を取り直して少し前まで戻しても40-60。
あげく、今までデグレだと思っていた箇所を無効化しても40ー60。
何をやっても40-60になっていて心が折れた。
かなり慎重にやってきた「つもり」だったが甘かった。
そもそも100戦がかなりきつい。
仮に専用マシンがあっても時間がかかるのでちょっと変更しては暫く待つ必要があるので本当に欲しいのはマシンパワー。
ただ、2.2の途中で終了処理の改善が入っていて、これが入っていると2.1が落ちないのではないかと疑っている。具体的には反復深化のときに最善手(PV)が入れ替わるときに無効なポインタ参照をしてしまっているのが原因(と思っている)。
そもそもが、NPS=強さでもないところがまた難しい。
例えば2chに書かれていたベンチマークだが
オリジナルgpsfishone(2.1ベース)
gpsfish_2.1.exe bench 1024 4 20 default time
===============================
Total time (ms) : 311350
Nodes searched : 238387391
Nodes/second : 765657
gpsfish 5ベース
gpsfish_5.exe bench 1024 4 20 default time
===========================
Total time (ms) : 320032
Nodes searched : 267113402
Nodes/second : 834645
時間が毎回揺らいでるのは仕様としてもNPSだけみると5のほうが多い。
にも関わらず弱いのは、いわゆるLMRのチューニングが変わっているからだと思われる。
今回それを探り出そうと思って、2度目のマージを行っていたのだが知らぬ間に弱くなっていた。
ということで、結論としては、単に強さを求めるのであれば2.1ベースにしておいたほうが無難。
5などをベースにするときはパラメータをチューニングする覚悟が必要。
と思っている。
また気力が出たらなにかやろうと思う。
あと、ソースコードの方はプッシュはしたが、gpsfish_5のタグも打ってなかったので、うっておいた。
https://github.com/woodyring/Stockfish
あと、タグにバイナリを登録した。core2あたりで動くようにビルドしたつもりだが動くかは不明
https://github.com/woodyring/Stockfish/releases/tag/gpsfish_5
動くかはわからないが、動いたら弱さを体感して欲しい(笑)
コメント 0