GUI question: Asymmetric time control

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

Moderators: hgm, Rebel, chrisw

User avatar
Ozymandias
Posts: 1532
Joined: Sun Oct 25, 2009 2:30 am

Re: GUI question: Asymmetric time control

Post by Ozymandias »

rainhaus wrote: Wed May 23, 2018 5:29 pmThis is not from me, but from the original site https://github.com/cutechess/cutechess/ ... c/help.txt
I cite:
tc=TIMECONTROL
Set the time control to TIMECONTROL. The format is moves/time+increment, where 'moves' is the number of moves per tc. 'time' is time per tc (either seconds or minutes:seconds). and 'increment' is time increment per move in seconds.
st=N Set the time limit for each move to N seconds.
This option can't be used in combination with "tc".
What this means is that you can't mix both options for the same engine, you can most certainly play games where one engine uses st=N while the other uses tc=TIMECONTROL. For example:

Code: Select all

cutechess-cli -engine conf=cfish tc=40/20+0.5 option.SyzygyPath=C:\syzygy -engine conf=asm st=1 option.SyzygyPath=C:\syzygy -openings file=Hert500.pgn start=1 -site here -event now -games 2 -rounds 500 -repeat -concurrency 4 -pgnout tc.pgn -recover -each proto=uci -draw movenumber=25 movecount=5 score=0 -resign movecount=1 score=300 -tb C:\syzygy
This should give no more trouble than time loses for the engines using time/move. As mentioned, this is something they don't like, and in the extreme, it will cause the engine to lose if it goes over the limit even if only for a millisecond (with is why you have the timemargin=N option).
rainhaus
Posts: 185
Joined: Sun Feb 01, 2009 7:26 pm
Location: Germany
Full name: Rainer Neuhäusler

Re: GUI question: Asymmetric time control

Post by rainhaus »

hgm wrote: Wed May 23, 2018 5:58 pm
rainhaus wrote: Tue May 22, 2018 5:53 pmGeneralized, I would like to test to what extent different time management has an effect on playing strength, because time controls have not only a quantitative aspect but also a qualitative one.
BTW, if you want to play fixed time per move against other types of TC, there might be a trick to do that in WinBoard. You would have to install the engine that should play fixed time/move with the extra WinBoard option /firstComputerString="st 10\n". The computer string is something that WinBoard sens to the engine at the start of the game, after it has sent all other setup commands,(if the opponent is a computer), and st 10 would set the engine to 10 sec/move, overruling the TC parameters WinBoard has sent it before. So you can the set WinBoard for 40 moves/7 min, say, and that is what all other engines woul play, then.
Now seems realizable after all with Cutechess. I was too early to draw my conclusions. I keep the trick for WinBoard in mind, you never know...
rn
rainhaus
Posts: 185
Joined: Sun Feb 01, 2009 7:26 pm
Location: Germany
Full name: Rainer Neuhäusler

Re: GUI question: Asymmetric time control

Post by rainhaus »

Ozymandias wrote: Wed May 23, 2018 9:42 pm
rainhaus wrote: Wed May 23, 2018 5:29 pmThis is not from me, but from the original site https://github.com/cutechess/cutechess/ ... c/help.txt
I cite:
tc=TIMECONTROL
Set the time control to TIMECONTROL. The format is moves/time+increment, where 'moves' is the number of moves per tc. 'time' is time per tc (either seconds or minutes:seconds). and 'increment' is time increment per move in seconds.
st=N Set the time limit for each move to N seconds.
This option can't be used in combination with "tc".
What this means is that you can't mix both options for the same engine, you can most certainly play games where one engine uses st=N while the other uses tc=TIMECONTROL. For example:

Code: Select all

cutechess-cli -engine conf=cfish tc=40/20+0.5 option.SyzygyPath=C:\syzygy -engine conf=asm st=1 option.SyzygyPath=C:\syzygy -openings file=Hert500.pgn start=1 -site here -event now -games 2 -rounds 500 -repeat -concurrency 4 -pgnout tc.pgn -recover -each proto=uci -draw movenumber=25 movecount=5 score=0 -resign movecount=1 score=300 -tb C:\syzygy
This should give no more trouble than time loses for the engines using time/move. As mentioned, this is something they don't like, and in the extreme, it will cause the engine to lose if it goes over the limit even if only for a millisecond (with is why you have the timemargin=N option).
Thanks for the clarification! I will try it soon, but I have to get used to Cli first. Günther has also found a way.
rainhaus
Posts: 185
Joined: Sun Feb 01, 2009 7:26 pm
Location: Germany
Full name: Rainer Neuhäusler

Re: GUI question: Asymmetric time control

Post by rainhaus »

rainhaus wrote: Wed May 23, 2018 5:29 pm ...snipped lengthy 'Tueschenesque' paragraphs...
You are manipulating quotes, I never said that. Where are the Mods, he fakes :shock:... Okay, he's not a friend of extended multi-liners. Hi, Günther, if you sort out postings with a ruler, you can put a Tueschenesque label on it.
"Schachfan" Rolf Tueschen. Oh yes, he flooded the forums daily with his disputes. We've met him long enough on the CSS forum, right? I didn't even know when he stopped writing here in CCC. Comparing him to Socrates, he liked it. Like the Greek philosopher, he wanted people to think about themselves and realize that they know much less than they pretend. I hope he didn't have to slurp the poison cup, too. He was a zealot with a sense of mission and could become quite evil.
Well, even in my postings not everything is notation and code and chat-suitable short form. Against Rolf's speeches, however, my posts are really only short notes, for sure. There are few long writers and many daily habit writers, that balances itself.
Guenther wrote:I didn't know that you just have an agenda vs. AlphaZero instead of searching for a solution to a problem.
Your first post in this thread asked for sth different:
I am looking for a GUI where you can set individual time controls for each engine (UCI) in a match or tournament. So Shredder plays for example 40/20' and Stockfish with 5' Blitz. As far as I can see, it's not possible...
Exactly this is possible in cc-cli no matter what you think.
I have to agree with you somehow, that was a bit confusing. I should have made the DeepMind event the topic right away. HGM took it out of me relatively quickly. But I can't expect someone to follow a whole thread chronologically (especially not without thread view and in "Tueschen style":)
Besides, I have no agenda for or against anyone, I just want to see if the hypothesis is correct.
..............
Guenther wrote:As long as we don't have logs from the AZ match we don't even know what tc they exactly used...
even when they say one move per minute this could mean two different ways of setting up.
So I assume that it was actually 1'/move for both sides, as long as no other thing is known. A wrong information does not seem plausible to me for any reason. What do you mean, there' s two different ways?
BTW, one minute with this gigantic hardware! I should estimate what a move time comes out with my Ryzen7 1800x.
Guenther wrote:Here is an example of SF 8 with 1/6 vs. SF9 40/240 just to show it works as mps tc.
(note that I was too lazy to remove the 6 plies start position - those moves are obviously counted - therefore it moved the first move in around 24s.)
[White "Stockfish_8-64"]
[Black "Stockfish_9-64"]
[Result "0-1"]
[BlackTimeControl "40/240"]
[WhiteTimeControl "1/6"]
To be absolutely sure (as I said, I must first familiarize myself with Cutechess-Cli):
1/6 means 6 seconds/move and 1/60 would be 60 seconds per move. Yeah, that's it, sapprament? Simply set the number of moves to 1. Brilliant! Why didn't you exemplify that right away?! Then you can do 1/60 against 40/2400 right? At 40/2400 the engine's time management can fully develop its smart heuristics, while at 1/60 after 1 minute the brutal cut comes.
Maybe everything will work with CLI, which you have always been saying. Jp and Ozymandias are convinced that "st=N" can be combined with tc. The instructions may be somewhat ambiguous.
Unbelievable, yesterday I thought it was impossible and now there are several solutions. But the last word is in practice. Thank you for your efforts. I'll be back.

Rainer Neuhäusler, taking a nap after dictation