介绍几个重要的算法

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

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


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


1) 灰色预测算法

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

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


2) 遗传算法

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

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


3) 粒子群算法

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

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

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


4) 模拟退火算法

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

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

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


5) 人工神经网络算法

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

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

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


6) 小波分析

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

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


7) 计算机虚拟

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

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


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


       期待未来有更为优秀的算法出现!
目录
相关文章
|
1月前
|
存储 并行计算 算法
FlashAttention算法详解
这篇文章的目的是详细的解释Flash Attention,为什么要解释FlashAttention呢?因为FlashAttention 是一种重新排序注意力计算的算法,它无需任何近似即可加速注意力计算并减少内存占用。所以作为目前LLM的模型加速它是一个非常好的解决方案,本文介绍经典的V1版本,最新的V2做了其他优化我们这里暂时不介绍。因为V1版的FlashAttention号称可以提速5-10倍,所以我们来研究一下它到底是怎么实现的。
117 0
|
9月前
|
算法
蚂群算法
蚂群算法
55 0
蚂群算法
|
10月前
|
算法
算法题
1.厘米换算英尺英寸 分析:题目非常简单,但是今晚喝的有点多,有点迷 如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。
376 0
算法题
|
算法 C++
|
机器学习/深度学习 算法 程序员
揭秘黑盒子:算法是如何产生的?
随着软件和算法对我们生活方方面面产生的影响越来越大,人们对它们的兴趣也越来越大,并且更加关注算法是如何影响社会、经济和政治的。
119 0
|
算法 Java 搜索推荐
算法之【折半插入法】
折半插入排序(binary insertion sort)是对插入排序算法的一种改进,采用二分法进行比较时不用一个一个比,而是”跳着选”的方式. Java算法原型: void BinaryInsertSort(int R[],int n ) {     i...
1199 0
|
存储 算法 C语言
算法之【仿竖式算法】
另类四则运算之大整数加减法: 十进制的数值运算在计算机里都将转换成二进制的数值运算,而二进制的运算就是cpu中最根本的逻辑运算,最后再转化成十进制输出。这次介绍的方法是保留十进制的运算方式(小学生的列竖式计算),仅仅将每位数字转换成二进制。
1233 0
|
资源调度 算法 Linux
相关产品
机器翻译
推荐文章
更多