[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: computer-go: Languages for programming go are?
> Anyway, I'm curious about what other knowledge is incrementally updated
> by my fellow Go programmers, and how, if you don't mind.
SmartGo currently keeps the following information up-to-date:
- Number of black and white stones on the board.
- Zobrist hash code (64 bits).
- Number of empty neighbors for each point.
- The stones in each block (in a circular linked list).
- The anchor (smallest stone in a block) of each stone.
- The liberties and liberty count of each block (in an array).
- (Optional) Bitboards for all black, white, and empty points.
> Just for some sporty fun, my Go program on PIII-500 can execute about
> one million random moves in under 5 seconds:
>
> Board::TimingTests()
> ---> Playing Random Game
> ***> 1000000 Turns
> ***> 4.625 seconds.
> ***> 216216 turns per second.
Can you elaborate on what you mean by playing random games? To make it a
more realistic test, it should probably include taking back the moves
played, and also check some random liberty counts and iterate through
liberties between moves.
Anders Kierulf
www.smartgo.com