搜素
系列文章为了应付期末考试而作的知识点整理。
1.全为概念学习,若想学习更加深入的知识,请移步专家区。
2.全手打,自己复习的同时,希望能帮到各位和我一样垂死挣扎的同学。
相关概念:
- 搜索技术:求解搜索问题的技术称为搜索技术
- 搜索算法:检索问题域的搜索空间中,连续或者离散信息的算法
搜索方式
- 盲目搜索:又称为无信息引导的搜索,不考虑给定问题的特定知识,根据事先确定好的某种固定排序一次搜索的过程
- 启发式搜索:又称为有信息引导的搜索策略,考虑问题领域可应用的知识,动态地确定规则地排序,优先调用合适的规则适用。
//补充两个数据结构的搜索方法:
深度优先搜索:
- 深度优先搜索是一种常用的盲目搜索策略,其基本思想是优先扩展深度最深的节点。
宽度优先搜索
- 与深度优先策略相反,宽度优先策略是优先搜索深度浅的层节点。
复杂度
- 算法复杂度:指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和空间资源
- 时间复杂度:时间复杂度指执行算法所需的计算工作量
- 空间复杂度:与时间复杂度类似,空间复杂度是指算法在计算机内执行所需要的储存空间的度量
启发式搜索
- 概念:给定一个启发式函数或损失衡量函数,迭代地获得更优的解来优化一个问题。
- 特点:启发式搜索不能保证总是获得最优的解,但对于盲目搜索不可求解的问题上,能在可接受的时间和空间消耗上,获得相对可接受的解。
- 启发函数:通过引导算法的搜索方向,使搜索路径更加趋于最佳路径。
贪婪最佳优先搜索
- Dijkstra算法:从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的邻接节点,直到扩展到终点为止。
- 在贪婪最佳优先搜索中,采用的是每项到达目标顶点的预估值来进行排序。
A*搜索
- 为每个边长设置权值,计算每个顶点到起始顶点的距离,以获得最短路线,反复迭代,以引导搜索队列不断向目标逼近,从而搜索更少的顶点,保持寻路的最优解
- 估价值=顶点至起始顶点的代价+顶点至目标顶点的代价
遗传算法相关概念与流程
- 起源于对生物系统所进行的计算机模拟研究
- 一般步骤:
·编码
·初始化
·适应度评估
·选择
·交叉
· 编译
粒子群算法
- 粒子群算法(PSO,Particle Swarm Optimization)将群体中的每个个体看作n维搜索空间中一个没有体积、没有质量的粒子,在搜索空间中以一定的速度飞行,通过群体间粒子的合作与竞争产生的群体智能指导优化搜索。
- 粒子群算法的一般步骤:
对抗搜索
估值决策
- 通过评估函数将非终止节点转变为终止结点以实现截断测试代替终止测试的过程
最小最大值搜索
-
采用递归算法自上而下一直前进到树的叶节点,然后随着递归通过搜索树把极小极大值回传。
-
在终止状态结点,节点返回效用值:
当轮到MAX时,结点返回子结点中效用值的极大值;
当轮到MIN时,结点返回子结点中效用值的极小值;
Alpha -Beta 剪枝搜索 -
利用已经搜索过的状态对搜索进行剪枝
-
·把博弈树生成和倒推估计值集合起来,再根据需要的条件进行判断,剪掉无用的分枝
-
采用有界深度优先策略进行搜索
自 2020/12/26 起爆肝更新…