陳凱 上海市位育中學
假設某人正在仔細端詳日常使用的某一臺電腦,這臺電腦的部件——主機、屏幕、鍵盤、鼠標一一躍入眼簾,這時,此人是如何體驗到電腦的各項特征和屬性的?笛卡爾認為,人并不是直接感知周圍的世界,而是將世界的各種表象轉換為一種內心圖像,人的意識體驗到的是一種能讓人感覺到真實的幻覺——這也是“我思故我在”推論的起點。哲學家丹尼爾·丹尼特將其稱為笛卡爾劇場(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
本文的案例展現出這樣一種可能性,不管人的思維過程是否等同于計算機器,人都可以在心靈劇場中模擬出某個計算機器,來幫助人進行計算,同時,這種模擬也能在現象層面對人的部分行為進行解釋。當然,頭腦想象中的計算機器顯然存在不少缺點,如數據處理的維度有限,較難管理較多的存儲區域和指向存儲區域的指針等。所以,就需要設計特定的能夠適應心靈劇場中虛擬計算機的算法,構建心靈劇場中的虛擬計算機并進行虛擬演算,這可能會成為一種脫離實體計算裝置的思維訓練方式。