Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Tryng to add UCI functionality to Crafty

Author: José Carlos

Date: 06:57:19 05/27/04

Go up one level in this thread


On May 27, 2004 at 07:42:28, Sune Fischer wrote:

>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.


  I didn't mean this. I meant: when I fail low at the pv move at the root, I
print the complete variation, being the second move the "refuting move" for my
pv, and then the rest of the line shows the final position where I found I was
worse than I thought.
  For example, I plan to castle kingside and then find Bxh7 winning for the
opponent. Then my program prints something like 1...0-0 2. Bxh7+ Kxh7 3. Ng5+
Kg8 4. Qh5 etc. so I can see why I failed low.


>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.

  I understand. That's very interesting and similar to what old Fritz (I don't
know if newer Fritz still does this) did showing pv's for the n best moves. Many
times those pv's where simply refutation lines (not really pv's with exact
score).
  Thanks for the exaplanation.

  José C.



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.