Kind of backward

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Gerd Isenberg
Posts: 2250
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: Kind of backward

Post by Gerd Isenberg »

Lyudmil Tsvetkov wrote:
Gerd Isenberg wrote:
Lyudmil Tsvetkov wrote: Any pawn that has 2 enemy pawns to the left and to the right 2 ranks in front of it is considered backward.
Not quite - even if the stop is controlled by two sentries, there might be two helpers controlling the stop as well, making an open pawn a real candidate.
And if the pawn is not open?
And not supported by 2 helpers, which would be the usual case?

On the other hand, 2 pawns controlling the square in front of an enemy pawn are a frequent phenomenon.
Lyudmil, one counter example (two adjacent helper) is enough to refute your general statement ;-)

Whether the pawn is then open or not is only about beeing a candidate or not. More or equal number of helpers than sentries -> no backwardness.
User avatar
mclane
Posts: 18765
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Kind of backward

Post by mclane »

There was an attempt to calculate square control like hell into Werner Kochs chess program breakthrough at the championship in paderborn in 1995.
Breakthrough played very strange with the massive calculations, when I remember it right.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Gerd Isenberg
Posts: 2250
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: Kind of backward

Post by Gerd Isenberg »

He he he. Werner also had some super soma like stuff to statically calc tactics, considering overloaded pieces, forks, etc.
User avatar
mclane
Posts: 18765
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Kind of backward

Post by mclane »

Gerd Isenberg wrote:He he he. Werner also had some super soma like stuff to statically calc tactics, considering overloaded pieces, forks, etc.
Yes this version of breakthrough was so busy doing calculations in forward with forcs, square tables and whatever stuff in the tree that the program maybe invested 80 of its computation time with that.
Fascinating as Spock would have said.
Maybe if we find out about werners email, he can tell us himself about the approach.

Anybody knowing what Werner Koch is doing today ?
And please let me also know about Markus gille of the dark thought team. I miss them all.
Time that we do another tournament in paderborn again.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Kind of backward

Post by Lyudmil Tsvetkov »

jorose wrote: I would prefer having general evaluation terms which are completely orthogonal and cover as many situations as possible.
There are no such terms. No 2 terms are completely orthogonal. Mobility, for example, is redundant with piece values. Outposts are redundant with psqt. Adavanced pawns are redundant with mobility to an extent. Isolated pawns are redundant with connected pawns, if you have the term. Rook on an open file is redundant with mobility to an extent.

And so on, and so forth. So everything is redundant to a bigger or lesser extent with everything else, but still the non-redundant portions of those terms provide added value even in a simple engine having just a couple of parameters.

So the requirement that you need only orthogonal terms in an engine is a myth. As such terms simply do not exist. You have more orthogonal and less orthogonal terms, but all terms contain a certain extent of unorthogonality.
jorose wrote:
In this case however you are describing two very close terms, binders and your new definition of a backward pawn right after one another and proposing we throw them on top of each other.
Binders are binders, and backward pawns are backward pawns. They both have added value in specific situations.
For example, you have, 1000 chess positions, in all 1000 of them mobility and piece values are relevant, you can not do without them, you encounter some kinds of backward pawns in 600 of those 1000 positions, and some kind of binds in, say, 150 of those positions.

If you have only mobility and piece values you will get wrong scores in 600 of the above positions because lacking backward pawn eval, and wrong scores in 150 of them because lacking bind eval. In say, 50 of those positions, you will get even wronger scores, as they will include both some kind of backward pawn and bind features.

So, overall, in 700 of those positions you will get wrong scores, because missing a real-board eval term, that influences the assessment of the position.

How do you solve the problem with those 700 positions, by just leaving mobility and piece values and tuning them to death? This is simply impossible. A larger number of terms tuned extremely well improves the situation, but does not solve all problems, as there are always more available real-board specific terms.

When you include binds and backward pawns into the eval, your engine will solve all 1000 positions satisfactorily.
So tuning does not help above a certain threshold, but introducing new real-board terms does, although they might increase non-orthogonality.

That is why chess is really complex, because there are not 100 or 500 relevant eval features influencing eval, but they run into the tens of thousand, I would say you might easily affirm that more than 100 000 eval features influence the score and outcome of the game. That is why chess is complex, and is not solved by tuning a few simple terms to death.

Adding knowledge is the way to proceed to further improve an already strong engine. Not that I suggested binders for just a few central squares on the board, while those special backward pawns are suggested for all available board squares. So very small duplication here.
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Kind of backward

Post by Lyudmil Tsvetkov »

Gerd Isenberg wrote:[Lyudmil, one counter example (two adjacent helper) is enough to refute your general statement ;-)

Whether the pawn is then open or not is only about beeing a candidate or not. More or equal number of helpers than sentries -> no backwardness.
Thanks for the interest, Gerd.

As I understand it, 2 adjacent helpers simply do not exist, as 2 pawns on adjacent squares on the same rank do not control the same square.

If you mean, 2 pawns controlling the same square the sentries do, then I can assure you that this usually happens very rarely. On the board, you see either a prevalence of helpers over sentries, in which case you have some relevant terms, for example the creation of candidates, or the prevalence of sentries over helpers, which specific case is unfortunately not covered in most engines by any reasonable term.

That is why I suggested this kind of strange-looking term. When I play with SF, I see it does not understand those kinds of backward pawns, while it understands candidates sufficiently well.

My suggestions are based on observations on the board when I play different, mainly top, engines. And in the past 15 years I must proudly say that I have played more than 50 or 60 000 engine games. :)
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: Kind of backward

Post by carldaman »

Lyudmil Tsvetkov wrote:I am certain square control is the least developed area in engine evaluation, almost non-existent.

And one can achieve quite a lot by applying good square control.

Similarly, backward pawns are one of the most neglected aspects of pawn features, although they are very important, so much important, that different kinds of backward pawns constitute more than 30%, and maybe even close to 50% of all available pawn features.

Of that enormous quantity of backward pawn features, engines consider only some 5 to 10%, so really a negligeable number.

You can do square control chiefly by pawn control and minor pieces control, similarly for backward pawns.

Here how you can do a basic, but very sound I think, form of considering a new kind of backward pawn, I will leave the definition to you.

Any pawn that has 2 enemy pawns to the left and to the right 2 ranks in front of it is considered backward.

For example, a pawn on the 2nd rank should have 2 enemy pawns on the 4th rank to the left and right in order to be considered backward, a pawn on the 3rd rank 2 enemy pawns to the left and right on the 5th rank, pawn on the 4th rank 2 enemy pawns to the left and right on the 6th rank, and a pawn on the 5th rank 2 enemy pawns to the left and right on the 7th rank.

There are no pawns of this type on the 6th rank, just on ranks 2-5.

[d]6k1/5p1p/2p1p3/6P1/p1pP4/4P3/PP3P2/6K1 w - - 0 1
b2 is backward on the 2nd rank, with enemy a4 and c4 pawns making it backward; d4 is backward on the 4th rank, with enemy c6 and e6 pawns making it such; and g5 is backward on the 5th rank, with enemy f7 and h7 pawns making it backward

You can not imagine how important is that, as pawns usually have to advance, and if they do not have that option or their advance is somehow thwarted, this is a bad condition, meaning a fair amount of passivity.
2 enemy pawns in front of such pawns mean precisely that: that the respective pawn's ability to advance is restricted.

[d]6k1/2p5/1p1p4/5p1p/1PP2P2/3P2PP/8/6K1 w - - 0 1
g3 is backward on the 3rd rank, with enemy f5 and h5 pawns making it such; c4 is backward on the 4th rank, with enemy b6 and d6 pawns making it such
Those pawns are restricted in their ability to advance, g3 can not move altogether, and c4 can move further only after an initial preparation, bringing the d3 white pawn to d4, so this deserves to be penalised somehow

Again, this is extremely important. The implication is that your reasonable pawn mobility is low, and low mobility always matters, even with pawns.

[d]6k1/6p1/5p1p/p1p4P/P2p1PP1/1P6/2P1P3/6K1 w - - 0 1
b3 is a backward pawn on the 3rd rank, with enemy a5 and c5 pawns making it backward; black d4 pawn is backward on the 5th rank, with enemy white c2 and e2 pawns making it backward; and g4 is of course and visibly backward on the 4th rank, with f6 and h6 pawns making it such

I would give that kind of backward pawn some 5-10cps standard values penalty, independently of the file and rank where it is, so a uniform penalty might apply.

Sorry, another stupid idea of mine, but just think about it: engines consider around 5 to 10% of all existing backward pawns, so really an enormous amount of reasonable eval is skipped even in top engines, while backward pawns are really very important.

Any thouhts on this?
OK, a couple of comments about the last diagram. I would not call the protected Black pawn on d4 (kind of) backward - perhaps 'restrained' is the better term here.

The g4 pawn should not be called backward either, since it can advance to g5 supported by the f-pawn, and even if thus sacrificed, it will shatter Black's pawn structure, which is an often useful and playable idea.

Regards,
CL
Lyudmil Tsvetkov
Posts: 6052
Joined: Tue Jun 12, 2012 12:41 pm

Re: Kind of backward

Post by Lyudmil Tsvetkov »

carldaman wrote:
Lyudmil Tsvetkov wrote:I am certain square control is the least developed area in engine evaluation, almost non-existent.

And one can achieve quite a lot by applying good square control.

Similarly, backward pawns are one of the most neglected aspects of pawn features, although they are very important, so much important, that different kinds of backward pawns constitute more than 30%, and maybe even close to 50% of all available pawn features.

Of that enormous quantity of backward pawn features, engines consider only some 5 to 10%, so really a negligeable number.

You can do square control chiefly by pawn control and minor pieces control, similarly for backward pawns.

Here how you can do a basic, but very sound I think, form of considering a new kind of backward pawn, I will leave the definition to you.

Any pawn that has 2 enemy pawns to the left and to the right 2 ranks in front of it is considered backward.

For example, a pawn on the 2nd rank should have 2 enemy pawns on the 4th rank to the left and right in order to be considered backward, a pawn on the 3rd rank 2 enemy pawns to the left and right on the 5th rank, pawn on the 4th rank 2 enemy pawns to the left and right on the 6th rank, and a pawn on the 5th rank 2 enemy pawns to the left and right on the 7th rank.

There are no pawns of this type on the 6th rank, just on ranks 2-5.

[d]6k1/5p1p/2p1p3/6P1/p1pP4/4P3/PP3P2/6K1 w - - 0 1
b2 is backward on the 2nd rank, with enemy a4 and c4 pawns making it backward; d4 is backward on the 4th rank, with enemy c6 and e6 pawns making it such; and g5 is backward on the 5th rank, with enemy f7 and h7 pawns making it backward

You can not imagine how important is that, as pawns usually have to advance, and if they do not have that option or their advance is somehow thwarted, this is a bad condition, meaning a fair amount of passivity.
2 enemy pawns in front of such pawns mean precisely that: that the respective pawn's ability to advance is restricted.

[d]6k1/2p5/1p1p4/5p1p/1PP2P2/3P2PP/8/6K1 w - - 0 1
g3 is backward on the 3rd rank, with enemy f5 and h5 pawns making it such; c4 is backward on the 4th rank, with enemy b6 and d6 pawns making it such
Those pawns are restricted in their ability to advance, g3 can not move altogether, and c4 can move further only after an initial preparation, bringing the d3 white pawn to d4, so this deserves to be penalised somehow

Again, this is extremely important. The implication is that your reasonable pawn mobility is low, and low mobility always matters, even with pawns.

[d]6k1/6p1/5p1p/p1p4P/P2p1PP1/1P6/2P1P3/6K1 w - - 0 1
b3 is a backward pawn on the 3rd rank, with enemy a5 and c5 pawns making it backward; black d4 pawn is backward on the 5th rank, with enemy white c2 and e2 pawns making it backward; and g4 is of course and visibly backward on the 4th rank, with f6 and h6 pawns making it such

I would give that kind of backward pawn some 5-10cps standard values penalty, independently of the file and rank where it is, so a uniform penalty might apply.

Sorry, another stupid idea of mine, but just think about it: engines consider around 5 to 10% of all existing backward pawns, so really an enormous amount of reasonable eval is skipped even in top engines, while backward pawns are really very important.

Any thouhts on this?
OK, a couple of comments about the last diagram. I would not call the protected Black pawn on d4 (kind of) backward - perhaps 'restrained' is the better term here.

The g4 pawn should not be called backward either, since it can advance to g5 supported by the f-pawn, and even if thus sacrificed, it will shatter Black's pawn structure, which is an often useful and playable idea.

Regards,
CL
You never know who will win the exchange in complex situations with multiple pieces, Carl.

For the time being, the pawn structure suggests that those pawns can not advance without being lost, which is precisely the backward pawn definition.