Artificial intelligence 使棋盘游戏AI相互竞争的技术?

Artificial intelligence 使棋盘游戏AI相互竞争的技术?,artificial-intelligence,protocols,game-ai,Artificial Intelligence,Protocols,Game Ai,假设我有多个用于特定棋盘游戏的AI程序,所有这些程序都用不同的语言实现,并且希望它们在没有人工中介的情况下相互竞争。我该怎么办 我想这是人工智能研究人员、爱好者、游戏比赛等常见的问题 有共同的架构吗?也许AIs作为单独的进程运行,并通过套接字与中央“板”进程通信?我认为没有通用的协议。作者Michel Quenault和Tristan Cazenave非常有趣,因为他们描述了设计通用解决方案时遇到的困难,并且有很多参考文献,但不是 完全实施 著名的 所以你必须依赖于特别的协议 对于国际象棋

假设我有多个用于特定棋盘游戏的AI程序,所有这些程序都用不同的语言实现,并且希望它们在没有人工中介的情况下相互竞争。我该怎么办

我想这是人工智能研究人员、爱好者、游戏比赛等常见的问题


有共同的架构吗?也许AIs作为单独的进程运行,并通过套接字与中央“板”进程通信?

我认为没有通用的协议。作者Michel Quenault和Tristan Cazenave非常有趣,因为他们描述了设计通用解决方案时遇到的困难,并且有很多参考文献,但不是

  • 完全实施
  • 著名的
所以你必须依赖于特别的协议


对于国际象棋有(aka/Winboard协议)和(UCI)

随着时间的推移,Xboard协议已经发展壮大,现在支持标准国际象棋游戏以及各种国际象棋变体,包括世界主要的国际象棋形式(象棋、Shogi、Makruk)以及西方变体

两者都可以免费使用,无需支付许可费


对于Go有(FTP)



对于跳棋/绘图有和

我认为没有共同的协议。作者Michel Quenault和Tristan Cazenave非常有趣,因为他们描述了设计通用解决方案时遇到的困难,并且有很多参考文献,但不是

  • 完全实施
  • 著名的
所以你必须依赖于特别的协议


对于国际象棋有(aka/Winboard协议)和(UCI)

随着时间的推移,Xboard协议已经发展壮大,现在支持标准国际象棋游戏以及各种国际象棋变体,包括世界主要的国际象棋形式(象棋、Shogi、Makruk)以及西方变体

两者都可以免费使用,无需支付许可费


对于Go有(FTP)



对于跳棋/绘图有和插座是可能的,但我确实使用管道。电路板程序通过AI标准输入发送当前状态(以字符串形式),AI通过标准输出应答动作。棋盘程序更新游戏状态,此过程在玩家之间交替进行。我让学生以这种方式使用Java和C进行竞争。如果你想知道如何在C语言中实现这一点,这里是一个例子。这是一个用C语言和Java编写的播放器。

可以使用套接字,但我确实使用管道。电路板程序通过AI标准输入发送当前状态(以字符串形式),AI通过标准输出应答动作。棋盘程序更新游戏状态,此过程在玩家之间交替进行。我让学生以这种方式使用Java和C进行竞争。如果你想知道如何在C中实现这一点,这里有一个关于棋盘的例子。这是一个用C和Java编写的示例播放器