根据我在不同来源中阅读的内容,据说蒙特卡洛方法就像获取随机样本,然后测试不同的解决方案并选择最佳解决方案。我不完全理解这在实际 AI 中是如何工作的。你能给我简单的例子吗?效果如何?是否可以将其与其他专门用于非确定性游戏 AI 的现有算法并行使用?
问问题
1056 次
2 回答
1
蒙特卡洛方法是指创建随机数来模拟某些场景。它本身与人工智能无关。
相反,您正在寻找的可能是Evolutionary Computing
,Genetic Algorithms
或者Genetic Programming
正在使用生物进化的原理创建和进化不同的问题解决方案。这大量使用了随机数。
例如参见:http ://en.wikipedia.org/wiki/Genetic_algorithm
这些技术可以很好地用于并行计算,非常适合非确定性游戏 AI。
于 2011-12-12T16:02:26.737 回答
0
当您使用 Monte-Carlo (MC) 设计 AI 时,您会像使用每个优化函数一样进行操作:
只需随机生成解决方案并选择最佳解决方案即可。
例子:
你有一个塔防游戏,并不一定希望你的敌人总是以最好的方式穿过你的迷宫。只需为每个人生成一些路径,然后从 N 个样本中选择最好的一个。现在你的敌人会选择不同的、不错的、不太好的方法通过迷宫。
您也可以为此使用遗传算法,它是一种优化算法,如 MC。
进化计算或遗传编程是完全不同的东西,我不会用它们来制造人工智能,除非你知道你在做什么。
在游戏中制作好的 AI 通常不是使用“最佳”解决方案,而是一个有趣的解决方案。如果您使用 dijkstra 并且所有敌人都使用相同的路径,那可能很有效,但可能并不有趣。
于 2013-02-08T09:17:43.323 回答