C# 人工智能测试框架

C# 人工智能测试框架,c#,testing,frameworks,artificial-intelligence,C#,Testing,Frameworks,Artificial Intelligence,我正在考虑为我在C#中创建的一个简单游戏开发一个AI播放器。我将创造一批机器人,并在几代人的时间里不断进化 我想知道的是,是否有任何框架适合这种测试/开发。理想情况下,我想要一些可以插入任何/某种类型游戏的东西,然后说,好吧,让一群X在Y代中运行它,并为我绘制结果图表 我在考虑如何创建一些东西来为我做到这一点,并允许我以后在不同的人工智能项目中重用这些东西,我所能想到的就是拥有一些游戏和人工智能将使用的核心代码和一些接口契约,以便服务器可以编写脚本 你的想法是什么,有没有人对这类事情有任何实际经

我正在考虑为我在C#中创建的一个简单游戏开发一个AI播放器。我将创造一批机器人,并在几代人的时间里不断进化

我想知道的是,是否有任何框架适合这种测试/开发。理想情况下,我想要一些可以插入任何/某种类型游戏的东西,然后说,好吧,让一群X在Y代中运行它,并为我绘制结果图表

我在考虑如何创建一些东西来为我做到这一点,并允许我以后在不同的人工智能项目中重用这些东西,我所能想到的就是拥有一些游戏和人工智能将使用的核心代码和一些接口契约,以便服务器可以编写脚本


你的想法是什么,有没有人对这类事情有任何实际经验?

我对人工智能没有经验,但就个人而言,我会从一个标准的单元测试框架开始。您可以根据需要使用助手方法扩展测试类(甚至扩展许多框架)

翻到Osherove的附录,我会从开始尝试,或者如果它不满足我的需要

我赞同拉瓦德的上述评论


编辑:我重读了你原来的帖子,我不确定我的答案是否足够。虽然我在开发过程中大力提倡单元测试(或者更好),但您似乎正在寻找一种方法来判断哪些机器人程序最成功。这超越了单元测试和(可以说)集成测试。我(未经测试)的怀疑是,从零开始为您的代码编写一个完全符合您需要的工具并不特别困难——运行多次迭代/排列并绘制结果图。测试框架会给你通过/失败的结果,但这并不是你想要的全部。如果你为你的机器人和游戏创建接口,你可以很容易地将它们插入。

它被称为遗传算法框架。任何风格都可以通过谷歌获得。

我认为你应该专门满足你的需求,因为现在,你希望从这样的框架中自动知道游戏规则是什么,如何操作机器人,如何判断你的机器人性能,也许你应该从一开始就开始,并有一些通用的界面,用于绘制图表,但是机器人本身(或一些游戏中的机制)应该是评判者,跟踪性能,附加数据(某种日志,机器人的想法和原因-非常适合调试奇怪的、意外的行为)我同意。。。我希望我能有一个核心应用程序来管理图表和轮次等,并且需要实现一个界面来控制游戏和AI机器人。想要一个AI项目,游戏项目和测试框架项目。嗨,威尔,我完全同意单元测试,这是必须的。我的想法不同之处在于(正如你所提到的)我想做很多测试,例如一个机器人可能玩1000个游戏,他们会绘制结果图(例如分数)。我会在机器人玩了1000场游戏后,使用某种健身测试对它们进行排名。然后进化它们,再做一轮游戏。嗨,伊玛,谢谢你的名字。你知道你会推荐什么吗?再次感谢。我在这方面没有足够的经验来建议任何具体的解决方案。无论如何,谢谢你。。。你给了我一个调查的方向。