码迷,mamicode.com
首页 > 编程语言 > 详细

智能算法的研究与实现

时间:2017-04-12 21:54:26      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:智能算法的研究与实现

  1. 目前计算机中的搜索算法有哪些?

    深度优先,广度优先(源自于数据结构)

    穷举法(列出所有可能),回溯法(深度优先思想加上返回式搜索)源自于算法设计与分析

    爬山法,模拟退火,遗传算法(智能化算法)都是一些自适应的随机搜索算法,(有点类似于不确定性算法,也是一些启发式算法(另外蚁群算法也是启发式算法)

    梯度下降算法(源自于最优化理论)

  2. 遗传算法该如何理解

    从启发式的角度去理解更容易:

     遗传算法参照达尔文的进化论,认为物种都是向好的方向去发展(适者生存),因此可以认为到足够的代数之后,得到的最值可实际的最值很接近。

    遗传算法主要包括了三种自然进化操作(各种书籍不尽统一)选择,交叉,变异。

    选择:从前代种群中不断选择2个较优个体,让这些较优个体(父母)将它们的基因传递到下一代。

    交叉:两个待交叉的不同的染色体(父母)根据交叉概率(cross_rate)按某种方式交换其部分基因。

    变异:染色体按照变异概率进行染色体的变异。

  3. 遗传算法步骤流程

        (1) 用固定长度的染色体表示问题变量域,选择染色体种群数量为N,交叉概率为C,突变概率为M 
    (2) 定义适应性函数来衡量问题域上单个染色体的性能或适应性。适应性函数是在繁殖过程中选择配对染色体的基础。 
    (3) 随机产生一个大小为N的染色体的种群。 
    (4) 计算每个染色体的适应性。 
    (5) 在当前种群中选择一对染色体。双亲染色体被选择的概率和其适应性有关。适应性高的染色体被选中的概率高于适应性低的染色体。 
    (6) 通过执行遗传操作——交叉和突变产生一对后代染色体。 
    (7) 将后代染色体放入新种群中。 
    (8) 重复步骤5,直到新染色体种群的大小等于初始种群的大小N为止。 
    (9) 用新(后代)染色体种群取代初始(双亲)染色体种群。 
    (10) 回到步骤4,重复这个过程直到满足终止条件为止。

  4. 爬山法该如何理解

  5. 模拟退火算法的理解

本文出自 “简答生活” 博客,请务必保留此出处http://1464490021.blog.51cto.com/4467028/1915361

智能算法的研究与实现

标签:智能算法的研究与实现

原文地址:http://1464490021.blog.51cto.com/4467028/1915361

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!