Author: Robert Hyatt
Date: 16:59:26 11/26/02
Go up one level in this thread
On November 26, 2002 at 19:22:20, David Rasmussen wrote: >On November 26, 2002 at 18:10:57, Robert Hyatt wrote: >> >>That seems to be wrong. A leaf node is perhaps better called "a quiescence >>frontier node" >>in the context we have been using it. It is the _first_ quiescence node on any >>path, because >>for that node you have no choice. But for nodes below that node, you can avoid >>the all >>if you so choose to just use the stand-pat score and not search any captures... >> > >I think you are misunderstanding, or you haven't read the code I posted. >Now I've changed it to: > >Score Search(pos) >{ > ++nodes; > ... > if (depth < ONE_PLY) > return Quiescence(pos); > ... >} > >and > >Score Quiescence(pos) >{ > ... > while (interesting moves left) > { > MakeMove(pos,move); > score = -Quiescence(pos); > UnMakeMove(pos,move); > ++qNodes; > ... > } >} That looks ok... although I still prefer the simpler qnodes++ as the first line of quiesce() with no need for adjusting anything else. nodes++ similarly is the first line in search() and it doesn't get adjusted anywhere else... At least it is simpler and pretty consistent, although it will make your qnodes at least 50% of the tree since you are counting the frontier nodes that are forced on you by the last ply of full-width searching that initially calls quiesce() and you can not avoid it. > >Now nodes isn't incremented in Quiescence(). > >So totalNodes == nodes + qNodes. > >And it gives the same numbers as I had before, so unless you disagree that >_this_ is the correct way, it was also working before. > >/David
This page took 0.01 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.