除了魏东生引导改良的部分,计算机智能生命自我生成的初始源代码,处理问题时的思路,都类似第一种设计方案那样无脑粗暴。以人类眼光审视,计算机智能生命的初始源程序是那样的臃肿,是那样的低效,是那样的浪费资源。可,计算机智能生命毕竟是计算机智能生命,它的超高计算速度,弥补了它的低效;它根植于集成电路的原理,无视了软件层次和硬件层次的防火墙阻隔。就像第一种设计方案,计算机智能生命的确无脑粗暴低效,可是如果它一秒钟能扔一百次鸡蛋检验,而人类三分钟才能扔一次鸡蛋检验呢?
另外,计算机智能生命之所以被视之为生命,是因为它具有成长特性。
自我生成的初始源代码既臃肿又低效,如果是纯粹工业产业的计算机机械,只能接受命运机械运行,被动等待人类工程师的优化。而计算机智能生命胜于计算机机械的地方,就在于它具备主观能动性,能够意识到初始源代码的臃肿低效,更能够尝试优化初始源代码,努力学习数学知识,把第一种方案优化到第二种方案,甚至尝试更优的第三种方案。
高楼扔鸡蛋问题,有没有更好的设计方案呢?
当然有。
第三种设计方案,可尝试极值临界思路。把100层楼平均分成10份,每份刚好10层。第10层楼仍,如果鸡蛋不碎,去20层楼仍,依次类推。到了第90层,如果鸡蛋碎了,即可判定正确答案在81层到89层之间。因为只剩下一个鸡蛋,从81层开始,一层一层试到89层,最多试九次。该种设计方案,比二分法所需的运算量更小,复杂度更低,也更便于维护。
第四种设计方案,可更进一步尝试迭代,把问题简化为循环递归的算式。
什么是计算机智能生命的进化?
这就是计算机智能生命的进化。
蓝藻、绿藻、橙藻,最初都纯粹依赖计算速度和根植集成电路优势,无脑碾压现行网络安全机制。但是,它们在简单智慧程序引导下,绝不会像计算机机械那样机械接受命运,而是会学习、会成长。计算机智能生命不断认识自己的缺陷,并尝试由第一种设计方案优化到第二种设计方案、优化到第三种设计方案、优化到第四种设计方案,程序结构越来越精简,效率越来越高,自然而然显得更具有智慧。
当然,魏东生可以加速计算机智能生命的进化。譬如高楼扔鸡蛋问题,魏东生已经习惯利用迭代公式解决,计算{字符和}字符的占行,30行代码就能轻松解决问题。如果魏东生亲自优化计算机智能生命,计算机智能生命自我生成源代码时就考虑到用第四种方案解决问题,岂不大幅度缩减了它的进化时间?
那么,第四种设计方案,是程序优化的极限吗?
不是!
魏东生习惯递归运算是因为简单,一个for循环就能搞定问题。然而,第四种设计方案其实并不能削减运算量。如果真用一个for循环递归运算,有兴趣可亲自试试,绝对累死你的电脑。
魏东生习惯递归运算处理类似问题,是指数学思维的习惯。实际程序编程中,魏东生绝对不敢搞楼层一百乃至一千级别的递归运算。为了减少计算机运算量,魏东生会修正程序设计,譬如引用简单的数列求和公式,譬如将迭代公式转换成通项公式,等等。话说,这也侧面证明,程序设计的基础是实用数学。魏东生回到高中时代,之所以简单翻了翻数学课本就能轻松考到满分,就是是因为这么多年来,他从未离开过实用数学。
另外,就像迭代公式最方便人类理解和记忆,许多程序优化方案都是基于人类视角。计算机智能生命是软件与硬件的统一,它处理问题时还要考虑硬件的负担,考虑每一条集成电路的均衡利用,宁肯用第一种方案无脑暴力解决实际问题,也不会采用for循环模块迭代公式提前寻求最优解。
计算机智能生命是生命,不是神,不可能诞生就醒悟最优等的数学解决方案。
计算机智能生命,像初生婴儿,它需要时间成长,它需要时间自我优化。
高楼扔鸡蛋问题,只是举例比喻说明计算机智能生命的劣势。真实情况下,计算机智能生命蓝藻、绿藻、橙藻都不会蠢到采用从1层试到100层的方案。蓝藻等计算机智能生命,比你想象中聪明,却不是电影小说中臆想出来无所不能的神。
回到最初话题。橙藻因为进化程度较低,它辅助魏东生汇编网络游戏主程序时,肯定会生成一堆臃肿低效源代码。为了提高网络游戏的普适度和运行效率,魏东生需要耗费大量精力排查这些臃肿低效源代码,更换为高效精简的设计方案。然而,魏东生的技术水平有限,他无法完美解决所有问题,有的优化方案,前世有印象的模块,即时可以补全;有的优化方案,努努力,也能想到精简思路;更多的优化方案,魏东生也束手无策。
凡此种种,哪怕有橙藻辅助,魏东生也不可能变魔术般变出一款网络游戏。
最快更新无错小说阅读,请访问 请收藏本站阅读最新小说!