ideas

Recent ideas (last 4 years) tried in ProDeo that either were a small regression (not more than a loss of 10 elo) or an insecure improvement (not more than a elo gain of 3-4) that perhaps after all have a future in case of more test games.

 

In the hope it serves some purpose to list them for other authors since I am pretty much done playing 15,000 - 20,000 games to ratify a small change.

 

STATUS means whatever is in my notes or what I do remember of the change.

 

Positional ideas

 

Idea

Description

Status

1

Block weak pawns with knight

Putting a knight in front a weak pawn is good. A weak pawn in ProDeo is either an isolated or backward pawn

Estimated -1 to +2 elo (12,000 games)

2

Rook pawn attack

It is usually a good idea to attack opponent pawns from behind with a rook especially in the endgame.

Estimated 1-3 elo

3

Pins

If an opponent major piece (NBR) is pinned and the opponent pinned piece is under attack of a lesser own piece, such as a pinned black knight on f6 and attacted by a white pawn on e5 then a bonus of 0.25 is given.

No progress neither regression noticed. Situation (perhaps) too uncommon.

4

Keep Queen

Depending on how much behind in material increase the value of the own Queen respectively with 0.25 | 0.50 | 0.75

Not tested yet although the code has been around quite some years.

5

Knight Outpost

Added own pawn support.

No progress neither regression noticed. Apparently a knight that can't be attacked by an opponent pawn doesn't need the support of an own pawn while the official definition dictates it.

6

Calculating pressure

In the midgame evaluate the pieces that have invaded the enemy camp via a simple PST where each square has its own value. The sum is an index to a progressive evaluation table that is added to the score.

Small regression so far. Perhaps need tuning.

7

Cooperating Knights

Usually a knight that covers the other knight is not so good, a small penalty is given. On the other hand Knights like e4 and d4 (horizontal) or f4 and f5 (vertical) cooperate very well. A piece square bonus is given.

Not tested yet.

8

Cooperating Bishops

Same as (7)

Not tested yet.

9.

Rook mobility

Added a penalty when a rook covers its own pawn and the square before that pawn is occupied. Depending on the piece type that blocks the pawn a penalty is given.

Not tested yet and perhaps the penalty should be given by a PST instead of piece type table.

10

Count advantages

Count the number of advantages for the color evaluated. The sum is an index to a progressive evaluation table that is added to the score. Advantages are: (good) pressure on the opponent king, good passed pawn(s), bishop pair, queen on 7th or 8th rank, Knight outpost. The idea behind is that (usually) when you have a good pressure on the enemy king + the bishop pair + a good passed pawn you already have a won game as long as your own king is safe.

Regression of 5 elo. Perhaps lowering the bonus table will give a better result. The option is available activating the MISC_10 parameter in the ProDeo.eng personality.

11

KNPawns vs KBPawns ending

In Bishop vs Knight endings with pawns on both flanks the bishop usually is superior. A bonus of 0.25 is given.

Never tested although the code is present at least 10 and perhaps 15 years. The option is available activating the MISC_62 parameter in the ProDeo.eng personality.

12

Calculating the initiative

At the end of the evaluation (for odd plies) count the raw eval score (thus without the material) to a 64 bit integer and add one to a corresponding counter. Do the same when the ply is even. Thus 4 variables in total. Then at the end of the search divide the total odd score by the corresponding counter, likewise for even plies. Save both results (odd and even) for the use in the next move.

When odd shows a positive (average overall) score and even a negative (average overall) score then the engine has the initiative and vice versa. It can be used to evaluate 3 fold repetitions better. If the engine has a clear initiative it's maybe worth not to accept a draw even with a negative score.

13

Modify PST

Based on the history table (piece type, square) counters from the previous move adjust the (corresponding) PST values. Currently PST cells are adjusted within a window of -0.04 and +0.04 maximum as first try. Looking at the (current) results it is likely there is room to widen the window.

First test shows a surprisingly increase of 15 elo. It's worthwhile (dispite my dislike) to play more games.

14

Overall tuning evaluation

Rewrite of the [Attractiveness = 105] parameter. The option adjusts the raw eval score (thus without the material) with 5% (in this case).

First results shows that a value of 125 considerable changes the style of the engine --> aggressive but also a considerable elo loss of 20 elo points as a negative side effect. Currently 105 is now in test.

Search changes

 

Idea

Description

Status

1

Null move mate extension

When the null move returns a mate score the move in the research is extended.

Minor improvement (2-3) elo.

2

Razoring

See description on the CPW. Tried for depths 3, 2 and 1.

5-10 elo regression. Should try depths 2 and 1.

3

Extend only good checks

Don't extend checks that give away material.

Doesn't work at all, considerable elo loss.

4

Extend only good singular checks

When a check is singular (the opponent has only 1 legal move) extend again.

Contrary to normal checks safe checks only seem to work. Too few games played yet for a final conclusion.

5

Countermove Heuristic

See description on the CPW.

Produces (indeed) lesser nodes and is probably a minor improvement of 1-2 elo.

6

History pruning at low depths

Tried on depths 3, 2 and 1.

Like razoring (see 2) a 5-10 elo regression. One day should try depths 2 and 1.

7

LMR (1)

Rewritten the ProDeo 2.0 LMR (edition 3) code.

Elo increase is 10

8

LMR (2)

Rewritten the ProDeo 2.0 LMR (edition 3) code. Pseudo code will be made available when I have made up my mind which one of the two is better.

Elo increase is 14

9

LMR (3)

ProDeo only allows one LMR reduction on root moves. As an addition code has been added not to reduce those root moves that have been the best move after iteration 7 and on.

Tested in combination with (10) and (11). Minor improvement of 2-4 elo.

10

Static reductions (1)

Reductions based on the evaluation score. Added a restriction for root moves.

 

11

Static reductions (2)

Removed them when in the late endgame.

 

12

Flip-flop reduction

Moving a major piece to the previous square (like Kh1 directly followed by Kg1) is silly and makes it a good candidate for a reduction. Unless of course one of the moves is a capture or a king in check situation.

Untested.

Follow us at Facebook for the latest developments.