I found myself doing not simple or obvious elections on the board/game implementation.
I found a couple of places where different approaches would impact on perfomance: - Liberties: maintain a list of chains, and liberties. "Union set" when a stone is placed in the board. Floodfill is another aproach which I think is simpler and faster. Your experience? - Board: storage as a array of bits, or array of bytes. Nothing special at all here. - Moves: just an Int, or an Object? this desicion could change a lot the perfomance. PASS move is just boardsize+1 ? In my initial implementation I just have "Move" which includes player. But nowadays I would create 2 objects/entities: Move and Position. Position is a 'lightweight' "Move". Game: simplest logic to checking if a move is valid ? superko ? You actualy have to "play" to check if it's a KO. bad, you should have to have undo, or backup the complete board for every "isValidMove". This is a quite expensive part of the game implementation (at least for me). About game and MC: - It would be interesting to maintain a list of valid move positions so it doesn't have to be calculated on every move. How difficult could it be? I'm sure it could increase perfomance quite a lot. Just a lot of open questions .... --- £ukasz Lew <[EMAIL PROTECTED]> escribió: > Hi! > > Many people are spending a lot of effort on creating > fast board implementation. > > I am considering releasing the one written by me. > I get 30 k playouts / s (112 moves on avg) on > Celeron M 1.4Ghz. So I > consider it quite good. > If there is an interest in joint development, then I > will do it. > > What say You ? :) > > £ukasz Lew > > _______________________________________________ > computer-go mailing list > [email protected] > http://www.computer-go.org/mailman/listinfo/computer-go/ __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar _______________________________________________ computer-go mailing list [email protected] http://www.computer-go.org/mailman/listinfo/computer-go/
