UCI output and aspiration search

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

MOBMAT
Posts: 385
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

UCI output and aspiration search

Post by MOBMAT »

What is the best practice for what search info should be sent to UCI when an aspiration search (AS) is used?

It is the researches i'm specifically asking about.

with AS turned off, I send info about the current depth (full info when the depth is over) and limited info when alpha is raised.

if a research is done, the depth stays the same and the same moves are repeated. If alpha isn't raised, no further info in the mainlines is shown. the 'currmove' and 'currmovenumber' info is updated, but it just repeats as the AS searches wider.

is the 'seldepth' used for AS researches? if not, what keywords might be used to indicate the AS is going wider?
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: UCI output and aspiration search

Post by elcabesa »

MOBMAT wrote: Sat Jun 16, 2018 6:28 am with AS turned off, I send info about the current depth (full info when the depth is over) and limited info when alpha is raised.
I don't understand what you mean when you say: "and limited info when alpha is raised"
MOBMAT wrote: Sat Jun 16, 2018 6:28 am is the 'seldepth' used for AS researches? if not, what keywords might be used to indicate the AS is going wider?
seldepth has another use..
read the uci documentation :)

this is a tipical search output for Vajolet
at depth 15 a research is triggered and you see 2 output, the first with the aspiration fail, and then the result of the wider search
at depth 16 also the search result goes out of bound and a research is triggered, if failed, and another search is triggered with a wider window.

Code: Select all

info multipv 1 depth 15 seldepth 27 score cp 27 upperbound nodes 656392 nps 523021 time 1255 pv e2e4
info multipv 1 depth 15 seldepth 28 score cp 15 nodes 768113 nps 534525 time 1437 pv e2e4 d7d5 e4d5 g8f6 g1f3 f6d5 d2d4 c8f5 b1c3 b8c6 f1c4 c6b4 c4b3 e7e6 e1g1

info multipv 1 depth 16 seldepth 27 score cp 29 lowerbound nodes 1295809 nps 540821 time 2396 pv e2e4
info multipv 1 depth 16 seldepth 25 score cp 37 lowerbound nodes 1397771 nps 540514 time 2586 pv e2e4
info multipv 1 depth 16 seldepth 29 score cp 34 nodes 1520019 nps 542670 time 2801 pv e2e4 e7e6 b1c3 g8f6 g1f3 b8c6 d2d3 f8e7 f1e2 e8g8 e1g1 d7d6 c1g5 h7h6 g5f6 e7f6 d3d4

MOBMAT
Posts: 385
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

Re: UCI output and aspiration search

Post by MOBMAT »

By limited info, I should have said, I only output the move that raised alpha, not the entire PV. It appears you are doing the same thing.
at depth 15 a research is triggered and you see 2 output, the first with the aspiration fail, and then the result of the wider search
at depth 16 also the search result goes out of bound and a research is triggered, if failed, and another search is triggered with a wider window.
I see from your output what you are doing. The "upperbound" is what I was looking for.

Thanks!
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: UCI output and aspiration search

Post by elcabesa »

here you can find the UCI protocol:
http://wbec-ridderkerk.nl/html/UCIProtocol.html

I don't know wheter it's the latest version