人工智能:一种现代方法学习笔记(第四章)——超越经典搜索

人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第1张图片

局部搜索算法

局部搜索
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第2张图片
目标函数:
在这里插入图片描述

在这里插入图片描述
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第3张图片

爬山法

人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第4张图片

  • 首选爬山算法
      依次寻找该点X的邻近点中首次出现的比点X价值高的点,并将该点作为爬山的点(此处说的价值高,在该题中是指Z或f(x,y)值较大). 依次循环,直至该点的邻近点中不再有比其大的点. 我们成为该点就是山的顶点,又称为最优点.
    人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第5张图片

  • 最陡爬山算法
      最陡爬山算法是在首选爬山算法上的一种改良,它规定每次选取邻近点价值最大的那个点作为爬上的点.

  • 随机重启爬山算法
      随机重新开始爬山算法是基于最陡爬山算法,其实就是加一个达到全局最优解的条件,如果满足该条件,就结束运算,反之则无限次重复运算最陡爬山算法.

爬山法容易出现的问题: 局部最大值
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第6张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第7张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第8张图片

模拟退火搜索

模拟退火其实也是一种贪心算法,但是它的搜索过程引入了随机因素。模拟退火算法以一定的概率来接受一个比当前解要差的解,这个概率随着时间推移逐渐降低(逐渐降低才能趋向稳定)因此有可能会跳出这个局部的最优解,达到全局的最优解。

模拟退火算法的优缺点模拟退火算法的应用很广泛,可以高效地求解NP完全问题,如货郎担问题(Travelling Salesman Problem,简记为TSP)、最大截问题(Max Cut Problem)、0-1背包问题(Zero One Knapsack Problem)、图着色问题(Graph Colouring Problem)等等,但其参数难以控制,不能保证一次就收敛到最优值,一般需要多次尝试才能获得(大部分情况下还是会陷入局部最优值)。观察模拟退火算法的过程,发现其主要存在如下三个参数问题:
  (1) 温度T的初始值设置问题
  温度T的初始值设置是影响模拟退火算法全局搜索性能的重要因素之一、初始温度高,则搜索到全局最优解的可能性大,但因此要花费大量的计算时间;反之,则可节约计算时间,但全局搜索性能可能受到影响。
  (2) 退火速度问题,即每个T值的迭代次数
  模拟退火算法的全局搜索性能也与退火速度密切相关。一般来说,同一温度下的“充分”搜索是相当必要的,但这也需要计算时间。循环次数增加必定带来计算开销的增大。
  (3) 温度管理问题
  温度管理问题也是模拟退火算法难以处理的问题之一。实际应用中,由于必须考虑计算复杂度的切实可行性等问题,常采用如下所示的降温方式:
T=α×T.α∈(0,1).
注:为了保证较大的搜索空间,α一般取接近于1的值,如0.95、0.9。

特点:

  1. 迭代搜索效率高,并且可以并行化
  2. 算法中有一定概率接受比当前解较差的解,因此一定程度上可以跳出局部最优算法求得的解
  3. 与初始解状态S无关,因此有一定的鲁棒性
  4. 具有渐近收敛性,已在理论上被证明是一种以概率1收敛于全局最优解的全局优化算法

人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第9张图片

模拟退火详细介绍

局部束搜索

束搜索
在这里插入图片描述
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第10张图片
记录k个状态而不是1个状态,从k个随机生成的状态开始,每一步生成所有k个状态的所有后继状态。如果有一个后继满足条件,则终止。否则,从整个后继列表中选择k个最佳的后继,重复这个过程

遗传算法

人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第11张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第12张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第13张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第14张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第15张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第16张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第17张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第18张图片
遗传算法实例

对比
遗传算法:
优点是能很好的处理约束,能很好的跳出局部最优,最终得到全局最优解,全局搜索能力强;
缺点是收敛较慢,局部搜索能力较弱,运行时间长,且容易受参数的影响。

模拟退火:
优点是局部搜索能力强,运行时间较短;
缺点是全局搜索能力差,容易受参数的影响。

爬山算法:
显然爬山算法较简单,效率高,但是处理多约束大规模问题时力不从心,往往不能得到较好的解。
三种算法代码实现

4.2连续空间的局部搜索
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第19张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第20张图片

4.3 使用不确定动作的搜索
环境不确定,信息由感知提供。Agent的未来行动依赖于未来感知信息。问题的解是应急规划而不是一个序列。
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第21张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第22张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第23张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第24张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第25张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第26张图片
人工智能:一种现代方法学习笔记(第四章)——超越经典搜索_第27张图片

你可能感兴趣的:(人工智能:一种现代方法学习笔记)