abdada algorithm/parallel srchea

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

CheckersGuy
Posts: 273
Joined: Wed Aug 24, 2016 9:49 pm

abdada algorithm/parallel srchea

Post by CheckersGuy »

Hey,
I got a question about the abdada algorithm described at https://chessprogramming.wikispaces.com/ABDADA.
How would one implement PVS withing the ABDADA-Algorithm-Framework or should I not implement PVS inside ABDADA ?

Is there a good open source implementation of the abdada algorithm that uses PVS (and MoveOrdering) I can have a look at ?

Would appreciate any help.
Thanks guys :)
jdart
Posts: 4367
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: abdada algorithm/parallel srchea

Post by jdart »

ABDADA is a kind of ancestor of the technique now called "LazySMP" (https://chessprogramming.wikispaces.com/Lazy+SMP). Quite a few programs are using the latter with PVS, including now (I think) Stockfish.

--Jon
CheckersGuy
Posts: 273
Joined: Wed Aug 24, 2016 9:49 pm

Re: abdada algorithm/parallel srchea

Post by CheckersGuy »

jdart wrote:ABDADA is a kind of ancestor of the technique now called "LazySMP" (https://chessprogramming.wikispaces.com/Lazy+SMP). Quite a few programs are using the latter with PVS, including now (I think) Stockfish.

--Jon
Thats good to know. When using parallel alpha beta, does each thread have history-heuristics,counter-moves,killers or is this shared among all threads ? As far as I understood, alpha, beta values are not shared among threads so each thread would need to save the principal-variation seperately, I am I right ?
jdart
Posts: 4367
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: abdada algorithm/parallel srchea

Post by jdart »

CheckersGuy wrote:When using parallel alpha beta, does each thread have history-heuristics,counter-moves,killers or is this shared among all threads ?
That is pretty much your choice I think. For me they are per-thread.
As far as I understood, alpha, beta values are not shared among threads
.

They are shared in the sense that there is always a global beta value that is the upper search window and if any search in any thread exceeds this, you get beta cutoff. And there is also a global alpha, which is the best score found so far in any search.

--Jon