Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Why do some engines play weaker in CB GUI than in Winboard? (nt)

Author: Bruce Moreland

Date: 20:23:10 08/12/01

Go up one level in this thread


On August 12, 2001 at 20:58:22, James H Swinney wrote:

>Why do some engines play weaker in CB GUI than in Winboard?
>James

Winboard used to be just a graphical user interface that people could use to
play chess on ICS servers.

When Tim Mann hooked GnuChess to Winboard, he created a standard.  Many people
created engines coded to that standard, so they could get a GUI for free.

There are a few GUI's that take advantage of the Winboard standard by taking the
place of Winboard.  This allows them to connect to a bunch of existing engines
without doing any extra work.

Chessbase is a GUI that runs Winboard engines.  The problem is that it doesn't
run them the same way that Winboard does.

Your typical chess engine operates like this:

1) The engine is happily thinking about its move.  When it feels like moving, it
moves.
2) Rather than just sitting there doing nothing while waiting for the opponent
to move, it makes a guess about what the opponent is going to do, executes that
move on its internal board, and starts thinking about the position following
that move.
3) If the predicted move comes to pass, the engine has gotten a big jump because
it's already been thinking about the eventual game position for a long time.  If
the predicted move doesn't come to pass, it backs the (wrongly) predicted move
out, makes the one that really happened, and starts thinking about that.

The system described above is called "pondering", or "permanent brain" if you
are German.

Winboard ignores this stuff almost entirely.  If the user makes a move, it gives
the move to the engine and tells it to think.  It doesn't care what the engine
is doing when it's not the engine's turn to move.  All it has are a couple of
commands, "easy" and "hard", which are generally meant to turn this behavior off
and on, but the behavior itself isn't that strictly defined.

If I understand correctly, Chessbase doesn't do it like this.  If it's the
engine's turn to think, it tells the engine to think, no problem.

But once the engine moves, Chessbase uses the "easy" command to turn pondering
off, then has its own command to tell the engine to ponder.

An engine that doesn't have this extra command won't think on the opponent's
time, but the only way an engine would have this command is if it had been
written to work well with Chessbase.

It's better to think on the opponent's time, so this makes engines that conform
to the normal Winboard specification weaker under Chessbase.

Chessbase should fix this, rather than continuing to throw a kink into the
Winboard standard.

bruce





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.