Artificial intelligence 蒙特卡罗和马尔可夫链技术有什么区别?

Artificial intelligence 蒙特卡罗和马尔可夫链技术有什么区别?,artificial-intelligence,montecarlo,markov-chains,Artificial Intelligence,Montecarlo,Markov Chains,我想开发风险板游戏,其中将包括一个电脑玩家的人工智能。我读了两篇文章,我意识到我必须学习蒙特卡罗模拟和马尔可夫链技术。我认为我必须同时使用这些技术,但我想它们是计算过渡态概率的不同技术 那么,有人能解释一下它们之间的重要区别和优缺点吗 最后,如果你想实现一个AI for RISK游戏,你会选择哪种方式 你可以在风险棋盘游戏中找到关于战斗结果的简单确定概率,以及使用的蛮力算法。有一个树形图,其中指定了所有可能的状态。我应该在这棵树上使用蒙特卡罗还是马尔可夫链?马尔可夫链只是一组跃迁及其概率,假设没

我想开发风险板游戏,其中将包括一个电脑玩家的人工智能。我读了两篇文章,我意识到我必须学习蒙特卡罗模拟和马尔可夫链技术。我认为我必须同时使用这些技术,但我想它们是计算过渡态概率的不同技术

那么,有人能解释一下它们之间的重要区别和优缺点吗

最后,如果你想实现一个AI for RISK游戏,你会选择哪种方式


你可以在风险棋盘游戏中找到关于战斗结果的简单确定概率,以及使用的蛮力算法。有一个树形图,其中指定了所有可能的状态。我应该在这棵树上使用蒙特卡罗还是马尔可夫链?

马尔可夫链只是一组跃迁及其概率,假设没有对过去事件的记忆

蒙特卡罗模拟是一组概率上随机游动的重复抽样

你可以同时使用马尔可夫链来模拟你的概率,然后用蒙特卡罗模拟来检验预期的结果

对于风险,我不认为我会使用马尔可夫链,因为我看不到它的优势。对你可能的动作进行蒙特卡罗分析可以帮助你找到一个相当好的人工智能和一个合适的适应度函数


我知道这掩盖了很多,但我希望它能有所帮助。

好的,所以我浏览了这些文章,以了解他们在做什么。以下是我对您询问的术语的概述:

马尔可夫链只是系统如何从一个状态移动到另一个状态的模型。从零开始开发马尔可夫模型有时会很困难,但一旦你手头有了马尔可夫模型,它们就相对容易使用,也相对容易理解。基本的想法是,你的游戏将有一些与之相关的状态;作为游戏的一部分,你将从一个州移动到另一个州;关键的是,这种从一个州到另一个州的运动是基于概率发生的,而且你知道这些概率

一旦你有了这些信息,你就可以把它们都表示成一个图,其中节点是状态,状态之间的弧(用概率标记)是转换。您还可以表示为满足某些约束的矩阵,或其他几种更奇特的数据结构

这篇短文实际上都是关于马尔可夫链方法的,但是——这一点很重要——它只是将这种方法作为一种快速的手段,来估计如果陆军a攻击一个领土,而陆军B则保卫该领土,将会发生什么事。这是一个很好的技术使用,但它不是一个用于风险的人工智能,它只是人工智能中的一个模块,帮助找出攻击的可能结果

相比之下,蒙特卡罗技术是估计器。一旦你有了某种东西的模型,不管是马尔可夫模型还是其他模型,你经常会发现自己想要对它进行估计。(通常情况下,如果你眯着眼睛看得足够努力,你可以将其转化为某种形式的积分,而这种形式恰好很难处理。)蒙特卡罗技术只是随机抽样,并将结果汇总成对将要发生的事情的估计

在我看来,蒙特卡罗技术不是人工智能技术。它们是一种非常通用的技术,碰巧对人工智能有用,但它们本身不是人工智能。(关于马尔可夫模型,你也可以说同样的话,但这种说法比较弱,因为马尔可夫模型对人工智能中的规划非常有用,以至于人工智能的整个哲学都是围绕着这项技术构建的。不过,马尔可夫模型也在其他地方使用。)

这就是他们。您还问如果我必须实施风险AI,我会使用哪一个。这两个都不够。正如我所说,蒙特卡罗不是人工智能技术,它是一种通用的数学工具。马尔可夫模型虽然在理论上可以代表整个风险博弈,但最终会变得非常笨拙:你需要代表博弈的每一种状态,也就是说领土上的每一种可能的军队配置和手中的每一种可能的牌配置,等等。(我在这里掩饰了许多细节:这种方法还有很多其他困难。)

沃尔夫论文的核心既不是马尔可夫方法,也不是蒙特卡罗方法,而是他所描述的评估函数。这是人工智能问题的核心:如何找出什么行动是最好的。布拉特论文中的蒙特卡罗方法描述了一种计算行动预期结果的方法,但是这与找出什么样的行动才是最好的并不相同。此外,沃尔夫的论文中有一个低调的说法,即前瞻性在风险中很难实现,因为博弈树变得非常大,这正是他(我认为)如此关注评估函数的原因

因此,我真正的建议是:阅读搜索树方法,如minimax、alpha-beta修剪,尤其是expecti minimax。你可以在Russell和Norvig,甚至在Wikipedia早期找到这些方法的良好治疗方法。试着理解为什么这些技术在一般情况下有效,但对风险来说很麻烦。这将引导你进行一些讨论在线评估技术。然后回顾沃尔夫的论文,重点关注他的行动评估功能。最后,关注他试图自动学习好的评估功能的方式

这是一个很大的工作,但风险并不是一个容易的游戏来开发人工智能

(不过,如果你只是想知道给定攻击的预期结果,我建议你选择蒙特卡罗。它简洁明了,理解起来非常直观,而且很容易实现。唯一的困难——而且不是什么大问题-