I see for most people it's easier to copy Fruit than to understand it.Don wrote:I'm doing a test now to see if anything interesting happens. It is definitely playing slower by a factor of about 1.3. I measure this by taking the median time to play a whole game (as measured over all the games in the auto-tester.) It's currently playing 35 ELO stronger but after only 70 games so there is no statistical confidence here.Guetti wrote:Well, it fixes something that is "broken". If you collect your PV with an array method in the search, you won't get this nasty cuts in the length of your PV when you do not allow TT cuts in PV nodes. Some programmers (and I include myself) like to always have a full PV, and if you use the move of the PV of a previous iteration for any kind of move sorting, it can be an advantage to actually have one.Don wrote:I can see some logic to this. It's probably very rare that you would get a cutoff at those nodes, this can only concern the very first move, not several because we are talking about PVS search. And I can imagine that the very few times it happens the search below would terminate very quickly. Perhaps at some point I will try it. If it doesn't make my program weaker it is probably a good thing.bob wrote:\Don wrote:Ok, I'm trying to wrap my head around this. So at PV nodes I might use the hash table only to get a move from the hash table? Otherwise I am not interested in anything else returned by the hash table entry for this position?Tord Romstad wrote:Most people who use PVS don't allow hash table cutoffs at PV nodes. The logic is simple: If you do, you'll sometimes end up with incomplete or incorrect PVs, which makes debugging more difficult. Everything is so much easier when the score returned by the search is always equal to the static evaluation of the position at the end of the PV. Because you don't save a significant amount of nodes by allowing hash table cutoffs at PV nodes anywhay (I've never even been able to measure any difference), there is no point in doing it.Don wrote:Or are you saying that you just don't allow this as a result of hash scores returned? I cannot see any logic in this, but I suspect I don't fully understand what you are saying.
Tord
Don
The problem with this is that the PV is over 50% of the search effort... "most" might not allow cutoffs in PV nodes, but I always have...
Having said that, I have not had any problems with this, so in a sense I would be fixing something that isn't broken, not a very good engineering principle is it? Since someone claims it made their program stronger, I should be noble minded about this and test to see if it's so.
- Don
Fruit doesn't allow reductions in PV nodes. If it would accept hashtable cutoffs in PV nodes, they might be from reduced searches, which might give serious instabillities.
Tony