- 目前计算机中的搜索算法有哪些?
深度优先,广度优先(源自于数据结构)
穷举法(列出所有可能),回溯法(深度优先思想加上返回式搜索)源自于算法设计与分析
爬山法,模拟退火,遗传算法(智能化算法)都是一些自适应的随机搜索算法,(有点类似于不确定性算法,也是一些启发式算法(另外蚁群算法也是启发式算法)
梯度下降算法(源自于最优化理论)
- 遗传算法该如何理解
从启发式的角度去理解更容易:
遗传算法参照达尔文的进化论,认为物种都是向好的方向去发展(适者生存),因此可以认为到足够的代数之后,得到的最值可实际的最值很接近。
遗传算法主要包括了三种自然进化操作(各种书籍不尽统一)选择,交叉,变异。
选择:从前代种群中不断选择2个较优个体,让这些较优个体(父母)将它们的基因传递到下一代。
交叉:两个待交叉的不同的染色体(父母)根据交叉概率(cross_rate)按某种方式交换其部分基因。
变异:染色体按照变异概率进行染色体的变异。
- 遗传算法步骤流程
(1) 用固定长度的染色体表示问题变量域,选择染色体种群数量为N,交叉概率为C,突变概率为M
(2) 定义适应性函数来衡量问题域上单个染色体的性能或适应性。适应性函数是在繁殖过程中选择配对染色体的基础。
(3) 随机产生一个大小为N的染色体的种群。
(4) 计算每个染色体的适应性。
(5) 在当前种群中选择一对染色体。双亲染色体被选择的概率和其适应性有关。适应性高的染色体被选中的概率高于适应性低的染色体。
(6) 通过执行遗传操作——交叉和突变产生一对后代染色体。
(7) 将后代染色体放入新种群中。
(8) 重复步骤5,直到新染色体种群的大小等于初始种群的大小N为止。
(9) 用新(后代)染色体种群取代初始(双亲)染色体种群。
(10) 回到步骤4,重复这个过程直到满足终止条件为止。 - 爬山法该如何理解
- 模拟退火算法的理解
时间: 2024-10-17 12:46:24