Uci "go" command without other parameters

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Uci "go" command without other parameters

Post by xr_a_y »

What is the expected behaviour of just "go" without anything else ?
Shall it be interpreted as "go infinite" ? or "go some_default_depth" ?

Thanks for your hints.
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Uci "go" command without other parameters

Post by hgm »

This is not defined in the specs, so it will evoke 'undefined behavior', which will depend on the engine. Demons might fly out of your nose!
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Uci "go" command without other parameters

Post by xr_a_y »

hgm wrote: Sun Jan 17, 2021 3:49 pm This is not defined in the specs, so it will evoke 'undefined behavior', which will depend on the engine. Demons might fly out of your nose!
Minic goes for an error

Code: Select all

info string Fatal 2021-01-17 15:39:45-738: bad timing configuration ... (missing dynamic time info for sudden death style TC)
But I guess going for a "demo" depth 10 search won't hurt ...
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Uci "go" command without other parameters

Post by hgm »

You can do anything that is useful to you. (E.g. to facilitate debugging from the command line.)
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Uci "go" command without other parameters

Post by xr_a_y »

I'll go for a depth 10 search.
I guess people just type "go" to see if the engine works. So a depth 10 search is some reasonable test probably.

Code: Select all

uciok
go
info string Warn  2021-01-17 15:59:53-947: no parameters given for go command, going for a depth 10 search ...
info depth 1 score cp 102 time 1 nodes 21 nps 20999 seldepth 1 pv b1c3  tbhits 0
info depth 2 score cp 45 time 1 nodes 62 nps 61999 seldepth 2 pv b1c3 b8c6  tbhits 0
info depth 3 score cp 91 time 1 nodes 90 nps 89999 seldepth 3 pv b1c3 b8c6 g1f3  tbhits 0
info depth 4 score cp 58 time 1 nodes 171 nps 170999 seldepth 4 pv e2e3 b8c6 b1c3 g8f6  tbhits 0
info depth 5 score cp 53 time 1 nodes 475 nps 474999 seldepth 6 pv c2c4 b8c6 b1c3 g8f6 g1f3  tbhits 0
info depth 6 score cp 72 time 1 nodes 806 nps 805999 seldepth 6 pv b1c3 b8c6 h2h3 g8f6 g1f3 e7e6  tbhits 0
info depth 7 score cp 74 time 2 nodes 2384 nps 1192000 seldepth 9 pv b1c3 d7d5 g1f3 b8c6 d2d4 g8f6 h2h3  tbhits 0
info depth 8 score cp 63 time 5 nodes 5012 nps 1002400 seldepth 12 pv b1c3 b8c6 e2e4 g8f6 d2d4 h7h6 g1f3 d7d5  tbhits 0
info depth 9 score cp 50 time 16 nodes 14996 nps 937249 seldepth 15 pv c2c4 c7c5 e2e3 b8c6 b1c3 g8f6 d2d4 c5d4 e3d4  tbhits 0
info depth 10 score cp 51 time 35 nodes 34560 nps 987428 seldepth 16 pv c2c4 c7c5 b1c3 b8c6 b2b3 h7h6 g1f3 g8f6 h2h3 e7e5  tbhits 0
bestmove c2c4 ponder c7c5
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Uci "go" command without other parameters

Post by Ferdy »

xr_a_y wrote: Sun Jan 17, 2021 4:01 pm I'll go for a depth 10 search.
I guess people just type "go" to see if the engine works. So a depth 10 search is some reasonable test probably.

Code: Select all

uciok
go
info string Warn  2021-01-17 15:59:53-947: no parameters given for go command, going for a depth 10 search ...
info depth 1 score cp 102 time 1 nodes 21 nps 20999 seldepth 1 pv b1c3  tbhits 0
info depth 2 score cp 45 time 1 nodes 62 nps 61999 seldepth 2 pv b1c3 b8c6  tbhits 0
info depth 3 score cp 91 time 1 nodes 90 nps 89999 seldepth 3 pv b1c3 b8c6 g1f3  tbhits 0
info depth 4 score cp 58 time 1 nodes 171 nps 170999 seldepth 4 pv e2e3 b8c6 b1c3 g8f6  tbhits 0
info depth 5 score cp 53 time 1 nodes 475 nps 474999 seldepth 6 pv c2c4 b8c6 b1c3 g8f6 g1f3  tbhits 0
info depth 6 score cp 72 time 1 nodes 806 nps 805999 seldepth 6 pv b1c3 b8c6 h2h3 g8f6 g1f3 e7e6  tbhits 0
info depth 7 score cp 74 time 2 nodes 2384 nps 1192000 seldepth 9 pv b1c3 d7d5 g1f3 b8c6 d2d4 g8f6 h2h3  tbhits 0
info depth 8 score cp 63 time 5 nodes 5012 nps 1002400 seldepth 12 pv b1c3 b8c6 e2e4 g8f6 d2d4 h7h6 g1f3 d7d5  tbhits 0
info depth 9 score cp 50 time 16 nodes 14996 nps 937249 seldepth 15 pv c2c4 c7c5 e2e3 b8c6 b1c3 g8f6 d2d4 c5d4 e3d4  tbhits 0
info depth 10 score cp 51 time 35 nodes 34560 nps 987428 seldepth 16 pv c2c4 c7c5 b1c3 b8c6 b2b3 h7h6 g1f3 g8f6 h2h3 e7e5  tbhits 0
bestmove c2c4 ponder c7c5
Deuterium replies with :)

Code: Select all

info string unknown command go
Your solution of sending a warning is good. But I would refuse to search. Buggy GUI and Lazy User :( might think that it is doing fine because it searches after all.
Ras
Posts: 2488
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Uci "go" command without other parameters

Post by Ras »

Since most other parameters on "go" impose some search restriction, I treat the abscence of any such restrictions as "go infinite". However, you may set any default you like, such as a default search time. If the GUI wants to have a specific behaviour, it has to set the appropriate parameters - which all GUIs do.
Rasmus Althoff
https://www.ct800.net
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Uci "go" command without other parameters

Post by mvanthoor »

When rustic sees "go", it assumes "infinite", until it sees something else.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
willmorton
Posts: 30
Joined: Thu Sep 17, 2020 9:19 pm
Full name: William Morton

Re: Uci "go" command without other parameters

Post by willmorton »

over the years I've read about several "holes" in the UCI specs. I wonder if the Shredder's author would be willing to modify them if we contacted him, so to avoid undefined behaviors.
Terje
Posts: 347
Joined: Tue Nov 19, 2019 4:34 am
Location: https://github.com/TerjeKir/weiss
Full name: Terje Kirstihagen

Re: Uci "go" command without other parameters

Post by Terje »

Weiss treats it as 'go infinite', but prints bestmove as soon as it reaches max depth, instead of waiting for 'stop' like in actual 'go infinite'.