人工智能简介(2)

树搜索:

在本章中,我们将学习一些进行树搜索的方法。 仅需从介绍中记住,树搜索是进行规划的机制之一。 计划意味着代理将在单词模型上模拟可能的操作,并选择一个将其效用最大化的操作。
人工智能简介(2)

在本章中,我们将学习以下树搜索技术:
1)深度优先搜索
2)广度优先搜索
3)统一代价搜索
4)贪心搜索
5)A星搜寻

如前所述,我们无法将整个树都保留在内存中,因此我们要做的是仅在需要时才扩展树,并跟踪尚未浏览的其他选项。
人工智能简介(2)

对于那些仍在内存中但尚未扩展的部分,我们称之为边缘:
人工智能简介(2)

马尔可夫决策过程:

马尔可夫决策过程(MDP)是用于帮助在随机环境中进行决策的框架。 我们的目标是找到一个策略,它是一张地图,为我们提供了环境中每个状态的所有最佳操作。MDP在某种程度上比简单的计划更强大,因为即使在过程中出现问题,您的策略也可以使您采取最佳行动。 找到最佳策略后,简单的计划就可以按照计划进行。

马尔可夫财产:
基本上,您不需要过去的状态来做出最佳决策,您只需要当前的状态即可。 这是因为您可以对当前状态进行编码,以便做出明智的决策。

为了简化我们的宇宙,想象一个网格世界,这里您的代理目标是到达绿色方块,并避开红色方块。 您可以采取的行动是:上、下、左、右。

人工智能简介(2)

问题在于我们不能生活在一个完美的确定性世界中,因此我们的行动可能会有不同的结果:
人工智能简介(2)

例如,当我们选择向上动作时,实际上有80%的概率上升,向左或向右的概率为10%。 同样,如果您选择向左或向右走,则您有80%的机会向左走,而10%的向上或向下走的机会。
在强化学习中,我们将通过反复试验来学习最佳策略。实验即是通过MDP来进行。

用动态编程解决MDP:
如前所述,MDP是建模决策问题的工具,但是我们如何解决它们呢? 为了求解MDP,我们需要动态编程,更具体地说是Bellman方程。但是首先,什么是动态编程? 基本上,这是一种将问题分解为更易于解决的较简单子问题的方法,它实际上只是一种分而治之的策略。
动态编程既是数学优化方法又是计算机编程方法,但是它们都遵循这种分而治之的机制。 但是在数学上,它通常被用作优化工具。 在编程时,通常使用递归来实现,并用于诸如在图形上找到最短路径和生成序列之类的问题。
另外,您可能会发现一个称为“记忆”的术语,计算机人员通过记忆已计算的子问题来提高分治算法的性能。