[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/
