遗传算法的源代码,可自己进行修改封装成工具箱
上传时间: 2013-12-24
上传用户:woshiayin
压缩包的内容包括:1.有关JPEG和DPCM算法的文章;2.实现其算法的压缩程序3.有关图像压缩方面的资料。读者请注意: <1>这里讨论的是灰度图像的压缩不涉及彩色图像。 <2>实现压缩时,输入的图像数据采用一种自定义的格式(com 格式),前四个字节记录图像的宽度和高度,之后就是逐 行的图像数据,图像的开头和结尾没有任何标记。这种格式的图像数据是从BMP图像中得到的。 <3>这里没有JPEG算法的解压程序,压缩后的数据存成标准的JPEG文件格式,任何视图软件都可以打开。DPCM方法中的解 压缩程序将数据仍然存成com格式,可以将其转成PGM格式观看,压缩包中由com转为PGM格式的程序。
上传时间: 2014-01-15
上传用户:qq21508895
MD5的全称是Message-digest Algorithm 5(信息-摘要算法),用于确保信息传输完整一致。在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc,的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。
标签: Message-digest Algorithm MD5 算法
上传时间: 2013-12-16
上传用户:wff
① 设计和实现基于哈夫曼算法的编码和译码功能,系统功能包括:产生哈夫曼编码,输入电文进行编码生成码文,将码文译成电文,对输入电文和译文作对比等。
上传时间: 2017-09-16
上传用户:源弋弋
遗传算法为群体优化算法,也就是从多个初始解开始进行优化,每个解称为一个染色体,各染色体之间通过竞争、合作、单独变异,不断进化。 优化时先要将实际问题转换到遗传空间,就是把实际问题的解用染色体表示,称为编码,反过程为解码,因为优化后要进行评价,所以要返回问题空间,故要进行解码。SGA采用二进制编码,染色体就是二进制位串,每一位可称为一个基因;解码时应注意将染色体解码到问题可行域内。 遗传算法模拟“适者生存,优胜劣汰”的进化机制,染色体适应生存环境的能力用适应度函数衡量。对于优化问题,适应度函数由目标函数变换而来。一般遗传算法求解最大值问题,如果是最小值问题,则通过取倒数或者加负号处理。SGA要求适应度函数>0,对于<0的问题,要通过加一个足够大的正数来解决。这样,适应度函数值大的染色体生存能力强。 遗传算法有三个进化算子:选择(复制)、交叉和变异。 SGA中,选择采用轮盘赌方法,也就是将染色体分布在一个圆盘上,每个染色体占据一定的扇形区域,扇形区域的面积大小和染色体的适应度大小成正比。如果轮盘中心装一个可以转动的指针的话,旋转指针,指针停下来时会指向某一个区域,则该区域对应的染色体被选中。显然适应度高的染色体由于所占的扇形区域大,因此被选中的几率高,可能被选中多次,而适应度低的可能一次也选不中,从而被淘汰。算法实现时采用随机数方法,先将每个染色体的适应度除以所有染色体适应度的和,再累加,使他们根据适应度的大小分布于0-1之间,适应度大的占的区域大,然后随机生成一个0-1之间的随机数,随机数落到哪个区域,对应的染色体就被选中。重复操作,选出群体规模规定数目的染色体。这个操作就是“优胜劣汰,适者生存”,但没有产生新个体。 交叉模拟有性繁殖,由两个染色体共同作用产生后代,SGA采用单点交叉。由于SGA为二进制编码,所以染色体为二进制位串,随机生成一个小于位串长度的随机整数,交换两个染色体该点后的那部分位串。参与交叉的染色体是轮盘赌选出来的个体,并且还要根据选择概率来确定是否进行交叉(生成0-1之间随机数,看随机数是否小于规定的交叉概率),否则直接进入变异操作。这个操作是产生新个体的主要方法,不过基因都来自父辈个体。 变异采用位点变异,对于二进制位串,0变为1,1变为0就是变异。采用概率确定变异位,对每一位生成一个0-1之间的随机数,看是否小于规定的变异概率,小于的变异,否则保持原状。这个操作能够使个体不同于父辈而具有自己独立的特征基因,主要用于跳出局部极值。 遗传算法认为生物由低级到高级进化,后代比前一代强,但实际操作中可能有退化现象,所以采用最佳个体保留法,也就是曾经出现的最好个体,一定要保证生存下来,使后代至少不差于前一代。大致有两种类型,一种是把出现的最优个体单独保存,最后输出,不影响原来的进化过程;一种是将最优个体保存入子群,也进行选择、交叉、变异,这样能充分利用模式,但也可能导致过早收敛。 由于是基本遗传算法,所以优化能力一般,解决简单问题尚可,高维、复杂问题就需要进行改进了。 下面为代码。函数最大值为3905.9262,此时两个参数均为-2.0480,有时会出现局部极值,此时一个参数为-2.0480,一个为2.0480。算法中变异概率pm=0.05,交叉概率pc=0.8。如果不采用最优模式保留,结果会更丰富些,也就是算法最后不一定收敛于极值点,当然局部收敛现象也会有所减少,但最终寻得的解不一定是本次执行中曾找到过的最好解。
标签: 遗传算法
上传时间: 2015-06-04
上传用户:芃溱溱123
音频压缩算法,将16位的音频数据压缩成4位,大大减轻传输负担
标签: ADPCM F103 STM 103 32F 32 xx 高容 微控制器 算法
上传时间: 2018-11-28
上传用户:nahaotian
设有n=2k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:⑴每个选手必须与其他n-1个选手各赛一次;⑵每个选手一天只能赛一次;⑶循环赛一共进行n-1天。按此要求可将比赛日程表设计-成有n行和n-l列的一个表。在表中第i行和第j列处填入第i个选手在第j天所遇到的选手。用分治法编写为该循环赛设计一张比赛日程表的算法并运行实现、对复杂度进行分析。
上传时间: 2019-06-04
上传用户:594551562
王成元老师的现代电机控制,对于学习电机控制的同学来说很有帮助,里面讲了很多电机控制算法和模型。
标签: 电机控制
上传时间: 2022-03-21
上传用户:
前言说明控制的方法远远不止PID这一招,在许多场合也未必是最佳的控制算法。对于学习能力较好的师弟也可以再去寻求一种更优秀的控制算法。PID的分类多如牛毛,例如:模糊PlD、数字PID、神经元PID等等。另外,本文档是参考几十个PID相关文档资料整合而成。由于个人能力等原因,从策划、编辑、排版等花了一个多月的时间才完成此次PlD法的整合。为了更有针对性和有效性,本文档主要讲解数字PID及其变种(改进式PID):位置式和增量式。以及这两种PID的C语言编程实现、参数的调整确定和PID控制的应用。我们为什么要用PID岸法呢?原国很商单:其一,PlD是一种比较成熟的控制算法,而且还有许多基于PID的变种算法(简称改进式PID)。其二,资杜多,学习难度路低,入门快。其三,多届师兄实践过,感觉效果还不错!但每年资料成指数增长,从上届师兄那搭贝了好几G资料,进PID控制的文档可以夸张的说跟天上的“星星”一样,看了之后眼花缭乱,而且有很多重复的。为了让更多人能快速上手使用PID控制算法,结合个人经验和相关文档将它浓缩如下:
标签: pid算法
上传时间: 2022-07-01
上传用户:
matlab数学建模算法全收录 超清书签版
上传时间: 2013-05-15
上传用户:eeworm