介绍几个重要的算法

简介:        在前一段时间,我看了不少的论文,里面涉及到许许多多“奇怪”的算法。最近,我又看了一些专门讲解“算法”的书籍,了解了各算法的来历、特点及应用情况等。

       在前一段时间,我看了不少的论文,里面涉及到许许多多“奇怪”的算法。最近,我又看了一些专门讲解“算法”的书籍,了解了各算法的来历、特点及应用情况等。


       在本文中,我将对一些重要的算法进行简单的介绍。


1) 灰色预测算法

       在求解某些问题的过程中,需要对相关数据进行预测,这时就要用到灰色模型(gray model),其理论基础是灰色系统理论。

        灰色预测算法通过鉴别系统因素之间发展趋势的相异程度,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而达到预测事物的未来发展趋势的目的。


2) 遗传算法

       遗传算法是智能算法的一种,它模拟达尔文生物进化论的自然选择和孟德尔遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。

       一般的遗传算法包括七个过程:编码、解码、交配、突变、倒位、个体适应度评估和复制。


3) 粒子群算法

       现代算法分为硬计算和软计算。前者需要建立数学模型,后者是一种动态自适应求解方式且不需要深入的数学模型。

        粒子群(PSO)算法最早于1995年提出,它是基于群鸟的觅食过程。此过程其实是一个最佳决策的过程,每只鸟的初始状态处于随机位置,飞翔的方向也是随机的。但是,随着时间的推移,这些初始处于随机位置的鸟类通过群内相互学习、信息共享和个体不断积累自身寻觅食物的经验,自组织成一个群落,并逐渐朝唯一的目标前进。

        PSO算法的优点是收敛速度快和更容易找到全局最优值等。


4) 模拟退火算法

       模拟退火算法(SA)是所谓的三大非经典算法之一,它是一种通用概率算法,用来在一个大的搜索空间内寻找问题的最优解。

       现代的SA形成于20世纪80年代初,其思想源于固体的退火过程,即将固体加热至足够高的温度,再缓慢冷却;升温时,固体内部粒子温度升高变为无序状,内能增大,而缓慢冷却时粒子又逐渐趋于有序。

       SA也可应用于组合最优化问题中。


5) 人工神经网络算法

       人工神经网络(ANN)具有人脑的学习记忆功能,它是由大量简单的基本元件(神经元)相互连接,通过模拟人的大脑神经处理信息的方式,进行信息并行处理和非线性转换的复杂网络系统。

       神经网络的优点是多输入多输出实现了数据的并行处理以及自学习能力。目前技术最成熟、应用范围最广泛的两种网络是前向反馈(BP)网络和径向基(RBF)网络。

       人工神经网络主要应用于数据建模、预测、模式识别和函数优化等。


6) 小波分析

       小波分析是在傅里叶变换的基础之上发展起来的,它是纯数学、应用数学和工程技术的完美结合。

       小波分析的核心是小波函数的构建和多尺度分析,小波函数的主要特质是快速衰减性和震荡性,其子函数都是相互正交的。


7) 计算机虚拟

       计算机虚拟是应用电子计算机对系统的结构、功能和行为以及参与系统控制的人的思维过程和行为进行动态逼真的一种虚拟行为。虚拟过程包括组建模型和计算机实验两个主要步骤。

       虚拟的工具主要由虚拟软件和虚拟硬件组成。计算机虚拟技术能够带来巨大的社会和经济效益。


       可以看出,各算法具有以下共同点:1)具有较成熟的理论基础,特别是数学基础;2)大部分算法的目的都是力求最优解;3)其它学科的发展能够促进计算机科学的发展,许多优秀算法均可以在实际生活中找到原型。


       期待未来有更为优秀的算法出现!
目录
相关文章
|
3月前
|
算法
算法题(8)
算法题(8)
17 4
|
5月前
|
自然语言处理 算法 BI
Baum-Welch算法
Baum-Welch算法
|
机器学习/深度学习 存储 算法
01 算法
01 算法
61 0
|
算法
【算法之初步认识】
【算法之初步认识】
148 0
【算法之初步认识】
|
算法
算法题:出现
题目: 给定 n 个自然数,求没有在这 n 个自然数中出现过的最小的自然数是多少。
119 0
|
算法 Java C++
算法题0
第一题:判断数字 给定一个整数 n,请你统计其各位数字中 4 和 7 的出现次数。 如果 4 的出现次数加上 7 的出现次数恰好等于 4 或 7,则输出 YES,否则输出 NO。 例如,当 n=40047 时,4 出现了 2 次,7 出现了 1 次,2+1=3,既不是 4 也不是 7,因此,输出 NO;当 n=7747774 时,4 出现了 2 次,7 出现了 5 次,2+5=7,因此,输出 YES。
157 0
|
算法
算法题:干草堆
贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来。 开始时,共有 N 个空干草堆,编号 1∼N。 约翰给贝茜下达了 K 个指令,每条指令的格式为 A B,这意味着贝茜要在 A..B 范围内的每个干草堆的顶部添加一个新的干草捆。
74 0
|
机器学习/深度学习 算法 程序员
揭秘黑盒子:算法是如何产生的?
随着软件和算法对我们生活方方面面产生的影响越来越大,人们对它们的兴趣也越来越大,并且更加关注算法是如何影响社会、经济和政治的。
233 0
|
人工智能 算法 搜索推荐
线性排序算法(1)
排序 选择排序(适用于线性排序) 思路,2层遍历 第一步:选择最小的元素,与第一个元素交换。 第二步:从第二个元素到最后一个元素,选择最小元素,与第二元素交换 完成前两步,第1第2元素已经排好序。
1005 1
|
算法 C++ 编译器