Hmm, dumping the weights didn't reveal anything special, I also don't see a bug in the code.
Still I have the impression much more offbeat openings are played than I would expect. It might be simply a PolyGlot thing.
Maybe its an interesting test to make a book from GM games, play a gazillion games, and then look at the move statistics from the games to see if there's a mismatch with the original DB.
Cutechess-cli: A command line tool for engine-engine matches
Moderators: hgm, Rebel, chrisw
-
- Posts: 1243
- Joined: Sat Dec 13, 2008 7:00 pm
-
- Posts: 1243
- Joined: Sat Dec 13, 2008 7:00 pm
Re: Cutechess-cli: A command line tool for engine-engine mat
Small cosmetic bug:
If I use tc=15+0.15, the PGN will have the timecontrol as 15+0.149. Seems like floating point is somewhere where it shouldn't.
If I use tc=15+0.15, the PGN will have the timecontrol as 15+0.149. Seems like floating point is somewhere where it shouldn't.
-
- Posts: 750
- Joined: Mon Mar 27, 2006 7:45 pm
- Location: Finland
Re: Cutechess-cli: A command line tool for engine-engine mat
If the problem isn't in your books, it could also be in Qt's random number generator.Gian-Carlo Pascutto wrote:Hmm, dumping the weights didn't reveal anything special, I also don't see a bug in the code.
Still I have the impression much more offbeat openings are played than I would expect. It might be simply a PolyGlot thing.
Maybe its an interesting test to make a book from GM games, play a gazillion games, and then look at the move statistics from the games to see if there's a mismatch with the original DB.
Did you look at your books with Scid? It should show a probability for each move. Openings like b4 should have a probablity of less than 0.5% which is rounded to zero by Scid. If the openings played by Cutechess-cli significantly differ from that, then we have a problem.
It wouldn't take too long to play a gazillion games, because the moves after the book wouldn't matter. So you could use a time control of 0.1 sec per game or something.
-
- Posts: 750
- Joined: Mon Mar 27, 2006 7:45 pm
- Location: Finland
Re: Cutechess-cli: A command line tool for engine-engine mat
I only use floating point temporarily to convert between string format and the time values. Looks like it needs some fixin'.Gian-Carlo Pascutto wrote:Small cosmetic bug:
If I use tc=15+0.15, the PGN will have the timecontrol as 15+0.149. Seems like floating point is somewhere where it shouldn't.
-
- Posts: 1243
- Joined: Sat Dec 13, 2008 7:00 pm
Re: Cutechess-cli: A command line tool for engine-engine mat
I think it's a bug in PolyGlot's book builder. See the other thread I posted.ilari wrote: If the problem isn't in your books, it could also be in Qt's random number generator.
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Cutechess-cli: A command line tool for engine-engine mat
What else?ilari wrote:It would be interesting to see that code, even without documentation. Did you write it all in C?bob wrote:I suppose I should release my code at some point, but it is really tied to unix. It is what I use on our cluster and will handle using multiple starting positions, play as many games per position as you want, alternating colors (I use 2 here), and creates a PGN file containing all the games with results. I have another program that will take a bunch of scripts that use the above program, and execute as many at once as you want, so that you can use all your CPUs or just 1/2 of them or whatever. But again, all is pure Unix-based, no windows at all, and documentation is <nil>
Try adding "ansi off" in your crafty.rc file. Crafty highlights its move by using the usual reverse-video characters so that the move stands out in a tournament when we use console mode. I probably should make that default to off and will do so in 23.1...
Btw, Cutechess-cli doesn't let your program resign because Crafty outputs an unprintable control character at the beginning of the command. Like this: "1-0 {Black resigns}"
In Crafty's logs it looks fine and it's also not visible in the console, but in Cutechess-cli's and also Xboard's logfile it shows.
I'm using a 64-bit Linux, and I tested versions 20.14 and 22.9 of Crafty.
-
- Posts: 4675
- Joined: Mon Mar 13, 2006 7:43 pm
Re: Cutechess-cli: A command line tool for engine-engine mat
Symbolic uses ANSI escape sequences to generate color diagram graphics. Of course, it would be a bad idea to send such to a GUI or to a log file. So the program uses the trusty isatty() function to selectively disable ANSI escape sequence output along with prompts, sign-on and sign-off messages, etc.bob wrote:Try adding "ansi off" in your crafty.rc file. Crafty highlights its move by using the usual reverse-video characters so that the move stands out in a tournament when we use console mode. I probably should make that default to off and will do so in 23.1...
-
- Posts: 750
- Joined: Mon Mar 27, 2006 7:45 pm
- Location: Finland
Re: Cutechess-cli: A command line tool for engine-engine mat
Respect. Well, at least you only had to write it for Unix. Now try doing the same with WinAPI threads and pipes. Not fun at all.bob wrote:What else?ilari wrote: It would be interesting to see that code, even without documentation. Did you write it all in C?
Thanks, I'll try that. For some reason the aforementioned resignation command is the only one that has an unprintable character, everything else works.Try adding "ansi off" in your crafty.rc file. Crafty highlights its move by using the usual reverse-video characters so that the move stands out in a tournament when we use console mode. I probably should make that default to off and will do so in 23.1...
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Cutechess-cli: A command line tool for engine-engine mat
I don't send them to a log file, but I do send them to stdout.sje wrote:Symbolic uses ANSI escape sequences to generate color diagram graphics. Of course, it would be a bad idea to send such to a GUI or to a log file. So the program uses the trusty isatty() function to selectively disable ANSI escape sequence output along with prompts, sign-on and sign-off messages, etc.bob wrote:Try adding "ansi off" in your crafty.rc file. Crafty highlights its move by using the usual reverse-video characters so that the move stands out in a tournament when we use console mode. I probably should make that default to off and will do so in 23.1...
isatty() is a non-portable function. I've kept crafty compatible with every platform on the planet I am aware of, windows, unix, and everything in between...
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Cutechess-cli: A command line tool for engine-engine mat
I don't think the windows API is that bad, since crafty already works with windows threads and such. But this was a one-off project for my cluster testing and I had no intention of trying to distribute or support it outside of my lab here. Which meant a quick-and-dirty unix implementatoin, which is a system I know inside-out.ilari wrote:Respect. Well, at least you only had to write it for Unix. Now try doing the same with WinAPI threads and pipes. Not fun at all.bob wrote:What else?ilari wrote: It would be interesting to see that code, even without documentation. Did you write it all in C?
Thanks, I'll try that. For some reason the aforementioned resignation command is the only one that has an unprintable character, everything else works.Try adding "ansi off" in your crafty.rc file. Crafty highlights its move by using the usual reverse-video characters so that the move stands out in a tournament when we use console mode. I probably should make that default to off and will do so in 23.1...