我关于人工智能的思考始于大学初期,那时我想写一个博弈程序——在几个星期后,一个可以和人对弈的五子棋程序完成了。不过,就在完成这个程序不久,我就发现——这种博弈程序除了娱乐以外,几乎没有任何用处——因为它不能学习,也不能解决任何下棋之外的其它有趣的问题。也就是说,这个博弈程序远远算不上一个真正意义上的“智能程序”。
那么,什么样的程序才算得上“智能”呢?怎样才能写出具有“智能”的程序?在得出结论之前,让我们先看看以前提出的几个具有代表性的问题:
问题1.原子命题的分解
已知事实: 数学不等式由左、中、右三个部分组成,其中左、右两个部分均为数学表达式,中间是关系符号(即 >、<、= 三者之中的任何一个)。
原子命题: x>0
分解过程:
1.这是一个数学不等式
2.这个不等式的左、中、右三个部分分别为:x、>、0
在能够成功的分解这个原子命题的基础上,程序应该可以对下面这几条规则进行“归纳”处理:
( ( A > B ) and ( C > D ) ) ==> ( A+B > C+D )
( ( A < B ) and ( C < D ) ) ==> ( A+B < C+D )
( ( A = B ) and ( C = D ) ) ==> ( A+B = C+D )
问题2.模仿的实现
环境:总共两个主体,其中一个是由人完全控制的(包括所有属性和动作),另一个就是我们制造的人工智能体。在这个环境中,前一个主体的任务是当老师,它的任务是表现出状态的变化以及作出动作,让人工智能体进行模仿学习。而人工智能体要做的是:能够“感受”这个“老师”,包括它的状态以及它发出的动作等。
在一个学习的例子中,智能体的学习过程如下:
环境: A,B 共两个个主体,其中A的所有状态、动作都 受人控制;B是人工智能体,有自控能力
主体的属性: happy: 愉快程度 hungry: 饥饿程度
初始状态: 两者的happy和hungry属性均为0
经过一段时间后: A的hungry上升为0.7,happy下降为-0.3 (人为操纵)
随后: A发出动作get food,获得了一个物品。 A发出动作eat food,物品food同时消失。
一段时间后: A的hungry恢复到0,happy上升为0.1
又经过了一段时间,A的hungry上升为0.7,happy下降为-0.3 ...
终于,B的hungry也上升了,为0.75,happy下降为-0.4
由于happy低于正常值,B意识到必须采取某种措施以增大happy值。通过对记忆的发掘,B发现A在happy下降之后采取了 get food, eat food 的动作序列,提高了happy值,于是开始模仿A的动作...
问题3.
有网友提到“要加入一个‘利益库’的概念,它应该比‘知识库’更重要,...作为所有判断的起点,在每一次判断后,除了更新‘知识库’外,它必须更新‘利益库’”(来自:小雨哥,ID:1359088)。在我看来,这实际上就是第七识、第八识(可以认为是通常所说的“潜意识”)的作用——第七识执持第八识为“我”,而第六识的一切行为都经过第七识的判断(判断是否对“我”有利),而作为“我”的第八识,反过来又被思维所“熏陶”——能够对某些特定的事物或现象产生“倾向性”(比如远洋水手对海岸的好感、被蛇咬过的人对与蛇相似的物体的害怕等等)。