小弟冒昧回复此帖,只是因为我对人工智能很敢兴趣,可惜的是自己的水平太差,
望大家别笑话。
首先,我想说的,和creation-zy大虾在前面的帖子中谈到的相同,那就是所谓
人工智能应该是能够让电脑自己拥有学习推理判断的能力,而不是简单的由程序员
输入逻辑然后让电脑穷举。我觉得这样的人工智能不能依赖现有的操作系统完成,
也不能依赖现有编程工具的编译器完成。在我感觉,似乎应该让电脑自己“进化”!
我们都知道,目前的应用程序都建立在某个操作系统之上(如Windows,Unix,OS等),
而应用程序本身却是由各类编译软件编写的,这些操作系统和编译器的性能直接影响
了生成的人工智能程序的性能。因为,这些东西并不是尽善尽美的,也不是毫无漏洞的,
就把操作系统和编译器比作人工智能程序生存的环境的话,那么这个环境并不是一个无
懈可击的、完美的环境。当然,我们生活的世界也不是完美的,但它是从千百万年的进化
中形成的,而且这种进化的抉择不是由任何主观因素左右的,而是由多种平衡所造就的。
但是我们现在的操作系统却不是这样,它有点象一个人工“世界”,它的存在以及表现
方式都因人为主观因素左右,并且随着操作系统的版本不同,制作公司的不同,而差异
巨大,还有它本身还是电脑软件和硬件访问的桥梁,在某种意义上,它阻断了人工智能
程序和电脑硬件的直接打交道的方式。这样说吧,如果一个大脑需要控制一条手臂移动,
它只要通过神经元向手臂肌肉发送电脉冲,手臂就会做出相应的反应,但手臂的移动是否
符合大脑的要求,这需要一段时间的学习和经验总结,就好比刚出生的婴儿,慢慢才能
学会控制身体的每一个部分。但现在的操作系统就好像是大脑(人工智能)与手臂(电脑
硬件)之间的一个“解释器”,它负责将大脑的直接电脉冲转换成驱动手臂的具体命令(
有点象电脑现在的驱动程序),显然,大脑不能直接和自己的身体通信,那么负责转换
的操作系统的实现方法就直接影响到大脑的智能程度,而且由于操作系统以及驱动程序
是非智能的,它们将直接影响大脑调整和学习控制身体,从而影响到大脑的进化。编译器也
有类似的问题,因为编译器生成的代码就好像是定义了大脑的思维模式,这些都对大脑将来
的思考和进化产生束缚作用。我觉得人工智能程序应该具备自我“编译”自我的能力。因为
任何事先编译好的指令都是固定的,无法改变的(至少人工智能程序自己无法改变),那么
这样怎能实现学习的总结经验呢?当然,我们可以尽量建立反应客观规律的数
学模型并编译到程序中,但这个
选择模型和建立模型的工作是有人工完成的,那么难免会有疏忽遗漏。而且因为疏忽和遗漏,
将来需要更新的时候,可能会使得人工智能程序已经学习到的知识必须推倒并从头再开始学习。
还有,就算我们把所有的客观规规律数学模型全部建立起来了,这样就好像一个
刚出生的孩子,我们在他出生以前,就已经将什么物理学、化学、生物学、数学等基本理论
“写”到孩子脑子里了,那他出生后还有必要学习吗?因此,我想是不是可以让人工智能
程序自己去学习并建立反应客观规律的数学模型,即使他它无法完全建立正确的模型,
我们也可以从旁指导(好比把这个人工智能程序当作小孩,我们是他的老师),由他自己学习
并自己通过编译可以被CPU识别的二进制模型代码来完成学习和进化。
这又需要人工智能程序能够自己控制CPU,自己决定如何操纵CPU思考(好像我们的意识就是
这个智能程序,而大脑就是CPU。而且,从人本身的角度看,我们也不是一出生就完全
会使用大脑的,也是通过学习慢慢学会的)。我说的自己操纵CPU思考包括人工智能程序能够
自己决定使用指针、整数、枚举、集合等等的数据结构,甚至到某个程度时,它自己能够发明
我们不了解(至少现在还不知道不存在)的数据结构,当然,它也必须能够决定怎样使用CPU
指令。这就是为什么我说人工智能程序需要脱离现有的操作系统和编译器环境。
照这个思路,我想,人工智能程序只要实现下面几个基本功能就行了。那就是:发现问题、尝试、
做出决定、判断所作决定是否正确(或者说判断是否有比决定的方法更加有效的方法解决问题)。
而其它的比如如何思考,如何理解A>B这样的事情,都应该是人工智能程序通过学习和实践完成
的,更加复杂的知识积累,需要靠人工智能程序的自我编译自我完善来不断进化的。
上面的想法是我很早以前在打算写有关人工智能的科幻故事时想象的,我想可能太脱离现实了,
说出来让大家见笑了。