什么叫遗传算法,遗传算法有什么用?希望通俗一点儿
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/30 01:40:49
xURVxP5oI> Elfv[e6 I%j/䴮$帼ӭ݃7'oqr- $O=Al=Q!Ώ sk6-vvge/RA?<#JvWr
t؎]<5i^yDZmdaI<"dD0hsr!wީ'(""9{ymEM챡#/PӂSܷЃw*s( }Y.*,˫C!4YlZo P\>m%5<#'L9Y}?
M\;an\
N15ر[X
6z
0Aj UQ1ߐFhrUGA͆lrƇEFi <RoSx/}8T|/ZEyk(
daV3)5Q3*jŝyk0@Z<ѤO_jT=۷hlLB4~dX(S=j+QKg^A%E"dd@G_ZSgj~z(Zdlzo`|9-rrپA53vNy9pѓ#Wuܺ-.п+=XIA3B]^P^
Ӭz s8uY 닡ymtx{1|y
什么叫遗传算法,遗传算法有什么用?希望通俗一点儿
什么叫遗传算法,遗传算法有什么用?希望通俗一点儿
什么叫遗传算法,遗传算法有什么用?希望通俗一点儿
首先有个很神奇的现象:人类以及动物的进化都是朝着好的方向发展,虽然有的往坏的方向发展了,但是总体肯定是往好的方向发展.这看似不奇怪,但是我们知道,人类的基因组合是随机的,没有上帝约束.这种随机过程的结果却是一致的!我们的遗传算法就是从这里得到启发!比如我要求y=x1+x2的最大值,两个变量,我不用传统的数学方法,就用幼儿园的方法,把所有可能取值带进去算,然后找出最大的就行了!但是,有时候取值是连续的,没关系!使其离散化,就像把模拟信号化成数字信号一样!还有个问题,如果取值太多咋办?这就是遗传算法的精髓!
首先,我不用取所有可能取值,我只取几十个或者几百个(自己定),然后进行处理,怎样处理呢?让我们回到刚开始的人类进化问题,虽然没有上帝的帮忙,但是我们知道,自然界遵循优胜劣汰的发贼,遵循交叉变异的法则,虽然不能数字化,但是这是个趋势!我们就是把这种法则数学化!所取的几十个值我要剩下哪些?要抛弃哪些?要处理哪些?这都要我们自己选择,肯定是选择最合适的取值留下,经过一系列的处理,就生成了新的群体,然后再处理,自己约定处理到第几次就可以了,取出现过的最大值
不用担心取到的是不是最大值,因为数学上已经有了证明,这种方法是收敛的,概率是1,所以尽管放心的做,具体的做法要参考相关书籍,不难的.
遗传算法的最大用处就是解决数学理论不能解决的问题!比如路径规划,调度问题……