Code: Select all
MOVE pv_line[MAX_PLY];
...
//PV Collection in alpha-beta
if(score > alpha){
alpha = score;
pv_line[current_ply] = move;
}
Moderator: Ras
Code: Select all
MOVE pv_line[MAX_PLY];
...
//PV Collection in alpha-beta
if(score > alpha){
alpha = score;
pv_line[current_ply] = move;
}
This doesn't look correct.StackFish5 wrote: ↑Sun Oct 09, 2022 11:09 pm Currently in my chess engine, I use a pv-collection system:
However, I'm wondering whether about the benefits triangular pv-tables are worth it as it seems that many people use it. To me, it appears to be overly redundant and slow, especially the part were the pv move is copied to all other occurrences applicable. Are there any benefits to using triangular pv-tables?Code: Select all
MOVE pv_line[MAX_PLY]; ... //PV Collection in alpha-beta if(score > alpha){ alpha = score; pv_line[current_ply] = move; }
Just curious: but why not just walk the TT?StackFish5 wrote: ↑Sun Oct 09, 2022 11:09 pm Currently in my chess engine, I use a pv-collection system:
Because the TT often gets overwritten. Joker retrieved the PV from the TT after the search, but often the PV ended in a position that did not have the same evaluation as the move that was played. (Which was especially obvious when checkmates were involved.)flok wrote: ↑Mon Oct 10, 2022 8:47 amJust curious: but why not just walk the TT?StackFish5 wrote: ↑Sun Oct 09, 2022 11:09 pm Currently in my chess engine, I use a pv-collection system: