Author: Sune Fischer
Date: 04:42:28 05/27/04
Go up one level in this thread
On May 27, 2004 at 04:25:10, José Carlos wrote: >On May 26, 2004 at 15:53:45, Sune Fischer wrote: > >>On May 26, 2004 at 14:43:14, Robert Hyatt wrote: >>> >>>It isn't so easy for me. Crafty ponders automatically unless it is turned off. >>>If it is turned off, it never ponders. It decides which move to ponder by >>>itself, and has code to do that pretty well. UCI wants to handle everything. >>>IE the engine is a small part of the whole "thing" while Crafty considers the >>>engine to be _the_ whole thing. IE it handles its own book, book learning, >>>needs to know when/how a game ends, etc. Crafty correctly claims draws, mates, >>>resigns, and all of that. >>> >>>To disable all of that to work with UCI is simply not worth the effort, when the >>>winboard protocol works just fine and has for years. >>> >>>IE at the root, I want to decide whether a position is a tablebase draw or not, >>>and use my "swindle mode" if it is. I can't do that in UCI. There are too many >>>things I can't do, or which I have to drastically change, to make it work. >>> >>>"If it ain't broke, don't fix it" is my motto here. :) >> >>I am of the same basic ideology, but in all fairness UCI does have a few sweet >>features. >> >>My favorite ones: >> >>1) the engine can show the current line of thinking. Pretty easy to implement >>too, just print the moves leading from the root to the current node. >> >>2) multi pv, display scores and pv for the n-best moves >> >>3) refutation lines, show how the opponent refuted the root move dxe5!?. >>I like this one a lot, finally the user can become "educated" by the engine as >>it now shows you why things _don't_ work! :) > > I don't know how UCI helps in this. To be true, I haven't read the UCI spec >since it was first presented. > But I show this refutation in winboard with no problem. When I fail low at the >root, I read the whole line from the hash table (I save a move even in fail >lows, not for move ordering, but to have it always ready to print). I did this >after my latest release of Averno, so it's not in the public version. > Maybe I'm misunderstanding what this "refutation" means... > > José C. I don't think that's a real refutation line, if you fail-low it just means the score for the PV move is lower than your initial aspiration window (right?). If you later fail-high on another root move, then you haven't really "refuted" the first move, but merely found a better move. That's how I'd use the word anyway. Refuted means the opponent failed-high on your move. The refutation lines, as I do them, is about printing the line for every move that didn't make it to a PV. E.g. let's say you have position with 20 root moves, the first one searched is the PV move and you find a score for this move whatever the score may be, then you go on to the next move and this fails-low (as expected), but _why_ did it fail-low? That's where I print the refuation line, ie. the opponent must have had a move that made him fail-high on this move, what was this move? So, assuming your first root move holds you will have 1 PV line and 19 refuation lines. Of course these lines will be fulll of nullmoves and other strange things, but at least one can see what the engine is "thinking" about the other moves. I believe that's what's meant in the UCI protocol, though I'm not entirely sure because it's not explained in detail. -S.
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.