Fuego学习笔记---协议(1)

本文介绍了围棋程序间的通信标准——GTP协议。详细解释了该协议的通信模型,并列举了几种典型的使用场景,如回归测试、人机对弈等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      今天终于下了个Fuego来玩玩。Fuego是很强大的一个围棋程序, 基于GTP(Go Text Protocol)协议。 GTP是一个灵活和易于实现的传输协议,主要是用于两个程序之间进围棋游戏,所以所有支持GTP的围棋程序都能对弈。下面简单介绍一下GTP协议:

      这里主要介绍GTP版本2

 

      1.1 Communication Model

      GTP协议中主要有两方面,一个是称为Controller,作用是像一个仲裁者或信息转传中介;另一个是Engine,相当于是围棋客户端程序。所以的交互是通过Controller转化为一条条的命令,Engine再对命令做出相应。

 

      1.2 几种不用的使用方式

           (1).Regression testing

           controller (regression script) ------> engine

           这种模式是controller产生一个状态,测试engine是如何走另一步的。

 

           (2).Human vs program.

           controller (GUI) ----->engine

           其实就是controller按照人的意思产生一条命令,再由engine响应。

 

           (3).Program vs program with arbiter.

           engine 1 ----> controller (arbiter) -----> engine 2

           两个engine之间通过controller通信。

 

           (4).Program vs program without arbiter.

           这种模式是其中一个engine集合了controller的功能。

 

           (5).Connection between go server and program.

           go server ----> controller (relay) -----> engine

           这种模式貌似是controller和一个什么协议都支持的Go Server进行通信,然后再翻译成GTP中的命令让engine作出响应。

 

       接下来要介绍这个协议的传送内容,留在下次再写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值