[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: OpenGo Suggestion as Re: Eureka
At 01:49 PM 9/10/98 -0400, David Mechner wrote:
>needs of a other algorithms in that particular program. For example, an
>"eye" in our (Tim's and my) program is a /potential/ eye - even a very
>weak eye counts as an eye as long as it might someday become an eye.
>That's to accommodate the binary logic of our life & death algorithm -
>ignoring a lot of details, if a group doesn't have two of these "weak"
>eyes, it can be considered dead and we can stop reading. Another go
>program without this peculiarity would probably want to know only about
>definite eyes or likely eyes, or maybe to have a rating for each eye
>saying how likely it is to end up "real." Essentially our eye patterns
>and data structures would be useless (or worse) for anyone else. The
>same problem at another level: our eyes have "centers" and "borders."
>All the other parts of our program that ask eyes about centers and
>borders would break if we somehow plugged in a different eye module that
>didn't organize eyes that way. And what if they did, but they meant
I agree, somewhat. Whenver strategies are used to decide "how" to play a
game, it may not be easy to share, as you discussed. But for tasks like
modem connection, go file format conversion, joseki libaries, ... can all
be easily shared.
I'd say your "eye" is a good example. People can surely make use of it.
Suppose the input of your function is the board configuration, the output
is an eye structure/class. You just let people know what the inputs &
outputs are, the return values and potential side-effects. It's up to the
others to decide if they can make use of it. Even your representation of
the board configuration, the structure describing an eye can be different
from those of the others, one can convert his board representation to
yours, and add your eye structure to his program. If your source code is
available, people can discuss it, make suggestions, or modify it to make it
"better" in some sense. Also, we may standardize things like the
representation of a board configuration, an eye class ...
Thanks.
-- Mousheng Xu