Uri Blass wrote:
The plan of white is simple to put the white king at d7 and trade knights at c7 when the last knight mate.
I believe black cannot prevent it.
I'm not convinced it's so easy. If black can trade/give away his bishops, he's stale-mated. In the initial position, all white's knights are trapped and will be captured once they move. Not a problem for the first one or two, but you still need to get that last knight into position.
you are probably right and I edited my post before seeing your reply.
3 knights are probably not enough and you need 4 for it.
Uri Blass wrote:
The plan of white is simple to put the white king at d7 and trade knights at c7 when the last knight mate.
I believe black cannot prevent it.
I'm not convinced it's so easy. If black can trade/give away his bishops, he's stale-mated. In the initial position, all white's knights are trapped and will be captured once they move. Not a problem for the first one or two, but you still need to get that last knight into position.
you are probably right and I edited my post before seeing your reply.
3 knights are probably not enough and you need 4 for it.
I don't think that would work since all 4 knights would need to attack c7 at the moment when you want to start trading the first knight on c7, provided all 3 black bishop stay on the same diagonal b8-h2. You think of a sequence like Nc7+ - Bxc7 - Nxc7+ - Bxc7 - Nxc7+ - Bxc7 - Nxc7# if I understood you right (and there I also don't see the relevance of having a white king on d7). The problem of having 4 knights that attack c7 would be that one of them would need to be on a8 (the others on e8, e6, d5) but going to a8 would require passing c7 already which is impossible.
Uri Blass wrote:
The plan of white is simple to put the white king at d7 and trade knights at c7 when the last knight mate.
I believe black cannot prevent it.
I'm not convinced it's so easy. If black can trade/give away his bishops, he's stale-mated. In the initial position, all white's knights are trapped and will be captured once they move. Not a problem for the first one or two, but you still need to get that last knight into position.
you are probably right and I edited my post before seeing your reply.
3 knights are probably not enough and you need 4 for it.
I don't think that would work since all 4 knights would need to attack c7 at the moment when you want to start trading the first knight on c7, provided all 3 black bishop stay on the same diagonal b8-h2. You think of a sequence like Nc7+ - Bxc7 - Nxc7+ - Bxc7 - Nxc7+ - Bxc7 - Nxc7# if I understood you right (and there I also don't see the relevance of having a white king on d7). The problem of having 4 knights that attack c7 would be that one of them would need to be on a8 (the others on e8, e6, d5) but going to a8 would require passing c7 already which is impossible.
Wouldn't 3 knights be sufficient?
If it was only one bishop vs one knight, then White wins. Get the knight in position and then push the pawn to c7. If the bishop captures the knight off diagonal, push the pawn.
If it were 2 bishops vs 2 knights, move the knights into position and then push the pawn. Move the king so that if Black captures a knight before it is in position (d5, e6, or e8), then White can take the bishop. If this happens, then the position reduces to 1 bishop vs 1 knight.
The same procedure works (I think) for 3 bishops vs 3 knights.
It would be very easy to write a Monte-Carlo chess engine that uses Stockfish at quick settings for playouts. This would probably be very strong for really slow time controls (e.g., correspondence chess) and would definitely evaluate this position as a draw.
hgm wrote:
Of course there still is an important distinction between being able to solve such a position when it is presented in the root, or recognize it when it occurs in the leaves. In the root you can do any kind of analysis without having any impact on Elo. This is what humans do, because they are not just capable of playing Chess, but are also expert in taking things apart, and easily recognize where you would have to start, or when it is not possible at all. "The three Bishops won't do it, because they are all on the same color, so you need to liberate oe of the other pieces from its confinement. Oh, too bad, they all block each other. Case solved." Programs for detecting deadlock conditions would "reason" the same, and find the solution instantly. Alpha-beta search, which basically is aimlessly moving your pieces around in the hope something interesting might happen, is completely powerless when othing interesting can happen.
Yes, so as fortresses go this isn't a very interesting example either. If black could still shuffle pieces around inside the prison, it would start to get more complicated.
Drawing fortresses where the attacker cannot make progress if the defender keeps his pieces in place are more interesting (of course, examples with few pieces are "solved" by tablebases).
I guess the algorithm would go something along the lines of "if I can make an infinite number of legal quiet moves, can I then manoeuvre my pieces in such a way that I can mate the enemy king?" If not, the question is "can I sacrifice something to break up the enemy position?" If the answer is "yes", that still doesn't proof you can win though.
Far more interesting than a program that can detect fortresses would be a program that can build them.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Isn't that the same thing? "Far more interesting than a program that can recognize a checkmate, would be a program that can force one". Well, a search takes care that if you can do the first, and assign an applicable evaluation score to it (+INF for a mate, 0 for a draw fortress). It will automatically do the second.
Uri Blass wrote:
The plan of white is simple to put the white king at d7 and trade knights at c7 when the last knight mate.
I believe black cannot prevent it.
I'm not convinced it's so easy. If black can trade/give away his bishops, he's stale-mated. In the initial position, all white's knights are trapped and will be captured once they move. Not a problem for the first one or two, but you still need to get that last knight into position.
you are probably right and I edited my post before seeing your reply.
3 knights are probably not enough and you need 4 for it.
I don't think that would work since all 4 knights would need to attack c7 at the moment when you want to start trading the first knight on c7, provided all 3 black bishop stay on the same diagonal b8-h2. You think of a sequence like Nc7+ - Bxc7 - Nxc7+ - Bxc7 - Nxc7+ - Bxc7 - Nxc7# if I understood you right (and there I also don't see the relevance of having a white king on d7). The problem of having 4 knights that attack c7 would be that one of them would need to be on a8 (the others on e8, e6, d5) but going to a8 would require passing c7 already which is impossible.
Wouldn't 3 knights be sufficient?
If it was only one bishop vs one knight, then White wins. Get the knight in position and then push the pawn to c7. If the bishop captures the knight off diagonal, push the pawn.
If it were 2 bishops vs 2 knights, move the knights into position and then push the pawn. Move the king so that if Black captures a knight before it is in position (d5, e6, or e8), then White can take the bishop. If this happens, then the position reduces to 1 bishop vs 1 knight.
The same procedure works (I think) for 3 bishops vs 3 knights.
I think that you are right and 3 knights are enough against 3 bishops.
The point is that with one knight against one bishop you put the king at c8 and only later play c7 Kb8 with the plan Ka8 c8=Q mate assuming black does not capture c7 and of course capturing c7 lead to Nxc7 mate.
hgm wrote:Isn't that the same thing? "Far more interesting than a program that can recognize a checkmate, would be a program that can force one". Well, a search takes care that if you can do the first, and assign an applicable evaluation score to it (+INF for a mate, 0 for a draw fortress). It will automatically do the second.
I don't think so.
In the early stages of building a fortress, a goal is required. If there is one move to go to make it, I think all the programs can do it. But if we are 15 moves away from a completed fortress, then even with "can detection" software in place, I doubt very much if any program can do it.
There is no payoff for a long time, and the chess engines will struggle with building one (it is just my mind experiment, and I might be wrong).
It is not as simple as building a wall, which is a clear and obvious goal, especially when the wall is largely built already (realized, for instance with Crafty 20 and Jeremiah's wall detection code).
Of course, I could be wrong about it.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Dann Corbit wrote:In the early stages of building a fortress, a goal is required. If there is one move to go to make it, I think all the programs can do it. But if we are 15 moves away from a completed fortress, then even with "can detection" software in place, I doubt very much if any program can do it.
Still doesn't sound any different than a checkmate to me. For a checkmate a goal is also required. You will not be able to see a mate in 15 in the evaluation after the first move. Yet many programs are able to see a mate in 15.
And why would building a fortress necessarily take 15 moves? Some fortresses are very simple, and can be built in 10 or 5 moves. Often a fortress is just the perfection of a solid defense, which would get evaluation points even when not yet perfected.
If the fortress is too complex, and hence too far away, then yes, the program will not be able to see it. Something must be within the horizon for a forward search to find it. But that holds just as much for checkmates. Except for some elementary late end-games there doesn't exist an evaluation that can tell you a mate is just a few moves away.