混沌算法
Ⅰ 用混沌遗传算法求解一下TSP问题的程序代码,定重谢,谢谢啦
在程序员联合开发网上能搜到很多
Ⅱ AI无法理解混沌怎么办,能教会他们物理吗
AI其实就是人工智能的缩写,作为如今新出现的一种可以帮助人类完成计算的超级计算机,成为人们在科技界的香饽饽,然而AI也不是无所不知的,如果他们无法理解混沌,我们人类是可以通过编写程序和更新算法,让AI了解到新知识的。
所以说AI是可以更新的,只不过需要人为的操作。而现在科技一直在进步,说不定在未来,AI就可以通过自己的努力进行自我更新,他们可能会具备自我学习能力,这时候可能他们就能自己认识到混沌是什么,就不需要程序员的帮助了。所以我们可以尽情期待未来的AI进化趋势。
Ⅲ 你了解求时域信号李雅普诺夫指数的混沌算法吗求指导~
差不多,应该类似吧。我最近在研究利用利亚普遍诺夫指数作为指标,进行的一些控制~
Ⅳ 关于混沌的问题
对于混沌产生的机制, 或通向混沌的道路问题, 我们不能作全面, 深入的介绍, 我们只想通过一个简单的例子揭示一种典型的通向混沌的道路, 从而使我们对混沌现象有较正确的认识.这个例子是生物学家梅(May)在1976年给出的, 是反映生态学中昆虫繁殖情况的, 昆虫繁殖可作为一个动力系统.
动力系统是一个广泛的概念, 它由状态 (并给出描述状态的量) 和动态特性 (状态演化规则)组成.设某种昆虫第n代的虫口数为,nx 第1+n代的虫口数为1+nx, 则这种昆虫的演化规律可表示为)1(1nnnxxx-=+λ ,3,2,1=n其中λ为参数, 1+n代的昆虫数正比于第n代的昆虫数, 同时要减去因食物有限及接触传染导致的昆虫死亡数. 方程中因存在2nxλ项, 成为非线性迭代方程. 这种迭代关系也称为逻辑斯谛映射(logistic map). 为了简化, 设nx的取值范围为[0,1], λ的取值范围为[0,4].
一,周期倍化分叉过程
从任何初始值出发迭代时, 一般有个暂态过程, 但当迭代次数很大, 即当∞→n时, 演化会导致一个确定的终态. 我们关心的是终态, 终态情况与参数λ的取值有很大关系. 数值计算结果如下.
λ的值 终 态
4.2=λ
1271==+nnxx
(一个不动点) 周期为1.
2.3=λ
nnxx=+2
0513.05799.0 周期为2.
5.3=λ
nnxx=+1
|←←-
-→→
9500.00875.0
9862.08382.0
| 周期为4.
┇
周期为 ,16,8等的周期倍化分叉
过程.
4~569.3=λ
基本上为混沌区(即周期为∞),其中还有周期窗口, 并具有一定结构.
设,ξ=∞→nnx 则终态集ξ和λ的关系可用图4.表示(示意图, 未按比例画).我们可以看到混沌产生和发展的过程. 当13>>λ时, 迭代的终态是一个确定值(或称不动
点), 不管初值取何值, 终态是同一值, 此值只与λ有关, 与λ值一一对应, 例如4.2=λ时,127=ξ. 到达终态后, 每经过一次迭代都回到迭代前的值, 故称其周期为1.
当3449.3>>λ时, 看到曲线从3=λ处开始分叉为2支, 即与一个λ值对应将有2个ξ值, 终态是2个值轮流取值, 经2次迭代后回到原先的值,故周期为2.
当449.3544.3>>λ时, 曲线进一步倍分叉,终态是4个值轮流取值, 周期变为4. 当λ继续增大时, 曲线将继续倍分叉, 出现周期为 ,32,16,8等, 这个过程称为周期倍化分叉过程.
当569.3=λ时, 周期变为∞, 即终态可取无穷多的各种不同值, 终态对初值极为敏感, 使之成为不可预测, 即开始出现混沌现象. 在此之前(即569.3<λ时), 终态都是周期的, 可预测的,并与初值无关. 在4569.3≤≤λ区间, 基本上是混沌区, 但不是铁板一块, 其中还有周期窗口等结构.
为了对混沌现象有一个感性认识, 我们把4=λ时所做的数值计算结果列在表中. 3个初值的差别是非常小的, 仅在小数点后第七八位上有差别, 经过10次迭代后所得结果差别不大, 经50次迭代后所得结果差别就很大了, 对初值的敏感性充分显示出来了. 3个初值差别如此小, 在物理上可能已无法分辨, 而把它们视为"同一"初值.
在前10步迭代过程, 它们几乎有相同的演化规律,即演化可预测, 但到了50步迭代后, 3个"同一"初值却产生了极不相同的结果, 好像演化规律出现了随机性. 这就是混沌现象.
n )1(41nnnxxx-=+
0 0.1 0.100 000 01 0.100 000 1
1 0.36 0.360 000 003 2 0.360 000 032 0
2 0.921 6 0.921 600 035 8 0.921 600 358 4
10 0.147 836 559 9 0.147 824 444 9 0.147 715 428 1
50 0.277 569 081 0 0.435 057 399 7 0.937 349 588 2
51 0.802 094 386 2 0.983 129 834 6 0.104 139 309 1
52 0.634 955 927 4 0.066 342 251 5 0.373 177 253 6
二,费根鲍姆常数
1978年费根鲍姆发现在周期倍化分叉过程中存在着普适常数. 设mλ为第m个分叉点的参数值,我们从图看到, 相邻分叉点间的间隔随着分叉过程是越来越小, 通过计算发现相邻分叉间隔之比趋于一个常数9990102609201669.4lim
1
1==
-
-
+
-
∞→
δ
λλ
λλ
mm
mm
m
这个常数具有普适性, 被命名为费根鲍姆常数.周期倍化分叉过程是一条通向混沌的典型道路, 不仅逻辑斯谛映射是这样, 实验证明许多混沌现象, 如受迫的倒摆振动中, 受迫的大幅度单摆运动中的混沌现象等都是通过这条道路产生的,这些过程中同样存在这个普适常数.
三,倒分叉
下面再来说明混沌区中存在的结构, 首先存在倒分叉的结构, 其次还存在许多周期窗口.
当参数λ从4开始逐渐减小时, 混沌区将发生倒分叉现象, 开始时混沌区是一整片, 但当λ减小到小于一个值6678.3)1(=λ时, 单片混沌开始变次,其数值从其中一个跳到另一个. 当λ再减小跨越6592.3)2(=λ时, 2片混沌又分为4片. λ继续减小, 将相继分化为8片, 16片, 32片……等等,分叉值 )3()2()1(,,λλλ收敛到.9569.3 这个倒分叉过程如图所示. 相邻分叉值间距比又收敛于费根鲍姆数, 即
δ
λλ
λλ
=
-
-
+
-
∞→
)1()(
)()1(lim
mm
mm
m
四,窗口
在4569.3≤≤λ的混沌区中还存在窗口(如图中画的一个), 它代表λ在某个范围内取值时, 终态是稳定的周期解, 这一事实在物理实验或计算机数值计算中能被观察到. 如在8856.34828.3≤≤λ区间存在一个窗口, 在828.3=λ时出现周期为3的解, 在图上呈现出3条曲线, 随着λ值继续增大,又会发生周期倍化分叉过程, 相继出现周期为24,12,6等解, 最初3条曲线每一条都演化成一个
混沌区, 共有3个混沌区; 在每一个混沌区中又上演着倒分叉过程, 并且在混沌区中同样也存在周期窗口.
我们看到在4~1=λ区间中的演化与在8856.3~4828.3=λ窗口中的演化是完全相似的,只是尺度不同而已. 这个从周期3开始的窗口称窗口3.除此窗口外还存在许多其他窗口.
如上所述, 在窗口3内的混沌区中也存在窗口,依上类推, 在这个更小的窗口内也将重复相似的演化. 所以, 从理论上可以想象, 这是一幅精美的图画, 显示出无穷套嵌着的自相似结构. 这些都说明混沌现象与随机现象有着根本区别.
本章着重介绍了20世纪60年代以来在非线性研究中揭示的混沌现象, 它产生于不可积系统,由于方程解的长期行为对初值十分敏感, 出现了貌似随机的行为. 在同一时期, 非线性研究中也揭示了与之相反的另一极端现象, 发现了孤立波(或孤立子) 的存在. 它产生于一批非线性完全可积系统, 它们的解具有规则性和出奇的稳定性,
说明非线性还在产生有序性方面有重要作用. 此外, 科学家也已找到求解这类非线性方程的普遍方法.
Ⅳ 混沌粒子群算法的优点,对输入信号有要求吗
混沌粒子群算法保持了群体多样性,增强了 PSO 算法的全局寻优能力,提高了算法的计算精度,改善了收敛性和鲁棒性,很大程度上避免了算法停滞现象的发生。
具体看附件里的文献。
Ⅵ 混沌算法是什么
算法要求是:因为每个人说的话一个对,一个错。我们选择1个人说的话,假设他说的其中一个是对的,然后对照其他人说的,反推下去,如果后面的结果都可以对上,那么你假设的那个人其中对的就是对的,如果推下去中间有问题,那么你假设的那个人对的那句话就是错的,反选而已。
Ⅶ 混沌优化算法可以求解全局最优解吗
非线性最优化问题的一种混合解法
摘 要:把BFGS方法与混沌优化方法相结合,基于混沌变量提出一种求解具有变量边界约束非线性最优化问题的混合优化方法。混合算法兼顾了混沌优化全局搜索能力强和BFGS方法收敛速度快的优点,成为一种求解非凸优化问题全局最优的有效方法。算例表明,当混沌搜索的次数达到一定数量时,混合优化方法可以保证算法收敛到全局最优解,且计算效率比混沌优化方法有很大提高。
关键词:混合法;BFGS方法;混沌优化方法;全局最优
1 引言
在系统工程、控制工程、统计学、反问题优化求解等领域中,很多问题是具有非凸性的。对此普通的优化技术只能求出局部最优解,因为这些确定性算法总是解得最近的一个极值点[1],只有能够给出很好的初始点才有可能得出所需要的全局最优解。为此,实际应用中通过在多个初始点上使用传统数值优化方法来求取全局解的方法仍然被人们所采用,但是这种处理方法求得全局解的概率不高,可靠性低,建立尽可能大概率的求解全局解算法仍然是一个重要问题。近年来基于梯度法的全局最优化方法已经有所研究[2],基于随机搜索技术的遗传算法和模拟退火算法等在全局优化问题中的应用也得到越来越大的重视[3-4]。本文则基于混沌优化和BFGS方法,提出一种求解具有简单界约束最优化问题(1)的混合算法。
混沌是存在于非线性系统中的一种较为普遍的现象。混沌运动宏观上无序无律,具有内随机性、非周期性和局部不稳定性,微观上有序有律,并不是完全的随机运动,具有无穷嵌套的自相似几何结构、存在普适性规律,并不是杂乱无章的。利用混沌变量的随机性、遍历性和规律性特点可以进行优化搜索[5],且混沌优化方法容易跳出局部最优点。但是某些状态需要很长时间才能达到,如果最优值在这些状态时,计算时间势必很长[5]。可以说混沌优化具有全局搜索能力,其局部搜索能力稍显不足,文[5]采用二次载波技术,文[6]考虑逐渐缩小寻优变量的搜索空间都是为了弥补这一弱点。而本文则采用混沌搜索与BFGS方法进行优化求解,一方面采用混沌搜索帮助BFGS方法跳出局部最优,另一方面利用BFGS增强解附近的超线性收敛速度和搜索能力,以提高搜索最优的效率。
2 混沌-BFGS混合优化方法
2.1 BFGS方法
作为求解无约束最优化问题的拟牛顿方法类最有代表性的算法之一,BFGS方法处理凸非线性规划问题,以其完善的数学理论基础、采用不精确线性搜索时的超线性收敛性和处理实际问题有效性,受到人们的重视[7-9]。拟牛顿方法使用了二阶导数信息,但是并不直接计算函数的Hesse矩阵,而是采用一阶梯度信息来构造一系列的正定矩阵来逼近Hesse矩阵。BFGS方法求解无约束优化问题min()的主要步骤如下:
(1) 给变量赋初值x0,变量维数n和BFGS方法收敛精度ε,令B0=I(单位阵),k=0,计算在点x0的梯度g0。
(2) 取sk=-Bk-1gk,沿sk作一维搜索,确定最优步长αk,,得新点xk+1=xk+αksk,计算xk+1点的梯度gk+1。
(3) 若||gk+1||≤ε,则令,,BFGS搜索结束,转步骤3;否则执行(4)。
(4) 计算Bk+1:
(2)
(3)
(5) k=k+1,转(2)。
2.2 混沌优化方法
利用混沌搜索求解问题(1)时,先建立待求变量与混沌变量的一一对应关系,本文采用。然后,由Logistic映射式(4)产生个轨迹不同的混沌变量()进行优化搜索,式(4)中=4。已经证明,=4是“单片”混沌,在[0,1]之间历遍。
(4)
(1)给定最大混沌变量运动次数M;给赋初值,计算和;置,。
(2) 。
(3) 。
(4) 若k<M,
若,令,;
若,和保持不变;
然后令k=k+1,,转(2)。
若k>M,则,,混沌搜索结束。
2.3 混合优化方法
混沌方法和BFGS方法混合求解连续对象的全局极小值优化问题(1)的步骤如下:
step1 设置混沌搜索的最大次数M,迭代步数iter=0,变量赋初值x0,。
step2 以为始点BFGS搜索,得当前BFGS方法最优解及=。
step3 若,取=;若,取;若,取,是相对于,较小的数。
step 4 以为始点进行混沌搜索M次,得混沌搜索后的最优解及=。
step5 若<,iter=iter+1,,转step2;否则执行step6。
step6 改变混沌搜索轨迹,再次进行混沌搜索,即给加微小扰动,执行step 4,得搜索结果和。若<,iter=iter+1,,转step2;否则计算结束,输出、。
对全局极大值问题,max ,可以转化为求解全局极小问题min 。
混合算法中混沌搜索的作用是大范围宏观搜索,使得算法具有全局寻优性能。而BFGS搜索的作用是局部地、细致地进行优化搜索,处理的是小范围搜索问题和搜索加速问题。
3 算例
图 1 函数-特性示意图 图 2 函数特性示意图
采用如下两个非常复杂的、常用于测试遗传算法性能的函数测试本文算法:
函数称为Camel 函数,该函数有6个局部极小点(1.607105, 0.568651)、(-1.607105, -0.568651)、(1.703607, -0.796084)、(-1.703607, 0.796084)、(-0.0898,0.7126)和(0.0898,-0.7126),其中(-0.0898,0.7126)和(0.0898,-0.7126)为两个全局最小点,最小值为-1.031628。函数称为 Schaffer's函数,该函数有无数个极大值,其中只有(0,0)为全局最大点,最大值为1。此函数的最大峰值周围有一圈脊,它们的取值均为0.990283,因此很容易停留在此局部极大点。文献[10]采用该函数对该文提出的基于移动和人工选择的改进遗传算法(GAMAS)其性能进行了考察,运行50次,40%的情况下该函数的唯一全局最优点能够找到。而采用本文混合算法,由计算机内部随机函数自动随机生产100个不同的初始点,由这些初始点出发,一般混合算法迭代2-4次即能够收敛。M取不同数值时对函数、的计算结果分别如表1和表2所示,表中计算时间是指在奔腾133微机上计算时间。
由表2可见,当M=1500时,本文方法搜索到最优解的概率即达到40%,而此时计算量比文献[10]小。同样由混合算法的100个起始点,采用文献[5]的算法对函数优化计算100次,以作为收敛标准,混沌搜索50000次,计算结果为67次搜索到最优解,概率为67%,平均计算时间为1.2369s。而即使保证混合算法100次全收敛到最优解所花费的平均计算时间也只为0.2142s(表1),可见混合算法优于文献[5]的方法。
表1 M取不同数值时函数的计算结果
_____________________________________________________________________
M 搜索到全局最优点的次数 搜索到最优的概率 平均计算时间
(-0.0898,0.7126) (0.0898,-0.7126)
_____________________________________________________________________________________________
1000 44 39 83% 0.1214s
3000 53 45 98% 0.1955s
5000 53 47 100% 0.2142s
________________________________________________________________________________________________
表2 M取不同数值时函数的计算结果
___________________________________________________________
M 搜索到全局最优点的次数 搜索到最优的概率 平均计算时间
____________________________________________________________________________________
1500 40 40% 0.1406s
5000 73 73% 0.2505s
10000 88 88% 0.4197s
50000 100 100% 1.6856s
____________________________________________________________________________________
4 计算结果分析
由表1和表2可见,混合算法全局寻优能力随M的增加而增大,当M达到某一足够大的数值Mu后,搜索到全局最优的概率可以达到100%。
从理论上说,Mu趋向无穷大时,才能使混沌变量遍历所有状态,才能真正以概率1搜索到最优点。但是,本文混沌运动M次的作用是帮助BFGS方法跳出局部最优点,达到比当前局部最优函数值更小的另一局部最优附近的某一点处,并不是要混沌变量遍历所有状态。由混沌运动遍历特性可知,对于某一具体问题,Mu达到某一具体有限数值时,混沌变量的遍历性可以得到较好模拟,这一点是可以满足的,实际算例也证实了这一点。
由于函数性态、复杂性不同,对于不同函数,如这里的测试函数、,数值Mu的大小是有差别的。对于同一函数,搜索区间增大,在相同混沌运动次数下,即使始点相同,总体而言会降低其搜索到全局最优的概率,要保证算法仍然以概率1收敛到全局最优,必然引起Mu 增大。跟踪计算中间结果证实,当M足够大时,混合算法的确具有跳出局部最优点,继续向全局最优进行搜索的能力;并且混合算法的计算时间主要花费在为使混合算法具有全局搜索能力而进行混沌搜索上。
5 结语
利用混沌变量的运动特点进行优化,具有非常强的跳出局部最优解的能力,该方法与BFGS方法结合使用,在可以接受的计算量下能够计算得到问题的最优解。实际上,混沌优化可以和一般的下降类算法结合使用,并非局限于本文采用的BFGS方法。采用的Logistic映射产生混沌变量序列,只是产生混沌变量的有效方式之一。
混沌运动与随机运动是不同的。混沌是确定性系统中由于内禀随机性而产生的一种复杂的、貌似无规的运动。混沌并不是无序和紊乱,更像是没有周期的秩序。与随机运动相比较,混沌运动可以在各态历经的假设下,应用统计的数字特征来描述。并且,混沌运动不重复地经过同一状态,采用混沌变量进行优化比采用随机变量进行优化具有优势。
混沌优化与下降类方法结合使用是有潜力的一种全局优化途径,是求解具有变量界约束优化问题的可靠方法。如何进一步提高搜索效率,以及如何把混沌优化有效应用于复杂约束优化问题是值得进一步研究的课题。
本文算法全局收敛性的严格数学证明正在进行之中。
参考文献
[1]胡山鹰,陈丙珍,何小荣,沈静珠.非线性规划问题全局优化的模拟退火法[J].清华大学学报,37(6),1997,5-9.
[2]C A Floudas, A Aggarwal, A R Ciric. Global optimum search for nonconvex NLP and MINLP problems[J]. Comput Chem Engng. 1989, 13(10), 1117~1132.
[3]康立山,谢云,尤矢勇等.非数值并行算法(第一册)――模拟退火算法[M].北京:科学出版社,1998.
[4]刘勇,康立山,陈琉屏.非数值并行算法(第二册)――遗传算法[M].北京:科学出版社,1998.
[5]李兵,蒋慰孙.混沌优化方法及其应用[J].控制理论与应用,14(4),1997,613-615.
[6]张彤,王宏伟,王子才.变尺度混沌优化方法及其应用[J].控制与决策,14(3),1999,285-287.
[7]席少霖.非线性最优化方法[M].北京:高等教育出版社,1992.
[8]席少霖,赵凤志.最优化计算方法[M].上海:上海科学技术出版社,1983.
[9]Press W H, Tenkolsky S A, Vetterling W T, Flannery B P.Numerical Recipes in C, The Art of Scientific Computing[M]. Second edition, Cambridge University Press, 1992.
[10]J C Ports.The development and evaluation of an improved genetic algorithm based on migration and artificial selection[J].IEEE Trans. Syst. Man and Cybern..1994, 24(1),73-85.
A Hybrid Approach for Nonlinear Optimization
Abstract:Combined BFGS method with chaos optimization method, a hybrid approach was proposed to solve nonlinear optimization problems with boundary restraints of variables. The hybrid method is an effective approach to solve nonconvex optimization problems, as it given both attentions to the inherent virtue to locate global optimum of chaos optimization method and the advantage of high convergence speed of BFGS method. Numerical examples illustrate that the present method possesses both good capability to search global optima and far higher convergence speed than that of chaos optimization method.
Ⅷ 收集一些混沌粒子群或者自适应粒子群算法的源代码
我有一个从pudn上下的粒子群算法,你要的话给我发邮件:
[email protected]
不过我感觉这种算法没什么好的,你应该研究一下多智能体进化算法,很强的
Ⅸ 混沌粒子群算法求解动态优化问题的一般步骤是什么
混沌改进的粒子群算法如第五章所描述