cutechess-cli

Discussion about chess-playing software (engines, hosts, opening books, platforms, etc...)
ChessDrone
Posts: 78
Joined: Mon Jan 28, 2013 10:56 am

Re: cutechess-cli

Post by ChessDrone » Tue Jul 16, 2013 3:09 pm

ChessDrone wrote:(...)
Is it possible to disable some engines from the list without deleting the settings? ( i.e. like in frits)
Image

ChessDrone
Posts: 78
Joined: Mon Jan 28, 2013 10:56 am

Re: cutechess-cli

Post by ChessDrone » Tue Jul 16, 2013 4:02 pm

ChessDrone wrote:
H.G.Muller wrote:ctg is a propriatary ChessBase format, that is considered company secret, and for which the probing algorithm is unknown. So it is not possible for other software to support it. I know that some GUIs claim to have such support (including one WinBoard fork), but in practice playing from a ctg book under such software makes quite different moves from using the same book under ChessBase, so that in fact it is not the same book. Better stay away from such stuff. WinBoard supports Polyglot book format, which is an open format, so that you won't have any surprises.
H.G.Muller wrote:
ChessDrone wrote:For good or bad reasons, it is not my fault that this format is very common ...
It is common because many people use ChesssBase. And if you want to use them, that is the only way.
I would like to clarify that the other is integrating the format into their software.
As DroidFish and Aquarium interface.
Here there is the spcecifications: http://rybkaforum.net/cgi-bin/rybkaforu ... l?tid=2319
And then the open-source project of DroidFish aka CuckooChess:
The program also supports the CTG opening book format.
http://web.comhem.se/petero2home/droidfish/index.html
http://code.google.com/p/cuckoochess/so ... vn%2Ftrunk


Regards

ChessDrone
Posts: 78
Joined: Mon Jan 28, 2013 10:56 am

Re: cutechess-cli

Post by ChessDrone » Tue Jul 16, 2013 5:05 pm

few more link about ctg
I just saw this CTG book reader code:
https://github.com/AaronBecker/daydream ... book_ctg.c
(An older unofficial spec rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=26942 may clarify.)
In Daydreamer there is reference to brutus
New in version 8:
now in addition to Winboard also UCI compatible
I/O multithreading added
Changed the structure of the program again to enable SMP improvements
some small bugfixes
Version 8.5: important bugfix concerning multiprocessing
Version 8.5: New openingbook, Brutus reads .ctg bookfiles now
http://home.xmsnet.nl/vermeire/brutus.html
http://home.xmsnet.nl/vermeire/Brutus8_05.zip (src included)

The following quote I think is from jromang but not sure
Need to work in other direction, i.e., not chess.
See ctg_reader of what I done. http://sriliam.free.fr/ctgreader.tar.bz2
It takes a ctg file and make two db file : one for white side, one for black side.
The key for the b-tree is taken directly from Hauffman dictionary form explain on this post.
I need a correct engine to give me all position from a given one to finish.
Contact me if you are interest.
https://github.com/jromang/ctgexporter


Regards

H.G.Muller
Posts: 190
Joined: Sun Jul 14, 2013 10:00 am
Real Name: H.G. Muller

Re: cutechess-cli

Post by H.G.Muller » Tue Jul 16, 2013 5:21 pm

ChessDrone wrote: (1) On additionally I will like when you highlight a chess engine list, the field is filled automatically, that we can see and change a name or something else also dynamically or duplicate an engine just by changine the name.
So with that, I'll see a button "add / create"(Without this closes the dialog), "Load (close dialog box)" and "cancel (close dialog box)". I forgot "Delete (selected)"
Well, although this superficially might seem a nice feature, I doubt if it would be very useful in practice. (It would be a bit difficult to do this on selecting the engine, as that does not normally give a signal outside the operating system's handling of the dialog, but it would be easy to provide an 'Inspect' or 'Clone' button that fills the rest of the dialog with the data of the currently selected engine, similar to what 'Clone Tourney' does in the Tournament Options dialog w.r.t. the given tourney-file name). There is awfully little you could change in the right-hand part of the dialog, without breaking engine operation.

And there already is a bearable alternative for making changes: this is why the 'Edit Engine List' menu item was provided. Even for people with not enough WinBoard experience to compose an engine line themselves from scratch, it should be easy to recognize the thing they want to change (such as the nickname), and replace it by what they want. They can also duplicate the line there, or sort the lines in different order. Most people do know how to do such simple operations on a piece of text. The most likely thing they could want to change is the 'Special WinBoard Options' that accompany the engine (like time-odds, or options to correct non-compliancies, such as /firstScoreIsAbs), and it makes very little difference whether that part of the engine line would be copied to the text-edit in the dialog, so they can edit it there, or whether they edit it in the engine line directly. Only for the options that have checkboxes would this make a difference, but most of these are unlikely to require a change. An UCI engine will not likely change into a WB or an UCCI engine, and an engine that used to play Xiangqi will usually not want to play Shogi. So it is really only the GUI-book checkbox for which it makes any difference at all.

I decided on a checkbox 'Add to list' rather than having separate 'OK (load)' and 'OK (install + load)' or 'Install (and do not close)' buttons, because in practice you virtually always want to add the engine, but you would almost always forget to press the other button first. (At least, I would... Like when I still had the same dialog for 1st and 2nd engine, and a combobox in it to choose between the two, where I would always forget to set it for 'Second' if I wanted to change the second engine. So I made them separate dialogs now.) Unticking the 'Add to list' checkbox before you OK is still only two mouse clicks, but now you usually only have to make one, as you do want to install. And in the worst case you install when you did not intend to (forgetting to untick), which causes no data loss, and is easily undone by deleting the line with 'Edit Engine List'.
(2) I will wish the same as (1) for the dialog on graphics themes excepting that instead of "load" with "apply".
Indeed the Themes dialog was cloned from the Load Engine dialog, and is powered by the same code. I agree that here it makes more sense to have a 'Clone' button. OTOH, the Themes dialog differs from the Load Engine dialog in that it does start filled with the current settings of all the parameters defining the theme (while the Load Engine dialog does start with empty fields, and not those for the current engine, because the latter is almost never what you want). The themes dialog can also be used to just change one or two settings without defining a theme.

There currently is no menu item 'Edit Theme List'. However, because of the different dialog initialization, it is possible to load a theme, and then re-open the dialog, to find all the theme settings now in it. Admittedly slightly more cumbersome than having a 'Clone' or 'Apply (no close)' button, but only slightly so. A problem is also that the board properties are now really distributed over two dialogs; all the colors still go through the old Board Options dialog. So you would likely have to go to another dialog first before you were ready to save the new theme. Maybe this is something that should be added when these dialogs are unified.
I have issues regarding this to create a theme. I accidentally delete some themes from the list, but are still in winboard.ini. I do not know how to go back.
You are probably looking in the wrong winboard.ini. The one in the WinBoard folder is only the master settings file, used as a template when you first run WinBoard. The one containing your saved settings is in your AppData folder (so each user has his own settings file).
Optional Questions:
Can we change engine group?
Not sure what exactly you mean by this. Engines are grouped by including '# GROUPNAME' and '# end' lines in the engine list; this can currently only be done by editing the list.
Is it possible to disable some engines from the list without deleting the settings? ( i.e. like in frits)
I am not sure what is the point of that. In a sense all engines in the list are disabled. Only the one (or two) engines you loaded are active. If you want to temporarily cleanse the list from some engines you don't plan to use in the near future, you can use 'Edit Engine List' to move their engine lines to the end of the list. Or define a group '# RARELY USED' at the end of the list, and move them in there.

Regards[/quote]

H.G.Muller
Posts: 190
Joined: Sun Jul 14, 2013 10:00 am
Real Name: H.G. Muller

Re: cutechess-cli

Post by H.G.Muller » Tue Jul 16, 2013 6:09 pm

ChessDrone wrote:I would like to clarify that the other is integrating the format into their software.
As DroidFish and Aquarium interface.
Here there is the spcecifications: http://rybkaforum.net/cgi-bin/rybkaforu ... l?tid=2319
And then the open-source project of DroidFish aka CuckooChess:
The program also supports the CTG opening book format.
http://web.comhem.se/petero2home/droidfish/index.html
http://code.google.com/p/cuckoochess/so ... vn%2Ftrunk
Indeed, the file format is known, and I am aware of that. I even wrote a program that can read it, as a first step towards a book converter from ctg to Polyglot format.

The problem, however, is that the ctg format is nothing but raw WDL statistics on the positions, plus a number of annotations of undefined meaning. It is not known what should be done with this info to decide on the move choice. Programs that claim to support this format just have written there own probing code, which is quite unlikely to produce the same behavior with the same book as ChessBase. For instance, a move in a CTG book that is marked as 'Absolutely losing, never play this', could be played quite often by home-brewn probing code, because the author of that code had no idea what the annotation meant, and thinks 'this move occurs in the book, so we might as well play it'. IMO you cannot say that software that does not use the original, non-trivial probing algrithm supports the book format. It just fools the user into thinking it supports the format. At WinBoard, we don't do such things.

ChessDrone
Posts: 78
Joined: Mon Jan 28, 2013 10:56 am

Re: cutechess-cli

Post by ChessDrone » Tue Jul 16, 2013 6:43 pm

H.G.Muller wrote:
ChessDrone wrote:I would like to clarify that the other is integrating the format into their software.
As DroidFish and Aquarium interface.
Here there is the spcecifications: http://rybkaforum.net/cgi-bin/rybkaforu ... l?tid=2319
And then the open-source project of DroidFish aka CuckooChess:
The program also supports the CTG opening book format.
http://web.comhem.se/petero2home/droidfish/index.html
http://code.google.com/p/cuckoochess/so ... vn%2Ftrunk
Indeed, the file format is known, and I am aware of that. I even wrote a program that can read it, as a first step towards a book converter from ctg to Polyglot format.

The problem, however, is that the ctg format is nothing but raw WDL statistics on the positions, plus a number of annotations of undefined meaning. It is not known what should be done with this info to decide on the move choice. Programs that claim to support this format just have written there own probing code, which is quite unlikely to produce the same behavior with the same book as ChessBase. For instance, a move in a CTG book that is marked as 'Absolutely losing, never play this', could be played quite often by home-brewn probing code, because the author of that code had no idea what the annotation meant, and thinks 'this move occurs in the book, so we might as well play it'. IMO you cannot say that software that does not use the original, non-trivial probing algrithm supports the book format. It just fools the user into thinking it supports the format. At WinBoard, we don't do such things.
Unfortunately, I have no skills and knowledge to understand the programming and associated algorithms. So I can not say anything about this code.

However, it would be easy to check how the software interprets it. By making a small book containing a few lines with different specific CB annotations. And make serie of matches to see this.

H.G.Muller
Posts: 190
Joined: Sun Jul 14, 2013 10:00 am
Real Name: H.G. Muller

Re: cutechess-cli

Post by H.G.Muller » Tue Jul 16, 2013 6:59 pm

Indeed, it should be possible to reverse-engineer the probing code that way. (Not sure if it would be legal to do so, and publish the results, however.)

Of course I could not do that, as I don't even have a ChessBase GUI.

It seems that the problem is further compounded by the fact that the probing algorithm takes some user settings into account (so I was told), e.g. to get more variation at the expense of some strength. So you would basically have to do this for a multitude of settings.

User923005
Posts: 616
Joined: Thu May 19, 2011 1:35 am

Re: cutechess-cli

Post by User923005 » Tue Jul 16, 2013 7:31 pm

This looks interesting:
https://github.com/sshivaji/ctgexporter
I just downloaded it but I have not built and tested it yet.

Sebastien Major made a ctg reader called CtgReader, but I cannot find the site for it. I know that it does work well.
I have the source and project files for that one, if anyone needs it.

H.G.Muller
Posts: 190
Joined: Sun Jul 14, 2013 10:00 am
Real Name: H.G. Muller

Re: cutechess-cli

Post by H.G.Muller » Tue Jul 16, 2013 7:59 pm

Indeed, this looks interesting. It is sort of what I intended to build, but got stuck on for the probing algorithm being unknown. I don't know if that problem has been solved in the mean time (someone might have reverse-engineered it), or if the code used by daydreamer is just a wild guess that might have little relation to how the ChessBase code works.

Anyway, the ctg-to-Polyglot converter seems to exist upto the current state of knowledge of ctg books. This means you can already use any ctg book with WinBoard, by running it through the converter first, and let WinBoard use the resulting Polyglot book. That is the level at which I plan to support other book formats anyway. I am a firm believer in the design that just uses one 'standard' format for everything (protocol, game notation, book format), and support the rest through adapters / converters.

User923005
Posts: 616
Joined: Thu May 19, 2011 1:35 am

Re: cutechess-cli

Post by User923005 » Tue Jul 16, 2013 9:31 pm

I did a build of the project and it does not actually convert the book.
It seems to have about as much information as all the others (peel out the raw positions and moves but not any of the annotations on them).
I think that the aquarium version is probably a full-blown translator, but I don't really know for sure.
I prefer my own book format anyway.

Post Reply