Computer Chess Club Archives


Search

Terms

Messages

Subject: can ANY program play Q endgames properly?

Author: Richard Bean

Date: 19:51:22 09/17/99


it looks like kasparov has blundered with 45.Ke4,
allowing the following continuation:

1. e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. Bxd7+ Qxd7 5. c4 Nc6 6. Nc3 Nf6 7. O-O g6
8. d4 cxd4 9. Nxd4 Bg7 10. Nde2 Qe6 11. Nd5 Qxe4 12. Nc7+ Kd7 13. Nxa8 Qxc4
14. Nb6+ axb6 15. Nc3 Ra8 16. a4 Ne4 17. Nxe4 Qxe4 18. Qb3 f5 19. Bg5 Qb4
20. Qf7 Be5 21. h3 Rxa4 22. Rxa4 Qxa4 23. Qxh7 Bxb2 24. Qxg6 Qe4 25. Qf7
Bd4 26. Qb3 f4 27. Qf7 Be5 28. h4 b5 29. h5 Qc4 30. Qf5+ Qe6 31. Qxe6+ Kxe6
32. g3 fxg3 33. fxg3 b4 34. Bf4 Bd4+ 35. Kh1 b3 36. g4 Kd5 37. g5 e6 38. h6
Ne7 39. Rd1 e5 40. Be3 Kc4 41. Bxd4 exd4 42. Kg2 b2 43. Kf3 Kc3 44. h7 Ng6
45. Ke4 Kc2 46. Rh1 d3 47. Kf5 Nh8 48. g6 d2 49. g7 d1=Q 50. Rxd1 Kxd1
51. gxh8=Q b1=Q+

now the problem is, the PV in crafty always has a 5-man draw
in it, yet the evaluation is about +3 for White.

even with the Peter Karrer modifications to evaluate.c:
---begin mods---
  if (drawn_ending > 0) return(DrawScore(root_wtm==wtm));
  score=Material;
  if (Material == -100) score = 0; /* new */
  if (Material == 0) score = -200; /* new */

The first line ensures that white will evaluate its position as
positive, preventing it from trading down to (EGTB) draws.

Second line gives a penalty of two pawn equivalents for capturing a
black pawn. This avoids silly things such as 51.Qc8 followed by
52.Qxb7 in ending D.
---end mods---

Now crafty *still* has White capturing both pawns at 23 ply, leading to an egtb
draw - eval still > +2.

Are there any modifications possible to make *any* program
evaluate this as a draw, which it certainly seems to be?  there is just check
after check in the PV...

(of course, many thanks to Robert Hyatt & Eugene Nalimov for
writing the programs in the first place!)



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.