Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

Incremental Update Algorithm

The connection set is updated to the new state of the board in a single pass.

In this pass connections touched by opponent stones are destroyed, connections touched by friendly stones are resized, and connections in groups that are merged into larger groups are merged into the proper connection lists. This entire process is called the "merge".

The merge begins by noting the set of "affected" stones. These are the stones that were just played as well as those groups adjacent to the played stones.

Any list with either endpoint in the affected set will need to either pass on its connections to the list now responsible for that group or recieve connections from other lists that it is now responsible for. Lists belonging to groups that are merge into other groups are not destroyed, they remain so that undoing this merge is more efficient.

Every list needs to be checked for shrinking.

TODO Finish this documentation!


6 Jan 2011 Doxygen 1.6.3