第十六章 控制的未来 16.4 行为学架构中的代理
二十世纪四十年代,欧洲著名的动物观察三人组——康拉德·劳伦兹、卡尔·冯·弗里希和尼可·丁柏根——开始描述动物行为背后的逻辑。劳伦兹在家里养了一群鹅,冯·弗里希住在蜂窝环绕的房屋里,丁柏根则天天跟棘背鲈鱼和海鸥呆在一起。通过严谨而巧妙的实验,三位动物行为研究者把动物的滑稽行为归纳成值得尊敬的学科——“动物行为学”(粗略地说,就是研究行为特性的科学)。1973年,他们因为这一开创性的成就共同获得了诺贝尔奖。后来,当漫画师、工程师还有计算机科学家深入研究有关动物行为的文献时,他们非常惊讶地发现这三位行为学家早已建立起了一套非常好的行为框架,完全可以直接拿过来就用到计算机上。
行为学架构的核心是“去中心化”这样一个关键概念。正如丁柏根在他1951的著作《昆虫研究》中指出的,动物行为是一种去中心化协同,它将许多独立的动作(驱动)中心像盖房子一样搭建到一起。有些行为模块是由反射现象组成的;它们能调用一些简单的功能,比如遇热时回缩,或者被触碰时闪避。这些反射现象既不知道自己所处的位置,也不知道外界在发生什么事,甚至不知道它们所附属的这个身体当前的目标是什么。无论什么时候,只要出现适当的刺激,它们就会被触发。
雄性鳟鱼会本能地对下面这些刺激因素做出反应:一条已经到了交尾期的雌性鳟鱼,一条游到附近的虫子,一个从身后袭来的捕食者。但是,当这三种刺激因素同时出现的时候,捕食者模块总是会压制交配或者进食本能,抢先反应。当不同的行为模块之间或多个同时出现的刺激之间出现冲突的时候,就有某种模块被激活以做出决策。比如说,你正在厨房里,两手弄得很脏,这时候电话响了,同时外面又有人敲门。在这种情况下,那些相互冲突的冲动——赶快去接电话!不,先擦干净手!不,得冲到门口去!——就可能使你手足无措,除非这时有另外一个后天习得的行为模块进行仲裁,也许就是这个模块让你喊出一声:“请等一下!”
从一个更积极的角度来看待丁柏根所说的驱动中心,这种驱动中心相当于某种“代理”。代理(不管它是什么物理形式)侦测到一个刺激,然后做出反应。它的反应,或者按计算机行话说是“输出”,在其他模块、驱动中心或代理看来可能是输入。一个代理的输出可能使其他模块处于能动状态(拉开撞针),或者激活处于能动状态的其他模块(扣动扳机),或者还可能取消邻近模块的能动状态(关闭撞针)。同时做揉肚子和拍头动作相当困难,因为出于某种未知的原因,其中一个动作压制另一个动作。通常,一个输出信息可能会在激活某些中心的同时抑制其它中心。显然,这是一个网络的架构,充斥着大量的循环因果关系和首尾相衔的怪圈。
外在行为就这样从错综复杂的盲目反射中涌现出来。由于行为源头的分布式特性,底层最简单的代理也能在上层产生意料之外的复杂行为。猫的身上并没有什么中心模块去决定这只猫挠自己的耳朵或者舔自己的爪子。相反,这只猫的所作所为是由独立的“行为代理”——即各种反射——构成的乱麻般的网络决定的,这些代理彼此交叉激活,构成一个总体的行为模式(就是称为舔或挠的动作),从这个分布式的网络中冒了出来。
听起来这跟布鲁克斯的包容结构非常相似。它其实就是一种包容结构!动物就是能够正常运作的机器人。支配动物的去中心化、分布式控制在机器人和数字生物身上同样适用。
在计算机科学家的眼里,行为学教科书上那些相互连接的行为模块网络图,其实就是计算机的逻辑流程图。得出的结论是:行为是可以电脑化的。通过对子行为进行安排,任何人格特征都能够编成程序。从理论上来说,动物所具有的任何情绪,任何微妙的情感反应,都可以用计算机来生成。用来支配机器人罗比的那种自下而上的行为管理机制也可以用来支配银幕上的生物,而这也正是从活生生的燕雀和棘背鱼那里借鉴来的机制。与燕雀歌唱和鱼儿摆尾所不同的是,分布式系统吞吐着数据,让计算机屏幕上的大腿动起来。这样,银幕上的自主动画角色就可以按照和真正动物一样的一般组织规则来行动。尽管是合成的,它们的行为却是真实的(或者至少是超真实的)。因而可以说,动画人物就是没有实体的机器人。
能够被编程的远不只是动作。性格也同样可以被封装到数字里。沮丧、兴奋还有愤怒都可以作为模块添加到造物的操作系统中。某些软件公司销售的恐惧情感程序会比其他公司的好。也许,他们还会销售“关联式恐惧”——这种恐惧不仅仅表现在生物的身体上,还会渗入到一连串的情感模块中,并随时间的流逝而逐渐消散。