Michael Sherwin wrote:ed wrote:Michael Sherwin wrote:ed wrote:When picking up my work again on the chess page I to my astonishment noticed I had forgotten to mention a probable important extension. I am curious how many of you use a similar approach.
http://www.top-5000.nl/authors/rebel/chess840.htm
Ed
Hi Ed,
Yes I have tried that type extention and it was inconclusive.
About extentions in general. When I first released RomiChess it only had a check extention and a mate threat extention and was already a rather strong program. I thought that if now, I were to put in all the right extentions, then it would take another big jump in ELO. However, no further extentions helped. I was getting very frustrated. Then Prof. Hyatt wrote that he was dropping some extentions as modern hardware was so fast that the extentions no longer helped and may even be counter productive. Given my experiance, I tend to agree.
Mike
Hi Mike,
The subject awakened my curiosity and so I ran a quick eng-eng match without the PVS extension. The result was considerable worse than with the default setting (PVS=ON). So it seems the PVS extension is still working.
Ed
Hi Ed,
I will try this extention again and will be very careful to do it the way that you say to do it. Then I will report back.
Mike
PVS extention, a quick test.
I have not gotten as far as the "careful" testing yet and would not be making this report if the results of the "quick" testing were not positive.
Code: Select all
if(h->p && h->p->m != noMove.m) extendBy += 25; // one-fourth ply
Code: Select all
// This is the RomiChess extention/reduction method.
if(extendBy >= 100) {
depth++;
extendBy -= 100;
} else
if(extendBy <= -100) {
depth--;
extendBy += 100;
}
Having added the top line of code to RomiChess I can say that the early indication is that it is very helpful!
After 10 games (way to few) versus Hamsters 0.2 it is RomiChess +8 -2 =0! And Romi had a won game during one of the games that she lost, but succumbed to a king-attack to which she is still vulnerable. This is a new record for Romi in the first 10 games versus Hamsters 0.2.
The evaluation function in RomiChess has been improved some. This may be why this extention, now has a positive effect. It searches deeper in critical lines, while only costing one ply of search. In a previous version with a worse evaluation the results were inconclusive and most likely suffered as much from what it missed in the lost ply as what it found in the extensions. Also since then the search has been improved thus RomiChess has a ply or two to 'burn' that she did not have before.
Still, if the PVS extension can be intelligently restricted so as not to cost that extra ply then the gain could be really big for RomiChess, as it is already looking very, 'kick-ass'!
...
Second quick test.
Code: Select all
if(extendBy < 100 && h->p && h->p->depth + 2 >= depth && h->p->m != noMove.m) extendBy += 25;
Only partially extend if an extension is not about to be triggered and only if the hash depth makes the hash move very relevant.
RomiChess vs. Hamsters 0.2, Romi +7 -0 =3. Zero losses! A second new record in one day. And two of the draws were from won positions that because of the lack of material based draw detection, Romi did not know how to win.
So like Ed indicated, you get some really powerful extensions with out extending a lot of garbage!
Score now, Romi +9 -0 =3. This is getting fun, so maybe I will make some more quick test!
Sorry, make that +10 -0 =3!