我想安排一些 friend 之间的人工智能竞赛。
让我们说井字游戏,
每个玩家编写一个获取棋盘和符号(X\O)的方法,并返回他想轮到他玩的地方。
现在我的问题是如何在另一个程序中“连接”两个 AI,这样我就可以测试所有用户,看看谁的代码最好。
我想到的唯一方法是与文本文件进行通信 - 所有 AI 都有在后台运行的线程并检查文本文件上的更改,引擎将游戏详细信息(转向、棋盘、分数、玩家)汇总到文本文件。
怎样才能做得更好?
还有一件小事,在 AI 比赛的每一轮都有一个时间框架是很常见的吗?
(因为AI程序会在不同的时间在不同的电脑上运行)
最佳答案
从您的问题中不清楚这是否必须在线执行。
如果您正在寻找“最好的井字游戏算法”,您可以简单地:
(这可能略有不同,具体取决于编程语言)
关于artificial-intelligence - 多个 AI 引擎之间的进程间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697583/