What are useful statistics to gather during search?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

lojic
Posts: 71
Joined: Thu Jan 28, 2021 9:50 pm
Full name: Brian Adkins

What are useful statistics to gather during search?

Post by lojic »

My current task is to collect enough useful statistics during search, so I can write enough tests to help ensure I can refactor my code w/o breaking anything or slowing/weakening the engine. If there are common practices for statistics, I'd like to follow them to allow me to more easily communicate with others i.e. to compare apples to apples.

As one example, number of nodes considered seems like an important stat. With iterative deepening, there are a number of different ways to count nodes i.e. resetting the counter before each fixed N-ply subsearch vs. a running counter, how the transposition table affects counts, etc.

I found the Search Statistics page on CPW, but it's a little light on details.

I'm guessing bespoke statistics are common, but I thought I'd check before getting deep into this task.
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: What are useful statistics to gather during search?

Post by jdart »

See https://github.com/jdart1/arasan-chess/ ... rc/stats.h for what Arasan collects, or can collect, if the appropriate compile flags are set.

Among other things it can generate some move ordering statistics: how often the first move, or the second, third, or fourth, was selected as the best move by the search.

It also can generate a report on extensions and pruning: what % of nodes were extended, or pruned in a particular way.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: What are useful statistics to gather during search?

Post by xr_a_y »