沈教授点点头道:“嗯小程序体积不大代码估计也不长用汇编是最好的选择。这个问题算是基本有了解决方法接下来说说母程序的编写。”
母程序在整个理论中也占据了很重要的位置刚开始的智能就是靠母程序来产生也就是说要完成一个智能从无到有的过程听上去好像有点天方夜谭但自然界的规律告诉我们这并不是没有可能许毅在这方面也已经有了初步的构想。
许毅稍微整理了一下自己的思路接着回答道:“先是基本程序块的组合将若干个可以成功运行的小程序块随机组合成一个较大的程序从而完成某种特定的功能。这种组合是随机的并没有任何人工干涉。”
沈教授点了点头示意他继续说下去。
“由于组合的随机性所组合而成的较大程序所能完成的功能也是不确定的也就是说我们并不能预知、也不能控制这些程序的具体功能。或许这种随机组合而成的较大程序根本不能完成某种特定的功能只是毫无意义的代码体更别谈智能了但这并没有关系因为这是自编程序的第一步。”
“第二步要做的就是将这些程序全部记录下来将其组合方式完全记录进数据库我把这一类程序叫做样品程序。”说着许毅拿起书桌上的笔和纸开始画了起来边画边讲解。
“第三步将样品程序拿去执行。并且由第三方来监视执行结果。这里的第三方可以是人也可以是系统自身他们各有优缺点。由人来完成监视功能比较简单但是自动化程序较差而由系统自身监视自动化程序高但相应的系统的结构会变得非常复杂。我将这第三方成为监督机构。”
“通过监视的结果我们可以现那些样品程序有的可以执行成功有的则执行失败我们把那些能够成功执行的样品程序保存下来成为最后的‘经验程序’。而那些失败的样品程序也保存下来成为‘负经验程序’……在以后的重复循环过程中将新形成的样品程序和负经验程序相比较这样就可以先将已经出现的负经验程序剔除……”
说到这里沈教授也就完全明白了许毅所构想的“母程序”上述过程其实就是母程序所要完成的功能总共分为五步如果最后执行不成功就返回第一步重新循环直到找出一种成功的随机组合连接之后的经验程序。而且这个母程序同时完成了自编程序的编写和调试工作。上述过程的核心操作是随机组合连接所以完全不需要有智能的参与就可以编写新的程序来。从而实现了从无到有的过程!完成了这一步以后就完全有可能由无智能状态产生智能。这些最初的经验程序是产生智能的基本系统程序更高层次的智能操作都可以由这个无智能的自编程序系统编写出来。
许毅说完之后两人之间有了一段短暂的沉默。沈教授皱折眉头沉吟不语考虑着许毅刚才话。事实上沈教授现在才现他还是低估了许毅的能力从刚才的谈话来看他的类人智能现在已经快接近最底层了很快他就可以将理论付诸实践用实践来检验其正确性。具体结果如何?沈教授很清楚结果的不同将产生天差地别的巨大反差一旦这个理论能够行得通那……
良久沈教授终于开口了他依然是提问:“用这个方法来产生一个新的程序需要在大量随机组合连接中通过试运行样品程序从而选择出能够成功运行的经验程序其产生度未免太慢了可以预料到负经验程序将大大多于经验程序这个比例将相当巨大。”
许毅笑笑一副早就预料到的样子:“是的这个问题我也考虑到了。整个类人智能系统的全部智能程序都靠这种方式来编写显然是不现实的度太慢。不过我们可能通过其他方式来实现自编程序。沈伯伯那些已经产生了一定智能的程序可不能浪费了。”
经过许毅这么一提醒沈教授也立即想到了他一拍额头说道:“我把这个给忘了!对可以利用已经产生的智能程序来产生更高一级别的智能!”
“是的我把这个过程叫做学习过程。”
“呵呵干得不错!”沈立文拍拍许毅的肩膀夸奖道接着他又想到一个非常重要的问题于是问题:“你知道什么叫组合爆炸吗?”
许毅点点头组合爆炸他自然知道这是计算机理论中流传的一种说法这种情况是说组合会引起组合出来的东西无限增加通常是指数级别的到最后将会导致组合成为计算机无法随的操作。许毅的母程序理论就用到了组合组合不爆炸问题在他的考虑范围之内。
“组合的确会产生很多无意义的结果从而产生组合爆炸但是可以通过一些必要的措施来防止这个过程例如我前面所说的负经验程序。另外还有一些方法具体细节需要进一步完善……”
时间悄悄在一老一少的一问一答中流逝。
“小毅虽然现在这个理论看上去好像已经接近成功但这仅仅是停留在理论上现在需要的是实践希望你能继续沉心研究下去真正做出东西来!”
能够得到沈教授的认可许毅心中非常高兴很认真地点头答应。接下来许毅开始向沈教授请教自己在学习和研究中所碰到的一些问题最主要的是他在沈教授的那些书籍的时候所留下来的疑问。两个人讨论得不亦乐乎在有不同看法的时候往往争论得面红耳赤最后谁也说服不了谁只好将那个问题暂时放下以后再进一步研究。
很快到了晚饭时间沈教授留许毅吃饭还说沈柔早就想见见他许毅欣然答应毕竟他也很想见见se1ina。