As I promised on the GNU Go mailing list, I'm writing
a GMP/GTP bridge with the original intent to be usable
in the Gifu contest.
In the course of the implementation however, I encountered
a problem which I don't know exactly how to solve. The
regulations of the contest allow only a very restricted use
of the Go Modem Protocol, especially with regard to queries
(board size, ruleset used, etc). This is no problem for the
answering side of the communication channel - if it is not
asked, it need not be aswered. But it severely hampers the
implementation of the querying side.
I will give an example:
Black sends "new game". He knows about his game parameters.
White does not know these and tries to acquire them through
queries sent to black. Gifu regulations allow (and require)
exactly two of them ("what's your color" and "what's the
handicap"). The board size, e.g., must not be queried, and
is thus implicitly assumed.
Now I can either follow the Gifu regulations and end up with
an incomplete bridge, or I can attempt to write a more complete
mapping of functionality and will have a program which cannot
be used in the contest.
As an aside, GNU Go's GMP implementation, which I intended
to use in my program, does way too much on its own (sending
many queries to verify parameters). This is all perfectly
legal GMP, but it is NOT legal with the 'modified GMP' used
in the contest.
Any ideas will be very much appreciated.
Hellwig