[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: computer-go: unmake move?



You are running on a computer with a cache :)  Your state
copies are in the cache, so they don't go to memory, so memory
bandwidth is not a problem :)

300K nps is very good.  You must have a very simple evaluation
function, and a very fast move sorter. 

Most of the strong go programs get less than 100 nps, since the
evaluation is so slow and complex.  With very slow evaluations,
unmake time is not an issue.

Many Face's tactical analyzer gets about 50,000 nps on a fast PC.
Its time is dominated by move selection and sorting.  Evaluation
for string tactics is trivial (just count liberties).

David

At 02:14 AM 6/8/00 -0400, Don Dailey wrote:
>
>> Usually you are unmaking moves near the leafs, so the
>> old position is still in the cache.  So memory bandwidth
>> is not a problem.  Even if there is no cache, so copies
>> go to memory, Pentium PCs should be able to copy over 100 MB/s.
>> If the state is 1000 bytes, that limits performance to 100,000
>> positions per second.
>
>But how can that be?  I know I am getting about 300,000 per second and
>my state size is almost 5000 bytes!   I'm not cheating either, I don't
>count a node unless I do a state copy.
>
>I will go over the code to see if there  is some error counting nodes,
>but I am pretty sure I'm doing this correctly.
>
>Don
>
>