人工智能CS188考试复习

Q: 和AI相关的学科包括哪些?

 Q:数学是AI的基础体现在哪三个方面?

 Q: 大脑的认知过程包括哪几个方面?

A1:和AI相关的学科包括但不限于以下几个方面:

1. 计算机科学:包括算法、数据结构、编程语言等。

2. 数学:包括概率论、统计学、线性代数、微积分、优化理论等。

3. 心理学:包括认知心理学、发展心理学、社会心理学等。

4. 神经科学:包括神经生物学、神经影像学、计算神经科学等。

5. 语言学:包括自然语言处理、语音识别、机器翻译等。

6. 经济学:包括机器学习在经济学中的应用、人工智能对经济发展的影响等。

7. 物理学:包括量子计算、量子通信等。

8. 生物学:包括计算生物学、生物信息学等。

A2:数学是AI的基础,体现在以下三个方面:

1. 概率论和统计学:AI技术中大量使用了概率论和统计学方法,如贝叶斯网络、高斯过程等。这些方法可以帮助AI系统进行预测、分类、聚类等任务。

2. 线性代数:线性代数是深度学习中必不可少的数学工具,用于描述神经网络中的矩阵运算和向量空间。例如,卷积神经网络(CNN)中的卷积操作和池化操作都可以用矩阵运算来表示。

3. 优化理论:AI系统中需要解决的许多问题都可以转化为优化问题。因此,优化理论是AI技术中必不可少的数学工具。例如,神经网络的训练过程就是一个优化问题,目标是最小化损失函数。

A3:大脑的认知过程包括以下几个方面:

1. 感知:感知是指大脑对外界刺激进行处理和解释的过程。这个过程包括视觉、听觉、触觉、味觉和嗅觉等

2. 认知:认知是指大脑对信息进行理解、加工和组织的过程。这个过程包括注意、记忆、思维、语言等。

3. 情感:情感是指大脑对外界刺激产生的情绪和情感反应。这个过程包括愉悦、悲伤、愤怒等。

4. 运动控制:运动控制是指大脑对身体运动进行控制和协调的过程。这个过程包括平衡、协调、姿势等。

Q1:Weak AI/Strong AI/Super AI的差别?

 Q2:近年来著名的论文中提及哪些技术?

 Q3:当前市场的著名AI产品有哪些?

A1:Weak AI(弱人工智能)是指在特定任务或领域上能够表现出与人类相似的智能水平,但其智能受限于特定任务范围。Weak AI 无法实现自我意识、情感和全面的人类智能。

Strong AI(强人工智能)是指具有与人类相当或超过人类智能水平的人工智能系统。它能够理解、学习和解决各种复杂问题,具备自主思考和创造能力,拥有类似人类的意识和情感。

Super AI(超级人工智能)是指远远超越人类智能水平的人工智能系统。它具备超过人类的智能和能力,能够解决当前人类难以解决的问题,并在各个领域展现出超乎想象的创造力和智慧。

A2:近年来著名的论文中提及了许多技术,以下是其中一些重要的技术:

1. 深度学习(Deep Learning):通过构建深层神经网络模型,实现对大规模数据的高效处理和学习,广泛应用于图像识别、语音识别等领域。

2. 自然语言处理(Natural Language Processing, NLP):利用机器学习和深度学习技术,使计算机能够理解、处理和生成自然语言,包括机器翻译、问答系统等。

3. 强化学习(Reinforcement Learning):通过智能体与环境的交互学习,使其能够通过试错和奖惩机制来优化决策和行为,广泛应用于游戏、机器人控制等领域。

4. 计算机视觉(Computer Vision):利用计算机对图像和视频进行分析和理解,实现图像识别、目标检测、人脸识别等功能,其中深度学习在该领域有重要应用。

5. 自动驾驶(Autonomous Driving):结合计算机视觉、感知、决策和控制等技术,使车辆能够实现自主导航和驾驶,已经成为一个热门的研究和发展领域。

A3:当前市场上有许多著名的AI产品,以下是其中一些:

1. 语音助手:如苹果的Siri、亚马逊的Alexa、谷歌的Google Assistant等,它们能够理解和执行用户的语音指令,提供各种服务和信息。

2. 智能家居产品:如智能音箱、智能摄像头、智能灯具等,通过AI技术实现语音控制、人脸识别、环境感知等功能,提升家居生活的智能化程度。

3. 自动驾驶汽车:包括特斯拉、Waymo等公司开发的自动驾驶汽车,利用AI技术实现车辆感知、决策和控制,实现自主驾驶功能。

4. 人脸识别系统:如商场、机场、银行等公共场所广泛应用的人脸识别系统,通过AI算法对人脸进行识别和比对,用于安全监控、身份验证等用途。

5. 在线广告推荐系统:如谷歌的广告推荐系统、阿里巴巴的推荐算法等,通过分析用户的兴趣和行为数据,为用户提供个性化的广告和推荐内容。

Q、AI学科的发展经历了哪几个主要阶段

6、AI的发展为什么会出现两次冰冻期(winter)?又是从哪里找到的突破?

人工智能研究遇到困难,如机器翻译,中断了大部分机器翻译项目的资助;提出了“知识工程”概念,推动了知识为中心的研究,进入知识工程时代,知识表示与推理取得了突破;市场崩溃,取消了新的AI经费;深蓝战胜了卫冕国际象棋冠军,标志着AI在博弈中的成功应用

7、当前的机器,例如超越人的围棋水平的AlphaGo,是否真的具有智能?其能力的本质是什么?

人工智能的本质人工智能是相对于人的智能而言的。正是由于意识是一种特殊的物质运动形式,所以根据控制论理论,运用功能模拟的方法,制造电脑模拟人脑的部分功能,把人的部分智能活动机械化,叫人工智能。人工智能的本质是对人思维的信息过程的模拟,是人的智能的物化。尽管人工智能可以模拟人脑的某些活动,甚至在某些方面超过人脑的功能,但人工智能不会成为人类智能而取代人的意识。

人工智能是无意识的机械的、物理的过程。

AI未来主要研究方向: 智能芯片、智能传感器、大数据、云计算、边缘计算、机器学习、机器 视觉、自然语言处理、语音识别等。

AI未来主要应用领域: AI+5G、AI+工业、AI+医疗、AI+交通、AI+金融、AI+教育、AI+商业、AI+ 城市治理等。

搜索问题求解智能体的环境特性

• 静态的

• 完成问题形式化和求解的时候不再考虑环境可能的变化

• 确定性的

• 问题的解是行动的单一序列

• 在问题求解过程中感知信息不起作用

• 可观察的

智能体设计的三步骤: ✓ 形式化 ✓ 搜索 ✓ 执行

搜索问题:状态、后继函数、始态和目标函数。是从起始状态转移到目标状态的一系列动作。

无信息搜索(Uninformed Search)是指在解决问题时,搜索算法没有关于问题领域的先验信息或启发式信息的情况下进行的搜索。它基于一种盲目的策略,通过系统地探索问题空间中的状态和操作,直到找到目标状态或确定无解。盲目搜索可能带来组合爆炸

无信息搜索算法通常用于在问题空间中进行广度优先搜索(BFS)、深度优先搜索(DFS)、迭代深化搜索(IDS)等。这些算法不依赖于问题的特定性质,而是采用一种通用的搜索策略。无信息搜索的特点是它们不利用问题的特定结构或启发式信息来指导搜索过程。因此,它们可能会对整个问题空间进行完全的搜索,这在问题空间较大或搜索树较深的情况下可能会导致高昂的计算成本。尽管无信息搜索算法在某些情况下可能效率较低,但它们具有普适性和可靠性,适用于各种类型的问题。

状态空间图:搜索问题的数学表示 • 节点是(抽象的)世界配置 • 弧表示后续(动作结果) • 目标函数是一组目标节点(可能只有一个)

搜索树: • Plan及其结果的“假设”树 • 启动状态为根节点 • 子项对应于后继者 • 节点显示状态,但与实现这些状态的PLANS相对应

统一搜索策略

• 基本思想:

• fringe :待访问的结点!

• 从fringe中取得一个点,进行访问

• 对所访问的fringe中的结点,进行扩展,扩展出来的结点,放到fringe中!

• fringe的可能数据结构(根据问题不同而不同): • 列表、栈、有优先级的栈等

宽度优先fringe 是FIFO队列, 即, 新后继接在最后。扩展最浅的未扩展结点

深度优先fringe 是LIFO队列(实际是栈), 即, 后继放在最前面。扩展最深的未扩展结点

• 搜索问题分类(• (1)无信息搜索 • (2)启发式搜索)、建模;

• 无信息搜索:BFS/DFS/IDS

• 统一的图搜索策略

• 启发式搜索:GBFS/A*

• 评价函数、启发函数

• 设计启发函数的方法

启发式信息 :用来加速搜索过程的有关问题领域的 特征信息

最佳优先搜索Best-first search

• 想法: 对每个结点使用评价函数 f(n)

• 估算“可达性desirability" →扩展最可达(most desirable)的未扩展结点

• 实现: 按可达性的降序(即最可达在前)来排列未扩展结点fringe

• 特例:

• 贪婪最优搜索greedy best-first search

• A* 搜索

贪婪最佳优先搜索(Greedy best-first search):评价函数f(n)=启发函数h(n)

A* 搜索• 思想: 避免扩展已经昂贵的路径 • 评价函数 f(n) = g(n) + h(n)

• g(n) = 起始结点到达n的费用

• h(n) = 从n到目标的估算费用(直线距离)

• f(n) = 通过n到达目标的总估算费用

A*算法保持最优的条件:启发函数具有可容性(admissible)和一致性

可容性:

⚫将直线距离作为启发函数ℎ(𝑛),则启发函数一定是可容的,因为其不会高 估开销 代价。 ⚫𝑔(𝑛) 是从起始节点到节点𝑛的实际代价开销,且𝑓(𝑛) = 𝑔(𝑛) + ℎ(𝑛),因此 𝑓(𝑛)不 会高估经过节点𝑛路径的实际开销。

一致性:

对于节点 n 和通过任一行动 a 生成的每个 n 的后继节点 n’,从节点 n 到达目标的代价都不大于从 n 到 n’ 的单步代价与从 n’ 到达目标的代价之和,公式为:

h(n)≤c(n,a,n ′)+ h(n')

A*算法的应用 • 路径分析 Resource planning problems • 机器人运动规划Robot motion planning • 语言分析Language analysis • 机器翻译Machine translation • 语音识别Speech recognition

• 1、树表示和图表示的区别是什么?

区别在于我们如何遍历搜索空间(表示为图形)来搜索我们的目标状态,以及我们是否使用了额外的列表(称为封闭列表)。

所以,基本的区别是

在图搜索的情况下,我们使用一个称为封闭列表(也称为探索集)的列表来跟踪已经访问和扩展的节点,以便它们不再被访问和扩展。

在树搜索的情况下,我们不保留这个封闭列表。因此,可以多次(甚至无限次)访问同一节点,这意味着生成的树(通过树搜索)可能包含多次相同的节点。

图搜索的优点显然是,如果我们完成了一个节点的搜索,我们将永远不会再搜索它。另一方面,树搜索可以多次访问同一个节点。

图搜索的缺点是它比树搜索使用更多的内存(我们可能有也可能没有)。这很重要,因为在最坏的情况下,图搜索实际上具有指数内存需求,如果没有真正好的启发式搜索或非常简单的问题,它就变得不切实际。

• 2、BFS和DFS的优缺点是什么?

BFS的优点是可以找到最短路径,因为它会搜索最邻近的节点,

然后逐层向外扩展。同时,BFS不会陷入死循环,因为它只会扩

展未访问的结点。

• BFS的缺点是空间复杂度比较高,因为需要存储所有已访问过的

节点。可能找到多条路径。

• DFS的优点是可以快速找到一条路径,同时,空间复杂度较低;

• DFS的缺点是可能陷入死循环;且找到的解只是第一条路径,不

一定是最短路径。

• 3、统一的图搜索算法包含有哪些部件?

  • 节点表示:图搜索算法需要对问题空间中的状态进行表示。节点表示可以包括问题的当前状态、路径成本、父节点等信息。
  • 启发式函数:启发式函数用于估计从当前节点到目标节点的代价。它提供了一种启发性的指导,帮助搜索算法选择最有可能导向目标的节点进行扩展。
  • 优先级队列:优先级队列用于存储待扩展的节点,并根据节点的优先级进行排序。搜索算法会从队列中选择优先级最高的节点进行扩展。
  • 扩展操作:扩展操作是指将一个节点展开为多个后继节点的过程。在图搜索算法中,通过扩展操作来生成新的节点,并将其加入到优先级队列中。
  • 终止条件:终止条件定义了搜索算法何时停止。通常情况下,终止条件可以是找到目标节点、达到最大搜索深度、超过时间限制等。

• 4、学习统一的图搜索算法有何作用?

  • 解决各种问题:统一的图搜索算法提供了一种通用的解决问题的框架,适用于各种类型的问题。通过学习统一的图搜索算法,可以掌握一种灵活而强大的问题求解方法。
  • 理解搜索算法的原理:学习统一的图搜索算法可以帮助理解搜索算法的原理和工作机制。这对于进一步学习和应用其他高级的搜索算法(如A*算法、迭代深化搜索等)非常有帮助。
  • 提高问题求解能力:通过学习统一的图搜索算法,可以培养问题分析和求解的能力。这种能力不仅在计算机科学领域有用,还可以应用于其他领域,如人工智能、运筹学等。
  • 拓展思维方式:学习统一的图搜索算法可以培养一种系统性的思考方式,即从整体上把握问题,并通过搜索和探索来逐步找到解决方案。这种思维方式在解决复杂问题时非常重要。

• 1、定义启发函数的方法

• 1)松弛问题:降低行动限制

• 2)从数个可采纳的启发函数中构造新的启发函数

• 3)归纳学习方法

• 2、如果已存在多个启发函数

• 选择占优势的

• 如果对所有n都有 h2 (n) ≥ h1 (n) (都可用admissible)

• 则称 h2 比 h1 占优势

• h2 对搜索更有用

• 1、启发式搜索的基本思想是什么? • 2、在统一图搜索算法的基础上,如何实现启发式搜索? • 3、如何判断启发函数的优劣? • 4、如何设计新的启发函数? • 5、现有启发搜索算法(A*)有什么问题?

定义启发函数的方法 • 1)松弛问题:降低行动限制 • 2)从数个可采纳的启发函数中构造新的启发函数 • 3)归纳学习方法

1. 启发式搜索是一种通过使用启发式函数(也称为估价函数)来指导搜索过程的算法。启发式函数可用来估计每个状态距离目标状态的代价,从而帮助搜索算法找到最优路径。启发式搜索的基本思想是在搜索过程中尽可能快地接近目标状态,以减少搜索的时间和空间消耗。

2. 在统一图搜索算法的基础上,可以通过以下步骤实现启发式搜索:

  - 编写启发式函数,用于估计当前状态到达目标状态的代价;

  - 将启发式函数与搜索策略相结合,根据启发式函数的值确定节点的搜索顺序;

  - 对于每个节点,根据操作符和状态转移函数生成后继节点,并计算它们的启发式函数值;

  - 对于未访问过的后继节点,将其加入搜索队列,并记录其父节点和代价;

  - 对于已访问过的后继节点,更新其代价和父节点信息,如果新的代价更小,则将其加入搜索队列。

3. 启发函数的优劣可以通过以下几个方面进行判断:

  - **可行性和单调性。** 启发式函数必须保证对所有状态的估价都是合理的,即不能低估或高估真实代价,并且不能随着搜索深度的增加出现更大误差。

  - **准确性和一致性。** 启发式函数应该尽可能准确地估计当前状态到目标状态的真实代价,而且应该保证对于任意两个相邻状态,估计代价的差值不会超过它们的真实代价差值。

  - **计算复杂度。** 启发式函数应该具有较低的计算复杂度,否则可能会导致搜索算法效率低下。

4. 设计新的启发函数通常需要根据具体问题的特点进行分析和实践。有一些常见的启发函数设计策略,例如:

  - **曼哈顿距离(Manhattan Distance)**:用来在网格图中估计两点之间的最短距离,可以通过横向和纵向移动的步数之和来计算。

  - **欧几里得距离(Euclidean Distance)**:用来在连续空间中估计两点之间的距离,可以通过勾股定理来计算。

  - **最小生成树估价(Minimum Spanning Tree Heuristic)**:基于最小生成树的思想,将未访问的状态看作图中的节点,状态间的代价看作边权,然后计算生成树到目标状态的距离作为启发函数值。

  - **局部启发式函数(Local Heuristic Function)**:计算当前状态到与其最近的若干个目标状态的估价,用其中的最小值作为启发函数值。

5. 现有启发搜索算法如A*在解决一些问题时可能会存在以下问题:

  - **可扩展性问题。** A*算法在图中扩展节点数量非常大时容易产生内存和计算速度的问题。

  - **启发式估价函数的选取问题。** 由于A*算法使用一个启发式估价函数,这个函数如果不能够正确地评估每一个状态的代价,就会导致算法求解出来的结果不是最优的。

  - **平凡路径问题。** 由于A*算法总是优先扩展距离目标状态更近的节点,这种策略可能导致算法陷入平凡路径(即一条不断在起点和终点之间往返的路径)中。

局部搜索Local Search是一种优化算法,用于在大规模的搜索空间中寻找最优或近似最优解。与传统的完全搜索算法不同,局部搜索算法通过不断迭代地改进当前解来逐步接近最优解。:优点:内存占用少;在无限大空间内能找到解

爬山搜索算法

初始解依赖性:爬山法对初始解非常敏感,不同的初始解可能会导致不同的最终结果。如果初始解离全局最优解较远,爬山法可能会陷入局部最优解。

无法回溯:爬山法是一种贪心算法,它只考虑当前最好的解进行改进,没有回溯的能力。这意味着一旦选择了某个解进行改进,就无法撤销该选择,可能错过更好的解。

变形:随机爬山法在向上移动的过程中随机选择;选择的概率随向上移动的斜度而变化。与最陡爬坡相比,收敛 速度通常较慢。)首选爬山法它通过随机生成后继点来实现随机爬山法,直到生成一个比当前状态好的点。当某个状态有许 多后继时,用此策略为好。)随机重启爬山法,局部束(beam)搜索

模拟退火是一种给定函数逼近全局最优解的概率方法。

遗传算法:是随机束搜索的一个变型,其中后继节点是由两个父辈状态的组合而不是修改单一状态生成 的。其处理过程是有性繁殖,而不是无性繁殖。算法开始时具有一组k个随机生成的状态,称其为种群。算法开始时具有一组k个随机生成的状态,称其为种群。遗传、突变、选择、以及杂交。

遗传算法应用手势识别、道路网综合模型

蚁群优化:它是一种解决计算问题的概率技术,可以用于发现一个图上的最佳路径。

TSP问题
蚁群优化应用:进度安排、车辆路径、分派、物理设备量尺、图像处理边缘检测、分类、数据挖掘

粒子群优化 Particle Swarm Optimization

规则:1. 避免相撞 2. 保持与相邻鸟相同速度 3. 靠近相邻鸟

群智能算法的特点:• SI的优点: (1)灵活性:种群能够快速适应变化的环境; (2)鲁棒性:不受个体影响; (3)自组织性:较少的监督; (4)易于并行

蚁群算法是局部搜索算法?

蚁群算法可以被看作是一种局部搜索算法,但它也具有全局搜索的能力。蚁群算法通过模拟蚂蚁在寻找食物过程中的行为和信息交流,以一种启发式的方式搜索解空间。

在蚁群算法中,蚂蚁通过释放信息素来标记路径,并且根据信息素浓度和启发函数的指导选择下一步的移动方向。这种信息传递和反馈机制使得蚁群算法能够通过局部信息的积累和传播,逐渐收敛到较好的解。

虽然蚁群算法在搜索过程中主要关注局部信息,但它也具有一定的全局搜索能力。蚂蚁之间的信息传递和信息素的更新过程可以帮助算法跳出局部最优解,探索新的解空间。因此,蚁群算法在一定程度上兼具局部搜索和全局搜索的特性。

粒子群算法的局限:

算法局部搜索能力较差,搜索精度不够高;算法不能绝对保证搜索到全局最优解;算法搜索性能对参数具有一定的依赖性;PSO算法是一种概率算法,算法理论不完善,缺乏独特性,理论成果偏少

  1. 受参数设置影响:粒子群算法的性能很大程度上依赖于参数的选择,如粒子的速度权重、学习因子等。不同问题可能需要不同的参数设置,而找到合适的参数并不是一件简单的事情。
  2. 对多峰问题的处理较差:粒子群算法在处理多峰问题时容易陷入局部最优解,难以跳出局部最优解进行全局搜索。这是由于粒子群算法的信息传递机制主要基于当前最优解,导致缺乏全局探索能力。
  3. 不适用于离散优化问题:粒子群算法通常适用于连续优化问题,对于离散优化问题的处理相对困难。在离散问题中,粒子的位置和速度需要进行合适的离散化处理,同时需要设计合适的适应度函数。
  4. 对高维问题的挑战:粒子群算法在高维问题中面临维度灾难的挑战。随着问题维度的增加,粒子群算法的搜索空间呈指数级增长,导致搜索效率下降。

PSO粒子群与GA遗传对比

 • 相同点

 种群随机初始化 适应度函数与最优解的映射

 • 不同点

优化推进机制不同 PSO有记忆功能 信息共享机制不同

对抗搜索(Adversarial Search)也称为博弈搜索(Game Search)

在一个竞争的环境中,智能体(agents)之间通过竞争实现相反的利益,一方最大化这个利益,另外一方最小化这个利益

Minimax

优点:

算法是一种简单有效的对抗搜索手段

在对手也“尽力而为”前提下,算法可 返回最优结果

缺点:

如果搜索树极大,则无法在有效时间内 返回结果

 改善:

使用alpha-beta pruning算法来减少搜索节点

对节点进行采样、而非逐一搜索 (i.e., MCTS)

Q1MINiMAX算法可以用于解决零和博弈问题。零和博弈是指参与者的利益完全相反,一方的收益就是另一方的损失。MINiMAX算法适用于两个参与者之间的对抗性博弈,例如象棋、围棋、井字棋等。

Q2MINiMAX算法是基于深度优先搜索。在MINiMAX算法中,通过深度优先搜索遍历博弈树的每个节点,并根据当前玩家和对手的角色来选择最佳的决策。通过递归地进行深度优先搜索,MINiMAX算法可以找到每个决策节点的最优解。

Q3MINiMAX算法可以通过扩展为Alpha-Beta剪枝算法来解决多人博弈。在传统的MINiMAX算法中,只考虑两个玩家之间的对抗性博弈。但是,当涉及到多个玩家时,MINiMAX算法需要进行适当的扩展。

a=到目前为止我们在路径上的任意选择点发现的 MAX的最佳选择

b=到目前为止我们在路径上的任意选择点发现的 MIN的最佳选择

ab剪枝的效率很大程度上取决于检查后继的顺序 • 如果能够先检查那些可能最好的后继,那么算法的时间 复杂度为O(b^m/2)。最小最大搜索的时间复杂度为O(𝑏^𝑚)

剪枝本身不影响算法输出结果

节点先后次序会影响剪枝效率

Q1α-β剪枝的目的是减少搜索空间,从而提高MINiMAX算法的效率。α剪枝通过剪去不必要的搜索分支,避免对无关节点的评估,从而减少搜索的深度和广度。

Q2α-β剪枝的特性包括:提高效率 节点顺序 不影响最终结果

Q3α-β剪枝可以用于多人博弈。在多人博弈中,MINiMAX算法需要进行适当的扩展,使用轮换角色列表确定当前轮到哪个玩家进行决策。在这种情况下,α-β剪枝仍然可以应用。

期望最大Exceptimax搜索树

最大期望效用Utility
期望、效用(描述智能体偏好)

Q1对抗性搜索的解是指在博弈中找到最优策略,使得自己的利益最大化,同时对手的利益最小化。对抗性搜索通常采用MINiMAX算法,通过搜索博弈树的所有可能节点,确定每个决策节点的最佳选择。评价函数是在搜索过程中用来评估每个节点的得分和价值的函数,它可以帮助算法决定哪些分支是有利的,哪些分支是不利的。

Q2:零和博弈是指参与者的利益完全相反,一方的收益就是另一方的损失,总收益为零,例如象棋、围棋、扑克等。非零和博弈是指参与者的利益不完全相反,例如合作博弈、竞价拍卖等。

囚徒困境的意义不仅仅在于它是一个经典的博弈论问题,更重要的是它揭示了合作与背叛之间的矛盾和冲突。囚徒困境可以用来解释一些现实生活中的问题,如国际贸易、环境保护、社会公共事务等。在这些问题中,各方面临着类似的选择,必须在个人利益和集体利益之间做出权衡和取舍。囚徒困境的解决需要建立信任、合作和稳定的机制,以实现长期的共赢。

蒙特卡洛树搜索 Monte-Carlo Tree Search选择 扩展 模拟 反向传播

利用与探索
多臂赌博机问题是一种序列决策问题。在游戏博弈树上的有机协调(平衡)
利用:保证在过去决策中得到最佳回报
探索:寄希望在未来能够得到更大回报

上限置信区间 (Upper Confidence Bound, UCB)

蒙特卡洛树搜索两种策略学习机制:

搜索树策略: 从已有的搜索树中选择或创建 一个叶子结点(即蒙特卡洛中选择和拓展两 个步骤).搜索树策略需要在利用和探索之间保持平衡。

模拟策略:从非叶子结点出发模拟游戏,得到游戏仿真结果。

Monte-Carlo Tree Search (MCTS):蒙特卡洛树搜索基于采样来得到 结果、而非穷尽式枚举(虽然在枚举过程中也可剪掉若干不影响结果的分支)。

1. 蒙特卡洛树搜索的优点包括:

蒙特卡洛模拟来估计该节点的价值,而不是用一个评估函数。它结合了随机模拟的一般性和树搜索的准确性 

 - 适用于复杂的博弈和决策问题:蒙特卡洛树搜索可以应用于各种类型的博弈和决策问题,无论是棋类游戏还是实际应用中的决策情境。

   - 不依赖领域专家知识:相比其他搜索算法,蒙特卡洛树搜索不需要事先了解领域专家知识或启发式规则。它通过模拟大量的随机样本来进行搜索和评估,从而学习和改进策略。

   - 能够处理不完全信息和随机性:蒙特卡洛树搜索可以有效地应对存在不完全信息和随机性的情况,例如扑克游戏等。通过模拟多个可能的随机事件,可以更好地估计每个动作的价值和概率。

   - 高效的并行计算:蒙特卡洛树搜索的计算过程可以很好地并行化,利用多个处理器或计算机集群可以加速搜索过程,提高效率。

2. C参数的确定:通常是一个经验性的过程,需要根据具体问题和需求进行调整。C参数控制了在蒙特卡洛树搜索中探索和利用之间的权衡。较大的C值会鼓励更多的探索,而较小的C值则会更加注重利用已知信息。

一种常见的确定C参数的方法是通过试验和调整。可以尝试不同的C值,并评估搜索算法的性能和结果。还有一些启发式方法可以用于确定C参数,如UCB1算法(Upper Confidence Bound 1)。UCB1算法基于置信上界的原理,通过平衡探索和利用的关系来选择合适的C值。该算法可以在蒙特卡洛树搜索中应用,帮助确定C参数的取值。

基于贝叶斯网络的推理

概率模型

概率模型是在随机变量集合上的联合分布

事件(Events
是对智能体无法确定的世界状态的一个完整的详细描述。是可能结果的集合

边缘分布
去掉某些变量后的子表

条件概率和联合概率分布间的简单关系

事实上, 这可以作为条件概率的定义

条件分布:给定部分变量值的情况下,其他变量的概率分布

正则化: 所有和为1.0

概率推理: 由已知的概率求得所需要的概率 (如:由 联合概率求得条件概率)

Bayes法则:

贝叶斯网: 总图景

• 使用完整的联合概率分布表作为概率模型会有两 个问题:

– 除非仅有很少几个变量, 联合概率分布表太大,无法显式表示

– 除了对极少变量的情况,很难由经验学到(估计出)模型

Bayes: 使用简单、局部(条件概率)分布来描 述复杂联合概率分布(模型)的技术

– 更合适的名称:图模型graphical models,有向无环图

– 描述变量局部交互

– 链在一起的局部作用,产生全局非直接交互

图模式记号

结点: 变量(有定义域) – 可以被指定(观察到)或未被指定 (未观察到)

弧: 交互 – 类似于CSP的约束 – 表示变量间的“直接影响” – 正式的说法: 编码条件独立性

1. 概率推理的主要任务包括:

- 推断后验概率:已知一些事件发生的条件下,推断其他事件发生的概率;

- 预测未来事件:基于已有的数据和模型,预测未来事件发生的概率;

- 建立模型:利用已知的数据和先验知识,建立概率模型,用于进行推理和预测;

- 评估模型:通过对模型进行测试和比较,评估模型的准确性和可靠性。

2. 贝叶斯网络原理:是一种用于表示变量之间依赖关系的图模型,它基于贝叶斯定理,将变量之间的条件概率转化为联合概率。该网络由两部分组成:节点和边。节点表示随机变量,边表示变量之间的依赖关系。每个节点都有一个条件概率分布,表示该节点在给定其父节点的取值时的条件概率分布。贝叶斯网络可以用于推断后验概率、预测未来事件等任务。

3. 利用贝叶斯网络求联合概率的方法如下:

- 首先,根据贝叶斯网络的结构和条件概率分布,计算每个节点在给定其父节点的取值时的条件概率分布;

- 然后,根据乘法规则和加法规则,计算出所有节点的联合概率分布;

- 最后,将需要求解的变量的取值代入联合概率分布中,得到相应的概率值。

•贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础, 故统称为贝叶斯分类。

• 而朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。

朴素贝叶斯分类三个阶段:

第一阶段——准备工作阶段,确定特征属性,形成训练样本集合

第二阶段——分类器训练阶段,生成分类器

第三阶段——应用阶段

应用:识别手写数字,垃圾邮件

确定性推理1:

•  变量消元方法是用于降低贝叶斯网推理复杂度的主要手段 。

• 除了变量消元法来降低推理复杂度,还可以通过独立性关系剔除与推理无关的变量,对推理问题进行简化

Bayes网络中的枚举推理

操作1:点积

操作2:对变量求和

• 贝叶斯网络的精确推理是一个NP问题。

• 变量消元法把全局概率推理计算,转换为局部变量的因子乘积和求和运算

• 变量消元法的时间复杂度由消元过程中产生的因子的规模决定

• 变量消元法的时间复杂度和消元顺序相关。实际推理过程中可以根据一些启发式规则来选择消元顺序,如:

      –贪心法(消去使下一个被构造的因子规模最小化的变量);

–选择最少邻居结点的点消元

确定性推理2:“因果链”识别

• 判断结点独立性的方法:

D-Separate D分离

• 用于判断组合变量中的独立性(集合A中的变量

是否与集合B中变量相互独立(给定集合C))

• 一种用来判断变量是否条件独立的图形化方法

总结一下:一个tail-to-tailtail-to-head的节点只有在被观察后才会阻塞路径,一个head-to-head的节点只有其或其后代节点被观察后才不会阻塞路径。

条件独立(Conditional Independence) | MayMoon (keson96.github.io)

▪ Markov模型: 链式结构的贝叶斯网

▪ 每个结点都具有完全相同的分布

▪ 给定时刻X的值称为状态

▪ 看成是BN:

▪ 参数: 称为传递概率或者动力学, 指定状态如何随时间

演化 (也称为初值问题)

马尔可夫过程的四个条件

▪ 第一,系统中有有限多个状态。比如“认真”和“溜号”,就是两个状态。

▪ 第二,状态之间切换的概率是固定的。比如从认真到溜号的概率永远都是 10%,

保持不变。

▪ 第三,系统要具有遍历性,也就是从任何一个状态出发,都能找到一条路线,切

换到任何一个其他的状态。

▪ 第四,其中没有循环的情况,不能说几个状态形成闭环,把其他状态排斥在外。

隐马尔可夫模型

隐马尔可夫例子:

▪ 语音识别的HMM:

▪ 观测是声信号(连续值)

▪ 状态是具体词语的具体位置(比如,成千上

万)

▪ 机器翻译的HMM:

▪ 观察对象是文字(数以万计)

▪ 状态是翻译选项

机器人跟踪:

观测对象是距离读数(连续)

州是地图上的位置(连续)

分子生物学:

观察对象是核苷酸ACGT

状态有编码/非编码/启动/停止/剪接站点等。

晴晴阴情况下最有可能出现笑笑哭这种排列,概率为0.04105

即,在给定y状态下,求最大的X序列,根据贝叶斯定理

分母可以忽略

强化学习中的概念

智能主体(agent)

• 按照某种策略(policy),根据当前的状态(state)选择合适的动作(action)

• 状态指的是智能主体对环境的一种解释

• 动作反映了智能主体对环境主观能动的影响,动作带来的收益称为奖励(reward)

• 智能主体可能知道也可能不知道环境变化的规律

环境(environment)

• 系统中智能主体以外的部分

• 向智能主体反馈状态和奖励

• 按照一定的规律发生变化

强化学习的特点

• 基于评估:强化学习利用环境评估当前策略,以此为依据进行优化

• 交互性:强化学习的数据在与环境的交互中产生

• 序列决策过程:智能主体在与环境的交互中需要作出一系列的决策,这些决策往往是前后关联的

注:现实中常见的强化学习问题往往还具有奖励滞后,基于采样的评估等特点

状态转移概率𝑃𝑟(𝑆𝑡+1|𝑆𝑡)

定义反馈(return),用来反映累加奖励: 𝐺𝑡 = 𝑅𝑡+1 + 𝛾𝑅𝑡+2 + 𝛾 2𝑅𝑡+3 + ⋯

其中折扣系数(discount factor)𝛾 ∈ [0, 1]

假设𝛾 = 0.99

(1,1,0,0):𝐺0 = 1 + 0.99 × 1 + 0.992 × 0 + 0.993 × 0 = 1.99

(0,0,1,1):𝐺0 = 0 + 0.99 × 0 + 0.992 × 1 + 0.993 × 1 = 1.9504

𝑀𝑅𝑃 = {𝑆, 𝑃𝑟, 𝑅, 𝛾}来刻画马尔科夫奖励过程。这个模型不能体现机器人能动性,仍然缺乏 与环境进行进行交互的手段

马尔可夫决策过程(Markov Decision Process):引入动作

状态转移概率定义为𝑃𝑟 (𝑆𝑡+1 𝑆𝑡 , 𝑎𝑡)    修改奖励函数为𝑅(𝑆𝑡 , 𝑎𝑡 , 𝑆𝑡+1)

马尔科夫过程中产生的状态序列称为轨迹(trajectory),可如下表示

(𝑆0, 𝑎0, 𝑅1, 𝑆1, 𝑎1, 𝑅2, ⋯ , 𝑆𝑇)

轨迹长度可以是无限的,也可以有终止状态𝑆𝑇。有终止状态的问题叫做分段的(即存在回合的)(episodic),否则叫做持续的(continuing)

这样,策略学习转换为如下优化问题: 寻找一个最优策略𝝅,对任意𝒔 ∈ 𝑺使得𝑽𝝅∗(𝒔 值最大

将利用贝尔曼方程进行策略评估,进而进行策略优化

强化学习的求解方法:

Q-learning

​​​​​​​

补充alpha-beta剪枝算法:

二、Alpha-Beta剪枝

   Alpha-beta(α β \alpha - \betaαβ)剪枝的名称来自计算过程中传递的两个边界,这些边界基于已经看到的搜索树部分来限制可能的解决方案集。 其中,Alpha(α \alphaα)表示目前所有可能解中的最大下界,Beta(β \betaβ)表示目前所有可能解中的最小上界。

  因此,如果搜索树上的一个节点被考虑作为最优解的路上的节点(或者说是这个节点被认为是有必要进行搜索的节点),那么它一定满足以下条件(N NN是当前节点的估价值):

α ≤ N ≤ β \alpha \leq N \leq \beta

α≤N≤β

  在我们进行求解的过程中,α \alphaα和β \betaβ会逐渐逼近。如果对于某一个节点,出现了α > β \alpha > \betaα>β的情况,那么,说明这个点一定不会产生最优解了,所以,我们就不再对其进行扩展(也就是不再生成子节点),这样就完成了对博弈树的剪枝。

  可能这个过程描述起来还是有一些抽象,那么,我们就用图像(依旧是往后看4步)来还原模拟一下这个过程:

  首先,我们开始从根节点向下进行搜索,直到进行了四步为止(废话,不到4步没有值呀),红色的序号代表顺序。

  当我们搜索到了第一个叶子节点的时候,我们发现它的权值是3,并且它的父节点是Min节点,又因为父节点的最小上界β > 3 \beta > 3β>3,所以我们更新父节点,令β = 3 \beta = 3β=3。(因为父节点要取最小值,这个最小值不会比3更大,所以我们更新其上界)然后继续向下搜索。

  因为17比3大,所以这个节点我们可以无视掉(没啥用啊)。我们已经搜索完了当前这个Min节点的所有孩子,所以我们返回它的节点值给它的父节点(Max节点),尝试更新父节点的α \alphaα值。(因为这是一个Max节点,他的孩子的估价值和α 、 β \alpha、\betaα、β值已经确定了,所以父节点取值范围的下界也需要被更新),此处更新父节点,令α = 3 \alpha = 3α=3。然后继续进行搜索,注意新生成的子节点的 α 、 β \alpha、\betaα、β 值继承自父节点。

  继续搜索,至叶子节点:

  我们发现它的权值是2,并且它的父节点是Min节点,又因为父节点的最小上界β > 2 \beta > 2β>2,所以我们更新父节点,令β = 2 \beta = 2β=2。(因为父节点要取最小值,这个最小值不会比2更大,所以我们更新其上界)。然后此时我们发现父节点出现了α > β \alpha > \betaα>β的情况,说明最优解不可能从这个节点的子节点中产生,所以我们不再继续搜索它的其他子节点。(这就是β \betaβ剪枝)并继续返回其节点值,尝试更新父节点。因为父节点的α = 3 > 2 \alpha = 3 > 2α=3>2,所以更新失败。

  然后我们已经搜索完了当前这个Max节点的所有子节点,所以我们返回它的节点值,并尝试更新他的父节点的β \betaβ 值。因为父节点的β > 3 \beta > 3β>3,所以我们令$\beta = 3 $。并继续向下搜索至叶子节点,注意新生成的子节点的 α 、 β \alpha、\betaα、β 值继承自父节点。

  然后,我们发现15并不能更新当前节点的β \betaβ值,所以令当前节点权值为15,并返回其权值,尝试更新其父节点(Max节点)的α \alphaα值。因为其父节点的α < 15 \alpha < 15α<15,所以我们令$\alpha = 15 $。

  此时,该节点α = 15 , β = 3 \alpha = 15 , \beta = 3α=15,β=3,α > β \alpha > \betaα>β,则说明其子节点并不包含最优解,不需要在进行搜索。所以返回其节点权值给父节点(Min节点),尝试对父节点的β \betaβ值进行更新。父节点的β < 15 \beta < 15β<15,则不需要进行更新。同时可确定父节点的权值为3。

  

继续返回权值给父节点,尝试更新父节点的α \alphaα,发现父节点α < 3 \alpha < 3α<3,则令α = 3 \alpha = 3α=3,并继续向下搜索直至叶子节点。注意新生成的子节点的 α 、 β \alpha、\betaα、β 值继承自父节点。

  从叶子节点返回权值给父节点(Min节点),并尝试更新其父节点的β \betaβ值,因为父节点β > 2 \beta > 2β>2,所以,令β = 2 \beta = 2β=2,此时有α > β \alpha > \betaα>β,说明其子节点并不包含最优解,不需要再进行搜索。所以返回其节点权值给父节点(Max节点),尝试对父节点的α \alphaα值进行更新。因为父节点α > 2 \alpha > 2α>2,无需进行更新,继续搜索其子节点至叶子节点。

  

从叶子节点返回权值给父节点(Min节点),并尝试更新其父节点的β \betaβ值,因为父节点β > 3 \beta > 3β>3,所以,令β = 3 \beta = 3β=3,同时确认父节点权值为3。

  继续返回权值给父节点,并尝试更新其父节点的α \alphaα值,因为父节点α = 3 \alpha = 3α=3,所以无需进行更新,同时确定该节点权值为3。

  因为该节点的所有子节点全部搜索完毕,所以返回该点权值给父节点,并尝试更新其父节点的β \betaβ值,因为父节点β > 3 \beta > 3β>3,所以,令β = 3 \beta = 3β=3,同时确认父节点权值为3。因为此时有α = β = 3 \alpha = \beta = 3α=β=3,所以无需再搜索其子节点,直接返回权值给根节点,并尝试更新根节点的α \alphaα值,因为根节点α = 3 \alpha = 3α=3,所以无需进行更新。

  根节点的所有子节点搜索完毕,则得出最优解为3。

  • 21
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值