I think you can safely dispense bonus points for all storming pawns constituting part of the king shelter, whenever the opponent does not have any visible counterplay; or when, according to your own eval, for a series of moves (say 5 consecutive), you have a good positive eval, but it does not increase, meaning you are not finding the right way.
The static eval of a position should not use path information. It's called static for that reason. So the eval of a position should always be the same independant how it is reached. (BTW: For that reason I don't assign a bonus when one side executes a castling move. This would introduce path dependency as the same position could be reached without casteling and the scores should be the same)
To statically see whether the opponent has counter play against you king is not trivial. You use the king safety eval for that and you have to balance that with the bonus for the storming pawn.
As opposite-side castlings occur pretty rarely, I think iCE (why I am tempted to write ice or Ice instead? Very Happy ) could well miss many realistic opportunities to win a game by using its storming pawns that still belong to the king shelter.
Yes, probably (and I will have a look at it). On the other side statistically it might very well be that for the most positions moves of pawns that protect your king are bad. If you encourage such moves the engine might even detect with a deeper search that those moves are bad and not execute them, but you have guided your search in the wrong direction in the lower plies and this hurts as you have wasted nodes.
That is the trick, how could you see that g4 is good at ply 1, when you probably need some 10 plies more to see that the enemy king safety will suffer even worse because of the attacking pawn, and thus its push be justified?
You don't see it a ply one. But you see it when you reach ply 10 (if g4 is late in the list probably you need even more plies as it is reduced to much). But this is the reason we have "search" in engines and don't play moves after a static 1 ply lookup.
it would also rather play Qg4 with a score of -0.50 or so
Thomas...
Hi Thomas.
Thanks for the input.
I was probably too tired when I wrote that, because my second variation really sucks , but I think my general remarks are still valid.
I think black could still include h6 instead of the iCE c5 line, and then try to attack with the rook on the 6th rank. If that is not good, then probably the sacrifice is not sound (that was my first impression, but after that I kind of changed my opinion). Still an interesting, unusual line.
I think I will go back to this position when I am able to with a more serious approach.
I think you can safely dispense bonus points for all storming pawns constituting part of the king shelter, whenever the opponent does not have any visible counterplay; or when, according to your own eval, for a series of moves (say 5 consecutive), you have a good positive eval, but it does not increase, meaning you are not finding the right way.
The static eval of a position should not use path information. It's called static for that reason. So the eval of a position should always be the same independant how it is reached. (BTW: For that reason I don't assign a bonus when one side executes a castling move. This would introduce path dependency as the same position could be reached without casteling and the scores should be the same)
To statically see whether the opponent has counter play against you king is not trivial. You use the king safety eval for that and you have to balance that with the bonus for the storming pawn.
As opposite-side castlings occur pretty rarely, I think iCE (why I am tempted to write ice or Ice instead? Very Happy ) could well miss many realistic opportunities to win a game by using its storming pawns that still belong to the king shelter.
Yes, probably (and I will have a look at it). On the other side statistically it might very well be that for the most positions moves of pawns that protect your king are bad. If you encourage such moves the engine might even detect with a deeper search that those moves are bad and not execute them, but you have guided your search in the wrong direction in the lower plies and this hurts as you have wasted nodes.
That is the trick, how could you see that g4 is good at ply 1, when you probably need some 10 plies more to see that the enemy king safety will suffer even worse because of the attacking pawn, and thus its push be justified?
You don't see it a ply one. But you see it when you reach ply 10 (if g4 is late in the list probably you need even more plies as it is reduced to much). But this is the reason we have "search" in engines and don't play moves after a static 1 ply lookup.
Hi Thomas again.
I understand your point of view, but the important thing is that, if there is a good move, an ambitious engine should be able to find it somehow. I know computer chess programmers are able to do all kinds of tricks, so you should be able to trick also your static eval so that the right move is found.
And storming with pawns that are still part of the king shelter is really a very important method to claim a decisive advantage, sometimes even the only way to do that. I think the idea that such pawns should not budge because the king will be exposed is simply a preconception.
My theory of pawn storms would be very simple indeed:
- bonus is dispensed starting with the 4th rank; for the 5th and 6th ranks the bonus is gradually increased
- the bonus is further increased by some 20% if the storming pawn is able to attack an enemy object (usually a pawn) on the next move
- the bonus is increased by another 20% if the storming pawn already attacks an enemy object
- when the storming pawn is fixed/blocked (I use fixed to make a distinction between fixing with pawns and blocking with pieces) by an enemy pawn, it stops being a storming pawn and instead gets bonus for space advantage (as a storming pawn should be able to move in order to be effective)
- I would not make a distinction depending on whether the storming pawn is on a file with or without enemy pawns on it, as I can not make sense if this is really logical
Very simple indeed, but I think might be efficient (at least for myself, I do not know about engines, engines are another thing, you should know all their specificities to be able to suggest something, many thinks might not work at all within a programming environment, but it is also possible that some things would not work because of preconceptions).
Anyway, I think storms from the king shelter are probably one of the most difficult concepts as, judging by the 3 Champs, even the top engines have significant problems then.
I am sorry, I talk too much, but if no one answers, I should be able to fill the thread myself
I think you can safely dispense bonus points for all storming pawns constituting part of the king shelter, whenever the opponent does not have any visible counterplay; or when, according to your own eval, for a series of moves (say 5 consecutive), you have a good positive eval, but it does not increase, meaning you are not finding the right way.
The static eval of a position should not use path information. It's called static for that reason. So the eval of a position should always be the same independant how it is reached. (BTW: For that reason I don't assign a bonus when one side executes a castling move. This would introduce path dependency as the same position could be reached without casteling and the scores should be the same)
To statically see whether the opponent has counter play against you king is not trivial. You use the king safety eval for that and you have to balance that with the bonus for the storming pawn.
As opposite-side castlings occur pretty rarely, I think iCE (why I am tempted to write ice or Ice instead? Very Happy ) could well miss many realistic opportunities to win a game by using its storming pawns that still belong to the king shelter.
Yes, probably (and I will have a look at it). On the other side statistically it might very well be that for the most positions moves of pawns that protect your king are bad. If you encourage such moves the engine might even detect with a deeper search that those moves are bad and not execute them, but you have guided your search in the wrong direction in the lower plies and this hurts as you have wasted nodes.
That is the trick, how could you see that g4 is good at ply 1, when you probably need some 10 plies more to see that the enemy king safety will suffer even worse because of the attacking pawn, and thus its push be justified?
You don't see it a ply one. But you see it when you reach ply 10 (if g4 is late in the list probably you need even more plies as it is reduced to much). But this is the reason we have "search" in engines and don't play moves after a static 1 ply lookup.
Hi Thomas again.
I understand your point of view, but the important thing is that, if there is a good move, an ambitious engine should be able to find it somehow. I know computer chess programmers are able to do all kinds of tricks, so you should be able to trick also your static eval so that the right move is found.
And storming with pawns that are still part of the king shelter is really a very important method to claim a decisive advantage, sometimes even the only way to do that. I think the idea that such pawns should not budge because the king will be exposed is simply a preconception.
My theory of pawn storms would be very simple indeed:
- bonus is dispensed starting with the 4th rank; for the 5th and 6th ranks the bonus is gradually increased
- the bonus is further increased by some 20% if the storming pawn is able to attack an enemy object (usually a pawn) on the next move
- the bonus is increased by another 20% if the storming pawn already attacks an enemy object
- when the storming pawn is fixed/blocked (I use fixed to make a distinction between fixing with pawns and blocking with pieces) by an enemy pawn, it stops being a storming pawn and instead gets bonus for space advantage (as a storming pawn should be able to move in order to be effective)
- I would not make a distinction depending on whether the storming pawn is on a file with or without enemy pawns on it, as I can not make sense if this is really logical
Very simple indeed, but I think might be efficient (at least for myself, I do not know about engines, engines are another thing, you should know all their specificities to be able to suggest something, many thinks might not work at all within a programming environment, but it is also possible that some things would not work because of preconceptions).
Anyway, I think storms from the king shelter are probably one of the most difficult concepts as, judging by the 3 Champs, even the top engines have significant problems then.
I am sorry, I talk too much, but if no one answers, I should be able to fill the thread myself
Those are good ideas. Engines will always have significant problems with concepts like this because they are really tricky and require fine positional judgement. For example when both sides are castled on the same side of the board, when should a pawn stay home and when should it "storm?" There is no clear cut rule, just rules of thumb. The best answer is probably "the side that has the strongest attack (considering also other attacks on the king)" That is not so easy to just whip together a scoring function to decide.
It's well known in computer chess that every concept that is implemented in chess programs is sometimes wrong! You just cannot cover every conceivable case with every conceivable exception.
What you have to focus on are general principles that are amplified with the power of the search. We try to implement general principles that won't be wrong very often and that at least make sense. For example mobility - it's pretty much a sure thing - if you have a lot of mobility it isn't bad - although it may not be very relevant in some situations (such as closed positions.)
Don
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
I am still undecided if I should post my opinion on the position, but, as no one else intervenes, my superficial judgement would be that, maybe, after all, h6 instead of g6 could have saved the game.
Here 2 more interesting games on the topic, featuring opposite castled kings.
Game 63 and 64 of the 3Champs, Stockfish against Houdini and Stockfish against Komodo. In the same line, Stockfish drew the game against Houdini, and lost to Komodo, but I think the outcome of both games could have been at will, with either side winning, depending on who used in a better way its storming pawns.
I will not comment anything, will just post the full games for you to browse more thoroughly, but am of the opinion that in both games all engines missed at least a couple of times more convincing continuations having to do with storms.
Lyudmil Tsvetkov wrote:Here 2 more interesting games on the topic, featuring opposite castled kings.
Game 63 and 64 of the 3Champs, Stockfish against Houdini and Stockfish against Komodo. In the same line, Stockfish drew the game against Houdini, and lost to Komodo, but I think the outcome of both games could have been at will, with either side winning, depending on who used in a better way its storming pawns.
I will not comment anything, will just post the full games for you to browse more thoroughly, but am of the opinion that in both games all engines missed at least a couple of times more convincing continuations having to do with storms.
I read what you say but I have to admit that I have doubts. It's SO common for people to critique computer chess games only to learn later that the computer HAD to do what it did, or that the computer played the best move after all. It doesn't always follow human "high level" logic or the general principles we all know because there is no principle that is not subject to exceptions.
I have nothing concrete to show you because I am too busy working on Komodo but I have had many arguments in the past where someone claims Komodo or some other program "blundered" or played a horrible move and it turned out that the game was already dead lost and the move it played was the best of several bad choices. The move that is offered as an improvement is even worse in many cases but superficially looks more "correct." The human tends to zero's in on the move that superficially looks bad AFTER the actual bad move is played.
You have probably seen this many times in another context - some move is hailed as brilliant and is "the winning move" when in fact there are no winning moves in chess - if a "brilliant" sacrifice is possible that "wins the game" it's because the opponent made a bad move earlier. Sometime the "brilliant" moves was just the most sensational way out of many ways to win an already won game.
Like I say, I have not looked yet but until I do I will reserve judgement. I assume that if you see a move you don't like, you use a computer to try to prove you have a better continuation, right?
Lyudmil Tsvetkov wrote:Here 2 more interesting games on the topic, featuring opposite castled kings.
Game 63 and 64 of the 3Champs, Stockfish against Houdini and Stockfish against Komodo. In the same line, Stockfish drew the game against Houdini, and lost to Komodo, but I think the outcome of both games could have been at will, with either side winning, depending on who used in a better way its storming pawns.
I will not comment anything, will just post the full games for you to browse more thoroughly, but am of the opinion that in both games all engines missed at least a couple of times more convincing continuations having to do with storms.
I read what you say but I have to admit that I have doubts. It's SO common for people to critique computer chess games only to learn later that the computer HAD to do what it did, or that the computer played the best move after all. It doesn't always follow human "high level" logic or the general principles we all know because there is no principle that is not subject to exceptions.
I have nothing concrete to show you because I am too busy working on Komodo but I have had many arguments in the past where someone claims Komodo or some other program "blundered" or played a horrible move and it turned out that the game was already dead lost and the move it played was the best of several bad choices. The move that is offered as an improvement is even worse in many cases but superficially looks more "correct." The human tends to zero's in on the move that superficially looks bad AFTER the actual bad move is played.
You have probably seen this many times in another context - some move is hailed as brilliant and is "the winning move" when in fact there are no winning moves in chess - if a "brilliant" sacrifice is possible that "wins the game" it's because the opponent made a bad move earlier. Sometime the "brilliant" moves was just the most sensational way out of many ways to win an already won game.
Like I say, I have not looked yet but until I do I will reserve judgement. I assume that if you see a move you don't like, you use a computer to try to prove you have a better continuation, right?
I never use a computer, unless I have an urgent need to beat someone
I also feel a bit tired, so maybe I will made some mistakes, but still I will post a couple of positions from the game Stockfish-Komodo (btw., great sacrifice there on the part of Komodo on d5, I must admit, although, as you say, the game had already been decided).
[d]2kr3r/1pp2p2/p1pbqn1p/4p1pb/P1N1P3/3P1NBP/1PP1QPP1/R4RK1 b - - 0 15
Now Komodo plays 15...Nd7, after which Stockfish places its knight on e3 and neither f5, nor g4 are possible any more. Please, tell me, what kind of move is this? Why not 15...g4 straight away, opening some files, etc.?
[d]1nkr3r/1pp5/p2bqp1p/2p1p1pb/P3P3/2PPNNBP/1P2QPP1/RR4K1 w - - 0 19
Here Stockfish plays 19. Nf5. What kind of move is this? It might be possible that black already has the advantage because of the very badly placed white bishop on g3, that is fully out of play (I think the right decision might have been exchanging it for the Nf6 moves earlier before g5), but still, why not immediately to storm with b4 instead? Why lose tempos? cb4 cb4 Nc6 should not be a problem, as on d4 the white knight will attack Qe6.
[d]1k1r2r1/1pp2q2/p1nb1p2/2p1p2p/P3P1pP/2PPN1B1/1P2QPP1/RR4K1 w - - 0 26
Now Stockfish plays 26. Rbf1. What kind of move is this? The rook goes from a line where it attacks the enemy king to a line where it does nothing. Stockfish then proceeds to move its other rook from the queen to the king side, and then moves back both rooks to the queen side. At the same time Komodo manages to move couple of times its rook from d8 to d7 and back. And this is in a position with opposite side castling where every single tempo counts.
I will not go into any specific variations further, my objections are just principled ones, I know the engines calculate very well, but there are things they simply do not see.
Let me post here some flattering remarks about a game of Komodo, so that Don does not decide I am criticising engines, and especially Komodo all the way. I am appreciating Don's open-minded approach and, as he posts frequently in my threads, Komodo definitely deserves special treating.
Joking apart, the 74th game is a real Komodo masterpiece. If you ask me to find a single weak, or even imprecise move played by Komodo, I will have big difficulty finding such.
[d]r1bqkn1r/pp2ppbp/2np2p1/2p5/2P1P3/2NP1N1P/PP2BPP1/R1BQ1RK1 w kq - 0 9
Komodo has just played 8...Nd7f8!, fully theoretical, aiming at the d4 square. Very elegant, indeed, for an engine. Houdini and Stockfish do not find this move.
[d]r2q1rk1/4ppbp/1pbp2p1/pNp3B1/P1PnP3/3P3P/1P1Q1PP1/R2BR1K1 b - - 0 18
Here Houdini makes a mistake, playing Nb5 in an attempt to exchange the powerful d4 knight, but Komodo is swift in capturing the Nb5 with its light-coloured bishop, a perfect decision, as the Nd4 is simply tremendous. 18. Ne2 instead would provide white much better drawing chances. It is also woth mentioning that an exchange of the white dark-coloured bishop for the Nd4 would in no way solve problems, as the black bishop on d4 would be much more powerful than its white colleague in spite of the opposition of colours.
[d]r2r2k1/4pp2/1p1p1bpB/pPp4p/R1PnP2P/3P2Pq/1P1Q1P2/3BR1K1 w - - 0 24
Komodo has just played Qh3, already paralysing white.
[d]r4r2/4p2k/1p1p2p1/pPp1bp1p/2PnP2P/1P1PB1Pq/R2Q1P2/3BR1K1 w - - 0 28
Just played f7-f5; no more chances
[d]r4r2/7k/1p1p2p1/pPp1p2p/2PnPp1P/1P1PQ1Pq/R4P2/3BR1K1 w - - 0 31
Just played f5-f4, the end: a complete positional domination, the black Nd4 is worth somewhere one-two rooks.