This sounds pretty good.   Let me see if I understand.   

Basically when you create children you do the lookup to calculate
zobrist keys and either find an existing record in the hash table or
create a new entry.  But after that, you just have pointers (or indices)
to the children of a node to save time having to look up all the
children.  

Is that correct?   It sounds like a pretty reasonable compromise between
space and time.

- Don


On Fri, 2007-05-11 at 12:49 -0400, Álvaro Begué wrote:
> We are using a compromise between the two options that Don described.
> We have a tree using indices to a big vector (which is about the same
> thing as pointers), and we have a separate structure that maps zobrist
> keys to indices in the vector, using a hash. This map is only queried
> when we add a position to the UCT tree. If we already have that
> position, we simply point to the existing node. If not, we add it to
> the map. The loss in speed is barely noticeable. But we haven't
> investigated carefully how much performance we are getting out of it,
> if any. It just seemed like the right thing to do.
> 
> Álvaro.
> 
> 
> On 5/11/07, Peter Drake <[EMAIL PROTECTED]> wrote:
> > On May 11, 2007, at 9:20 AM, Don Dailey wrote:
> >
> > > Going along with this, the numbers won't add up (although I don't know
> > > if that is important.)   In other words, if you do 10,000
> > > simulations at
> > > the root, all grandchildren will add up to more (due to
> > > transpositions.)
> > > If you propogate this up the tree you might come up with many more
> > > than
> > > 10,000 simulations at the root.
> >
> > As per the previous thread, it appears that one should not (even when
> > using a direct tree) assume that
> > the number of runs through the parent is the same as the sum of the
> > runs through the children.
> >
> > Your other comments match my experience.
> >
> > Peter Drake
> > http://www.lclark.edu/~drake/
> >
> >
> > _______________________________________________
> > computer-go mailing list
> > computer-go@computer-go.org
> > http://www.computer-go.org/mailman/listinfo/computer-go/
> >
> _______________________________________________
> computer-go mailing list
> computer-go@computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to