What engine can see the best move Bf8+!

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

Moderators: hgm, Rebel, chrisw

pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: What engine can see the best move Bf8+!

Post by pichy »

Dan Andersson wrote:I'm not claiming human superiority but a surprisingly large number of humans would play the correct move even in a bullet game :)

MvH Dan Andersson
I agree with you, if GM Nakamura has this position he would be making a move every second and find the correct move :roll:
http://www.youtube.com/watch?v=GbAzeDxxGuQ
kgburcham
Posts: 2016
Joined: Sun Feb 17, 2008 4:19 pm

Re: What engine can see the best move Bf8+!

Post by kgburcham »

[D] 6R1/8/2pB3k/2P4p/5p1q/5P2/4P1K1/8 w - - 0 1

Houdini 2.0c
48/114 +15.35 1.Bf8+ Kh7 2.Rg7+ Kh8 3.Be7 Qe1 4.Bf6 Qxe2+ 5.Kh1 Qe6 6.Bd4 Qc4 7.Ba1 h4 8.Bf6 Qe6 43860

Critter 1.4
35/97 +9.08++ 1.Bf8+ Kh7 2.Rg7+ Kh8 3.Be7 Qe1 4.Bf6 Qxe2+ 5.Kh1 Qe6 6.Bd4 Qc4 21143
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: What engine can see the best move Bf8+!

Post by BubbaTough »

pichy wrote:
Dan Andersson wrote:I'm not claiming human superiority but a surprisingly large number of humans would play the correct move even in a bullet game :)

MvH Dan Andersson
I agree with you, if GM Nakamura has this position he would be making a move every second and find the correct move :roll:
http://www.youtube.com/watch?v=GbAzeDxxGuQ
I consider that quite plausible. The basic winning idea is not that hard to find, and there really isn't anything else to try. Even lesser grandmasters are darn good calculators when there is only one forcing line to look at and there are no other good candidate moves. I suspect most strong players would play the right moves even at fairly rapid time controls. The only thing to calculate is whether the queen can pull some trick after 4. Bf6, but since there is no other move that really gives white a chance, many would just play the moves to get to this position, and then calculate the rest.

-Sam
pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: What engine can see the best move Bf8+!

Post by pichy »

BubbaTough wrote:
pichy wrote:
Dan Andersson wrote:I'm not claiming human superiority but a surprisingly large number of humans would play the correct move even in a bullet game :)

MvH Dan Andersson
I agree with you, if GM Nakamura has this position he would be making a move every second and find the correct move :roll:
http://www.youtube.com/watch?v=GbAzeDxxGuQ
I consider that quite plausible. The basic winning idea is not that hard to find, and there really isn't anything else to try. Even lesser grandmasters are darn good calculators when there is only one forcing line to look at and there are no other good candidate moves. I suspect most strong players would play the right moves even at fairly rapid time controls. The only thing to calculate is whether the queen can pull some trick after 4. Bf6, but since there is no other move that really gives white a chance, many would just play the moves to get to this position, and then calculate the rest.

-Sam

Will your next version of Hannibal be able to find it, by fixing the Null Moves heuristic
?


Null Move Heuristic
As mentioned above in the section on Internal iterative Deepening, there is a minimum search tree that can be obtained simply by using conventional alpha-beta pruning methods. However, this limit is not an absolute limit, and can be avoided if one is willing to make one or two sacrifices in search accuracy. One method used to great effect in all strong modern programs is that of NULL move pruning. ColChess does not use this method, but Beowulf does.

Null move pruning is a clever, and relatively recent method first proposed by Donninger (1993). The algorithm is simple, and in fact simply codes a concept that humans have been using for many years without knowing it.

Quiescence Search
The problem with abruptly stopping a search at a fixed depth is something called the 'horizon effect'. It might be that you have just captured an opponent's pawn at depth 0, then you return that score being justifiably proud. However, if you had searched another ply deeper you would have seen that the opponent could recapture your queen!

Full width search is not much different to the original search at depth>0, generating all the possible available moves and testing to see which one is the best.
User avatar
Ajedrecista
Posts: 1966
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: What engine can see the best move Bf8+!

Post by Ajedrecista »

Hello:

Quazar will be tested soon by Ingo Bauer (it can be maybe over 2700 in IPON), but it can not solve this position with around 2e+9 nodes searched.

Analysis by Quazar 0.4 w32 in console mode (maybe 32 MB of hash) in an Intel i5-760 at 2.8GHz:

[d]6R1/8/2pB3k/2P4p/5p1q/5P2/4P1K1/8 w - - 0 1

Code: Select all

info multipv 1 depth 44 time 4646672 score cp 0 nodes 1989626433 nps 428183
pv g8f8 h4e1 d6f4 h6g6 f8e8 h5h4 f4d6 g6f6 e8e4 f6f5 e4e5 f5f6 e5e4
If I introduce the FEN code of the correct move (Bf8+), it sees that white is winning almost instantly (please not that I wrote the FEN manually, so it may contain typos):

[d]5BR1/8/2p4k/2P4p/5p1q/5P2/4P1K1/8 b - - 0 1

Code: Select all

info multipv 1 depth 41 time 3568453 score cp -1553 nodes 2256894368 nps 632457
pv h6h7 g8g7 h7h8 f8e7 h4e1 e7f6 e1c1 g2h2 c1c2 f6a1 c2c4 h2h1 c4c2 e2e4 c2c4 a1f6 c4e6 e4e5 e6c4 e5e6 c4e6 f6d4 e6c4 d4a1 h5h4 a1f6 c4e6 f6d4 e6c4 d4a1 h4h3 a1f6 c4e6
The eval increased quickly from very low depths.

Regards from Spain.

Ajedrecista.
gladius
Posts: 568
Joined: Tue Dec 12, 2006 10:10 am
Full name: Gary Linscott

Re: What engine can see the best move Bf8+!

Post by gladius »

pichy wrote:This is where top GMs are superior to top engines in long term calculation and able to detect a position that will lead the human to win at the end by forcing Black into a Horizon effect in which Black will not be able to get out off.
Very nice position!

Stockfish currently can't find it within reasonable time, but, with this patch: https://github.com/glinscott/Stockfish/ ... inned_null, here is how it looks. The change was pretty minor. Adding a bonus when a friendly piece is blocking check to the enemy king, and not allowing null move pruning for the enemy in that situation. Whether it ends up increasing ELO or not is a separate question :).

Code: Select all

Analysis by Stockfish 120410 64bit 326 64bit:

1.Rf8 Qg3+ 2.Kf1 Qh3+ 3.Ke1 Qe6 4.Bxf4+ Kg6 
  ³  (-0.40)   Depth: 4/7   00:00:00
...
1.Rf8 Qe1 2.Bxf4+ Kg7 3.Re8 Kf7 4.Re4 Kg6 5.Bd6 Kf6 6.Be5+ Kf5 7.Bd6 h4 8.Re5+ Kg6
9.Re6+ Kf7 10.Re4 Kg6 11.Re6+ 
  =  (0.00)   Depth: 18/36   00:00:00  1190kN
...
1.Rf8 Qe1 2.Bxf4+ Kg7 3.Re8 Kf7 4.Re4 Kg6 5.Bd6 Kf6 6.Be5+ Kg6 7.Bd6 
  =  (0.00)   Depth: 32/45   00:00:37  82483kN
1.Bf8+ Kh7 2.Rg7+ Kh8 3.Be7 Qe1 4.Bf6 Qc1 5.Kh2 Qc2 6.Ba1 Qc4 7.Bb2 Qc2 8.Bf6 Qf5
9.Ba1 Qc2 10.Kh1 Qc4 11.e4 h4 12.Bf6 h3 13.Ba1 h2 14.Bf6 Qe6 15.e5 
  =  (0.08)   Depth: 33/45   00:00:40  126mN
...
1.Bf8+ Kh7 2.Rg7+ Kh8 3.Be7 Qe1 4.Bf6 Qxe2+ 5.Kh1 Qe6 6.Bd4 Qc4 7.Ba1 h4 8.Bf6 Qe6
9.Bd4 Qc4 10.Ba1 h3 11.Bf6 Qe6 12.Bd4 Qc4 13.Ba1 h2 14.Bf6 Qe6 15.Bd4 Qh6 16.Rg6+ Kh7 
  +-  (13.25)   Depth: 36/67   00:01:15  229mN
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: What engine can see the best move Bf8+!

Post by BubbaTough »

pichy wrote: Will your next version of Hannibal be able to find it, by fixing the Null Moves heuristic?
I haven't tried it with my development version, but I doubt it gets it, and it is probably not that far from release, maybe a couple of months. Its one of those positions that sadly the programmer is still better at than the program.

I am playing with null move a little right now in fact, but experience indicates I am unlikely to get away with changing it dramatically without weakening the engine.

-Sam
ernest
Posts: 2041
Joined: Wed Mar 08, 2006 8:30 pm

Re: What engine can see the best move Bf8+!

Post by ernest »

Houdini wrote:Here's Houdini's take, using 3 threads on a Core i5-750:
Engine: Houdini DEV 3T (2048 MB)
On my (poor) dualcore @3GHz, Houdini 2.0c already finds it at depth 22 :)

Code: Select all

Analysis by Houdini 2.0c w32 Nlm:
1.Rf8 Qg3+ 2.Kf1 Qh3+ 3.Kg1 Qe6 4.Kf2 Qe3+ 5.Kf1 Kg7 6.Rf5 Qc1+ 7.Kf2 Kg6 8.Rxf4 Qb2 9.Re4 Qa2 10.Be5 Qd5 11.Bd6 Qb3 12.Bg3 Qa2 13.Bd6 Qd5 14.Rb4 Qd2 15.Rf4 Qd5 16.Re4 Qb3 
  =  (-0.10)   Depth: 22/41   00:00:03  7567kN
1.Bf8+ 
  =  (-0.05 !)   Depth: 22/44   00:00:04  11224kN
1.Bf8+ Kh7 2.Rg7+ Kh8 3.Be7 Qe1 4.Bf6 Qxe2+ 5.Kh1 Qe6 6.Bd4 Qc4 7.Bf6 Qe6 8.Bd4 
  =  (0.00)   Depth: 22/44   00:00:04  13306kN
1.Bf8+ 
  =  (0.04 !)   Depth: 23/44   00:00:05  15218kN
1.Bf8+ 
  =  (0.14 !)   Depth: 23/44   00:00:05  15738kN
1.Bf8+ 
  +/=  (0.37 !)   Depth: 23/47   00:00:05  16603kN
1.Bf8+ 
  +/-  (1.17 !)   Depth: 23/53   00:00:05  18008kN
1.Bf8+ 
  +-  (4.25 !)   Depth: 23/57   00:00:07  24256kN
1.Bf8+ Kh7 2.Rg7+ Kh8 3.Be7 Qe1 4.Bf6 Qxe2+ 5.Kh1 Qe6 6.Bd4 Qc4 7.Ba1 h4 8.Bf6 Qe6 9.Bd4 Qc4 10.Ba1 h3 11.Bf6 Qe6 12.Bd4 Qc4 13.Ba1 h2 14.Bf6 Qe6 15.Bd4 Qh6 16.Rg6+ Kh7 17.Rxh6+ Kxh6 18.Kxh2 Kg6 19.Be5 Kg5 20.Kg2 Kf5 21.Bd6 Kg6 22.Bxf4 Kf5 23.Be3 Ke5 24.f4+ Kd5 25.Kf3 Ke6 26.Kg3 Kf5 27.Kf3 Kf6 28.Ke4 
  +-  (4.28)   Depth: 23/57   00:00:08  26556kN
pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: What engine can see the best move Bf8+!

Post by pichy »

BubbaTough wrote:
pichy wrote: Will your next version of Hannibal be able to find it, by fixing the Null Moves heuristic?
I haven't tried it with my development version, but I doubt it gets it, and it is probably not that far from release, maybe a couple of months. Its one of those positions that sadly the programmer is still better at than the program.

I am playing with null move a little right now in fact, but experience indicates I am unlikely to get away with changing it dramatically without weakening the engine.

-Sam
I don't believe that Null Move will weakening your engine since the best engines Houdini and Critter are benefitting from using it :wink:
pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: What engine can see the best move Bf8+!

Post by pichy »

Can you make this version available as a download?
gladius wrote:
pichy wrote:This is where top GMs are superior to top engines in long term calculation and able to detect a position that will lead the human to win at the end by forcing Black into a Horizon effect in which Black will not be able to get out off.
Very nice position!

Stockfish currently can't find it within reasonable time, but, with this patch: https://github.com/glinscott/Stockfish/ ... inned_null, here is how it looks. The change was pretty minor. Adding a bonus when a friendly piece is blocking check to the enemy king, and not allowing null move pruning for the enemy in that situation. Whether it ends up increasing ELO or not is a separate question :).

Code: Select all

Analysis by Stockfish 120410 64bit 326 64bit:

1.Rf8 Qg3+ 2.Kf1 Qh3+ 3.Ke1 Qe6 4.Bxf4+ Kg6 
  ³  (-0.40)   Depth: 4/7   00:00:00
...
1.Rf8 Qe1 2.Bxf4+ Kg7 3.Re8 Kf7 4.Re4 Kg6 5.Bd6 Kf6 6.Be5+ Kf5 7.Bd6 h4 8.Re5+ Kg6
9.Re6+ Kf7 10.Re4 Kg6 11.Re6+ 
  =  (0.00)   Depth: 18/36   00:00:00  1190kN
...
1.Rf8 Qe1 2.Bxf4+ Kg7 3.Re8 Kf7 4.Re4 Kg6 5.Bd6 Kf6 6.Be5+ Kg6 7.Bd6 
  =  (0.00)   Depth: 32/45   00:00:37  82483kN
1.Bf8+ Kh7 2.Rg7+ Kh8 3.Be7 Qe1 4.Bf6 Qc1 5.Kh2 Qc2 6.Ba1 Qc4 7.Bb2 Qc2 8.Bf6 Qf5
9.Ba1 Qc2 10.Kh1 Qc4 11.e4 h4 12.Bf6 h3 13.Ba1 h2 14.Bf6 Qe6 15.e5 
  =  (0.08)   Depth: 33/45   00:00:40  126mN
...
1.Bf8+ Kh7 2.Rg7+ Kh8 3.Be7 Qe1 4.Bf6 Qxe2+ 5.Kh1 Qe6 6.Bd4 Qc4 7.Ba1 h4 8.Bf6 Qe6
9.Bd4 Qc4 10.Ba1 h3 11.Bf6 Qe6 12.Bd4 Qc4 13.Ba1 h2 14.Bf6 Qe6 15.Bd4 Qh6 16.Rg6+ Kh7 
  +-  (13.25)   Depth: 36/67   00:01:15  229mN
Can you make this version available as a download?