uci eval command

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

uci eval command

Post by elcabesa »

hi,
Stockfish implement a non standard uci command "Eval" that help debugging the engine. I have impemented it in Vajolet too.

The Eval debug print the static eval of the position and it also print some term of th evaluation. Do you know any other engine (UCI if possibile) implementing this command or a sort of it?

I know I can use a search at depth1 and take the cp but it's not like the static eval :)
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: uci eval command

Post by michiguel »

elcabesa wrote:hi,
Stockfish implement a non standard uci command "Eval" that help debugging the engine. I have impemented it in Vajolet too.

The Eval debug print the static eval of the position and it also print some term of th evaluation. Do you know any other engine (UCI if possibile) implementing this command or a sort of it?

I know I can use a search at depth1 and take the cp but it's not like the static eval :)
Gaviota, the commands are "score" and "items"

I am sure Crafty has a similar thing too.

That is not a "non standard UCI command". It is just not a UCI command at all (any engine can have that regardless of protocol).

Miguel
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: uci eval command

Post by elcabesa »

you are right, it's not a "uci" command, it can implemented with every protocol
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: uci eval command

Post by elcabesa »

I just downloaded gaviota and after sending the uci commands it stop accepting score ad items command.
how can i setup a position and let the engine show the score?
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: uci eval command

Post by michiguel »

elcabesa wrote:I just downloaded gaviota and after sending the uci commands it stop accepting score ad items command.
how can i setup a position and let the engine show the score?
Gaviota is mostly an xboard engine. It should work in xboard mode. In uci, it is not supposed to react to that, so it is ignored (respecting UCI).

But if you want to skip any protocol handshake, start with

gaviota -s

then
setboard rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR w KQkq - 0 3
score
items


with gaviota -h you get what you get from the command line, and once you execute gaviota, the command help gives you all the commands the engine accepts.

Miguel
mar
Posts: 2559
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: uci eval command

Post by mar »

I have "dump" command, it displays board, FEN and static eval.
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: uci eval command

Post by elcabesa »

Thank you, I'm not too much used to xboard prtocol.

I have just modified a python script to analyze gaviota score output and compare them with stockfish and vajolet ones.

comparing the eval of 2 version of stockfish , vajolet and gaviota with a set of 40k positions I found the following differences between eval:


Code: Select all

stock  vs stock
mean:-0.02218114175214394
stdev:0.2074777368943154

vajolet-stock
mean:-0.04282243147805616
stdev:1.2495892743322266

gaviota-stock
mean:-0.04624327391962333
stdev:1.4140427187737394

vajolet-gaviota
mean:-0.003420842441567176
stdev:0.9193769746719599
I just calculate men and standard deviation, it's not very meaningful because I didn't found the best iterpolating line and then calculate the std:dev, but I'll try as soon as possibile :)

as you can see std::dev between the 2 stockfih version s very low as expected. I'd like to repeat the test with 2 very strong engines but I dont know whether they implements the eval/score command.
as a last resource I can modify/compile GULL/Texel/senpai myself
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: uci eval command

Post by Evert »

SjaakII has it.
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: uci eval command

Post by cdani »

Andscacs has it also.
jordanbray
Posts: 52
Joined: Mon Aug 11, 2014 3:01 am

Re: uci eval command

Post by jordanbray »

I don't quite have it. However, I have a separate program (called justeval) that can do that.

Additionally, my search can be compiled with a parameter (macro) that will pass this extra debugging information up through the search. That way, you have the bishop/knight/pawn/material/etc value after the search has been completed. I call this version of the search "search_debug", and I use it in a few helper programs occasionally.