I have the 6 piece DTM EGTB in RAM (2.6GB) in my portuguese checkers engine (with flying kings), wich offcourse has to be a 64bit exe in order to use more RAM.
I have a variable MaxPieceCount = 6 + 4;
In the eval funcion I have:
Code: Select all
int acumulator=0; //this is the variable that will sum all of the eval terms
.
.
.
if (piececount <= MaxPieceCount ) {
.
.
.
}
Why? Because the search of a position with 10 pieces on the board will have most of it's tips falling in the EGTB database so the engine will play well here and the more pieces on the board the better to keep it complex for the opponent, but not more than MaxPieceCount so that the search may have less tips falling inthe EGTB database and play not so good.
I have the following material wights:
white man = 100
black man = -100
white queen = 345
black queen = -345
So what code should I use above in order to avoid captures once MaxPieceCount has been reached, while encouraging promotions offcourse ?
thanks in advance,
Alvaro