cutechess gui build

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

Moderators: hgm, Rebel, chrisw

User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: cutechess gui build

Post by Laskos »

MikeB wrote: Wed Jul 29, 2020 9:11 pm
Laskos wrote: Tue Apr 30, 2019 9:07 am
PaulieD wrote: Tue Apr 30, 2019 1:37 am 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: 240
Joined: Sat Mar 18, 2006 4:01 am
Location: Cold

Re: cutechess gui build

Post by perejaslav »

How to suspend the current tournament in cutechess-cli and resume it later?
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: cutechess gui build

Post by Gabor Szots »

perejaslav wrote: Thu Jul 30, 2020 5: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: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: cutechess gui build

Post by MikeB »

perejaslav wrote: Thu Jul 30, 2020 5: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: 476
Joined: Sun Mar 17, 2019 12:00 pm
Full name: Henk Drost

Re: cutechess gui build

Post by Raphexon »

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
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: cutechess gui build

Post by Guenther »

Raphexon wrote: Wed Oct 07, 2020 12:00 am 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.

http://talkchess.com/forum3/viewtopic.p ... ss#p863514
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
Raphexon
Posts: 476
Joined: Sun Mar 17, 2019 12:00 pm
Full name: Henk Drost

Re: cutechess gui build

Post by Raphexon »

Guenther wrote: Wed Oct 07, 2020 12:15 am
Raphexon wrote: Wed Oct 07, 2020 12:00 am 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.

http://talkchess.com/forum3/viewtopic.p ... ss#p863514
Oh, that's really nice. Hadn't seen it.
Thanks!

Even Clobber included :D
User avatar
Nordlandia
Posts: 2821
Joined: Fri Sep 25, 2015 9:38 pm
Location: Sortland, Norway

Re: cutechess gui build

Post by Nordlandia »

Nice additions =)
Krzysztof Grzelak
Posts: 1525
Joined: Tue Jul 15, 2014 12:47 pm

Re: cutechess gui build

Post by Krzysztof Grzelak »

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
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: cutechess gui build

Post by Guenther »

Krzysztof Grzelak wrote: Sat Oct 31, 2020 11: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.
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy