[EMAIL PROTECTED] wrote:
> Jacques BasaldĂșa,
>
> I say that adding superko adds 6% or so for 2 reasons.
> About 2% is adding it to the hash table. About 4% is
> computing the zobrist hash, which is mainly used for
> superko.
>   
But I suggest you should use superko in the tree portion - just not in
the play-outs.    The play-outs are mostly random and cannot make sense
of sophisticated move sequences such as superko and their repercussions. 

I actually have 2 routines to make moves - one of them is fast  and the
other is slow. 

The only difference between the slow and the fast is that the slow
incrementally computes a zobrist hash and tests for superko.     But for
play-outs it makes a difference in the speed.

> Another cost is undo. Superko requires undo, unless
> you want store a hash value with each chain of stones.
> I am not sure exactly what undo costs, but lets say
> 5% to 10%.
>   
When I need undo,  I just copy state - my position is in a tight C
struct.    When I don't need undo such as in the fast play-outs I don't
copy state  (except at the start of the play-outs, in which case I do
the play-outs with a single separate copy of the state.)

I don't know the cost of undo in my program - it costs one state copy
per move to have the ability. 

I have places in my program where I need undo but avoid a state copy by
doing fixups. 

- Don
 


> I do local analysis, so I pay for undo anyways.
> But, if you were doing MC only, then you could go 5%
> to 15% faster if you remove superko checking and undo.
>
> Michael Wing
>
>   
>> Michael Wing wrote:
>>
>>     
>>> In my program (which implements undo), the cost of
>>> for suicide detection is around 1%, which means it
>>> would lose 1.5 ELO points.
>>>       
>> In programs that somehow maintain lists of legal moves
>> or even probability distribution functions over the legal 
>> moves, avoiding suicide is free. I fact, adding the 
>> suicide move to the list would cost.
>>
>>     
>>> On the other hand detecting superko costs more like
>>> 6% or so, which costs 9 or more ELO. So a benefit
>>> of 1 ELO for doing superko right may not be worth
>>> the cost.
>>>       
>> I guess you mean a bullet proof test from the beginning
>> of the game. I only test the last 7 moves (if enabled, 
>> it can also be disabled) and that does not cost much.
>>
>> The reasons why I use 7 moves are 2:
>>
>> * I have never found among strong players a need for
>> repetition other that triple ko and double ko on a 
>> group with no eyes. (Both are 6 moves long.) My point
>> is: If the program is so weak that it does silly 
>> repetitions, improve something else. If it is so strong
>> that it has the same problems as strong humans, detect
>> superko.
>>
>> * My hash system can use only half of the hash (32 bits)
>> and detect the collision with probability 1. (Because of
>> the properties of the keys, you need at least 8 keys 
>> for a combination of keys giving zero.)
>>
>> A reason I can figure for ignoring repetition in the 
>> playouts is: If the playouts are random, it won't happen 
>> much anyway. The probability of a repetition of 6 random 
>> moves is too small to care about. But in real play it is
>> frequently a fight for the game. The player forced to
>> avoid the repetition will resign if it is about the 
>> life of a big group.
>>
>>
>> Jacques.
>>
>>
>> _______________________________________________
>> computer-go mailing list
>> [email protected]
>> http://www.computer-go.org/mailman/listinfo/computer-go/
>>
>>     
>
>
>
>   
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to