Engines fail to find mate in two

Technical questions regarding Openings, Middlegames, Endings etc.
Brendan O'Gorman
Posts: 741
Joined: Thu Jul 23, 2009 9:10 pm

Re: Engines fail to find mate in two

Post by Brendan O'Gorman » Tue Nov 08, 2016 4:33 pm

John, are you sure you didn't set up the position with Black playing up the board?

User avatar
Christopher Kreuzer
Posts: 8806
Joined: Fri Aug 06, 2010 2:34 am
Location: London

Re: Engines fail to find mate in two

Post by Christopher Kreuzer » Tue Nov 08, 2016 5:44 pm

If he played 1.Rb7 manually, and the engine then found the mates in two, I suspect not?

Also, Lawrence said "The same (not surprisingly) with Fritz 11."

I can try it with Fritz 6 if that helps... :oops:

(Does anyone still have chess engines older than Fritz 6?)

Ian Kingston
Posts: 1071
Joined: Sat Apr 14, 2007 3:16 pm
Location: Sutton Coldfield
Contact:

Re: Engines fail to find mate in two

Post by Ian Kingston » Tue Nov 08, 2016 6:37 pm

Just checked with Fritz 11SE (comes with ChessBase): finds the mate in 2 instantly.

MartinCarpenter
Posts: 3044
Joined: Tue May 24, 2011 10:58 am

Re: Engines fail to find mate in two

Post by MartinCarpenter » Tue Nov 08, 2016 8:49 pm

Suppose it must be some sort of odd bug that they fixed at some point then. Not a remotely relevant one for normal play I'd suspect.

User avatar
John Clarke
Posts: 710
Joined: Sat Apr 30, 2011 1:07 pm

Re: Engines fail to find mate in two

Post by John Clarke » Tue Nov 08, 2016 8:52 pm

No engine will fail to find a mate in three for White here - whichever way up you set the board.

Position given by Gerald Abrahams in Test Your Chess (Constable, 1963). Claimed he came across it in the Cafe de la Regence in 1925, but was never able to find out who composed it.
"The chess-board is the world ..... the player on the other side is hidden from us ..... he never overlooks a mistake, or makes the smallest allowance for ignorance."
(He doesn't let you resign and start again, either.)

Ian Thompson
Posts: 3551
Joined: Wed Jul 02, 2008 4:31 pm
Location: Awbridge, Hampshire

Re: Engines fail to find mate in two

Post by Ian Thompson » Tue Nov 08, 2016 9:04 pm

LawrenceCooper wrote:The same (not surprisingly) with Fritz 11.
I got the same with Fritz 11 SE. I also noticed that if you play any legal move for White and then retract it, it then immediately finds the mate in 2 in the starting position.

Nick Grey
Posts: 1838
Joined: Thu Dec 01, 2011 12:16 am

Re: Engines fail to find mate in two

Post by Nick Grey » Tue Nov 08, 2016 9:17 pm

Very nice - seen this before with Bf6 but not the other way round with Kc3.

Mike Gunn
Posts: 1022
Joined: Wed Apr 11, 2007 4:45 pm

Re: Engines fail to find mate in two

Post by Mike Gunn » Wed Nov 09, 2016 11:04 am

Programs that play chess use a technique called alpha/beta pruning (or similar, this is based on memory of stuff I read more than 30 years ago). The program considers all positions that can be generated by legal moves from the current position and then all positions that can be generated by legal replies to those moves (and so on for further moves). The program uses an evaluation function to see whether the positions reached are favourable for one side or another (and how favourable they are). The "tree" of possible positions grows exponentially and so does the computer storage requirement to store them and the time to carry out all the evaluations. Hence programmers adopt techniques to "prune" the tree of positions by ignoring what seem to be unpromising variations (and positions that would develop from them).

The above could be the reason for Fritz failing to find the mate in two. One of the earliest chess programs I bought (Chessmaster?) had separate options for finding "mate in n moves" and playing a game, the point being that mate in n would be done with no pruning.

So this could be a bug in setting appropriate initial parameters for the pruning algorithm ...

User avatar
Michael Farthing
Posts: 2069
Joined: Fri Apr 04, 2014 1:28 pm
Location: Morecambe, Europe

Re: Engines fail to find mate in two

Post by Michael Farthing » Wed Nov 09, 2016 12:46 pm

I think a more likely explanation is that having found a mate in 3 the engine decided it wasn't worth bothering to look any further. It might be, for instance, that check and capture lines get explored ahead of others so the engine would consider Bg6 + first. It could also be that the engine considers lines with the fewest variations the best, even if they take longer. That would also lead to Bg6+ since that move permits only two continuation lines. The idea that an engine would completely discard a first possibility that was not even vaguely unreasonable seems quite implausible.

Mike Gunn
Posts: 1022
Joined: Wed Apr 11, 2007 4:45 pm

Re: Engines fail to find mate in two

Post by Mike Gunn » Wed Nov 09, 2016 1:19 pm

Another possibility is that at any stage it only considers the top m continuations in a given position. Then selecting a continuation and deleting it could promote another line.

MartinCarpenter
Posts: 3044
Joined: Tue May 24, 2011 10:58 am

Re: Engines fail to find mate in two

Post by MartinCarpenter » Wed Nov 09, 2016 1:54 pm

Checks and captures do definitely get examined ahead of everything else, that was a very early thing they worked out when programming this stuff :)

Post Reply