遗传算法实例如何用C语言实现遗传算法的实际应用?

遗传算法实例  时间:2021-05-31  阅读:()

遗传算法求解?

遗传算法在很多领域都得到应用;从神经网络研究的角度上考虑,最关心的是遗传算法在神经网络的应用。

在遗传算法应用中,应先明确其特点和关键问题,才能对这种算法深入了解,灵活应用,以及进一步研究开发。

一、遗传算法的特点 1.遗传算法从问题解的中集开始嫂索,而不是从单个解开始。

这是遗传算法与传统优化算法的极大区别。

传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。

遗传算法从串集开始搜索,复盖面大,利于全局择优。

2.遗传算法求解时使用特定问题的信息极少,容易形成通用算法程序。

由于遗传算法使用适应值这一信息进行搜索,并不需要问题导数等与问题直接相关的信息。

遗传算法只需适应值和串编码等通用信息,故几乎可处理任何问题。

3.遗传算法有极强的容错能力 遗传算法的初始串集本身就带有大量与最优解甚远的信息;通过选择、交叉、变异操作能迅速排除与最优解相差极大的串;这是一个强烈的滤波过程;并且是一个并行滤波机制。

故而,遗传算法有很高的容错能力。

4.遗传算法中的选择、交叉和变异都是随机操作,而不是确定的精确规则。

这说明遗传算法是采用随机方法进行最优解搜索,选择体现了向最优解迫近,交叉体现了最优解的产生,变异体现了全局最优解的复盖。

5.遗传算法具有隐含的并行性 遗传算法的基础理论是图式定理。

它的有关内容如下: (1)图式(Schema)概念 一个基因串用符号集{0,1,*}表示,则称为一个因式;其中*可以是0或1。

例如:H=1x x 0 x x是一个图式。

(2)图式的阶和长度 图式中0和1的个数称为图式的阶,并用0(H)表示。

图式中第1位数字和最后位数字间的距离称为图式的长度,并用δ(H)表示。

对于图式H=1x x0x x,有0(H)=2,δ(H)=4。

(3)Holland图式定理 低阶,短长度的图式在群体遗传过程中将会按指数规律增加。

当群体的大小为n时,每代处理的图式数目为0(n3)。

遗传算法这种处理能力称为隐含并行性(Implicit Parallelism)。

它说明遗传算法其内在具有并行处理的特质。

二、遗传算法的应用关键 遗传算法在应用中最关键的问题有如下3个 1.串的编码方式 这本质是问题编码。

一般把问题的各种参数用二进制编码,构成子串;然后把子串拼接构成“染色体”串。

串长度及编码形式对算法收敛影响极大。

2.适应函数的确定 适应函数(fitness function)也称对象函数(object function),这是问题求解品质的测量函数;往往也称为问题的“环境”。

一般可以把问题的模型函数作为对象函数;但有时需要另行构造。

3.遗传算法自身参数设定 遗传算法自身参数有3个,即群体大小n、交叉概率Pc和变异概率Pm。

群体大小n太小时难以求出最优解,太大则增长收敛时间。

一般n=30-160。

交叉概率Pc太小时难以向前搜索,太大则容易破坏高适应值的结构。

一般取Pc=0.25-0.75。

变异概率Pm太小时难以产生新的基因结构,太大使遗传算法成了单纯的随机搜索。

一般取Pm=0.01—0.2。

三、遗传算法在神经网络中的应用 遗传算法在神经网络中的应用主要反映在3个方面:网络的学习,网络的结构设计,网络的分析。

1.遗传算法在网络学习中的应用 在神经网络中,遗传算法可用于网络的学习。

这时,它在两个方面起作用 (1)学习规则的优化 用遗传算法对神经网络学习规则实现自动优化,从而提高学习速率。

(2)网络权系数的优化 用遗传算法的全局优化及隐含并行性的特点提高权系数优化速度。

2.遗传算法在网络设计中的应用 用遗传算法设计一个优秀的神经网络结构,首先是要解决网络结构的编码问题;然后才能以选择、交叉、变异操作得出最优结构。

编码方法主要有下列3种: (1)直接编码法 这是把神经网络结构直接用二进制串表示,在遗传算法中,“染色体”实质上和神经网络是一种映射关系。

通过对“染色体”的优化就实现了对网络的优化。

(2)参数化编码法 参数化编码采用的编码较为抽象,编码包括网络层数、每层神经元数、各层互连方式等信息。

一般对进化后的优化“染色体”进行分析,然后产生网络的结构。

(3)繁衍生长法 这种方法不是在“染色体”中直接编码神经网络的结构,而是把一些简单的生长语法规则编码入“染色体”中;然后,由遗传算法对这些生长语法规则不断进行改变,最后生成适合所解的问题的神经网络。

这种方法与自然界生物地生长进化相一致。

3.遗传算法在网络分析中的应用 遗传算法可用于分析神经网络。

神经网络由于有分布存储等特点,一般难以从其拓扑结构直接理解其功能。

遗传算法可对神经网络进行功能分析,性质分析,状态分析。

遗传算法虽然可以在多种领域都有实际应用,并且也展示了它潜力和宽广前景;但是,遗传算法还有大量的问题需要研究,目前也还有各种不足。

首先,在变量多,取值范围大或无给定范围时,收敛速度下降;其次,可找到最优解附近,但无法精确确定最扰解位置;最后,遗传算法的参数选择尚未有定量方法。

对遗传算法,还需要进一步研究其数学基础理论;还需要在理论上证明它与其它优化技术的优劣及原因;还需研究硬件化的遗传算法;以及遗传算法的通用编程和形式等。

如何通俗易懂地解释遗传算法?有什么例子

相信遗传算法的官方定义你已经看过,就我个人理解 遗传算法的思想是物竞天择,优胜劣汰。

你可以理解为,当我们解某道数学题时,如果这个题太难我们没法列公式算出正确答案,我们有时候也可以蒙答案去反过来看看是否满足这道题提干的要求,如果能满足,说明我们蒙的答案是正确的。

但是蒙对答案要试很多遍,每次随机的去试数可能要试1000次才能蒙对。

可是遗传算法可以让我们科学的去蒙答案,每次蒙的答案都会比上一次蒙的更接近正确答案,这样可能蒙十几次我们就找到正确答案了。

希望我的回答对你理解GA有所帮助,望采纳

如何用C语言实现遗传算法的实际应用?

具体问题具体对待,关键看你用遗传算法实现什么问题,不同的问题程序不一样,但大的框架差不多都,种群初始化,参数设置,交叉算子、变异算子、选择算子,适应度函数设计。

建议用数组实现,最好先大概用文字写出遗传整体结构,再实际编程 我刚做过,如果只是学习的用而不是现实工程项目,不难,

特网云-新上线香港五区补货资源充足限时抢 虚拟主机6折,低至38元!

官方网站:点击访问特网云官网活动方案:===========================香港云限时购==============================支持Linux和Windows操作系统,配置都是可以自选的,非常的灵活,宽带充足新老客户活动期间新购活动款产品都可以享受续费折扣(只限在活动期间购买活动款产品才可享受续费折扣 优惠码:AADE01),购买折扣与续费折扣不叠加,都是在原价...

DMIT$10.9/月,日本VPS/三网直连/1核1.5G内存/20GB存储/1Gbps端口

优惠码年付一次性5折优惠码:TYO-Lite-Open-Beta-1y-50OFF永久8折优惠码:TYO-Lite-Open-Beta-Recur-20OFF日本vpsCPU内存SSD流量带宽价格购买1核1.5G20 GB4 TB1Gbps$10.9/月购买2核2 G40 GB6 TB1Gbps$16.9/月购买2核4 G60 GB8 TB1Gbps$21.9/月购买4核4 G80 GB12 TB...

Fiberia.io:$2.9/月KVM-4GB/50GB/2TB/荷兰机房

Fiberia.io是个新站,跟ViridWeb.com同一家公司的,主要提供基于KVM架构的VPS主机,数据中心在荷兰Dronten。商家的主机价格不算贵,比如4GB内存套餐每月2.9美元起,采用SSD硬盘,1Gbps网络端口,提供IPv4+IPv6,支持PayPal付款,有7天退款承诺,感兴趣的可以试一试,年付有优惠但建议月付为宜。下面列出几款主机配置信息。CPU:1core内存:4GB硬盘:...

遗传算法实例为你推荐
orphanremoval大家知道orphan这个单词除了孤儿还有什么意思吗?vga接口定义vga线有几种自定义表情qq自定义表情asp大马黑帽seo的webshell中,什么是大马和小马assemblyinfoCSE和CS有什么区别天翼校园宽带天翼校园宽带 是怎么算时间的 一个月 是指从办理那天开始 往后 30天是一个月吗 还是 办理的那天所在的那个谷歌图片识别如何打开PICASA头像识别功能?labelforhtml中label是什么意思啊?kjavaKJAVA业务信息费是什么东西啊,我怎么会被莫莫名其妙的扣掉11元啊kjavaJava与KJava有什么区别吗.?
域名交易 fc2最新域名 已备案未注册域名 中文域名申请 如何查询域名备案号 重庆服务器托管 双11抢红包攻略 win8升级win10正式版 debian源 长沙服务器 52测评网 softbank邮箱 cdn加速原理 阿里校园 流媒体加速 申请免费空间和域名 美国独立日 腾讯总部在哪 空间购买 网站加速软件 更多