標題の件。
やねうら王nano plusの最終的なレーティング
やねうら王nano plus、昨日の改良で+R200ぐらい上がった(と思う)ので、これをもってやねうら王nano plusの開発は終了する。R2400は超えていると思うが、floodgateではR2200~2700ぐらいの地帯が空洞化していて、正確なレーティングがわからない。
一昨日のバージョン(R2200相当)には9割ぐらい勝ち越すし、昨日投入してからR2200以下のソフトには一度も負けていないのでR2400程度ではあるだろうから、これにてnano plusの開発を終了する。
1スレッド比較ではこれでおそらくBonanzaと同等か少し弱いぐらいの強さであるから、これを並列化して少し手直しすればBonanzaと同等ぐらいになる。やねうら王miniでは、そうする予定だ。
やねうら王nano plusの特徴
結局、nano plusはシングルスレッドによる探索でponderはしないし、時間の使い方も1手に使う時間は残り時間を60で割ったものを固定で使っているし、枝刈りもLMRとfutility、killerとhistory(counter move等を含む)しかやっていない。null moveもprob cutもやっていない。これでBonanzaと同等ぐらいの強さになっていることは非常に興味深いわけであるが、コメントを除くと300行程度しかないので興味のある人は読んでみて欲しい。(私はコメントを大量につけるほうなので、ソースコード自体は非常に理解しやすいと思う。)
ちなみに、1手詰め判定は入れても自己対戦でR30上がるかどうか程度だった。0.5手延長のようになって自己対戦成績が上がって見えるだけかも知れないので1手詰めは微妙で、もっと呼び出すタイミングを調整しないといけないっぽい。
やねうら王nano plusのバグ
26コアで一晩自己対戦をさせ続けたところ(おそらくバグで)2回落ちたようだ。バグの原因がわかった人は教えて欲しい。
このあと並列化すれば、6コアで自己対戦させるなら落ちるまでの平均時間は1/6になるのでそのうちどこかでデバッグ中に落ちて原因がわかるかも知れないが…。
落ちた局面のsfenを以下に貼り付けておくが、この局面から単体で思考させても落ちないので置換表絡みかMovePicker絡み(指し手生成絡み、pseudo-legal絡み)なんだろうなぁ…。→ (2016/02/26 4:00 追記) 原因わかりました。counter moveのテーブルの初期化が抜けていて、これがMovePickerに渡り、pseudo-legalの判定で落ちてました。
1 2 |
sfen 1n1gk2n1/+B1s3gs1/ppp2r3/3pp1p2/5+r2l/2P1P4/PP1P1SP2/1BG2P3/LNS1KG2L b 2PN3pl 57 sfen 1nkg1g2l/l1r4s1/pp3p3/2NB3pp/3Sp4/5P2P/PPSPP2P1/4GR3/LN2KG2L w 3P2pnsb 104 |
やねうら王miniはいつできるの?
並列化して将棋ソフトとしての体裁を整える。(引き分け時のスコアや、ponderなどにおいて。) そうするとBonanza6と互角以上になる。(はず)
今月末ぐらいに完成予定である。