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/

Reply via email to