Evert wrote: It's an interesting idea.
I'm going to try the following: if for a number of iterations (say 5) no progress has been made (the best move has not changed and the evaluation has not improved much, maybe since the first few plies or so), set the half-move counter to a value closer to the limit (I start adjusting the score to 0 at 80, reaching 0 at 100). If we now find a move that makes progress (this will be a sacrifice or a pawn push, obviously), smoothly return the half-move counter to its proper value (otherwise the score will keep being dragged down to 0).
I don't expect much in terms of playing strength, since by the time this kicks in, the game is probably already decided.
FiftyMoveDistance in Houdini 2.0c
Moderator: Ras
-
- Posts: 5279
- Joined: Thu Mar 09, 2006 9:40 am
- Full name: Vincent Lejeune
Re: FiftyMoveDistance in Houdini 2.0c
ChessMaster Aka "The king" does this (reduce score with moves "with no progress" made) for more than 15 years. I remember I read this on CCC forum. The problem is sometimes, engines have to manoeuvre for 20 moves or more to improve his position ...
-
- Posts: 1154
- Joined: Fri Jun 23, 2006 5:18 am
Re: FiftyMoveDistance in Houdini 2.0c
I did this in LearningLemming, Crafty has done this forever, probably there are others as well. Its a cute idea that does not add much elo. I think most people don't do it because it has some funny effects on the hash.Vinvin wrote:ChessMaster Aka "The king" does this (reduce score with moves "with no progress" made) for more than 15 years. I remember I read this on CCC forum. The problem is sometimes, engines have to manoeuvre for 20 moves or more to improve his position ...
-Sam
-
- Posts: 613
- Joined: Wed Oct 13, 2010 9:44 am
- Location: Australia
Re: FiftyMoveDistance in Houdini 2.0c
Very interesting.
[Site ""]
[Date "1986.01.??"]
[Round "12"]
[White "Ree, Hans"]
[Black "Hort, Vlastimil"]
[Result "1/2-1/2"]
[WhiteElo "2455"]
[BlackElo "2545"]
[ECO "A41g"]
[Variation "Neo-Old Indian: Wade Defence, 3.c4"]
[Annotator ""]
[Source ""]
[Remark ""]
1.d4 d6 2.Nf3 Bg4 3.c4 c6 4.Nc3 Nf6 5.e3 Nbd7 6.h3 Bh5 7.g4 Bg6 8.Nh4 e6
9.Nxg6 hxg6 10.d5 cxd5 11.cxd5 e5 12.g5 Nh7 13.f4 Be7 14.Bd2 Rc8 15.Qg4
Nb6 16.Rc1 O-O 17.h4 exf4 18.exf4 f5 19.Qh3 Qe8 20.Bb5 Qf7 21.h5 gxh5 22.
Qxh5 g6 23.Qf3 a6 24.Bd3 Nc4 25.Bxc4 Rxc4 26.Kf2 Qg7 27.Rh3 Rfc8 28.Rch1
Nf8 29.R1h2 Bd8 30.Qh1 Bb6+ 31.Kg3 Bd4 32.Nd1 Rc2 33.Qe1 b5 34.Rh8+ Kf7
35.R2h7 Qxh7 36.Rxh7+ Nxh7 37.Qe6+ Kg7 38.Bc3 R8xc3+ 39.bxc3 Bc5 40.Qe7+
Kg8 41.Qe6+ Kg7 42.a4 Nf8 43.Qe7+ Kg8 44.axb5 axb5 45.Qe1 Kf7 46.Ne3 Rb2
47.Qc1 Re2 48.Ng2 Ra2 49.Kh2 Rf2 50.Qb1 Rf3 51.Qxb5 Rxc3 52.Qb2 Ra3 53.Nh4
Ra7 54.Qf6+ Ke8 55.Kg3 Rf7 56.Qb2 Re7 57.Qf6 Rf7 58.Qh8 Rh7 59.Qg8 Rxh4
60.Kxh4 Bd4 61.Kg3 Ke7 62.Kf3 Ba1 1/2-1/2
[Event "Hoogovens"]Houdini wrote:1) [d]4knQ1/7r/3p2p1/2bP1pP1/5P1N/6K1/8/8 b - -
A famous position (don't know from what game exactly), black can exchange the Rook on h4 to go into a position where the Queen is trapped and the result is a draw.
[Site ""]
[Date "1986.01.??"]
[Round "12"]
[White "Ree, Hans"]
[Black "Hort, Vlastimil"]
[Result "1/2-1/2"]
[WhiteElo "2455"]
[BlackElo "2545"]
[ECO "A41g"]
[Variation "Neo-Old Indian: Wade Defence, 3.c4"]
[Annotator ""]
[Source ""]
[Remark ""]
1.d4 d6 2.Nf3 Bg4 3.c4 c6 4.Nc3 Nf6 5.e3 Nbd7 6.h3 Bh5 7.g4 Bg6 8.Nh4 e6
9.Nxg6 hxg6 10.d5 cxd5 11.cxd5 e5 12.g5 Nh7 13.f4 Be7 14.Bd2 Rc8 15.Qg4
Nb6 16.Rc1 O-O 17.h4 exf4 18.exf4 f5 19.Qh3 Qe8 20.Bb5 Qf7 21.h5 gxh5 22.
Qxh5 g6 23.Qf3 a6 24.Bd3 Nc4 25.Bxc4 Rxc4 26.Kf2 Qg7 27.Rh3 Rfc8 28.Rch1
Nf8 29.R1h2 Bd8 30.Qh1 Bb6+ 31.Kg3 Bd4 32.Nd1 Rc2 33.Qe1 b5 34.Rh8+ Kf7
35.R2h7 Qxh7 36.Rxh7+ Nxh7 37.Qe6+ Kg7 38.Bc3 R8xc3+ 39.bxc3 Bc5 40.Qe7+
Kg8 41.Qe6+ Kg7 42.a4 Nf8 43.Qe7+ Kg8 44.axb5 axb5 45.Qe1 Kf7 46.Ne3 Rb2
47.Qc1 Re2 48.Ng2 Ra2 49.Kh2 Rf2 50.Qb1 Rf3 51.Qxb5 Rxc3 52.Qb2 Ra3 53.Nh4
Ra7 54.Qf6+ Ke8 55.Kg3 Rf7 56.Qb2 Re7 57.Qf6 Rf7 58.Qh8 Rh7 59.Qg8 Rxh4
60.Kxh4 Bd4 61.Kg3 Ke7 62.Kf3 Ba1 1/2-1/2
-
- Posts: 1763
- Joined: Sun Feb 26, 2006 1:49 pm
- Location: Edmonton, Alberta, Canada
- Full name: Peter Skinner
Re: FiftyMoveDistance in Houdini 2.0c
I guess I need to clarify that in "scraping" file sharing websites for Houdini, I'm removing links to pirated copies of the program, or cracks/keygens that are used to pirate the program.Peter Skinner wrote:I've recently added Houdini to my "scrape" that removes pirated links from file share websites.
It would be helpful to have the md5 signatures for your installers and your executables so it is easier to track down and remove.
Peter
Being that it is one of the main commercial chess programs being pirated due to it's strength, I have recently added it to the list for daily scans.
Peter
I was kicked out of Chapters because I moved all the Bibles to the fiction section.
-
- Posts: 613
- Joined: Wed Oct 13, 2010 9:44 am
- Location: Australia
Re: FiftyMoveDistance in Houdini 2.0c
Interesting that you need to clarify this ;>
But on topic... This is obviously a weak point of chess engines, but bastardizing the FiftyMoveDistance is not a good way to go. Engines need proper algorithms to realise no progress is being made.
But on topic... This is obviously a weak point of chess engines, but bastardizing the FiftyMoveDistance is not a good way to go. Engines need proper algorithms to realise no progress is being made.
-
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: FiftyMoveDistance in Houdini 2.0c
True, but the algorithm I came up with (but haven't had the time or really the motivation to test) is very similar: if no progress is being made, adjust the score to 0 to encourage the engine to switch to a different move.stevenaaus wrote: But on topic... This is obviously a weak point of chess engines, but bastardizing the FiftyMoveDistance is not a good way to go. Engines need proper algorithms to realise no progress is being made.
-
- Posts: 3338
- Joined: Sat Feb 16, 2008 7:38 am
- Full name: Peter Martan
Re: FiftyMoveDistance in Houdini 2.0c
Hi Robert!
Fine feature, I found another example to use it:
Peter Skinner already showed the game Junior- Shredder round 8 of running WCCC.
[Event "WCCC Tilburg 2011"]
[Site "Tilburg"]
[Date "2011.11.22"]
[Round "8.3"]
[White "Junior"]
[Black "Shredder"]
[Result "1/2-1/2"]
1. e4 c5 2. Nc3 e6 3. Nf3 a6 4. d4 cxd4 5. Nxd4 Qc7 6. Bd3
Nf6 7. O-O Nc6 8. Be3 Nxd4 9. Bxd4 Bd6 10. Kh1 Bc5 11. Bxc5
Qxc5 12. f4 d6 13. Qe1 Bd7 14. e5 dxe5 15. fxe5 Ng4 16. Qg3
h5 17. Rae1 Bc6 18. h3 Nh6 19. Ne4 Bxe4 20. Bxe4 g6 21. Rd1
Nf5 22. Bxf5 gxf5 23. Rd6 Kf8 24. Rfd1 Re8 25. Rd8 h4
26. Rxe8+ Kxe8 27. Qg7 Rf8 28. c3 Qe7 29. Rd6 f6 30. Qh6
Rf7 31. Qxh4 fxe5 32. Qh8+ Rf8 33. Qxe5 Kf7 34. Qd4 Qf6
35. Qa7 Qe5 36. Qxb7+ Kf6 37. Qb6 Qe1+ 38. Qg1 Qxg1+
39. Kxg1 a5 40. Ra6 Rd8 41. b4 Rd1+ 42. Kh2 axb4 43. cxb4
Rb1 44. a3 Rb2 45. h4 Rb3 46. Ra5 f4 47. h5 Kg7 48. b5 e5
49. a4 e4 50. Ra6 Rb4 51. Rg6+ Kh7 52. b6 e3 53. Re6 Rxa4
54. g4 fxg3+ 55. Kxg3 Rb4 56. Kf3 Rb3 57. Ke2 Kg7 58. Rg6+
Kh7 59. Kf3 Kh8 60. Rh6+ Kg7 61. Rc6 Kh7 62. Rf6 Kg8
63. Rd6 Kg7 64. Ke2 Kh7 65. Rf6 Kg7 66. Rc6 Kf7 67. Kf3 Kg7
68. Kg3 e2+ 69. Kf2 Rb2 70. Ke1 Kg8 71. Rc8+ Kh7 72. Rb8
(72. Rc6 Kg8 73. h6 Kh8 74. Rf6 {0.00}) 72... Kh6 73. b7
Rb1+ 74. Kxe2 Rb2+ 75. Ke3 Kg7 76. Kd4 Kh7 77. Ke5 Rb5+
78. Kf6 Rb6+ 79. Kf7 Rb1 80. Ke6 Re1+ 81. Kd7 Rb1 82. Kc6
Rc1+ 83. Kb6 Rb1+ 84. Kc7 Rc1+ 85. Kd8 Rb1 86. Ke7 Re1+
87. Kf6 Rf1+ 88. Kg5 Rg1+ 89. Kf5 Rf1+ 90. Kg4 Rb1 91. Kg3
Rb4 92. Kf3 Rb5 93. h6 Rb6 94. Ke4 Rb5 1/2-1/2
After move 71 Houdini with White still thinks the position ist won, with an eval of about 1.80, even with complete 6MOB Nalimov's on hard disk.
[d]2R5/7k/1P6/7P/8/8/1r2p3/4K3 w - -
The variant I gave in braces in the .pgn above is Houdini's, he'd play instead of 72.Rb8..., which he sees to be 0.00 with 6MOB right after this move from the original game is made, seeing the position of drawn 6MOB coming obviously.
Going into the variant of his own can be continued many moves onward without change of eval.
Setting the distance to FiftyMoveRule to 10, the 0.00 arises after
72. Rc6 Kg8 73. h6 Kh8 74. Rf6 (braces' variant in .pgn)
By the way, if Houdini would see the remis some earlier by default with complete 6MOB on harddisk, I would appreciate even more.

Fine feature, I found another example to use it:
Peter Skinner already showed the game Junior- Shredder round 8 of running WCCC.
[Event "WCCC Tilburg 2011"]
[Site "Tilburg"]
[Date "2011.11.22"]
[Round "8.3"]
[White "Junior"]
[Black "Shredder"]
[Result "1/2-1/2"]
1. e4 c5 2. Nc3 e6 3. Nf3 a6 4. d4 cxd4 5. Nxd4 Qc7 6. Bd3
Nf6 7. O-O Nc6 8. Be3 Nxd4 9. Bxd4 Bd6 10. Kh1 Bc5 11. Bxc5
Qxc5 12. f4 d6 13. Qe1 Bd7 14. e5 dxe5 15. fxe5 Ng4 16. Qg3
h5 17. Rae1 Bc6 18. h3 Nh6 19. Ne4 Bxe4 20. Bxe4 g6 21. Rd1
Nf5 22. Bxf5 gxf5 23. Rd6 Kf8 24. Rfd1 Re8 25. Rd8 h4
26. Rxe8+ Kxe8 27. Qg7 Rf8 28. c3 Qe7 29. Rd6 f6 30. Qh6
Rf7 31. Qxh4 fxe5 32. Qh8+ Rf8 33. Qxe5 Kf7 34. Qd4 Qf6
35. Qa7 Qe5 36. Qxb7+ Kf6 37. Qb6 Qe1+ 38. Qg1 Qxg1+
39. Kxg1 a5 40. Ra6 Rd8 41. b4 Rd1+ 42. Kh2 axb4 43. cxb4
Rb1 44. a3 Rb2 45. h4 Rb3 46. Ra5 f4 47. h5 Kg7 48. b5 e5
49. a4 e4 50. Ra6 Rb4 51. Rg6+ Kh7 52. b6 e3 53. Re6 Rxa4
54. g4 fxg3+ 55. Kxg3 Rb4 56. Kf3 Rb3 57. Ke2 Kg7 58. Rg6+
Kh7 59. Kf3 Kh8 60. Rh6+ Kg7 61. Rc6 Kh7 62. Rf6 Kg8
63. Rd6 Kg7 64. Ke2 Kh7 65. Rf6 Kg7 66. Rc6 Kf7 67. Kf3 Kg7
68. Kg3 e2+ 69. Kf2 Rb2 70. Ke1 Kg8 71. Rc8+ Kh7 72. Rb8
(72. Rc6 Kg8 73. h6 Kh8 74. Rf6 {0.00}) 72... Kh6 73. b7
Rb1+ 74. Kxe2 Rb2+ 75. Ke3 Kg7 76. Kd4 Kh7 77. Ke5 Rb5+
78. Kf6 Rb6+ 79. Kf7 Rb1 80. Ke6 Re1+ 81. Kd7 Rb1 82. Kc6
Rc1+ 83. Kb6 Rb1+ 84. Kc7 Rc1+ 85. Kd8 Rb1 86. Ke7 Re1+
87. Kf6 Rf1+ 88. Kg5 Rg1+ 89. Kf5 Rf1+ 90. Kg4 Rb1 91. Kg3
Rb4 92. Kf3 Rb5 93. h6 Rb6 94. Ke4 Rb5 1/2-1/2
After move 71 Houdini with White still thinks the position ist won, with an eval of about 1.80, even with complete 6MOB Nalimov's on hard disk.
[d]2R5/7k/1P6/7P/8/8/1r2p3/4K3 w - -
The variant I gave in braces in the .pgn above is Houdini's, he'd play instead of 72.Rb8..., which he sees to be 0.00 with 6MOB right after this move from the original game is made, seeing the position of drawn 6MOB coming obviously.
Going into the variant of his own can be continued many moves onward without change of eval.
Setting the distance to FiftyMoveRule to 10, the 0.00 arises after
72. Rc6 Kg8 73. h6 Kh8 74. Rf6 (braces' variant in .pgn)
By the way, if Houdini would see the remis some earlier by default with complete 6MOB on harddisk, I would appreciate even more.

Peter.
-
- Posts: 3338
- Joined: Sat Feb 16, 2008 7:38 am
- Full name: Peter Martan
Re: FiftyMoveDistance in Houdini 2.0c
By the way, Junior should have won this game, I think.
After 29 moves
[d]4kr2/1p2q1Q1/p2Rpp2/4Pp2/7p/2P4P/PP4P1/7K w - - 0 30
Junior isn't resolute enough with 30.Qh6?!
30.Qg6+! instead should have won:
[Event "WCCC Tilburg 2011"]
[Site "Tilburg"]
[Date "2011.11.22"]
[Round "8.3"]
[White "Junior"]
[Black "Shredder"]
[Result "1/2-1/2"]
[ECO "B48"]
[PlyCount "91"]
[EventDate "2011.??.??"]
1. e4 c5 2. Nc3 e6 3. Nf3 a6 4. d4 cxd4 5. Nxd4 Qc7 6. Bd3 Nf6 7. O-O Nc6 8.
Be3 Nxd4 9. Bxd4 Bd6 10. Kh1 Bc5 11. Bxc5 Qxc5 12. f4 d6 13. Qe1 Bd7 14. e5
dxe5 15. fxe5 Ng4 16. Qg3 h5 17. Rae1 Bc6 18. h3 Nh6 19. Ne4 Bxe4 20. Bxe4 g6
21. Rd1 Nf5 22. Bxf5 gxf5 23. Rd6 Kf8 24. Rfd1 Re8 25. Rd8 h4 26. Rxe8+ Kxe8
27. Qg7 Rf8 28. c3 Qe7 29. Rd6 f6 30.Qh6?!.....
30. Qg6+ Qf7 31. Rxe6+ Kd7 32. Qxf7+ Rxf7 33.
Rxf6 Rh7 34. Kg1 Rh8 35. Kf2 Re8 36. Rd6+ Kc7 37. Rd5 Rg8 38. Rd4 Kc6 39. Kf3
Rg3+ 40. Kf4 Rxg2 41. e6 Rxb2 42. Kxf5 Re2 43. Re4 Rf2+ 44. Kg6 Kd5 45. Re1 Rf8
46. e7
This variant I played out together with Stockfish against Houdini.
Here is its output after backward solving this variant with full hash at the position of the diagram:
53: Junior - Shredder, WCCC Tilburg 2011 2011
4kr2/1p2q1Q1/p2Rpp2/4Pp2/7p/2P4P/PP4P1/7K w - - 0 1
Analysis by Houdini 2.0c Pro x64L:
30.Dg6+ Tf7 31.Dg8+ Df8 32.Txe6+ Kd7 33.Dxf8 Txf8 34.Txf6 Tc8 ...
+- (2.31) Tiefe: 32/70 00:10:56 16119mN
After 29 moves
[d]4kr2/1p2q1Q1/p2Rpp2/4Pp2/7p/2P4P/PP4P1/7K w - - 0 30
Junior isn't resolute enough with 30.Qh6?!
30.Qg6+! instead should have won:
[Event "WCCC Tilburg 2011"]
[Site "Tilburg"]
[Date "2011.11.22"]
[Round "8.3"]
[White "Junior"]
[Black "Shredder"]
[Result "1/2-1/2"]
[ECO "B48"]
[PlyCount "91"]
[EventDate "2011.??.??"]
1. e4 c5 2. Nc3 e6 3. Nf3 a6 4. d4 cxd4 5. Nxd4 Qc7 6. Bd3 Nf6 7. O-O Nc6 8.
Be3 Nxd4 9. Bxd4 Bd6 10. Kh1 Bc5 11. Bxc5 Qxc5 12. f4 d6 13. Qe1 Bd7 14. e5
dxe5 15. fxe5 Ng4 16. Qg3 h5 17. Rae1 Bc6 18. h3 Nh6 19. Ne4 Bxe4 20. Bxe4 g6
21. Rd1 Nf5 22. Bxf5 gxf5 23. Rd6 Kf8 24. Rfd1 Re8 25. Rd8 h4 26. Rxe8+ Kxe8
27. Qg7 Rf8 28. c3 Qe7 29. Rd6 f6 30.Qh6?!.....
30. Qg6+ Qf7 31. Rxe6+ Kd7 32. Qxf7+ Rxf7 33.
Rxf6 Rh7 34. Kg1 Rh8 35. Kf2 Re8 36. Rd6+ Kc7 37. Rd5 Rg8 38. Rd4 Kc6 39. Kf3
Rg3+ 40. Kf4 Rxg2 41. e6 Rxb2 42. Kxf5 Re2 43. Re4 Rf2+ 44. Kg6 Kd5 45. Re1 Rf8
46. e7
This variant I played out together with Stockfish against Houdini.
Here is its output after backward solving this variant with full hash at the position of the diagram:
53: Junior - Shredder, WCCC Tilburg 2011 2011
4kr2/1p2q1Q1/p2Rpp2/4Pp2/7p/2P4P/PP4P1/7K w - - 0 1
Analysis by Houdini 2.0c Pro x64L:
30.Dg6+ Tf7 31.Dg8+ Df8 32.Txe6+ Kd7 33.Dxf8 Txf8 34.Txf6 Tc8 ...
+- (2.31) Tiefe: 32/70 00:10:56 16119mN
Peter.
-
- Posts: 1010
- Joined: Thu Sep 01, 2011 2:49 pm
Re: FiftyMoveDistance in Houdini 2.0c
I have a feeling Houdini 2.0c will be the only engine to find the win for below position, as Houdini 2.0c will now try to search for lines that forces the move of black's f-pawn to avoid the FiftyMove draw (in this case this UCI option might be set first to 12 or 15 to find the win) . This is just my assumption as I don't have the commercial version.
[d]8/5p2/8/8/p7/rpK4p/1p3ppr/bQ1N1bqk w - - 0 1
white to move and win
http://talkchess.com/forum/viewtopic.ph ... 00&t=41093
[d]8/5p2/8/8/p7/rpK4p/1p3ppr/bQ1N1bqk w - - 0 1
white to move and win
http://talkchess.com/forum/viewtopic.ph ... 00&t=41093
-
- Posts: 3338
- Joined: Sat Feb 16, 2008 7:38 am
- Full name: Peter Martan
Re: FiftyMoveDistance in Houdini 2.0c
Sorry, but no.
2.0c needs 28 moves into the solution's variant still. As well with 50MovesDistance set to 10 as by default, neither helps mate search alone neither together with 50MD, as far as I saw till now.
2.0c needs 28 moves into the solution's variant still. As well with 50MovesDistance set to 10 as by default, neither helps mate search alone neither together with 50MD, as far as I saw till now.
Peter.