我正在考虑为我在C#中创建的一个简单游戏开发一个AI播放器。我将创建一个机器人群体,并在几代人中进化它们。
我想知道的是,有没有适合这种测试/开发的框架。理想情况下,我希望有一些东西,我可以插入任何/某种类型的游戏,并说,好的,所以有一个X的人口运行它在Y代,并为我绘制结果。
我在思考如何创建一些东西来为我做这件事,并允许我稍后在不同的AI项目中重用这些东西,我所能想到的就是拥有一些核心代码和一些接口契约,游戏和AI将使用它们,以便服务器可以编写脚本。
你的想法是什么,有没有人有过这种事情的实际经验?
发布于 2009-09-05 15:32:05
它被称为遗传算法框架。任何口味都可以通过google获得。
发布于 2009-09-05 15:14:44
我对AI没有经验,但就我个人而言,我会从一个标准的单元测试框架开始。您可以根据需要使用助手方法扩展测试类(甚至扩展许多框架)。
翻到Osherove的The Art of Unit Testing中的附录,我会从NUnit开始,如果MbUnit或xUnit不能满足我的需要,我会尝试它。
我附和Ravadre上面的评论。
编辑:我重读了你最初的帖子,我不确定我的答案是否足够。虽然我非常提倡在开发期间进行单元测试(或者更好的是,TDD),但您似乎在寻找一种方法来判断哪些机器人最成功。这超越了单元测试和(有争议的)集成测试。我(未经测试)的猜想是,从头开始为你的代码编写一个工具并不是特别困难,它可以做你想做的事情-运行多次迭代/排列并绘制结果图表。测试框架将给你提供通过/失败的结果,但这并不是你想要的全部。如果你为你的机器人和游戏创建界面,你可以很容易地插入它们。
https://stackoverflow.com/questions/1383212
复制相似问题