UCI pondering or infinite search

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: UCI pondering or infinite search

Post by Ras »

hgm wrote:It is true 'movetime' asks the engine to search exactly the specified time, but I don't think it is a protocol violation to return a move earlier, if there is nothing to search.
Strictly speaking, it is violating the protocol, but in a way that will not be confusing to the GUI, so it should work. It depends on the engine, however, how strictly it implements the spec. My implementation for example will not return earlier when called with movetime. Shredder itself, however, does not implement UCI that strictly.

[d]k7/7Q/K7/8/8/8/8/8 w - - 0 1

The CT800 engine will think for 10 seconds when called with "go movetime 10000" while DeepShredder13 returns after 0.6 seconds. The reason why Shredder returns isn't that mate has been found, but that the depth has reached 100, which seems to be the maximum depth.

When called with "go wtime 10000 btime 10000 movestogo 1", the CT800 engine returns after 0.005 seconds, and Shredder after 0.013 seconds. Both engines return because mate in 1 has been found.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: UCI pondering or infinite search

Post by Ferdy »

Dann Corbit wrote:Might not be a bad work-around, but I would have to do it from the command line. No GUI can do that so far as I know
Sending that command is possible in Arena.