Re: [Computer-go] gtp question for topological go program

2015-06-09 Thread Hellwig Geisse
Hi Ray,

GTP is a strictly asymmetric protocol, not intended to
be used directly between players. The specification draft
http://www.lysator.liu.se/~gunnar/gtp/gtp2-spec-draft2/gtp2-spec.html
expresses this clearly (1.3 Communication Model):
The protocol is asymmetric and involves two parties, which we call
controller and engine. The controller is typically some kind of arbiter
or relay and the engine is typically a go playing program. All
communication is initiated by the controller in form of commands, to
which the engine responds.

So if you want to let two instances of Go players play each other,
you need some controller in between, possibly split in two halves,
one half on either side of a network connection, with a separate
protocol for communication between the two controllers. This is the
usual situation when two programs are playing on a (remote) Go server.

Hellwig

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] gtp question for topological go program

2015-06-09 Thread Nick Wedd
strictly asymmetric protocol, not intended to be used directly between
players does not imply All communication is initiated by the controller.
It would be reasonable to allow a player to ask the server how much time
do I have left?, and how much time does my opponent have left?. As
far as I know, GTP does not support this.

Nick

On 9 June 2015 at 13:03, Hellwig Geisse hellwig.gei...@mni.thm.de wrote:

 Hi Ray,

 GTP is a strictly asymmetric protocol, not intended to
 be used directly between players. The specification draft
 http://www.lysator.liu.se/~gunnar/gtp/gtp2-spec-draft2/gtp2-spec.html
 expresses this clearly (1.3 Communication Model):
 The protocol is asymmetric and involves two parties, which we call
 controller and engine. The controller is typically some kind of arbiter
 or relay and the engine is typically a go playing program. All
 communication is initiated by the controller in form of commands, to
 which the engine responds.

 So if you want to let two instances of Go players play each other,
 you need some controller in between, possibly split in two halves,
 one half on either side of a network connection, with a separate
 protocol for communication between the two controllers. This is the
 usual situation when two programs are playing on a (remote) Go server.

 Hellwig

 ___
 Computer-go mailing list
 Computer-go@computer-go.org
 http://computer-go.org/mailman/listinfo/computer-go




-- 
Nick Wedd  mapr...@gmail.com
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] gtp question for topological go program

2015-06-08 Thread Xavier Combelle
It's not clear why you would want that your engine have control on
communication. Can you explain your use case ?

2015-06-08 7:28 GMT+02:00 Ray Tayek rta...@ca.rr.com:

 hi, still implementing gtp for my topological go program. it sorta works
 with gogui.

 looking at the gnugo implementation, it seems all passive in that it
 simply reacts to commands.

 so it looks like one side (or some other controller) has to be the passive
 side and react to the commands (like gnugo), and one side need to be active
 to do the setup and issue genmove commands (like gogui).

 currently my program waits for the player to move before sending it's
 repsonse (the move) back. looks like gogui uses something called:
 runLengthyCommand() for this. and some complicated code.

 is there any documentation on how to be the active side of gtp?

 is it possible for both sides to issue commands?

 any pointers will be appreciated.

 thanks

 --
 Honesty is a very expensive gift. So, don't expect it from cheap people -
 Warren Buffett
 http://tayek.com/

 ___
 Computer-go mailing list
 Computer-go@computer-go.org
 http://computer-go.org/mailman/listinfo/computer-go
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] gtp question for topological go program

2015-06-08 Thread Ray Tayek

On 6/8/2015 12:58 PM, Xavier Combelle wrote:
It's not clear why you would want that your engine have control on 
communication. Can you explain your use case ?


our main use case is: two humans at different locations with my program 
want to play each other over a socket. seems like one has to be active.


the passive client has a thread that reads a socket and executes 
commands. if this program were to send a command through the socket, 
then the other side's response to the command would be read as a command.


thanks

2015-06-08 7:28 GMT+02:00 Ray Tayek rta...@ca.rr.com 
mailto:rta...@ca.rr.com:


hi, still implementing gtp for my topological go program. it sorta
works with gogui.

looking at the gnugo implementation, it seems all passive in that
it simply reacts to commands.

so it looks like one side (or some other controller) has to be the
passive side and react to the commands (like gnugo), and one side
need to be active to do the setup and issue genmove commands (like
gogui).

currently my program waits for the player to move before sending
it's repsonse (the move) back. looks like gogui uses something
called: runLengthyCommand() for this. and some complicated code.

is there any documentation on how to be the active side of gtp?

is it possible for both sides to issue commands?
...



___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go



--
Honesty is a very expensive gift. So, don't expect it from cheap people - 
Warren Buffett
http://tayek.com/

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] gtp question for topological go program

2015-06-08 Thread Ray Tayek

On 6/8/2015 8:52 PM, Xavier Combelle wrote:
I think for this purpose stick with gtp protocol would be an handicap 
more than a bless
it looks that way, but i want to have the program work against other 
engines when it is playing normal go.


I think a simple protocol like this (loosely adapted from gtp would 
fit) ...  # Rules negotiation ...
i could do this (i think). but i would need 2 sockets since on is 
blocked on reading gtp commands.
Actually the gtp protocol could be used with one player as the master 
and the other as an engine but it would let you less flexibility and


would not illustrate well that both player are not in a strictly slave 
master relation but more a pair to pair relation


During the negotiations phase, both player could simultaneously send 
the same command in this case both would agree and it's not a problem

i may try something like this later.

thanks


2015-06-09 4:25 GMT+02:00 Ray Tayek rta...@ca.rr.com 
mailto:rta...@ca.rr.com:


On 6/8/2015 12:58 PM, Xavier Combelle wrote:

It's not clear why you would want that your engine have control
on communication. Can you explain your use case ?


our main use case is: two humans at different locations with my
program want to play each other over a socket. seems like one has
to be active.

the passive client has a thread that reads a socket and executes
commands. if this program were to send a command through the
socket, then the other side's response to the command would be
read as a command.

thanks


2015-06-08 7:28 GMT+02:00 Ray Tayek rta...@ca.rr.com
mailto:rta...@ca.rr.com:

hi, still implementing gtp for my topological go program. it
sorta works with gogui.

looking at the gnugo implementation, it seems all passive in
that it simply reacts to commands.

so it looks like one side (or some other controller) has to
be the passive side and react to the commands (like gnugo),
and one side need to be active to do the setup and issue
genmove commands (like gogui).

currently my program waits for the player to move before
sending it's repsonse (the move) back. looks like gogui uses
something called: runLengthyCommand() for this. and some
complicated code.

is there any documentation on how to be the active side of gtp?

is it possible for both sides to issue commands?
  ...



___
Computer-go mailing list
Computer-go@computer-go.org  mailto:Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go



-- 
Honesty is a very expensive gift. So, don't expect it from cheap people - Warren Buffett

http://tayek.com/


___
Computer-go mailing list
Computer-go@computer-go.org mailto:Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go




___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go



--
Honesty is a very expensive gift. So, don't expect it from cheap people - 
Warren Buffett
http://tayek.com/

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

[Computer-go] gtp question for topological go program

2015-06-07 Thread Ray Tayek
hi, still implementing gtp for my topological go program. it sorta works 
with gogui.


looking at the gnugo implementation, it seems all passive in that it 
simply reacts to commands.


so it looks like one side (or some other controller) has to be the 
passive side and react to the commands (like gnugo), and one side need 
to be active to do the setup and issue genmove commands (like gogui).


currently my program waits for the player to move before sending it's 
repsonse (the move) back. looks like gogui uses something called: 
runLengthyCommand() for this. and some complicated code.


is there any documentation on how to be the active side of gtp?

is it possible for both sides to issue commands?

any pointers will be appreciated.

thanks

--
Honesty is a very expensive gift. So, don't expect it from cheap people - 
Warren Buffett
http://tayek.com/

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go