前回の続きです。主に自分用の作業メモに近い感じで記録しておきます。
wcsc30のエントリーも締め切られましたが個人的には暢気なものでAobaZero弄りが楽しい日々です。
そういえば以前の選手権の前も技巧弄りをしておりました。決してそれだけしかしてないわけでもないのですが・・・
AobaZeroに関して前回以降に加えた機能は
1.時間制御をもう少しマシに
具体的には無駄な探索を打ち切る分岐を2,3追加しました。
dlshogiのような時間延長はやっていません。
2.MultiPV対応
まぁMCTSで読んでるので第二候補以降も表示しただけです。
ノード数含めて表示してやると各ノードの伸びが見えて楽しめます。
問題点は
1.以前からある頓死問題
ふと見たらこのレベルで珍しいくらいの頓死。>AobaZero_w874_n_p400_t8 vs. Bsk_ENyo_EVor (2020-02-04 16:00) https://t.co/xThwPNBy1B
— 48 (@bleu48) 2020年2月4日
2.頓死と同じレベルの読み抜け
頓死と同根だが対応策が別の場合があるため分けておきます。
通常のMCTSでは相当ノード数を増やしても根源的に回避は難易度が高い。
単に学習不足で片づけるのは気の毒な気がしています。
3.千日手判定は出来ているが,劣等局面判定がありません。
「歩を打って捨てて打って捨てて」等の手駒を相手に渡すだけの手順を回避していません。
4.入玉宣言ルーチン
上記に比べたらレアケースだが欲しい機能です。
sfen対応はこれ実装用の前座でもあります。
5.CUDA直叩きによる高速化
公式で対応してくれると信じて待ちます。
6.優位になってから詰め切れない
1050Tiクラスで技巧2に負ける気がしないレベルまでになってきていますが,その理由は技巧がデフォルト-3000で投了してくれるからという安直な理由です。
実は駒得やねうら王を追い込むのすら難儀しております。
gikou2_1cに優位に勝ち越してもKristallweizenの1000kノードに負け越すような感じになります。(ちなみにDELLのちょっと前のG3ってノートで1050Ti)
7.Ponder未対応
自己対戦しかしないなら要らないですよね。
ふと感じたこと。
AobaZeroはそもそもAlphaZero追試プロジェクトです。私が勝手に良かれと改造するのがこれに対して弊害になる可能性があります。つまり,AlphaZeroになかった機能の追加や本筋と違うバイナリによる収集棋譜汚染などです。
本家にプルリク送るよりは自分のところだけで更新をしておくのが適当と思っておきます。
私がDL勢最右翼と考えているdlshogiと結構よい勝負になってきたと思っていたのですが,まだ届いてはいないようです。もちろん今回問題点として洗い出しているようなものをdlshogiは具体的に対策されているからでもあります。ネットワークサイズが相当違いますので単純に比較できませんがそれはそれとして面白いとみるべきかもしれません。
dlshogiの方も検討エンジンとして使えると面白いとか考え始めたので一旦締めます。
---
2/13 追記
AobaZeroの方のオプション「-n」でノイズを加えているのですが,これは自己対戦で同じ棋譜にしないためのもので当然弱くなります。
これを外すと時間の追加制御を加えたエンジンでdlshogi_wcsc29とほぼ五分の勝敗になりそうです。
とくに評価値の傾向が全く異なるので随分新鮮な気持ちになります。