Detailed changes:
* In pawn evaluation I improved isolated, doubled (reduced penalization), connected and unsupported evaluation, and added lever. Also removed a penalization for advanced weak pawn.
* If king is bad but PST of it is positive, remove PST bonus.
* Slight compensation of material difference when big mobility difference.
* On knights, improved values when it cannot be threatened by a pawn, improved value when is near the rival king. Also added a bonus when it cannot be changed by a rival minor.
* On bishops, improved value when is blocked by central pawn, improved the value when is supported by a pawn, improved PST, improved the value related to number of pawns of the same color of the bishop. Also added a bonus when it cannot be changed by a rival minor. Also added a bonus when it cannot be threatened by a pawn.
* Little knight evaluation cache, of the related values of it with pawns. It happens very often than this evaluation is the same for the next alpha_beta call. Was like 2% speed increase, not of the function, but of the whole engine.
* This of Stockfish worked nicely:
Rank based term improved approximation of pos.see() for scoring good captures.
https://github.com/official-stockfish/S ... d9a2062f32
* This of Stockfish worked nicely:
https://github.com/official-stockfish/S ... 22601a0743
* Detected and disabled some changes of previous versions that where not good, thanks to now I'm trying with more games.
* Before it was disabling some prunes when a passed pawn was moved. Now when and advanced pawn is moved.
* Increased depth of futility pruning from 4 to 6.
* Removed killer + 2 depth
http://talkchess.com/forum/viewtopic.php?t=56540
* Depth of razoring from 5 to 4.
* Improved value of king stopping passed pawn, and the value of an extra penalization for passed pawn uncontrolled.
* For each passed pawns:
if (NumberOfPwans(me)) < NumberOfPwans(rival))
eg+= eg/ 4;

