Author: Richard Pijl
Date: 07:56:51 09/19/04
Go up one level in this thread
On September 19, 2004 at 10:34:30, Robert Hyatt wrote: >On September 19, 2004 at 03:21:41, Richard Pijl wrote: > >>On September 18, 2004 at 23:57:32, Robert Hyatt wrote: >> >>>On September 18, 2004 at 18:50:22, Richard Pijl wrote: >>> >>>>On September 18, 2004 at 11:28:45, Sune Fischer wrote: >>>> >>>>>On September 18, 2004 at 11:09:26, Robert Hyatt wrote: >>>>> >>>>>>On September 18, 2004 at 04:05:38, Sune Fischer wrote: >>>>>> >>>>>>> >>>>>>>I decided to try out the triangular PV thing Bob >>>>>>>speaks so highly of, to see if it improves move ordering... >>>>>>> >>>>>>>I was careful to terminate the PV on all exact scores - of course. >>>>>>>Still I was getting illegal moves in the PV. >>>>>>> >>>>>>>It turned out to be a hash/nullmove problem. >>>>>>> >>>>>>>See, in the hash I adjust the window down on UPPER bounds, ie. >>>>>>>something like: >>>>>>> if (flag==UPPER && score<beta) >>>>>>> beta = score; >>>>>> >>>>>>Are you doing PVS? If so you won't do this a dozen times during a long search, >>>>>>most likely. But I do this in Crafty as well, and it doesn't _ever_ get illegal >>>>>>moves in the PV. >>>>> >>>>>I haven't looked but I guess you are doing something equivalent to what Richard >>>>>suggested with beta = score+1. >>>>> >>>> >>>>It may be less important when doing fail-hard. Chances that the upperbound >>>>equals the real score is lower with fail-hard. >>>>Richard. >>>> >>> >>>I'm not sure why it would matter. You should fail high, relax the upper bound, >>>and get the _same_ value back except this time it will be an exact score... >>>That is pretty normal to get a fail high and then on the re-search, getting the >>>same score again since the upper bound and true score were identical... >> >>Are you doing a research on a fail high in an innernode (when the beta was >>adjusted)? If you do, you're right. It won't matter. >>What I meant was, that with fail soft chances are bigger that a stored >>upperbound equals the true score as it can return a score outside the ab window. > >Again, I can't see how that would hurt. If I get a score outside the root AB >window, and it gets backed up to the root, I have to re-search with a wider >window, which will catch those "edge" conditions. > Perhaps I'm not making myself clear. I'm not talking about fail-highs that are getting backed up to the root. Consider this example: Search gets called with alpha-beta 0 - 100. An upperbound is found in the hashtable, with score 50. When adjusting beta, the children will be searched with 0 - 50. If the search in this node fails high Now, if you return the failhigh score you're trusting that it is the exact score for this node (50 in case of fail hard). I found that this wasn't a good idea in the Baron. > >> >>>This doesn't cause oddball PVs in Crafty however, even though I see it on >>>occasion... (see the identical score/upperbound problem, but no illegal moves >>>in my PV ever). Nor did it ever happen when I used true fail-soft years back... >> >>I don't think adjusting bounds will cause anomalies in the PV other than perhaps >>short pv's (when doing beta=score and no research) as the fail high will >>truncate the pv. > >A fail high can't possibly terminate the PV in a correct search. You can't have >a PV that ends on a fail high, as it is illegal, except for mtd(f) searches >which I assume we are not talking about,. > Consider the example above. In this case the PV _is_ terminated by a fail high. Richard.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.