Author: Sune Fischer
Date: 02:10:35 01/20/04
Go up one level in this thread
>I don't follow that reasoning. As a chess player, and I have been one of >"those" for almost 50 years now, I care greatly about the "PV". I _always_ >want to know what is supposed to happen, and a PV is the only way I know of >getting that information. I hate analysis that says "obviously Rxh7 is the >best move here" without giving any analysis to show why. So from a playing >perspective, it is important. You have searched millions of positions and all you get is a single of a dozen moves. The only sane conclusion is that the PV gives you an infinitisimal amount of information, it is *eye-candy*. It never shows you all the refutations, say there is a queen en prised on the board, the PV at iteration 5 shows us taking it but at ply 6 we get a completely new line. Why can't we take the queen, what's wrong with that, what did the engine see? That's what I want to know, as a chessplayer :) >But, as I have also said, it is _critical_ (IMHO) for debugging. I always want >to know _exactly_ what position the program evaluated, so that I can decide if >I agree with the evaluation or if it needs some tuning... And without the PV, >how can I possibly know what my program was evaluating??? Even when I used the pv-array it almost never reached out to the evaluated leaf position, so I don't think it's a very good reason in practise. Perhaps my hash is just too effective for that ;) My pv stops at qsearch, that's the part I care about mostly. Qsearch has its own story to tell and terminating there avoids a lot of noise. >>Doesn't work in my experience. >> >>If the root move is bad and you want to debug then probably the PV will be junk >>for you as well, now what do you do? > >I reduce the depth and search again, and use _that_ PV. I had a bug a few weeks ago, a mate in 6 which was the shortest mate possible, suddenly turned into a mate in 4 after a fairly deep search. Somehow one of the moves weren't getting refuted as they should, that was obvious, but the whole PV was just nonsense starting with a wrong root move. I couldn't use the PV for debugging at all, and the previous iteration were correct! There's a typical bug for you to hunt down. >>I just think it is funny how much you care about the precision in the PV printed >>and not so much about the precision of your SEE. > >Different animals. SEE is non-critical. 99.99% of the time when it is wrong, >it just slightly blows move ordering... > >The PV is non-critical to crafty when playing a game, but it is _far_ >from non-critical when someone is annotating a game, or analyzing a >game. The PV is what they want, not just a score. They want to know >_why_ the position is good or bad, and the PV shows that. > Umm, eye-candy before strength, are you serious? Well at least you will get the 100% correct analysis of the games you lose. :) >The PV has no such computational cost... It may be not be much, but it is not zero, I can tell you that. >If you don't think it useful, then >why reconstruct it from the hash table? You really don't need it, as you have >said, so just show the best root move and stop there... I like eye-candy, I like eye-candy more when it's free. >>You could also check that the depth doesn't drop more than a ply from node to >>node. > >UGH. That will kill fine 70. It will kill nothing, cause the pv is non-essential. It might make the pv shorter but more correct. >>I think unless you demand perfection there is no problem in this method. > >That is the only issue, IMHO. If you can get it right, at no cost, vs >right most of the time at no cost, I'll take right. But that is only >because I do use it all the time for debugging... > >Apparently others here (users) are also interested in seeing it as accurate >as possible, based on the comments that started this thread... Programmers privilege to make these decisions :) I think most users are smart enough not to trust pv's several moves out. They have been searched with much less depth so they are by definition much less accurate. Using a super fancy array to collect won't help you solve this fundamental problem :) -S.
This page took 0.01 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.