所以说,编程本身是个很容易的事,人们真正在意的,是编程做出的软件的功能。能以最小的尺寸,最强的稳定性,最高的执行效率,满足用户的各类需求,这才是对所有程序员最大的考验。
所以接下来,就到了爱丽丝亲自检验,哈利的这份用三进制编写的遗传算法,比之二进制的老一套,都有什么区别了。
而在这个过程中,不管是爱丽丝还是其他旁观者,都要面临一个很有意思的问题——思维过程的转换。
正如所有还没精通某外语的人,在看外文时都要以本国语言脑补一样。
看着哈利的三进制代码,任何人都必须将其转换成二进制,才能取得更高的理解能力,就连哈利本人也不例外。
遗传算法首先要将运算对象,即变量转换成一系列字符串,并对群体进行进化操作,这里便需要给其淮备一些表示起始搜索点的初始群体数据。然后,它会用适用度计算,以个体适应度的大小来评定各个个体的优劣程度,从而决定其遗传机会的大小。最后再通过选择计算,把当前群体中适应度较高的个体按某种规则或模型,遗传到下一代群体中。
在这个过程当中,正如达尔文进化论的根本原则所述,算法还需要考虑到“新生”和“变异”问题。即交叉运算,以某一概率相互交换某两个个体之间的部分“染色体”,以实现新数据的诞生。同时还要以变异运算,对个体的某一个或某一些“元素”,按某一较小的概率进行改变,它也是产生新个体的一种操作方法。
正是这样的一系列计算原则,令遗传算法得以广泛应用于人工智能领域。诸如“您的常用软件”等“人性化”功能,其本质就是靠这种基于统计学的逻辑思维得出的,究其极限,自然也就能达到“真正的”人工智能的层次。
二进制的时代里,人们就对于“人工智能”是否会真的具备“智能”而讨论不休……
现在,哈利则靠着三进制编出来同一类算法……
爱丽丝一次次地用此算法做着各类计算。各种高数求解方程式令人眼花缭乱,不间歇地闪过屏幕,周围人默默地看着,虽然几乎都跟不上爱丽丝的速度,但却不妨碍他们得出一个共同的结论。
哈利好厉害的样子。
老大更牛逼。
“不简单啊,伙计。”
终于,在整整半小时后,爱丽丝放开键盘,惊喜说道:“逻辑结构完美无缺,和二进制状态下的遗传算法一模一样,你成功打破语言的限制了诶!”
这句话说得非常微妙。打破语言的限制,这是所有程序员们一直在做的努力,爱丽丝并未说哈利的算法究竟多么出色,只是单纯地表明,他成功地用三进制再现了同档次的二进制产品罢了。
哈利也马上琢磨出味了,但他当然不会有什么气馁的想法,而是想到了另一方面。
“遗传就意味着学习能力,而三进制和二进制最大的区别,也就在于它的思维方式更趋近于人类。老大,如果我们继续把这个算法钻研下去,是不是就真能把有智慧的电脑造出来?”
这个问题嘛……
确实是个问题。
关于智能电脑、智能机器人的构想和担忧,可不是直到《终结者二》和《黑客帝国》才出现的,《异形》的仿生人“主教”也不够古老。
《我,机器人》,美国作家艾萨克-阿西莫夫出版于1950年的科幻小说短篇集,收录9篇短篇小说,大多原载于1940年到1950年间的美国《超级科幻小说》杂志和《惊奇科幻小说》杂志。书中的短篇故事各自独立,却拥有共同的主题,即探讨人类与机器人间的道德问题。这些故事结合之后,开创出了阿西莫夫的机器人浩翰虚构历史。
事实上,爱丽丝早在几年前,都有在聚会里和阿西莫夫本人碰过一面……
“把你的算法拷贝我一份。
她对哈利道:“然后我去趟三层。”