On Thu, 2006-12-07 at 09:17 -0800, Peter Drake wrote: > I do have the undo ability, but I think it's done in (I think) a > very > efficient way. For example, when I want to undo a bunch of move at > once (e.g., after a MC run) I just reduce a stack pointer.
BINGO! I'm pretty sure that is your problem. My program does this too, but not during the random games. I make single copy of the current state then play a random game from that copy. Obviously, it's faster to place a single stone on an existing board - than to make a copy and then place a stone on the copy. In the search tree part of the game, (not the random simulation part) I make state copies, do Zobrist hashing and full repetition checks and other stuff - the tree part is cheap. No matter how you implement undo - it will cost you dearly whether by state copy or keeping stacks of information updated. - Don _______________________________________________ computer-go mailing list computer-go@computer-go.org http://www.computer-go.org/mailman/listinfo/computer-go/