when to cut off search in a UCI client with score cp 0

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

nnnnnnnn
Posts: 37
Joined: Mon Nov 18, 2019 2:36 pm
Full name: Mark Thellen

when to cut off search in a UCI client with score cp 0

Post by nnnnnnnn »

I have a UCI client interfacing to Stockfish, for analysis.

I am only interested in the win/loss/draw value of the
position generally.

Now, if the score is of the form mate k, I can obviously cut off the search there, say

info depth 2 seldepth 4 multipv 1 score mate 2 nodes 251 nps 125500 tbhits 8 time 2 pv h8c3 c1d1 c3d2

Here the score is mate in 2 and I cut off the search

Likewise if the score were some very high value or very low value I can usually assume that comes from a tablebase and cut it off.

But what if the score is 0:

score cp 0

In this particular example, the 0 is from a tablebase. But in general is it still safe to cut off the search? In other words, is there a way from the info line to distinguish a certain draw (which needs no further search) from an unknown score?

I am invoking the search typically with a line like

go movetime 1000

with UCI_AnalyseMode set to true and a multipv.

(I am interested generally in when to cut off the search actually. I have a hard time limit of 1 second but when can I be reasonably sure I can cut it off earlier?)