Houdini and Chessbase GUI engine matches

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Dann Corbit, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Houdini
Posts: 1471
Joined: Mon Mar 15, 2010 11:00 pm
Contact:

Houdini and Chessbase GUI engine matches

Post by Houdini » Mon Dec 27, 2010 11:17 am

When running engine matches with Houdini in the Chessbase GUI, sometimes one of the following happens:
- Houdini uses nearly all its time on the first or first two moves of a game;
- Houdini plays the whole game instantly, as if it has no time left on the clock.
Both behaviours obviously are not intended.

With the meticulous help of Peter Grayson we've been able to locate the problem. It appears that, contrary to the UCI protocol specification, Chessbase GUI never sends a “ucinewgame” command when a new game begins, it just sends a “Clear Hash” instruction. For Houdini it is as if the complete match is a single game in which it occasionally switches sides :(. This messes up some of the time management, especially in ponder mode.

Note that any Houdini match results obtained in the Chessbase GUI could have been affected by this issue, and that this applies to every Houdini version that has been released so far.

We will soon release a corrected Houdini 1.5a version in which the “Clear Hash” command is interpreted in the same way as “ucinewgame”. This change will only affect Chessbase GUI users running engine matches.

Robert

Kurt Utzinger
Posts: 169
Joined: Sun May 11, 2008 8:31 pm
Location: Switzerland
Contact:

Re: Houdini and Chessbase GUI engine matches

Post by Kurt Utzinger » Sun Jan 02, 2011 6:19 pm

Houdini wrote:When running engine matches with Houdini in the Chessbase GUI, sometimes one of the following happens:
- Houdini uses nearly all its time on the first or first two moves of a game;
- Houdini plays the whole game instantly, as if it has no time left on the clock.
Both behaviours obviously are not intended.

With the meticulous help of Peter Grayson we've been able to locate the problem. It appears that, contrary to the UCI protocol specification, Chessbase GUI never sends a “ucinewgame” command when a new game begins, it just sends a “Clear Hash” instruction. For Houdini it is as if the complete match is a single game in which it occasionally switches sides :(. This messes up some of the time management, especially in ponder mode.

Note that any Houdini match results obtained in the Chessbase GUI could have been affected by this issue, and that this applies to every Houdini version that has been released so far.

We will soon release a corrected Houdini 1.5a version in which the “Clear Hash” command is interpreted in the same way as “ucinewgame”. This change will only affect Chessbase GUI users running engine matches.

Robert
In my opinion you are going the wrong way. If ChessBase does not use the common standard for the UCI protocol, CB should be punished or correct things instead of implementing curious changes in the chess engine. Just my five cents.
Kurt

Roger Brown
Posts: 782
Joined: Wed Mar 08, 2006 8:22 pm

Re: Houdini and Chessbase GUI engine matches

Post by Roger Brown » Sun Jan 02, 2011 8:34 pm

Kurt Utzinger wrote:
In my opinion you are going the wrong way. If ChessBase does not use the common standard for the UCI protocol, CB should be punished or correct things instead of implementing curious changes in the chess engine. Just my five cents.
Kurt



Hello Kurt,

All the best for 2011!

Your logic is as clear as always.

However I think that Robert Houdart is merely being pragmatic. The CB gui is going to be used by several users who will not care one iota whether the UCI specification is broken or not.

So his engine will suffer accordingly and all sorts of bizarre results will follow. So fix the engine to run on that non-compliant gui.

Right about now I imagine that H.G. is gritting his teeth in frustration but I am sure that he has had to make compromises to get all types of Winboard and UCI engines to run in Winboard....

Of course I agree with the logic of your statement but I think that CB first port of call is to support its own native engines..

Apologies to the apologists of course.

Later.

F. Bluemers
Posts: 868
Joined: Thu Mar 09, 2006 10:21 pm
Location: Nederland
Contact:

Re: Houdini and Chessbase GUI engine matches

Post by F. Bluemers » Sun Jan 02, 2011 8:40 pm

Roger Brown wrote:
Kurt Utzinger wrote:
In my opinion you are going the wrong way. If ChessBase does not use the common standard for the UCI protocol, CB should be punished or correct things instead of implementing curious changes in the chess engine. Just my five cents.
Kurt



Hello Kurt,

All the best for 2011!

Your logic is as clear as always.

However I think that Robert Houdart is merely being pragmatic. The CB gui is going to be used by several users who will not care one iota whether the UCI specification is broken or not.

So his engine will suffer accordingly and all sorts of bizarre results will follow. So fix the engine to run on that non-compliant gui.

Right about now I imagine that H.G. is gritting his teeth in frustration but I am sure that he has had to make compromises to get all types of Winboard and UCI engines to run in Winboard....

Of course I agree with the logic of your statement but I think that CB first port of call is to support its own native engines..

Apologies to the apologists of course.

Later.
"ucinewgame" is optional.
Remember,uci is supposed to be stateless.
....<snip>...
So the engine should not rely on this command even though all new GUIs should support it.
...<snap>...

User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 7:30 pm
Location: Chicago, Illinois, USA
Contact:

Re: Houdini and Chessbase GUI engine matches

Post by michiguel » Sun Jan 02, 2011 8:56 pm

Kurt Utzinger wrote:
Houdini wrote:When running engine matches with Houdini in the Chessbase GUI, sometimes one of the following happens:
- Houdini uses nearly all its time on the first or first two moves of a game;
- Houdini plays the whole game instantly, as if it has no time left on the clock.
Both behaviours obviously are not intended.

With the meticulous help of Peter Grayson we've been able to locate the problem. It appears that, contrary to the UCI protocol specification, Chessbase GUI never sends a “ucinewgame” command when a new game begins, it just sends a “Clear Hash” instruction. For Houdini it is as if the complete match is a single game in which it occasionally switches sides :(. This messes up some of the time management, especially in ponder mode.

Note that any Houdini match results obtained in the Chessbase GUI could have been affected by this issue, and that this applies to every Houdini version that has been released so far.

We will soon release a corrected Houdini 1.5a version in which the “Clear Hash” command is interpreted in the same way as “ucinewgame”. This change will only affect Chessbase GUI users running engine matches.

Robert
In my opinion you are going the wrong way. If ChessBase does not use the common standard for the UCI protocol, CB should be punished or correct things instead of implementing curious changes in the chess engine. Just my five cents.
Kurt
CB implementation is not broken. It is not using an extension of the original UCI protocol, which is not the same. It has not been updated. Here, its sin is lazyness, not incompetence or evil (as may have been the interpretation in other cases)
http://www.stmintz.com/ccc/index.php?id=360181

In this case the engine is relying on those extensions, when it shouldn't.

http://download.shredderchess.com/div/uci.zip
* ucinewgame
this is sent to the engine when the next search (started with "position" and "go") will be from a different game. This can be a new game the engine should play or a new game it should analyse but also the next position from a testsuite with positions only. If the GUI hasn't sent a "ucinewgame" before the first "position" command, the engine shouldn't expect any further ucinewgame commands as the GUI is probably not supporting the ucinewgame command. So the engine should not rely on this command even though all new GUIs should support it. As the engine's reaction to "ucinewgame" can take some time the GUI should always send "isready" after "ucinewgame" to wait for the engine to finish its operation.

Miguel

Tom Barrister
Posts: 227
Joined: Tue Oct 05, 2010 3:29 pm

Re: Houdini and Chessbase GUI engine matches

Post by Tom Barrister » Sun Jan 02, 2011 9:16 pm

I can understand Chessbase not updating its software to be compliant with UCI.

It isn't as though UCI is all that popular. There have to be at least 2 or 3 programs that still use Winboard. Why rush into UCI support when it's likely to just be a soon-to-fade fad?

And I understand that Chessbase is facing financial difficulties. They are, after all, a not-for-profit operation that only charges a modest fee (about €400 EU or $500 USD, plus another €20,000/$25,000 or so for the 1400 various add-ons) for their software.

Chessbase operates annoyingly like Microsoft did for its O/S's up through Vista---throw it over the wall and let vendors who want their software to interface with it fix the problems.

Mr. Houdart: I wouldn't change a thing. If Chessbase is too lazy/arrogant/clueless/apathetic to fix their overpriced bloated software to handle UCI protocol, then let them suffer when people who want to use Houdini and other engines that require the unsupported commands turn to Arena, SCID, etc. instead when it's time to shell out another few hundred to upgrade to the next version of their product. If it's possible that your workaround may break something else for a legitimate GUI, that'd be all the more reason to not change it.
This production is being brought to you by Rybka: "The engine made from scratch.™"

User avatar
hgm
Posts: 26111
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Houdini and Chessbase GUI engine matches

Post by hgm » Sun Jan 02, 2011 9:40 pm

Actually it is UCI that is to blame. To specify that a cetrtain command should be used, and at the same time that using it should work exactly the same as not using it, is of course completele idiocy.

Better switch to WinBoard protocol, then you would not be bothered by such silliness. :lol:

User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 7:30 pm
Location: Chicago, Illinois, USA
Contact:

Re: Houdini and Chessbase GUI engine matches

Post by michiguel » Sun Jan 02, 2011 9:41 pm

Tom Barrister wrote:I can understand Chessbase not updating its software to be compliant with UCI.

It isn't as though UCI is all that popular. There have to be at least 2 or 3 programs that still use Winboard. Why rush into UCI support when it's likely to just be a soon-to-fade fad?

And I understand that Chessbase is facing financial difficulties. They are, after all, a not-for-profit operation that only charges a modest fee (about €400 EU or $500 USD, plus another €20,000/$25,000 or so for the 1400 various add-ons) for their software.

Chessbase operates annoyingly like Microsoft did for its O/S's up through Vista---throw it over the wall and let vendors who want their software to interface with it fix the problems.

Mr. Houdart: I wouldn't change a thing. If Chessbase is too lazy/arrogant/clueless/apathetic to fix their overpriced bloated software to handle UCI protocol, then let them suffer when people who want to use Houdini and other engines that require the unsupported commands turn to Arena, SCID, etc. instead when it's time to shell out another few hundred to upgrade to the next version of their product. If it's possible that your workaround may break something else for a legitimate GUI, that'd be all the more reason to not change it.
You are replying to my post, but it looks like you didn't even read it. Again, the engine is broken, not the GUI.

Miguel

User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 7:30 pm
Location: Chicago, Illinois, USA
Contact:

Re: Houdini and Chessbase GUI engine matches

Post by michiguel » Sun Jan 02, 2011 9:52 pm

hgm wrote:Actually it is UCI that is to blame. To specify that a cetrtain command should be used, and at the same time that using it should work exactly the same as not using it, is of course completele idiocy.

Better switch to WinBoard protocol, then you would not be bothered by such silliness. :lol:
I agree.
ucinewgame is a command that should have been at the beginning, and later they realized its usefulness. The problem was to deal with the backward compatibility. So, the best way to deal with the backward compatibility was to act like the protocol did not change :-)
to the engine: the command is here, but you may or may not receive it. Do not count on it.
to the GUI: the command is here, you can use it but it is not guaranteed every engine will use it, and it may break some.

Miguel

User avatar
Houdini
Posts: 1471
Joined: Mon Mar 15, 2010 11:00 pm
Contact:

Re: Houdini and Chessbase GUI engine matches

Post by Houdini » Mon Jan 03, 2011 12:43 am

Let me assemble comments and replies in one post.

1) @Kurt Utzinger and Tom Barrister
I'm not interested in ideological fights or in a debate pro or contra Chessbase.
I will release a corrected version of Houdini, for the simple reason that it is the easiest and most efficient way of improving the Houdini user experience.

2) @H.G.Muller
I agree with your comment, the UCI specification is needlessly confusing. It is obvious though that the proposal was only intended as a temporary measure, the expectation being that "all new GUIs should support" the ucinewgame command.
As this was written in 2004 and we're now 2011, surely one can reasonably expect any modern UCI interface to adhere to the protocol.

3) @F. Bluemers and Miguel Ballicora
UCI engines are not entirely stateless.
Hash table usage is one important example, time management over the course of a game is another one.

Post Reply