Cutechess-cli: A command line tool for engine-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
ilari
Posts: 750
Joined: Mon Mar 27, 2006 5:45 pm
Location: Finland
Contact:

Re: Millispeconds and a new EPD spec

Post by ilari » Mon Oct 26, 2009 8:46 pm

Could a moderator move this discussion of the EPD specs to a new thread perhaps? I think it's a very interesting topic, something I want to follow closely, but it doesn't have much to do with cutechess-cli.

User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 5:45 pm
Location: Finland
Contact:

Re: Cutechess-cli version 0.2.1 is out

Post by ilari » Sun Nov 08, 2009 7:43 pm

What's new?

- Fixed a bug in 0.2.0 that forced both engines to always use the same time control
- The engines can use separate opening books

The latter feature was requested a long time ago, but it was surprisingly difficult to implement so that it works with all the other options. I removed the general options "-book" and "-bookdepth", and added new engine options "book" and "bookdepth". Polyglot opening books and PGN input can be used at the same time. A couple of examples:

- Use huge_book.bin for Sloppy and small_book.bin for Fruit
- Limit both books to 5 fullmoves

Code: Select all

cutechess-cli -fcp conf=Sloppy book=/home/me/pg_books/huge_book.bin -scp conf=Fruit book=/home/me/pg_books/small_book.bin -both bookdepth=5 tc=60

- Play the 4 first halfmoves (plies) from openings.pgn
- Use huge_book.bin for both engines
- Limit huge_book.bin's depth to 10 fullmoves. The 4 plies from openings.pgn is included in this number, so the maximum number of fullmoves from huge_book.bin is actually 8, assuming that the games in openings.pgn have at least 4 halfmoves each.

Code: Select all

cutechess-cli -fcp conf=Sloppy -scp conf=Fruit -both book=/home/me/pg_books/huge_book.bin bookdepth=10 tc=60 -pgnin /home/me/pgn/openings.pgn -pgndepth 4

Audmeister
Posts: 135
Joined: Sun Jun 01, 2008 7:38 am

Re: Cutechess-cli version 0.2.1 is out

Post by Audmeister » Sun Nov 08, 2009 11:00 pm

This is a great new update!

Now I can test books super duper fast! :)

IanO
Posts: 487
Joined: Wed Mar 08, 2006 8:45 pm
Location: Portland, OR
Contact:

Re: Cutechess-cli version 0.2.1 is out

Post by IanO » Mon Nov 09, 2009 1:38 am

Since moving to OS X 10.6, I have not been able to load Rybka with microwine under cutechess-cli. Could there be a problem with exec()ing an arch=x86_64 binary from your 32-bit build of cutechess-cli?

[Edit: nevermind, I had forgotten to add back a "dir=." parameter while experimenting. All is well.]

Hart

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Hart » Tue Nov 17, 2009 5:16 am

Code: Select all

[Result "1/2-1/2"]
[PlyCount "16"]
[EventDate "2009.??.??"]

1. e4 {book} e5 {book} 2. Nf3 {book} Nc6 {book} 3. Bb5 {book} a6 {book} 4. Ba4
{book} Nf6 {book} 5. O-O {book} Be7 {book} 6. Re1 {book} b5 {book} 7. Bb3 {
0.00/7 0.16s} O-O {-0.03/12 0.53s} 8. a4 {0.00/8 0.16s} Bb7 {
0.00/13 0.52s  Draw by adjudication} 1/2-1/2
This does not make sense to me as I am using -draw 5 0

Am I doing something wrong?

User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 5:45 pm
Location: Finland
Contact:

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by ilari » Tue Nov 17, 2009 6:35 am

Hart wrote:

Code: Select all

[Result "1/2-1/2"]
[PlyCount "16"]
[EventDate "2009.??.??"]

1. e4 {book} e5 {book} 2. Nf3 {book} Nc6 {book} 3. Bb5 {book} a6 {book} 4. Ba4
{book} Nf6 {book} 5. O-O {book} Be7 {book} 6. Re1 {book} b5 {book} 7. Bb3 {
0.00/7 0.16s} O-O {-0.03/12 0.53s} 8. a4 {0.00/8 0.16s} Bb7 {
0.00/13 0.52s  Draw by adjudication} 1/2-1/2
This does not make sense to me as I am using -draw 5 0

Am I doing something wrong?
Yes, it makes sense. "-draw 5 0" means that the games are adjudicated as draws if the evaluation of both engines is 0 after 5 full moves have been played. Most people use something like "-draw 120 10".

Maybe I could add a new parameter to "-draw" that would specify the number of consecutive moves where the eval is within x centipawns.

Hart

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Hart » Tue Nov 17, 2009 6:51 am

Okay, I misunderstood then. I just assumed it was for n consecutive moves within x centipawns of 0. A new parameter for this would be be very useful, IMO. Thanks for the prompt response.

Hart

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Hart » Thu Nov 19, 2009 4:56 am

cutechess-cli -fcp cmd=A.exe proto=uci -scp cmd=B.exe proto=uci -games 800 -pgnout out.pgn -pgnin suite.pgn -both tc=1/2 -concurrency 4
cutechess-cli -fcp cmd=A.exe proto=uci -scp cmd=C.exe proto=uci -games 800 -pgnout out.pgn -pgnin suite.pgn -both tc=1/2 -concurrency 4
cutechess-cli -fcp cmd=B.exe proto=uci -scp cmd=C.exe proto=uci -games 800 -pgnout out.pgn -pgnin suite.pgn -both tc=1/2 -concurrency 4

I would like these to execute in sequence. Is there a straightforward way to make this happen?

Thanks in advance.

Edsel Apostol
Posts: 770
Joined: Mon Jul 17, 2006 3:53 am
Full name: Edsel Apostol
Contact:

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Edsel Apostol » Thu Nov 19, 2009 5:17 am

Hart wrote:cutechess-cli -fcp cmd=A.exe proto=uci -scp cmd=B.exe proto=uci -games 800 -pgnout out.pgn -pgnin suite.pgn -both tc=1/2 -concurrency 4
cutechess-cli -fcp cmd=A.exe proto=uci -scp cmd=C.exe proto=uci -games 800 -pgnout out.pgn -pgnin suite.pgn -both tc=1/2 -concurrency 4
cutechess-cli -fcp cmd=B.exe proto=uci -scp cmd=C.exe proto=uci -games 800 -pgnout out.pgn -pgnin suite.pgn -both tc=1/2 -concurrency 4

I would like these to execute in sequence. Is there a straightforward way to make this happen?

Thanks in advance.
You can try putting it in a batch file.

Hart

Re: Cutechess-cli: A command line tool for engine-engine mat

Post by Hart » Thu Nov 19, 2009 5:30 am

I was afraid that they'd run concurrently but this works just as I wanted it to. Thanks a million.

Post Reply