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