FiftyMoveDistance in Houdini 2.0c

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

Moderator: Ras

User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: FiftyMoveDistance in Houdini 2.0c

Post by Houdini »

Two interesting positions from the adjacent "Sting 1.0" thread.
Both positions take a very long time to solve with Houdini default settings.
With FiftyMoveDistance set at 10 it's a lot easier.

[d] 3N2r1/2K1p3/4Pk2/8/Bp5b/8/2P5/8 b - - 0 1
The winning idea is Rxd8+!! after Bg3+, Kd7.
Sorry for including the long analysis results, but it's interesting to see how the evals drops when the search depth increases.

Code: Select all

  9/18	 0:00 	-2.40 	1...Bg3+ 2.Kd7 Be5 3.Nc6 Bd6 4.Bb3 Rg2 5.Nd4 Be5 6.Bd5 (31.388) 3487
 10/23	 0:00 	-2.17 	1...Rg4 2.Bb3 Bg3+ 3.Kb6 Rg5 4.Nc6 Bd6 5.Bc4 Rg2 6.Kb5 Rxc2 7.Nxb4 Rb2 (103.142) 4484
 11/23	 0:00 	-1.86 	1...Rh8 2.Kd7 Bf2 3.Nc6 Bc5 4.Bb3 Rh3 5.Bc4 Rc3 6.Bd3 b3 (383.314) 5398
 12/23	 0:00 	-1.77 	1...Rh8 2.Kd7 Bg3 3.Nc6 Ra8 4.Bb3 Bd6 5.Bc4 Ra3 6.Bd3 b3 7.cxb3 Rxb3 8.Bc2 Rb7+ 9.Ke8 (427.382) 5409
 13/24	 0:00 	-1.77 	1...Rh8 2.Kd7 Bg3 3.Nc6 Ra8 4.Bb3 Bd6 5.Bd5 Ra1 6.Bc4 Ra3 7.Bd3 (731.636) 5806
 14/29	 0:00 	-1.41 	1...Rh8 2.Kd7 Be1 3.Nc6 Bc3 4.Bb5 Rh2 5.Bd3 Rg2 6.Bc4 Rd2+ 7.Ke8 Rxc2 8.Nxe7 Be5 9.Bd5 Rd2 10.Ng8+ Kg5 11.Ne7 Rd1 12.Bf3 Rd6 (4.284.670) 6715
 15/35	 0:02 	-0.89 	1...Rh8 2.Kd7 Bg3 3.Nc6 b3 4.Bxb3 Bd6 5.Bd5 Bc5 6.c4 Ra8 7.Nd8 Ra6 8.Nc6 Rb6 9.Be4 Rb7+ 10.Kc8 Rb2 (15.261.897) 6893
 15/35	 0:02 	-1.04 	1...Rg4 2.Bb3 Rg2 3.Nc6 Rd2 4.Nxb4 Bg5 5.c3 Bf4+ 6.Kc6 Bb8 7.Na6 Be5 8.Nc5 Kf5 9.c4 Bf4 10.Nd7 Rd6+ 11.Kb5 Rxe6 12.c5 (16.695.135) 6890
 16/36	 0:06 	-0.85 	1...Rh8 2.Kd7 b3 3.Bxb3 Bf2 4.Bd5 Rh3 5.Nc6 Bc5 6.c4 Rb3 7.Nd8 Rb6 8.Nc6 Rb2 9.Be4 Rd2+ 10.Bd5 Rh2 11.Be4 Rd2+ 12.Bd5 (46.143.442) 6996
 17/36	 0:06 	-0.79 	1...Rh8 2.Kd7 b3 3.Bxb3 Bf2 4.Bd5 Rh3 5.c4 Rd3 6.Kc6 Rg3 7.Nb7 Rg8 8.c5 Ke5 9.Bb3 Rg3 10.Bc4 Bd4 11.Kd7 (48.048.175) 6994
 18/37	 0:09 	-0.76 	1...Rh8 2.Kd7 b3 3.Bxb3 Bf2 4.Bd5 Rh3 5.Bb3 Bg3 6.Bd5 Rh2 7.c4 Bf2 8.Nb7 Bd4 9.Kc6 Rh8 10.Kd7 Rh3 11.c5 Rd3 12.Kc6 Ke5 13.Bc4 Rc3 14.Kb5 Rc1 (63.633.592) 7021
 18/38	 0:10 	-0.79 	1...Bf2 2.Nc6 b3 3.Bxb3 Bc5 4.Bd5 Rg5 5.c4 Rg3 6.Nd8 Ra3 7.Kc6 Bf2 8.Kb5 Rb3+ 9.Kc6 (73.893.951) 7047
 19/43	 0:31 	-0.47 	1...Rh8 2.Kd7 Rxd8+ 3.Kxd8 Kxe6 4.Kc7 Kd5 5.Bb3+ Kd4 6.Be6 Kc3 7.Bf5 e5 8.Kb6 Kd4 9.Kb5 Be7 10.Ka4 e4 11.Kb3 e3 12.Bd3 Bf8 13.Bc4 Bd6 14.Be2 (225.446.673) 7080
 20/43	 0:41 	-0.67++	1...Bg3+ (291.375.734) 7080
 20/43	 0:41 	-0.96++	1...Bg3+ (297.434.105) 7083
 20/47	 0:42 	-1.10 	1...Bg3+ 2.Kd7 Rxd8+ 3.Kxd8 Kxe6 4.Ke8 Kd6 5.Kf7 e5 6.Kg6 e4 7.Bb5 Kc5 8.Ba6 Kd4 9.Kf5 e3 10.Kg4 Kc3 11.Kf3 Kd2 12.Be2 Bf2 13.Bb5 Kxc2 14.Ke2 b3 (304.019.389) 7092
 21/47	 0:42 	-1.10 	1...Bg3+ 2.Kd7 Rxd8+ 3.Kxd8 Kxe6 4.Ke8 Kd6 5.Kf7 e5 6.Kg6 e4 7.Bb5 Kc5 8.Ba6 Kd4 9.Kf5 e3 10.Kg4 Kc3 11.Kf3 Kd2 12.Be2 Bf2 13.Bb5 Kxc2 14.Ke2 b3 (304.853.370) 7093
 22/47	 0:43 	-1.10 	1...Bg3+ 2.Kd7 Rxd8+ 3.Kxd8 Kxe6 4.Ke8 Kd6 5.Kf7 e5 6.Kg6 e4 7.Bb5 Kc5 8.Ba6 Kd4 9.Kf5 e3 10.Kg4 Kc3 11.Kf3 Kd2 12.Be2 Bf2 13.Bb5 Kxc2 14.Ke2 b3 (309.612.181) 7098  TB:1
 23/47	 0:45 	-1.10 	1...Bg3+ 2.Kd7 Rxd8+ 3.Kxd8 Kxe6 4.Ke8 Kd6 5.Kf7 e5 6.Kg6 e4 7.Bb5 Kc5 8.Ba6 Kd4 9.Kf5 e3 10.Kg4 Kc3 11.Kf3 Kd2 12.Be2 Bf2 13.Bb5 Kxc2 14.Ke2 b3 (323.186.195) 7116  TB:4
 24/47	 0:48 	-1.19++	1...Bg3+ (347.207.461) 7153  TB:25
 24/50	 0:54 	-2.75++	1...Bg3+ (392.872.247) 7236  TB:103
 24/55	 0:58 	-5.04 	1...Bg3+ 2.Kd7 Rxd8+ 3.Kxd8 Kxe6 4.Ke8 Kd6 5.Kf7 e5 6.Kg6 e4 7.Bb5 Kc5 8.Bf1 Kd4 9.Kf5 e3 10.Kg4 Bf2 11.Kf3 Kc3 12.Bb5 Kxc2 13.Ke2 b3 14.Ba4 Kb2 (423.980.035) 7290  TB:196
[d] 8/1q3pKN/5Pp1/5kP1/8/Bb6/8/8 b - - 0 1
It's interesting to see that the plan Qh1-Qxh7 is found quite soon, because it's the only plan that keeps the game alive.
Only at higher depth does Houdini find that it actually wins.

Code: Select all

 14/21	 0:00 	-7.62 	1...Qc6 2.Bb4 Bd5 3.Kh6 Qc7 4.Be1 Qf4 5.Kg7 Qe5 6.Bf2 Qf4 7.Bc5 (219.017) 5919
 15/23	 0:00 	-7.54 	1...Qc6 2.Bb4 Bd5 3.Kh6 Qb6 4.Ba3 Kg4 5.Kg7 Qf2 6.Bd6 Qe3 7.Kh6 (620.681) 7053
 16/46	 0:18 	-0.66 	1...Qc6 2.Bb4 Bd5 3.Kh6 Qc4 4.Bd6 Qh4+ 5.Kg7 Qxh7+ 6.Kxh7 Kxg5 7.Bc5 Kxf6 8.Bf2 g5 9.Kh6 Kf5 10.Be1 g4 11.Bg3 Ke4 12.Kh5 f5 13.Kg5 Bf7 (158.382.325) 8428
 20/47	 0:46 	-0.64 	1...Qc6 2.Bb4 Bd5 3.Kh6 Qc4 4.Bd2 Qd4 5.Be1 Bb3 6.Kg7 Bc2 7.Ba5 Qc5 8.Be1 Qe3 9.Ba5 (416.619.272) 8993
 20/47	 0:48 	-0.69 	1...Qh1 2.Bc5 Qxh7+ 3.Kxh7 Kxg5 4.Kg7 Kh5 5.Bf2 g5 6.Be1 g4 7.Bf2 Kg5 8.Bg3 Be6 9.Kh7 Kxf6 10.Kh6 Kf5 11.Kh5 Ke4 12.Kg5 f5 13.Bf4 Kf3 (432.388.900) 8997
 21/47	 0:48 	-0.76++	1...Qh1 (435.605.086) 8995
 21/47	 0:48 	-0.77 	1...Qh1 2.Bc5 Qxh7+ 3.Kxh7 Kxg5 4.Kg7 Kh5 5.Kf8 g5 6.Ke7 Kg4 7.Kd6 Kf3 8.Ke5 g4 9.Kd4 g3 10.Kc3 Bd5 11.Kd2 g2 12.Ke1 Be4 13.Bg1 Bg6 14.Kd2 Bf5 (436.668.399) 8991
 22/47	 0:50 	-0.78 	1...Qh1 2.Bc5 Qxh7+ 3.Kxh7 Kxg5 4.Kg7 Kh5 5.Kf8 g5 6.Ke7 Kg4 7.Kd6 Kf3 8.Ke5 g4 9.Kd4 g3 10.Kc3 Bd5 11.Kd2 Be4 12.Ke1 Bd3 13.Bg1 g2 14.Kd2 Bh7 (451.498.844) 9000
 23/47	 0:52 	-0.82 	1...Qh1 2.Bc5 Qxh7+ 3.Kxh7 Kxg5 4.Kg7 Kh5 5.Bf2 g5 6.Be1 g4 7.Bf2 Kg5 8.Bg3 Be6 9.Kh7 Kxf6 10.Kh6 Kf5 11.Bc7 Ke4 12.Kg5 f5 13.Bd6 Kf3 14.Kh4 Bg8 (468.847.885) 9007
 24/47	 0:54 	-0.91 	1...Qh1 2.Bc5 Qxh7+ 3.Kxh7 Kxg5 4.Kg7 Kh5 5.Bf2 g5 6.Be1 g4 7.Bg3 Kg5 8.Kh7 Kxf6 9.Kh6 Kf5 10.Kh5 Be6 11.Bh2 Ke4 12.Kg5 f5 13.Bb8 Kf3 14.Kh4 Bb3 (494.097.751) 9002  TB:1
 27/47	 1:03 	-0.91 	1...Qh1 2.Bc5 Qxh7+ 3.Kxh7 Kxg5 4.Kg7 Kh5 5.Bf2 g5 6.Be1 g4 7.Bf2 Kg5 8.Bg3 Be6 9.Kh7 Kxf6 10.Kh6 Kf5 11.Bb8 Ke4 12.Kg5 Kf3 13.Kh4 f5 14.Bd6 Bd5 (574.686.255) 8994  TB:42
 28/47	 1:08 	-0.98++	1...Qh1 (615.666.971) 9014  TB:69
 28/55	 1:12 	-1.52++	1...Qh1 (646.911.682) 8929  TB:92
 28/56	 1:22 	-2.12 	1...Qh1 2.Bc5 Qxh7+ 3.Kxh7 Kxg5 4.Kg7 Kh5 5.Bf2 g5 6.Be1 g4 7.Bf2 Kg5 8.Bg3 Bc4 9.Bh2 Kh4 10.Bg1 g3 11.Kh6 g2 12.Kg7 Kg4 13.Kh6 Kf3 14.Kg5 Ke2 (727.945.491) 8786  TB:432
 29/56	 1:29 	-2.12 	1...Qh1 2.Bc5 Qxh7+ 3.Kxh7 Kxg5 4.Kg7 Kh5 5.Bf2 g5 6.Be1 g4 7.Bf2 Kg5 8.Bg3 Bc4 9.Be1 Kf4 10.Kh6 g3 11.Kh5 Kf3 12.Bc3 g2 13.Bd4 Kg3 14.Bg1 Bd3 (783.796.682) 8783  TB:843
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: FiftyMoveDistance in Houdini 2.0c

Post by Houdini »

Another position from the adjacent "Sting 1.0" thread.
Analyzed with FiftyMoveDistance set to 10, which appears to be surprisingly effective for these positions.

[d] 7k/1r4rp/6pN/6P1/8/2B5/8/K7 b - - 0 1

Code: Select all

  6/16	 0:00 	-4.05 	1...Rb3 2.Nf7+ Kg8 3.Bxg7 Kxg7 4.Nd6 Rd3 5.Nc4 (2.932) 2932
  7/16	 0:00 	-3.99 	1...Rb3 2.Nf7+ Kg8 3.Bxg7 Kxg7 4.Nd6 Rg3 5.Ne4 Re3 (3.637) 3637
  8/17	 0:00 	-3.77 	1...Rb3 2.Bd4 Rb8 3.Ka2 Rb5 4.Ka3 Rbb7 5.Bxg7+ Kxg7 (9.178) 3059
  9/21	 0:00 	-3.60 	1...Rb3 2.Bb2 Rd3 3.Ka2 Rdd7 4.Ka3 Rb7 5.Bd4 Rbc7 6.Bxg7+ Kxg7 7.Kb4 Rd7 8.Kc4 (40.456) 2889
 10/21	 0:00 	-3.60 	1...Rb3 2.Bf6 Rb5 3.Ka2 Rb6 4.Bd4 Rbb7 5.Ka3 Rbc7 6.Bxg7+ Kxg7 7.Kb4 Rd7 8.Kc4 (50.136) 3133
 11/22	 0:00 	-3.17 	1...Rbc7 2.Kb2 Rxc3 3.Kxc3 Ra7 4.Kd3 Kg7 5.Ke4 Ra5 6.Kf4 Ra3 7.Ng4 Ra4+ 8.Kf3 Ra5 (129.956) 3713
 12/22	 0:00 	-3.27 	1...Rbc7 2.Bb2 Ra7+ 3.Kb1 Rab7 4.Ka2 Rxb2+ 5.Kxb2 Rc7 6.Kb3 Kg7 7.Kb4 Rc8 8.Kb5 Rc2 9.Ng4 (160.087) 4002
 13/37	 0:00 	-0.74 	1...Rbc7 2.Bf6 Rc2 3.Bd4 Rg2 4.Bf6 Rxg5 5.Bxg5 Ra7+ 6.Kb2 Kg7 7.Kc3 Ra5 8.Bd2 Rd5 9.Be3 g5 10.Kc4 Ra5 11.Kb4 Rd5 12.Kc4 (1.185.913) 5647
 13/37	 0:00 	-1.36 	1...Rb5 2.Bd4 Rxg5 3.Nf7+ Kg8 4.Nxg5 Rb7 5.Ka2 h6 6.Ne4 h5 7.Nf6+ Kf7 8.Ne4 Rb8 9.Be5 Rb4 10.Nd6+ Ke6 11.Bc3 (1.521.849) 5554
 21/41	 0:02 	-1.44 	1...Rb5 2.Ka2 Rxg5 3.Nf7+ Kg8 4.Nxg5 Rb7 5.Ka3 h5 6.Bd2 Rb5 7.Ka4 Rd5 8.Bc1 Rd1 9.Bb2 h4 10.Kb4 Rh1 11.Kc4 h3 12.Be5 h2 13.Bxh2 Rxh2 14.Kd4 Rh5 (15.491.598) 6479
 22/41	 0:03 	-1.51 	1...Rb5 2.Ka2 Rxg5 3.Nf7+ Kg8 4.Nxg5 Rb7 5.Ka3 h5 6.Bd2 Rb5 7.Ka4 Rd5 8.Bc1 h4 9.Kb4 Rd1 10.Bb2 Rh1 11.Kc4 h3 12.Nxh3 Rxh3 13.Bc1 Kf7 14.Kd5 Rh5+ (21.608.202) 6587  TB:1
 23/48	 0:08 	-1.74 	1...Rb5 2.Bf6 Rf5 3.Bc3 Rxg5 4.Nf7+ Kg8 5.Nxg5 Rb7 6.Bd2 Rb5 7.Bc1 h5 8.Ka2 h4 9.Ka3 Rb1 10.Bf4 Rf1 11.Bc7 Rf5 12.Bd8 h3 13.Nxh3 Rf3+ 14.Kb4 Rxh3 (59.853.720) 6723  TB:1
 26/52	 0:33 	-1.86 	1...Rb5 2.Bf6 Rf5 3.Bc3 Rxg5 4.Nf7+ Kg8 5.Nxg5 Rb7 6.Ne4 h5 7.Bf6 Rb4 8.Ng5 h4 9.Ka2 Rg4 10.Kb3 h3 11.Nxh3 Rg3+ 12.Kc4 Rxh3 13.Bg5 Kf7 14.Kd4 Rh5 (224.840.304) 6732  TB:12
User avatar
marcelk
Posts: 348
Joined: Sat Feb 27, 2010 12:21 am

Re: FiftyMoveDistance in Houdini 2.0c

Post by marcelk »

Houdini wrote:Two interesting positions from the adjacent "Sting 1.0" thread.
Both positions take a very long time to solve with Houdini default settings.
With FiftyMoveDistance set at 10 it's a lot easier.

[d] 3N2r1/2K1p3/4Pk2/8/Bp5b/8/2P5/8 b - - 0 1
The winning idea is Rxd8+!! after Bg3+, Kd7.
Sorry for including the long analysis results, but it's interesting to see how the evals drops when the search depth increases.
Since this is useful for analyzes and not for game play, is this new FiftyMoveDistance function in some way essentially different from setting the half move clock to 80?

[d] 3N2r1/2K1p3/4Pk2/8/Bp5b/8/2P5/8 b - - 80 1
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: FiftyMoveDistance in Houdini 2.0c

Post by Houdini »

marcelk wrote:Since this is useful for analyzes and not for game play, is this new FiftyMoveDistance function in some way essentially different from setting the half move clock to 80?
A very good question, in some positions it is essentially different.
If you only set the "half move clock", every pawn move or capture will reset to the full 50 moves.
With the FiftyMoveDistance, a pawn move or capture will only reset to the smaller number of moves.

For example in the Spassky-Byrne position this makes an important difference, in a lot of lines the bishops get swapped.

Robert
lech
Posts: 1169
Joined: Sun Feb 14, 2010 10:02 pm

Re: FiftyMoveDistance in Houdini 2.0c

Post by lech »

Houdini wrote:Houdini 2.0c has an interesting new UCI option: FiftyMoveDistance.
The FiftyMoveDistance value defines the number of reversible moves after which the 50-move rule will kick in and the position is considered a draw.
The default value is obviously 50 moves, corresponding to the official FIDE 50-move rule.
I also thought about this interesting idea – practically only one to detect fortress.
Of course, It needs to use tablebases always.
I understand that you solved (or don’ t see) a possible problem with null moves.
MikeGL
Posts: 1010
Joined: Thu Sep 01, 2011 2:49 pm

Re: FiftyMoveDistance in Houdini 2.0c

Post by MikeGL »

All the above fortress positions seems to be understood by Rybka 4 when the following values are set in UCI option:

white pawn cp: 100
black pawn cp: 100
white knight cp: 170
black knight cp: 170
white king bishop cp: 170
black king bishop cp: 170
white queen bishop cp: 170
black queen bishop cp: 170
white rook cp: -100
black rook cp: -100
white queen cp: -290
black queen cp: -290
Rook endgame scaling: 0

My 32-bit machine seems to solve those difficult fortress with the
above settings.

I remembered Kasparov mentioned the value of pieces are not static.
The values keeps on changing depending on phase of the game and
basically depends on what other pieces are remaining on the board
relative to the kings position.

I noticed only Shredder has settings for changing the piece values for
endgame play. I also remembered during one of Vas' interview that the
piece values of Rybka are also dynamic and keeps on changing,
depending on phase of the game.

I think my above piece values are closer to the truth for Endgame play.
Though this setting is obviously weak for middlegame positions.
I tested it on Nolot position and it is weaker than the default Rybka 4 settings,
except for Position 3 in Nolot where it likes the very difficult Nxg4.