Singular-Extensionをやってみました
IBMのchessのDeepBlueがやっていたというSingular-Extensionをやってみました。
↑やり方が間違ってるかもしれない
PVSで、PVノード以外の手がSMARGINだけすべて下回っていたら、
PVノードは突出して良い手なので、0.5手延長。
実際にやってみると、Singularな場合に延長して評価値の変化を比較してみると
たとえば延長1200回で、評価値が良くなるか現状維持が300回ぐらいで、
ほとんどはさらに悪くなってました(^^;
▼v歩四v銀 9 8 7 6 5 4 3 2 1 ---------------------------+ ・ ・ ・ ・ ・ 銀 ・ ・v香|一a ・v飛 歩 ・ ・v銀 ・v王 ・|二b v歩 ・ ・ 馬 ・v金v桂v歩 ・|三c ・ ・ ・ ・ ・v桂v歩 ・ ・|四d ・ ・ ・ 金 ・ ・ ・v桂 ・|五e ・ ・ ・ ・ ・ 銀 ・ ・v歩|六f 歩 ・ ・ ・ 歩v歩 歩 歩 ・|七g ・ 歩 ・vと 金 ・ 玉 ・ 歩|八h 香 ・ ・v龍 香 歩 金 桂 香|九i ---------------------------+ △ 角
matiid1.csaで試すと、
たとえば、この場合、
△47金をSingularと判断してるんですが(他の手は自王がやばそう)
Sigularを延長したら元々-935なのが、-1412になります。
延長したら、すごい悪いことが判ったってことで。
本来なら、他の最善手を探さないとダメなんでしょうけど、
すべて探索が終わって、Exactly(betaカットの場合はやってない)で、
突出してる手なので
「また探索ですか?」って感じで途方に暮れてます。
↑全部探索してみないと突出して良い手か判らないですもん。
まーでも、再探索してもやはり△47金がSingularじゃないですかねえ?
でも、延長したら実は違ったって場合もあるだろうし……
どないしたらいいのん?(´・ω・`)
バグってた(^^; PVノード以外で、手が少ない場合も延長してた。
手が1個しかないのにSigularと思っても仕方ない orz