陈凯 上海市位育中学
假设某人正在仔细端详日常使用的某一台电脑,这台电脑的部件——主机、屏幕、键盘、鼠标一一跃入眼帘,这时,此人是如何体验到电脑的各项特征和属性的?笛卡尔认为,人并不是直接感知周围的世界,而是将世界的各种表象转换为一种内心图像,人的意识体验到的是一种能让人感觉到真实的幻觉——这也是“我思故我在”推论的起点。哲学家丹尼尔·丹尼特将其称为笛卡尔剧场(Cartesian Theatre),这个剧场里放映的是我们直接感知到的现实,剧场中存在一个观众观看着剧场播映的画面,并对自身之外的世界进行推测。笛卡尔剧场之名是丹尼尔·丹尼特树立起的一个靶子,他在《意识的解释》一书中详尽论述了这种认知观念因何是错误的,他用计算机运行的过程进行了类比,认为人的认知过程更类似于某个大型并行计算装置上所运行的一个单线程的虚拟机。如果读者一下子难以理解这个类比的实质含义,不妨自行搜索查阅一下在并行的WireWorld自动机上架构虚拟图灵机的相关资料。
笛卡尔剧场很自然且平滑地解释了人的内心之眼的体验,尽管从根本上来说这种体验可能并不代表真正的认知过程,但这种体验本身的感受性(qualia)是能够被真切体验到的。尽管丹尼尔·丹尼特拒斥感受性(qualia)的真实性,但本文的讨论就仅限于人主观上能够体验到的层次,所以继续借用剧场一词来描述人头脑中所浮现出来的内心图像,受丹尼尔·丹尼特的启发,仍然借助用计算机的运行过程类比人的思维过程的方法,试着展现几个有趣的可供细致分析的案例。
白熊实验是心理学家丹尼尔·魏格纳做过的一个实验,它也常被称为粉红色大象实验而被更多人知晓。实验过程是这样的:要求被试者不要去想白熊(或粉红色大象),在任务下达后的5分钟时间内,如果被试者想到一次白熊,就按一次铃铛。在实验过程中,有些人一分钟内就会按下多次铃铛,还有些人依靠转移注意力,能坚持好几分钟不按铃铛。笔者自己试了一下,大概只能坚持十几秒钟。通常,这个实验是为了证明,人的强迫性思维是多么难以被去除。但笔者发现,实验过程中存在一个乍看自然合理、细想却暗藏玄机的问题:当被试者决定要按铃铛的时候,此人何以知道自己正在实施的任务是什么?假设此人已忘记任务,那就不会去按铃铛,如果此人始终记得任务,那就应该持续不断地在按铃铛。
为了解释这个现象,可以用大家熟悉的计算机软件运行方式进行类比,计算机的软件可能以两种方式运行:一是在桌面上运行,很明显能看到运行的情况;二是在后台运行,软件虽然一直在运行但难以被人有意识地关注到。假设在白熊实验中,桌面上始终运行着某个期待程序,同时,存在两个后台程序,一个是随机发生器程序,另一个主要是联想程序,随机发生器程序经由一定的概率,将某些值得重点关注的事物推荐给桌面上运行的期待程序,期待程序则会调用联想程序,对随机发生器程序提交上来的内容进行关联。假如将这个期待程序称为“自我”,那么这个“自我”应当能监看桌面上的变化,却不能观察到后台运行程序的状况。这样就能解释为什么被试者在不去有意识地思考任务本身的情况下,知道如何实施任务。通过这种计算机行为的假想,给出了人的思维过程的一种可能的解释,当实施这个假想时,仿佛有一个内在的心灵剧场,剧场中的演员不是人而是计算机内部实体或虚拟的部件。心灵剧场所描述的过程不一定在本质上是正确的,也就是说,仅仅通过这样的心灵剧场的假想,是没办法确切地知道,人的头脑从本质上来说究竟是不是真的如此工作的,但它在现象的层面上,对思维过程的深层原因进行了一种合理性构造。
下面的例子将说明,如果将对本质的探索暂时搁置,仅仅通过研究现象本身,也能依靠用心灵剧场构建模拟计算机器的方法为解决特定的问题提供启示。
假设有两个诗句,一句是刘邦《大风歌》里的“大风起兮云飞扬”,一句是杜甫《春望》里的“国破山河在”。人在一个时刻只能背诵其中的一句,显然是不能两句诗同步背诵。不过在人的头脑中,完全可以想象这样的场景——有两个孩子一起在背诵诗歌,一个在背诵《大风歌》,一个在背诵《春望》,假设在7秒钟的时间里,传来的声音如表1所示。
表1
如果不看文字,仅仅闭着眼睛在头脑中想象,因为两个诗句的起始时间和结束时间并不一致,就给在想象中同步背诵两句诗的任务增加了很大的麻烦,常遇见的情况是,如果在头脑中听到《大风歌》,就很难听到《春望》,反之亦然。笔者想了一个方法,能将任务的实施变得更为容易,那就是在“国破山河在”前后各加上一个“空”字,如表2所示。
表2
当上下句都凑满7个字后,头脑想象中的同步背诵任务就变得容易多了。至于为什么,同样可以用计算机的行为进行类比。假设所有的文字都被存储在一种叫做一维列表(或一维数组)的数据结构中,调取文字需要通过指针或索引值,那么,对一个指针或索引值进行管理,明显要比同时管理两个指针或索引值方便。
从这个想象实验中还能发现头脑对指向存储空间的指针的独特管理方式,它其实综合了符号联想和节奏管理两种方式来确定指针的位置。由“大”字很容易关联到“风”,由“风”字容易关联到“起”,这样就从一个文字符号关联到另一个文字符号,在这个关联过程中,“大风起兮”这些字很容易被默认为一组词,这样就提示了指针从1到4的变化,之后的“云飞扬”一组词再重新提示指针从1到3的变化,所以,如将两句诗按表3所示的方式间隔,就更容易在头脑想象中完成同步背诵任务。
表3
从这个例子可以看出,可以将思维运行过程看作是一种虚拟的计算机器的运行过程,这种虚拟的计算机器有着其自身的特征,所以需要为其有效的工作设计特定的算法。
考虑这样的任务,在头脑中计算第n项斐波那契数列项的值。例如,要计算的是6,因为前两项是1,那么就可以通过计算1加1得到第3项2,然后通过计算1加2得到第4项3……最后得到第6项的值是8。在这个过程中,使用的方法类似于在队列中进行迭代的操作,因为头脑擅长于同时能管理的存储空间有限,所以队列中总保持有两个数据,当通过加法得到新的数据加入到队列尾部时,队列头部的数据被丢弃。
计算斐波那契数列项还可以使用递归的方法,如输入数列项序号6,首先就需要计算数列项序号5和数列项序号4的值,继而,对于数列项序号5,需要计算数列项序号4和数列项序号3的值,同时,对于数列项序号4的值,需要计算数列项序号3和数列项序号2的值……溯源的过程将在获取到数列项序号2和数列项序号1的值1后结束进一步的递归。虽然用计算机很容易实现递归,但人的头脑更善于用迭代的方法而不是递归的方法来计算斐波那契数列项的值,由于递归中涌现出越来越多的数据,既要记住这些数据的内容,又要弄清楚数据之间的关系,这让头脑难以胜任。
那么,怎样仅凭借有限的思维能力,在头脑中清晰地展现出用递归计算斐波那契数列项的过程呢?一个可行的方法,是将所有变化的数据都放置在一维的列表中,将数据按计算中的斐波那契序列项序号数和计算后的项的数值在两个区域放置,如表4所示。
表4
接下来,对计算中的数据进行迭代变化,并用迭代的方式来模拟递归过程,且每次只迭代计算中的斐波那契数列项序号数的最末一个数,将其迭代为调用需要计算的斐波那契数列项的前1项目和前2项序号数,示例如下:
(1)计算中只有一个序号数“6”,则变为序号数“54”;
(2)序号数“54”末尾数为“4”,“4”变为序号数“32”,则“54”变为“532”;
(3)序号数“532”末尾数为“2”,则删除“2”,斐波那契数列项值加1得1;
(4)序号数“53”末尾数为“3”,“3”变为序号数“21”;则“53”变为“521”;
(5)序号数“521”末尾数为“1”,则删除“1”,斐波那契数列项值加1得2;
(6)序号数“52”末尾数为“2”,则删除“2”,斐波那契数列项值加1得3;
……
将整个变换过程列表如下页表5所示。
表5
在整个过程中,变化的是一维结构的数据,头脑只需要管理数列项序号数和数列项值两个指针,这样就逐步完成了递归的计算过程。
接下来考虑这样的任务,希望用头脑中的计算机器来计算第12项斐波那契数列项的值,这时,只用上面介绍的方法就会遇到困难,主要原因是计算中的斐波那契数列项序号数展开过长,让容量有限的短期记忆存储空间不堪重负。
这时,可以结合查表法来简化递归过程,对于某些数列项的值,可以强化其序号和值的关联,如第8项是21,第9项是34,则可在记忆中强化821和934两个字符串。虽然对它们的记忆比白熊或粉红色大象要稍微困难些,但重复几次后,还是能顺利地在数列项的序号和值之间建立起牢固的关联。于是,就可将第12项斐波那契数列项的值的计算过程简化为如表6所示的样子。
表6
本文的案例展现出这样一种可能性,不管人的思维过程是否等同于计算机器,人都可以在心灵剧场中模拟出某个计算机器,来帮助人进行计算,同时,这种模拟也能在现象层面对人的部分行为进行解释。当然,头脑想象中的计算机器显然存在不少缺点,如数据处理的维度有限,较难管理较多的存储区域和指向存储区域的指针等。所以,就需要设计特定的能够适应心灵剧场中虚拟计算机的算法,构建心灵剧场中的虚拟计算机并进行虚拟演算,这可能会成为一种脱离实体计算装置的思维训练方式。