On Thu, 2007-02-08 at 15:58 -0800, steve uurtamo wrote:
> > > > tranforms as the "cannonical" key.   In most cases 8 positions will
> > > 
> > > IIRC, choosing the smallest may cause some unwanted effects. Not sure...
> >
> > It's not quite as good as using 64 bits free and clear because there is
> > compression towards the lower bits.
> 
> i must be missing something here -- the whole point of canonicalization is
> that you want to be able to recognize a 'book line' when it appears, even if
> you have to rotate and/or reflect your board in order to match the book line,
> right?  you save 8x the space by only stashing one copy of the book line,
> and by using some canonical version of the hash key and doing 8 transforms
> on every board position when the game move is less than the longest known
> line length, or somesuch.
> 
> if you're only storing a few hundred lines, or a few thousand, why not store
> all 8 copies?  then it's just a lookup with no extra transforms.

Well then my collision rate would go up signficantly.   I don't think
it's a big issue with 64 bits but there is no performance issues with
lookup speed and the routine to do the tranforms has to be there no
matter what - it's now isolated to one routine.   And why waste the
memory if there is no performance issues?     I current keep the
book sorted in memory and I would prefer to keep it reasonably small
in the case I may someday have tens of thousands of moves.

Of course by  then I probably would have chosen a different storage
scheme.    This discussion has generated enough ideas that I may
consider some changes.

- Don



> s.
> 
> 
> 
> 
>  
> ____________________________________________________________________________________
> Need a quick answer? Get one in minutes from people who know.
> Ask your question on www.Answers.yahoo.com

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

Reply via email to