WinBoard and Style 12 question

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

WinBoard and Style 12 question

Postby matematiko » 16 Apr 2010, 01:17

The ICS emulator I used as a middle man between Yahoo and WinBoard, parses the moves to WinBoard in the Style 12 format.

Next is a piece of the code, it is written in perl:
Code: Select all
my $s12=sprintf("\n<12> ".
#bd tn ep wcswclbcsbcldr #  wn bn rl timincwm bm wt bt mv vc mt ds fp
"%s %s %d %d %d %d %d %d %d %s %s %d %d %d %d %d %d %d %d %s %s %s 0\n",
join(' ',@bd),   # position
qw(W B)[$bo{'turn'}],   # turn (W/B)
@bo{'dpush',   # en passant file
'castlewh','castlewa',   # white can castle short/long
'castlebh','castleba'},   # black can castle short/long
0,      # last reversible move (in half-moves) TODO
$table->[0],   # game number
$white,      # white's name
$black,      # black's name
$relation,                     # my relation to the game
$time,      # initial time
$inc,      # increment
$board->strength,   # white and black's strength
$wtime,      # white's clock
$btime,      # black's clock
$moves,      # move number (not half-move)
$bo{'desc'},     # verbose coordinate notation of last move FIXME
'0:00',      # time to make last move TODO
$bo{'algebraic'},   # descriptive notation of last move TODO
);
print $s12;
prompt;
return 0;


print $s12 prints $12 which is read by the pipe between the emulator and WinBoard.

Please observe:
$board->strength, # white and black's strength

Another perl module has an algorythm to calculate the board "strength".

My question is: What WinBoard does with this strength value? Is it there just because it must be there as part of the style 12 format? Or is this value actually parsed to the engine? More specific: to an UCI engine.

The reason I am asking is because I have observed over the years, that the UCI engines performed much better under Fritz: WinBoard-winboard232d.exe-Fritz-Engine than polyglot: WinBoard-Polyglot-Engine. But I and all the people I (unofficially) represent, don not like much the WinBoard-winboard232d.exe-Fritz-Engine combination for many reasons:
-Too many adapters between Yahoo and the engine
-auto232 protocol (handled in this case by winboard232d.exe) is very defective and does not relays the clocks to Fritz
-I prefer bin books over CTG books.

So, I am in a quest to try to find out the reason behind this diference in performance, and the first thing that strikes me is this "strength" variable.

Thanks for reading.
One that does not live to serve, does not deserve to live.
matematiko
 
Posts: 219
Joined: 07 Dec 2008, 17:11
Location: Texas

Re: WinBoard and Style 12 question

Postby H.G.Muller » 16 Apr 2010, 08:19

WinBoard only uses the strength to display in the title bar of the board window. Engines are perfectly capable of counting material on the board themselves; they don't need ICS assistance for that.

I don't hold what you are saying for possible. Engines should not know what interface they are running under. They decide upon a move based on the position and time left on their clock. Nothing else. Only if the interface would be lying about one of these (e.g. give the engine extra time if it sees that the move it is going to give is a bad one, in the hope it will change it), could you have such an effect. Unless the difference is time losses, or time distribution over the game, this would be very far fetched. (What would be possible is that an interface knows that most engines are tuned to use too much time in the beginning of the game, so that they get into time trouble, and blunder away the end-game, and they cuould then try to repair that by lying to the engine about their time left, to make them think shorter in the beginning.)

If you observed such a thing, the overwhelmingly likely explanation is that it is just coincidence.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: WinBoard and Style 12 question

Postby matematiko » 16 Apr 2010, 14:52

Mr. Muller,

Thanks for the answer concerning the "board strength" question, and for the explanation concerning engine behavior.

I doubt a GUI will manipulate the clocks without the user's consent, what is very possible thou, is that because Auto232 ignores the clock updates and due the lag, Fritz's clocks never match the ICS clocks, and this in a way matches your comment about the interface lying to the engine.

I forgot to mention that we only play 1/0 games and that my comment applies perhaps only to these type of fast blitz games.

Thanks again, I will concentrate om observing clocks differences between ICS and GUI.

Regards,
One that does not live to serve, does not deserve to live.
matematiko
 
Posts: 219
Joined: 07 Dec 2008, 17:11
Location: Texas

Re: WinBoard and Style 12 question

Postby H.G.Muller » 16 Apr 2010, 16:51

The ICS sends the time that is on the engine clocks together with the opponent move (all as part of the style-12 board). That should be relayed to the engine. After that, there is no update of the clocks by the ICS, it is all upto the engine to decide how long to think on its move. Neither does UCI protocol allow any means to sync the clock after that. The GUI should just wait for the engine to move, based on the information it received before it started thinking.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL


Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 42 guests