Author: Tord Romstad
Date: 06:15:55 08/09/04
Go up one level in this thread
On August 08, 2004 at 10:57:10, Stuart Cracraft wrote: >On August 08, 2004 at 04:35:54, Tord Romstad wrote: > >>The most useful extensions for solving problems rapidly are: >> >>1. Checks. >> >>2. Single reply to checks. >> >>3. Mate threats. These can be detected statically, or by using the return >>value of a null move search. Extend if the null move search returns >>-MATE_VALUE+Ply+2. > >This sounds very neresting and I want to try it but have a question. >Is ply your "depth" in the routine or the current iteration number? "Ply" is the current depth in the search tree. The root node has Ply=0, all direct child nodes of the root have Ply=1, and so on. When the side to move is checkmate at some node in the tree, I return -MATE_VALUE+Ply from the search function. The point of adding Ply is to make the engine prefer short mates rather than long mates. If you think about it for a moment, you will see that whenever a null move is refuted by a mate-in-1, the null move search will return -MATE_VALUE+Ply+2. The reason for the "+2" at the end is that the actual checkmate happens 2 plies deeper in the tree. >Also, what do you do if your MATE value varies based on depth found >at? How does that affect the above. I don't understand this question, I'm afraid. >>4. Attacking moves. If you evaluate all internal nodes (as I do), compare >>the value of the king safety component of the evaluation function before >>and after a move is made. If a move dramatically reduces the opponent's >>king safety, you extend. > >This one is a lot farther off for me since all I use is material and >positional pc/sq lookup presently. I will remember this one though >for the future. Most programmers don't do anything like this, I think. In fact, it seems that most don't even do a full static eval at internal nodes. Tord
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.