在前一段时间,我看了不少的论文,里面涉及到许许多多“奇怪”的算法。最近,我又看了一些专门讲解“算法”的书籍,了解了各算法的来历、特点及应用情况等。
在本文中,我将对一些重要的算法进行简单的介绍。
1) 灰色预测算法
在求解某些问题的过程中,需要对相关数据进行预测,这时就要用到灰色模型(gray model),其理论基础是灰色系统理论。
灰色预测算法通过鉴别系统因素之间发展趋势的相异程度,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而达到预测事物的未来发展趋势的目的。
2) 遗传算法
遗传算法是智能算法的一种,它模拟达尔文生物进化论的自然选择和孟德尔遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
一般的遗传算法包括七个过程:编码、解码、交配、突变、倒位、个体适应度评估和复制。
3) 粒子群算法
现代算法分为硬计算和软计算。前者需要建立数学模型,后者是一种动态自适应求解方式且不需要深入的数学模型。
粒子群(PSO)算法最早于1995年提出,它是基于群鸟的觅食过程。此过程其实是一个最佳决策的过程,每只鸟的初始状态处于随机位置,飞翔的方向也是随机的。但是,随着时间的推移,这些初始处于随机位置的鸟类通过群内相互学习、信息共享和个体不断积累自身寻觅食物的经验,自组织成一个群落,并逐渐朝唯一的目标前进。
PSO算法的优点是收敛速度快和更容易找到全局最优值等。
4) 模拟退火算法
模拟退火算法(SA)是所谓的三大非经典算法之一,它是一种通用概率算法,用来在一个大的搜索空间内寻找问题的最优解。
现代的SA形成于20世纪80年代初,其思想源于固体的退火过程,即将固体加热至足够高的温度,再缓慢冷却;升温时,固体内部粒子温度升高变为无序状,内能增大,而缓慢冷却时粒子又逐渐趋于有序。
SA也可应用于组合最优化问题中。
5) 人工神经网络算法
人工神经网络(ANN)具有人脑的学习记忆功能,它是由大量简单的基本元件(神经元)相互连接,通过模拟人的大脑神经处理信息的方式,进行信息并行处理和非线性转换的复杂网络系统。
神经网络的优点是多输入多输出实现了数据的并行处理以及自学习能力。目前技术最成熟、应用范围最广泛的两种网络是前向反馈(BP)网络和径向基(RBF)网络。
人工神经网络主要应用于数据建模、预测、模式识别和函数优化等。
6) 小波分析
小波分析是在傅里叶变换的基础之上发展起来的,它是纯数学、应用数学和工程技术的完美结合。
小波分析的核心是小波函数的构建和多尺度分析,小波函数的主要特质是快速衰减性和震荡性,其子函数都是相互正交的。
7) 计算机虚拟
计算机虚拟是应用电子计算机对系统的结构、功能和行为以及参与系统控制的人的思维过程和行为进行动态逼真的一种虚拟行为。虚拟过程包括组建模型和计算机实验两个主要步骤。
虚拟的工具主要由虚拟软件和虚拟硬件组成。计算机虚拟技术能够带来巨大的社会和经济效益。
可以看出,各算法具有以下共同点:1)具有较成熟的理论基础,特别是数学基础;2)大部分算法的目的都是力求最优解;3)其它学科的发展能够促进计算机科学的发展,许多优秀算法均可以在实际生活中找到原型。