[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] How to play go with other programe?



> Personally I prefer this standard: program talks GTP on stdin/stdout,
period.
> Engine shouldn't bother with things like TCP, PPP or whatever else.  It is
> way easier to use an external proxy ("glue") to plug an stdio program on
the
> connection you need/want/have to use.

You are confusing interface with implementation.  What should be
standardized, and what engine authors have to worry about are two entirely
different things.  GTP/TCP should be standardized.  That doesn't *require*
an engine author to implement it.  They could talk GTP over stdin/stdout and
use an adapter, like you say, or use whatever other library they want to
implement the full stack.  Implementation details are up to the engine
developer, but the full *interface* should be required so interoperability
can be achieved.

Again, back to HTML and HTTP:  HTML content authors don't necessarily need
to worry about the delivery mechanism (HTTP) since that is handled by a
separate component (web server usually), but HTTP certainly has to be
standardized for interoperability!

Trying to run a tournament where the only requirements were for programs to
speak stdin/stdout would be a nightmare.  Either
a) the tournament provider would have to have hardware & operating systems
in every conceivable combination to run
b) it would be up to the engine authors to make sure their programs ran on a
platform provided by the tournament providers
c) tournament providers would have to provide adapters that ran on every
conceivable platform.

The greatest common denominator of computer systems today is TCP.  That
should be leveraged.

-Yonik


>
> So, I would imagine a GTP tournament rules look like this:
>
>   * Tournament entrant programs will connect via GTP to our refery
>     (residing on a dedicated machine).
>
>   * Programs working under Windows, any flavour of UNIX-like system or
>     Mac OS X can simply speak GTP on stdin/stdout.  The organizers will
>     provide all neccesary proxy scripts to connect to the refery machine.
>
>   * If you use a system not listed above or bring your own computer and
>     are not willing to install our scripts on it, here is detailed
>     specification of our network: ...
>
> Engine authors don't need to bother about specific requirements _at all_!
>
> As a side effect, speaking on stdin/stdout gives you a ready-to-use (even
> if not extremely convenient) testing interface to your program.
>
> Paul
> _______________________________________________
> computer-go mailing list
> computer-go@xxxxxxxxxxxxxxxxx
> http://www.computer-go.org/mailman/listinfo/computer-go/

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/