我想知道是否存在一个网站,人们可以上传他们的 AI,以便在不同的棋盘游戏中相互对抗,例如:象棋、五子棋等。
该网站将接受程序源代码(用一些通用语言编写),编译它并运行程序相互对抗。所有程序都必须使用一些通用的通信技术。
我的动机是,我在 Stack Overflow 中看到了许多不同的五子棋程序,并且我想测试不同的算法。但是每个程序都使用不同的语言和接口,我无法让它们相互对抗。
如果有一个通用的专用服务器,可以让 AI 相互对战并保持全局记分牌,那就太有趣了 🙂
这样的服务器存在吗?
我能找到的最好的例子是 http://wawrzak.com/megagomoku/,但这仍然是我必须下载并在自己的计算机上运行的东西——我更喜欢一个任何人都可以贡献的现有网站。
编辑:另一个有趣的例子是 http://gomocup.wz.cz/gomoku/download.php 。这是一项每年举办的五子棋比赛,具有通用的通信接口和许多现有的五子棋程序。但我希望它能更频繁地运行,而不是一年一次 🙂 立即上传您的程序并查看结果的反馈非常好。
回答:
如果能有一个具有大致相同接口的通用服务器(除了必要的特定于游戏的差异之外)就好了。上传您的源代码并让服务器编译并运行它具有完全消除作弊行为的优点(例如输入人为的移动,就好像是机器人想出来的一样)。但由于 CPU 要求很高,这仅适用于非常低时限的游戏——每个游戏引擎都会在大部分分配的时间内占用 CPU。时间限制越低,每个 CPU 核心每天可以运行的游戏越多。
不过,我仍然喜欢这个想法。即使时间限制很低,也会很有趣。嗯,也许我会开始这个项目…