> "(compressed) bitmaps". You don't just keep a sorted list?
With (compressd) I mean that (most of) the bitmaps are relatively
sparse. For an isolated stone, the needed size only needs to be about
((2*19) +1) / sizeof(bitmap_element), ~= 2 or 3 32bit ints.
By skipping the leading and trailing zeros, you can speed up operations
on the bitmaps.
The problem with bitmaps is that iterating over them is quite costly.
(the advantage is that set/get is very cheap)

Sorted lists need to be resorted on every addition/merge.
Linked lists are cumbersome for liberties, because a liberty
can be a part of more than one list. (dynamic allocation is out
of the question here, IMHO)

The best quality of bitmaps is that you don't have to worry about
duplicates. This duplicate-checking is where all this pseudo-liberties
-talk is all about. (that is: trying to avoid it)

Merging two (or more)This duplicate-checking is where all this pseudo-liberties
-talk is all about. (that is: trying to avoid it)

Merging two (or more) chains is extremely easy with bitmaps:
merge (== OR) their members, merge (== OR) their liberties.
simple comme bonjour!
Splitting chains is a bit more difficult, but that will never 
happen. (without undo, that is)

Adriaan van Kessel
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to