cutechess gui build

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
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 8:21 pm
Full name: Kai Laskos

Re: cutechess gui build

Post by Laskos » Wed Jul 29, 2020 7:24 pm

MikeB wrote:
Wed Jul 29, 2020 7:11 pm
Laskos wrote:
Tue Apr 30, 2019 7:07 am
PaulieD wrote:
Mon Apr 29, 2019 11:37 pm
I am grateful for the work done on CuteChess GUI. Is it possible to have 2 different time controls for each engine in a match?

IE
Engine A 5' 3"
Engine B 4' 2"
If it will have separate TC, depth, nodes in games for each engine, I will start using the GUI. I haven't used GUI (I used only CLI version) precisely because of this shortcoming of the GUI.
I just started using the cli version this week and I actually like it better. Since I'm constantly adding engines it's much quicker in the cli version - plus it has true RR when all engines play the same position each round , I was surprised at this shortcoming in the GUI as I assumed it was doing that along without ever checking it. Set POLICY=round in cli - not available in the GUI version.

Edit - I use my own bash scripts to avoid using a json file - maintaining a json file is not the way to go.
Yes, but I am still using json file, I had it for many years now.

perejaslav
Posts: 232
Joined: Sat Mar 18, 2006 3:01 am
Location: Cold

Re: cutechess gui build

Post by perejaslav » Thu Jul 30, 2020 3:20 pm

How to suspend the current tournament in cutechess-cli and resume it later?

Gabor Szots
Posts: 700
Joined: Sat Jul 21, 2018 5:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: cutechess gui build

Post by Gabor Szots » Thu Jul 30, 2020 3:33 pm

perejaslav wrote:
Thu Jul 30, 2020 3:20 pm
How to suspend the current tournament in cutechess-cli and resume it later?
The only one wish I have for cutechess. Alas, there is no way to do it currently and I am not very optimistic about the future.
Gabor Szots
CCRL testing group

User avatar
MikeB
Posts: 4549
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: cutechess gui build

Post by MikeB » Thu Jul 30, 2020 10:46 pm

perejaslav wrote:
Thu Jul 30, 2020 3:20 pm
How to suspend the current tournament in cutechess-cli and resume it later?
If you "know" or can "plan" when when you want to suspend, this is easy ...

I use this bash script below today - I run two scripts back to to back - with different opening books - with games saved in one pgn file , I am currently using this to take advantage of two opening books , one opening is selecting FENs randomly, the second opening set is using FENs sequentially, but you could also easily modify this to suspend the tournament at set intervals inserting a "read" command between each run - this will halt the tournament until hit enter - so you can run a really big tournament overnight for days or weeks while you sleep and use the computer during the day as you would normally

code snippet

Code: Select all

#1st pass with random book 
cutechess-cli $DEBUG -repeat -rounds $rounds -games 2 -tournament $tournament_type -tb c:/syzygy -tbpieces 6 -resign movecount=1 score=700 twosided=true -draw movenumber=40 movecount=10 score=2 -concurrency $concur -openings file=$ofile format=$format order=$order plies=$PLY start=$START policy=$POLICY -engine dir=$DIR name=$ENG1 cmd=$CMD1 option.EvalFile=$EVFILE1 -engine dir=$DIR name=$ENG2 cmd=$CMD2 option.EvalFile=$EVFILE2  -each tc=$TC proto=uci option.Threads=$threads option.Hash=$hash $SYZYGY -pgnout $pgn &>/DEV/NULL

ofile="c:/cluster.mfb/Popcnt-LP/books/DRSullivan500.epd"                        # 500 posiiton file with more balanced lines
order="sequential"  # option -> sequential or random

second continuation run is here - insert "read" command

read   ## this will halt processing until you hit enter - which could be right befofe you go to bed...

#2nd pass with sequential book
cutechess-cli $DEBUG -repeat -rounds $rounds -games 2 -tournament $tournament_type -tb c:/syzygy -tbpieces 6 -resign movecount=1 score=700 twosided=true -draw movenumber=40 movecount=10 score=2 -concurrency $concur -openings file=$ofile format=$format order=$order plies=$PLY start=$START policy=$POLICY -engine dir=$DIR name=$ENG1 cmd=$CMD1 option.EvalFile=$EVFILE1 -engine dir=$DIR name=$ENG2 cmd=$CMD2 option.EvalFile=$EVFILE2  -each tc=$TC proto=uci option.Threads=$threads option.Hash=$hash $SYZYGY -pgnout $pgn &>/DEV/NUL


### wrap-up
#echo "Press the 'enter' key for a summary of results"
#read #deactivate for multiple scripts
#clear
end=`date +%s`
let endt=$end-$startt
echo ""
echo "#########################################################################################################"
echo "###                                              Summary                                              ###"
echo "#########################################################################################################"
echo ""
getelo.sh
echo ""
echo "#########################################################################################################"
echo "###                                                End                                                ###"
echo "#########################################################################################################"
echo ""
echo ""
echo " " >> c:/Users/MichaelB7/Dropbox/elo.txt
getelo.sh >> getelo.sh >> c:/Users/MichaelB7/Dropbox/elo.txt
cp $pgn c:/Users/MichaelB7/Dropbox
Also , as one see below, the script is very good at predicting tournament run time, so one can tailor this to meet one's specific timing needs. By design, I redirect all screen output to /dev/null using "&>/DEV/NULL", so everything you see below is the entie output on the screen after running two consecutive matches back to back and then summarized if one match was performed.-I have another script "watcher" to report back on the intermediate results on a periodic basis in a separate - everything is sent to dropbox for remote access as well

My latest scripts are in Github:
https://github.com/MichaelB7/cutechess/ ... ojects/cli
You will need run.sh which spawns off watcher.sh which calls getelo.sh on a periodic basis. getelo.sh uses a customized version of bayeselo a Windows version is in the folder or you can compile yourself from here:
https://github.com/MichaelB7/bayeselo

Code: Select all

$ run.sh
Settings ... remaining before kickoff:   0

Current date : time (EDST)
Date: 07/30/20 : 16:27:31

CMD1=Honey-XI-NN.exe ENG1=Ho-0629 EVFILE1=./eval/20200729-0629.bin
CMD2=Honey-XI-NN.exe ENG2=Ho-0109 EVFILE2=./eval/20200729-0109.bin

PGN File: c:/cluster.mfb/pgn/07301627.pgn
Games: 4000
Projected-> Time: 1h:44m:44s
20+0.40

Time Control-> base+inc: 20+0.40
Start running the chess match ...

#########################################################################################################
###                                              Summary                                              ###
#########################################################################################################

PGN File: c:/cluster.mfb/pgn/07301627.pgn
Time Control: Time Control-> base+inc: 20+0.40
Games: 4000
Threads: 1
Hash: 256

Current date : time (EDST)
Date: 07/30/20 : 18:12:36

Projected-> Time: 1h:44m:44s
     Run -> Time: 1h:45m:5s

4000 game(s) loaded
Rank Name     Rating   Δ     +    -     #     Σ    Σ%     W    L    D   W%    =%   OppR
---------------------------------------------------------------------------------------------------------

   1 Ho-0109   3501   0.0    6    6  4000 2008.0  50.2  692  676 2632  17.3  65.8  3499
   2 Ho-0629   3499   1.3    6    6  4000 1992.0  49.8  676  692 2632  16.9  65.8  3501
---------------------------------------------------------------------------------------------------------

  Δ = delta from the next higher rated opponent
  # = number of games played
  Σ = total score, 1 point for win, 1/2 point for draw

LOS:
         Ho Ho
Ho-0109     65
Ho-0629  34

#########################################################################################################
###                                                End                                                ###
#########################################################################################################
Image

Raphexon
Posts: 351
Joined: Sun Mar 17, 2019 11:00 am
Full name: Henk Drost

Re: cutechess gui build

Post by Raphexon » Tue Oct 06, 2020 10:00 pm

Cutechess 1.20 but able to select seperate time control for engines in tournaments by right-clicking them.
Can aslo add seperate TC for black and white in individual games.

https://github.com/gekkehenker/cuteches ... -64bit.zip

Code taken from: https://github.com/cutechess/cutechess/pull/599

Guenther
Posts: 3675
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: cutechess gui build

Post by Guenther » Tue Oct 06, 2020 10:15 pm

Raphexon wrote:
Tue Oct 06, 2020 10:00 pm
Cutechess 1.20 but able to select seperate time control for engines in tournaments by right-clicking them.
Can aslo add seperate TC for black and white in individual games.

https://github.com/gekkehenker/cuteches ... -64bit.zip

Code taken from: https://github.com/cutechess/cutechess/pull/599
My build reported a few days ago had that change already plus a few dozens more,
which were not in release 1.20 yet.

viewtopic.php?f=7&t=75249&hilit=cutechess#p863514

Raphexon
Posts: 351
Joined: Sun Mar 17, 2019 11:00 am
Full name: Henk Drost

Re: cutechess gui build

Post by Raphexon » Wed Oct 07, 2020 7:26 am

Guenther wrote:
Tue Oct 06, 2020 10:15 pm
Raphexon wrote:
Tue Oct 06, 2020 10:00 pm
Cutechess 1.20 but able to select seperate time control for engines in tournaments by right-clicking them.
Can aslo add seperate TC for black and white in individual games.

https://github.com/gekkehenker/cuteches ... -64bit.zip

Code taken from: https://github.com/cutechess/cutechess/pull/599
My build reported a few days ago had that change already plus a few dozens more,
which were not in release 1.20 yet.

viewtopic.php?f=7&t=75249&hilit=cutechess#p863514
Oh, that's really nice. Hadn't seen it.
Thanks!

Even Clobber included :D

User avatar
Nordlandia
Posts: 2729
Joined: Fri Sep 25, 2015 7:38 pm
Location: Sortland, Norway

Re: cutechess gui build

Post by Nordlandia » Wed Oct 07, 2020 2:13 pm

Nice additions =)

Krzysztof Grzelak
Posts: 927
Joined: Tue Jul 15, 2014 10:47 am

Re: cutechess gui build

Post by Krzysztof Grzelak » Sat Oct 31, 2020 10:54 am

I have a question. Please write how to set two options in cutochess. The first is that " Draw adjudication " and " Resign adjudication ". How is it set at the tournament " TCEC ". Thank you in advance for all information.

Image

Guenther
Posts: 3675
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: cutechess gui build

Post by Guenther » Sat Oct 31, 2020 11:11 am

Krzysztof Grzelak wrote:
Sat Oct 31, 2020 10:54 am
I have a question. Please write how to set two options in cutochess. The first is that " Draw adjudication " and " Resign adjudication ". How is it set at the tournament " TCEC ". Thank you in advance for all information.

Image
Don't know why you posted in this thread actually...your question is more about TCEC than cutechess builds.
You can figure it all out from the given rules set for TCEC.

https://wiki.chessdom.org/Rules

Code: Select all

TCEC Season 19 Rules

...

11. Game adjudication

    a. A game can be drawn by the normal 3-fold repetition rule or the 50-move rule. 
    b. However, a game can also be drawn at move 35 or later if the eval from both playing engines are within +0.15 to -0.15 pawns for the last 5 moves, or 10 plies. If there is a pawn advance, or a capture of any kind, this special draw rule will reset and start over. On the GUI interface, this rule is shown as "TCEC draw rule" with a number indicating how many plies there are left until it becomes official.
    c. A game will be adjudicated as won for one side if both playing engines have an eval of at least 10.00 pawns (or -10.00 in case of a black win) for 5 consecutive moves, or 10 plies - this rule is in effect as soon as the game starts. On the GUI interface, this rule is shown as "TCEC win rule" with a number indicating how many plies there are left until it becomes official. 
    d. Cutechess will automatically adjudicate endgame positions with 6-men Syzygy tablebases.

Post Reply