Author: Steve Maughan
Date: 03:59:46 12/15/99
I was analysing a position with my program when I came across the following: rkb2r2/1p2R1pp/1pp5/2P5/2B5/P7/1P1Q1PPP/n2K4 w - - 0 1 There is nothing special about the position apart from the search path that resulted. I use a 'one good reply to check' extension. Good meaning 'move that does not obviously give away material'. Now I had thought that this was a relatively well-behaved heuristic that allows some deep mates to be found in lightening time. However the search path that resulted was as follows: 1. Qd6+ Ka7 2. cxb6+ Kxb6 3. Qb4+ Ka7 4. Qa5+ Kb8 5. Qe5+ Ka7 6. Qc5+ Kb8 7. Qd6+ Ka7 8. Qd4+ c5 9. Qxc5+ Kb8 10. Qd6+ Ka7 11. Qd4+ Kb8 12. Qe5+ Ka7 13. Qe3+ Kb8 14. Qg3+ Rf4 15. Qxf4+ Ka7 16. Qe3+ Kb8 17. Qe5+ Ka7 18. Qa5+ Kb8 19. Qc7+ Ka7 20. Qc5+ Kb8 21. Qd6+ Ka7 22. Qa6+ Kb8 IMO this is 44 ply of wasted search. One of the insights I have had while writing this program is that it is easy to come up with sensible extensions that work in some positions, but it is difficult to come up with good extensions that cut-off quickly when not relevant. The question is - is there a way of taming the above heuristic that will cut off the search earlier, but will still retain the advantages of being able to find deep mates? My ideas so far are: 1) Cut-off after a given depth. 2) Store the path of the king and only allows the search to continue if the king moves to a new square. 3) Only allow one occurrence of attack-square and king-square. 4) Only allow the search to continue if there have been captures in the last 'n' moves. 5) Combination of 1 and 4. Remember that these heuristics would only be relevant for the 'one reply to check' heuristic. I haven't yet tries all of the above ideas but the classic position that would be spoilt by most of them is the 'mate in 30': 5n2/B3K3/2p2Np1/4k3/7P/3bN1P1/2Prn1P1/1q6 w - - 0 1 Hmmm - any ideas? Has anyone managed to tame the extension? What do others do? All help, comments and suggestions appreciated! Steve Maughan
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.