[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: unmake move?
Don Dailey wrote:
> Yes, my evaluation is very simple, almost all of it is calculated
> before the search begins. I do have a specific move ordering I use
> but it doesn't involve a full blown sort. The program does little
> serious work (and it probably shows because it doesn't play very well
> either!)
>
> I think this is a good argument in favor of copying state. My
> program, because it does very little, should show state copying at
> it's very worst if it's in fact a bad idea.
How so? It seems to me that the very opposite is true -- because your program
"does little serious work", there is little state to maintain. A program with
a more sophisticated evaluation function is likely to maintain much more
state. And it seems to me that the *more* state that is maintained, the
bigger the performance penalty for copying rather than writing the code in
such a fashion as to facilitate rapid undos.
Hi Ray,
Your point is an assertion that it is faster to maintain state than to
copy it. I'm sure that depends on the specifics of the implemenation
and of course the hardware.
I made my statement in the context of talking about programs that do
less than 100 nps and that was what I was thinking about. I am pretty
happy to do 300,000 nps so if I add a lot of knowledge, I can only
assume that I will spend less time making moves as a percentage of my
execution time. That's the sense in which I felt my program was a
kind of worst case example of being "overwhelmed" with state copy.
And my point is that it seems unlikely this will be any kind of
limiting factor to my performance.
Don