i am going to explain myself:
as the title says, i have implemented PeSTO's evaluation function or like many calls it: Tapered evaluation
but i see some weird output at least on my point of view, or it is ok?
look:
Start position on depth 8:
Code: Select all
> go depth 8
bestmove e2e4 score 7 seached nodes 251988
search done in 382ms
Illegal nodes: 1931
Code: Select all
bestmove g1f3 score 33 seached nodes 55751
search done in 93ms
Illegal nodes: 92
Code: Select all
> go depth 6
bestmove g1f3 score 0 seached nodes 36191
search done in 65ms
Illegal nodes: 94
Code: Select all
> go depth 4
bestmove d2d4 score 0 seached nodes 2555
search done in 15ms
Illegal nodes: 0
i see most engines on the same position does almost always a d2d4 on result for each of these depth's
i am collecting my best move in the following way:
Code: Select all
if (score > alpha)
{
if(ply == 0) best_move = current_move;
}
i have implemented:
- semi open file scoring
- open file scoring
- isolated pawns
- passed pawns
- king safety (very basic, basically a ( count_bits(bitboards[all_pieces][player] & king_attacks[square]) * king_shield_bonus )
no matter if i remove all these listed features from the evaluation function they still giving the same result
i am new on this but this have me thinking and debugging all day