Covid-19, Chess and Threading

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

D Sceviour
Posts: 570
Joined: Mon Jul 20, 2015 5:06 pm

Covid-19, Chess and Threading

Post by D Sceviour »

As the world puts itself into self-isolation over the Covid-19 pandemic, there is plenty of time to catch up on the latest stuff going on in chess. I have been doing exhaustive tests on trying to improve the search algorithm with multiple threads. So far little substantial has been found but I think I have come across a general idea. Changing threads depths does nothing or makes things worse.

Whats happening here? The increased depth thread jumps ahead of the search and fills in hash values without having knowledge of the complete alpha/beta scores on all nodes of the tree. Other threads read its deep results, assume the PV line has been searched properly, and perform a bad cutoff. The conclusion is that root extensions are a complete waste. In fact, all variations of thread reductions seem bad.

However, thread extensions on singular lines show some improvement. For root move lists that are singular, extensions have possibilities for use. Still need to test multi-pv where threads can attach themselves to alternative moves with wider windows. This should be okay for root move lists that are not singular.

The best results so far are for increasing horizon pruning for extra threads. This is because horizon pruning leaves no altered depth hash entries to confuse other threads. However, LMP's are approaching a critical depth and use.

I have yet another idea. What would happen if a thread was dedicated to prefetching large data calculations such as attack boards, move lists, or static evaluations? There is a lot of code to write and stuff to test. Anyone else tried this?
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Covid-19, Chess and Threading

Post by elcabesa »

I have an idea in mind, but at the moment Vajolet needs to be refactored a lot to implemnt it. Probably now I'll have the time to try and implement it.

The idea is to do somethingh like multiPV to have the exact value of le'ts say 20 PV. I think that when searching with 100 threads having all them searching only the best move is not the best.

that said I have to refactor, try.... and probably throw it away :)
D Sceviour
Posts: 570
Joined: Mon Jul 20, 2015 5:06 pm

Re: Covid-19, Chess and Threading

Post by D Sceviour »

IBM is offering a contest for developers to write programs about Covid-19:

https://developer.ibm.com/blogs/the-202 ... -covid-19/

Most virus modeling programs are colorful extensions of statistical graphs predicting trend lines. I know little about actual virus modeling, but suspect most medical research programs are designed like spread sheet programs to organize classifications and distinctions. What computer programs cannot do is to answer the ethical questions about what ought to be done about pandemics. In this regard, Chess programming is more like a relaxing diversion to keep one active while avoiding social interaction, rather than a useful tool for Covid-19 research.

Many of the members here are over 65 years of age. With the estimated 10-15% casualty rate for Covid-19 contact, please take care.