1

我正在阅读 UCI 协议的规范,但不幸的是,我找不到对其某些命令或用例的适当解释。

1)我不明白这ucinewgame是什么意思。根据文档,它“开始了一个新游戏”,但是如果 UCI 引擎是无状态的,那么它到底意味着什么,因此是否有新游戏并不重要?

2) 与客户端一起玩更好,"position startpos moves ..."每次添加一个动作时发送到引擎(即从一开始就记录所有动作)还是"position <fenstring>"只反映当前位置?我知道第二种情况更紧凑,但是保留所有先前的动作有什么好处吗?

3)如果我想让几个玩家同时与引擎对战(每个玩家自己的游戏),我是否需要为他们每个人都有一个引擎实例?我知道当引擎忙于一个玩家时,它无法处理另一个玩家的移动,但除此之外,我认为这里没有问题,我只需要在引擎准备好时从一个选定的玩家发送位置,并且暂时阻止其他玩家?话说回来,ucinewgame这里有事吗?

4

1 回答 1

0

好的,通过源代码ucinewgame似乎只做一件事 - 它清除了训练数据。

于 2019-06-13T16:05:50.537 回答