哈利当然是一脸谦虚:“侥幸而已,我只是抱着试试看的念头而已,根本没想到自己会成功。而且老大你才是真正牛逼的,一眼就看出我在写什么了。”
“哈利是有女友的人啊!”高瘦的约翰在一旁笑道:“你们俩肯定是要结婚了吧?不然怎么会想到要遗传方面呢?”
“就是就是!达尔文进化论啊!哈利想当父亲啦!”
周围人当然在不亦乐乎地欢呼着,别看这套算法不是他们自己的成就,但谁能不乐意见证领域突破呢?
实践证明,用三进制的手段编写程序,和二进制时代的区别真的非常巨大。虽然“只是”一个遗传算法而已,但在如今这个三进制的开荒时期用它编出来,其意义简直不比这个算法本身的诞生要差。
要知道,算法这类东西,真的和单纯的做数学题截然不同,它考验的不仅是编程者的基础知识,更在于他的思维方式。毕竟任何算法归根结底,都是为了解决某一种需求。
这也正是为何,当谷歌、微软等公司彻底兴起后,面试题总是出得那么古怪了——考验的不是编程能力,而就是思维方式。
不可为外人道也,爱丽丝马上就能想起个关于算法应用的影视例子。
美剧《我是僵尸》中,僵尸的发色和肤色都会变得非常苍白,并在喜爱吃人脑的同时,对辣椒酱有着无法抵御的喜爱——除此两样,他们吃什么都味同爵蜡。
所以,那家不小心制造了这些僵尸的“运动饮料”公司,就专门编写了一个算法,用于辨别西雅图究竟有多少僵尸——靠追踪信用卡消费记录,即染发、日光浴、辣椒酱类产品,统计他们的购买次数和频率。
所以说,编程本身是个很容易的事,人们真正在意的,是编程做出的软件的功能。能以最小的尺寸,最强的稳定性,最高的执行效率,满足用户的各类需求,这才是对所有程序员最大的考验。
所以接下来,就到了爱丽丝亲自检验,哈利的这份用三进制编写的遗传算法,比之二进制的老一套,都有什么区别了。
而在这个过程中,不管是爱丽丝还是其他旁观者,都要面临一个很有意思的问题——思维过程的转换。
正如所有还没精通某外语的人,在看外文时都要以本国语言脑补一样。
看着哈利的三进制代码,任何人都必须将其转换成二进制,才能取得更高的理解能力,就连哈利本人也不例外。
遗传算法首先要将运算对象,即变量转换成一系列字符串,并对群体进行进化操作,这里便需要给其淮备一些表示起始搜索点的初始群体数据。然后,它会用适用度计算,以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小。最后再通过选择计算,把当前群体中适应度较高的个体按某种规则或模型,遗传到下一代群体中。
本章节尚未完结,共3页当前第2页,请点击下一页继续阅读------>>>