A mate in 3 that engines cannot solve ? WOW!

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

Moderators: hgm, Rebel, chrisw

JVMerlino
Posts: 1357
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: A mate in 3 that engines cannot solve ? WOW!

Post by JVMerlino »

The only engine that I know of that does this is The King. I'm sure many others do, but I don't know of any.

And I think you need to qualify your statement, Dann, in which you said "for a chess engine, [finding a longer mate] is not a wrong solution". If an engine is playing a game, then accepting a longer mate might be perfectly reasonable as part of clock management. However, in analysis mode, there is no reason that any engine should be satisfied with anything but the optimum move.

jm
Robert Flesher
Posts: 1280
Joined: Tue Aug 18, 2009 3:06 am

Re: A mate in 3 that engines cannot solve ? WOW!

Post by Robert Flesher »

Anyone who doesn't think Rh1!! is brilliant must be stronger than Kasparov or a grand pazter. :) It has been considered one of the best composed problems ever.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: A mate in 3 that engines cannot solve ? WOW!

Post by michiguel »

JVMerlino wrote:The only engine that I know of that does this is The King. I'm sure many others do, but I don't know of any.
Gaviota does that!

And I think you need to qualify your statement, Dann, in which you said "for a chess engine, [finding a longer mate] is not a wrong solution". If an engine is playing a game, then accepting a longer mate might be perfectly reasonable as part of clock management. However, in analysis mode, there is no reason that any engine should be satisfied with anything but the optimum move.
I agree. If we set the engine to analyze, so there is no reason for the engine to refuse to keep going.

Miguel

jm
Larry
Posts: 840
Joined: Sun Mar 12, 2006 3:59 am
Location: Sydney

Re: A mate in 3 that engines cannot solve ? WOW!

Post by Larry »

I could'nt resist going to the wardrobe and getting out the blitz
king of dedicated machines.... the Mephisto Atlanta!
It announced mate in about 2 seconds, with the correct Rh1.When
I get time I'll check the solving time for the RISC2500 and
Berlin Pro.
all the best
Larry
rightrook
Posts: 1452
Joined: Wed Mar 08, 2006 8:45 pm

Re: A mate in 3 that engines cannot solve ? WOW!

Post by rightrook »

Hi Robert....thanks for the neat problem....but that is not a good test move...because there are other mates to be found...
Nc8 mates...Re1 mates...
Rb1 mates....etc.

Most engines will be "content" with the higher mates and will not see the mate in 3........because ......the game is already over...:-)

regards

Robert
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: A mate in 3 that engines cannot solve ? WOW!

Post by bob »

Dann Corbit wrote:
Gian-Carlo Pascutto wrote:
If you give chess programs problems that they are not designed to solve them then you can expect them to fail
It is easy to fix it by having an algorithm to find the shortest mate immediately after finding a mate but it is not going to help to increase the playing strength of the engines.
Surely I'm not the only one whose program gives higher scores to shorter mates. And the search finds the move with the highest evaluation, i.e. eventually the shortest mate.

If we didn't do this, we wouldn't be able to mate the opponents.

So I think this argument is wrong, i.e. chess engines are already capable of finding the shortest mates and its part of their goal.
Of course it can still be filtered out by search algorithm so that the shortest mate is not found in a reasonable time.

I do wish that chess engine programmers (in general) would do the following two things in their searches:
1. If you have found a mate in N and you have exhausted ply N*2-1, then stop searching and say "I'M DONE!"
Unfortunately, that is not good enough and won't work on modern engines, because of search reductions. It might take 3*N iterations to find a mate in N, or even longer, since some mates have more than a couple non-checking moves in the optimal path, and non-checking moves are the ones that may well get chosen for reductions.


Reasoning:
If you have already found a mate in N and you have exhausted ply N*2-1, then there is literally no way to improve the score so any further searching is a total waste of CPU time. If your engine may have pruned out shallower mates, then widen the score and research at depth N*2-1 (or do whatever else is needed to make your engine exhaust this ply) but there is no need to search deeper.

2. If you found a mate in N and have NOT exhausted ply N*2-1, then stop searching only after you have exhausted ply N*2-1.

If you have found a mate in 11 and I have given you two days to search and you stop after finding a mate in 22 at 12 minutes, I find that annoying.

I have seen many engines that do not perform in the above manner, and I find it very annoying.
jwes
Posts: 778
Joined: Sat Jul 01, 2006 7:11 am

Re: A mate in 3 that engines cannot solve ? WOW!

Post by jwes »

bob wrote:
Dann Corbit wrote:
Gian-Carlo Pascutto wrote:
If you give chess programs problems that they are not designed to solve them then you can expect them to fail
It is easy to fix it by having an algorithm to find the shortest mate immediately after finding a mate but it is not going to help to increase the playing strength of the engines.
Surely I'm not the only one whose program gives higher scores to shorter mates. And the search finds the move with the highest evaluation, i.e. eventually the shortest mate.

If we didn't do this, we wouldn't be able to mate the opponents.

So I think this argument is wrong, i.e. chess engines are already capable of finding the shortest mates and its part of their goal.
Of course it can still be filtered out by search algorithm so that the shortest mate is not found in a reasonable time.

I do wish that chess engine programmers (in general) would do the following two things in their searches:
1. If you have found a mate in N and you have exhausted ply N*2-1, then stop searching and say "I'M DONE!"
Unfortunately, that is not good enough and won't work on modern engines, because of search reductions. It might take 3*N iterations to find a mate in N, or even longer, since some mates have more than a couple non-checking moves in the optimal path, and non-checking moves are the ones that may well get chosen for reductions.
[/quote]
Is it possible that there are positions where a mate score is returned and the position is not even won? I was thinking of a position where one line is mated in N, while another line is a draw or win, but there is a zugzwang where an extra move would lead to being mated in N-3 or quicker.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: A mate in 3 that engines cannot solve ? WOW!

Post by bob »

jwes wrote:
bob wrote:
Dann Corbit wrote:
Gian-Carlo Pascutto wrote:
If you give chess programs problems that they are not designed to solve them then you can expect them to fail
It is easy to fix it by having an algorithm to find the shortest mate immediately after finding a mate but it is not going to help to increase the playing strength of the engines.
Surely I'm not the only one whose program gives higher scores to shorter mates. And the search finds the move with the highest evaluation, i.e. eventually the shortest mate.

If we didn't do this, we wouldn't be able to mate the opponents.

So I think this argument is wrong, i.e. chess engines are already capable of finding the shortest mates and its part of their goal.
Of course it can still be filtered out by search algorithm so that the shortest mate is not found in a reasonable time.

I do wish that chess engine programmers (in general) would do the following two things in their searches:
1. If you have found a mate in N and you have exhausted ply N*2-1, then stop searching and say "I'M DONE!"
Unfortunately, that is not good enough and won't work on modern engines, because of search reductions. It might take 3*N iterations to find a mate in N, or even longer, since some mates have more than a couple non-checking moves in the optimal path, and non-checking moves are the ones that may well get chosen for reductions.
Is it possible that there are positions where a mate score is returned and the position is not even won? I was thinking of a position where one line is mated in N, while another line is a draw or win, but there is a zugzwang where an extra move would lead to being mated in N-3 or quicker.[/quote]

Can't imagine how. Reductions can't be done on the actual PV, since the reduced search would fail high and then get re-searched to the normal depth anyway. Never seen a single example of this in Crafty, except when I have introduced an unexpected bug. That comment only applies to reductions.

As far as the null-move goes, I've never seen a false mate reported, but I have seen plenty of positions where a mate was missed because of a zugzwang position. There are lots of those posted regularly.
User avatar
cms271828
Posts: 316
Joined: Wed Apr 12, 2006 10:47 pm

Re: A mate in 3 that engines cannot solve ? WOW!

Post by cms271828 »

This doesn't make sense, how can this be a mate in 3?

If play goes Rh1, Be8, Qb1, Bb5, then white cannot checkmate on next move, only check. Or have I missed something stupid?

Thanks
Colin
Dann Corbit
Posts: 12564
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: A mate in 3 that engines cannot solve ? WOW!

Post by Dann Corbit »

cms271828 wrote:This doesn't make sense, how can this be a mate in 3?

If play goes Rh1, Be8, Qb1, Bb5, then white cannot checkmate on next move, only check. Or have I missed something stupid?

Thanks
[d]8/1n3Np1/1N4Q1/1bkP4/p1p2p2/P1P2R2/3P2PK/B2R4 w - - acn 3361; acs 0; bm Rh1; ce 32762; dm 3; pv Rh1 Bd7 Qb1 g6 Qb4#;

[d]8/1n3Np1/1N4Q1/1bkP4/p1p2p2/P1P2R2/3P2PK/B6R b - -
[d]8/1n1b1Np1/1N4Q1/2kP4/p1p2p2/P1P2R2/3P2PK/B6R w - -
[d]8/1n1b1Np1/1N6/2kP4/p1p2p2/P1P2R2/3P2PK/BQ5R b - -
[d]8/1n1b1N2/1N4p1/2kP4/p1p2p2/P1P2R2/3P2PK/BQ5R w - -
[d]8/1n1b1N2/1N4p1/2kP4/pQp2p2/P1P2R2/3P2PK/B6R b - -