陳凱 上海市位育中學
“好雪片片,不落別處”,中唐時期,龐蘊辭藥山歸去,在大門口手指空中飄雪發此感慨。相送者中有一人問“落在甚處?”,卻遭龐蘊很不客氣的一掌,且被評論為“眼見如盲,口說如啞”。必須承認,“落在甚(什么)處”的問題很有邏輯性,但這一問卻將龐蘊想要傳達的本真的美破壞殆盡了。不落別處的“處”應不是某個具體的空間,想來天下萬物,自有其恰到某處之好,這種“好”是難以單純地用概念性的知識和理性的邏輯推理來獲知的。《莊子·大宗師》中說:“夫道,有情有信,無為無形,可傳而不可受。”人們在領悟某事之所以如此的過程中,常能感受到某種“有情有信,無為無形”的僅可意會之物的存在。在技術的實現中,那些不單純由邏輯推理獲得,而是需要在親歷直觀中領悟到答案的問題,都是值得細細品味的好雪片片,本文試著給出幾個或能藉此超越邏輯、參悟玄機的小例子。
假設有A、B兩人都在歌唱,對于B來說,如果A大聲唱,B就小聲唱,反之,如果A小聲唱,B就大聲唱。而對A來說,如果B大聲唱,A也大聲唱,反之,如果B小聲唱,A也小聲唱。為行文方便,以上稱為歌唱情境。問題是,當人們遇見A和B都在歌唱時,到底誰在大聲唱,誰在小聲唱。
用簡單邏輯推理可知,A和B兩人總是在大聲唱歌和小聲唱歌兩種狀態之間來回切換,切換的速度則取決于他們獲得信息并做出相應動作的速度。假設要編寫程序代碼跟蹤兩人歌唱音量變化,則因為A的狀態變化取決于B的狀態變化,B的狀態變化卻取決于A的狀態變化,這種猶如“雞生蛋、蛋生雞”式的因果鏈結構,若用遞歸的方法,便會陷入到無法終止的自我調用過程中。不過,可以勉強采用迭代的方法,用程序代碼加以模擬實現(如圖1),不妨稱為程序實現法。之所以說勉強,是因為兩人的初始狀態與程序終止的條件,都不得不由程序編寫者武斷地決定。

圖1 用迭代的方法模擬狀態的翻轉變化
值得對比的是,實體的電路可以輕松實現A和B的狀態翻轉,這個電路可以采用一個晶體管的非門芯片、一個電阻和一個電容來實現(如圖2),不妨稱為電路實現法。其原理是,當非門輸入信號(A端)為0時,輸出信號(B端)為1,則給電容充電,使得A端信號也變為1,于是B端信號從1到0翻轉,此翻轉過程會不斷進行下去。

圖2 使用非門芯片實現狀態的翻轉變化
程序實現法和電路實現法有什么區別呢?程序實現法借助邏輯模擬了翻轉過程,而電路實現法則是翻轉過程的實體變化本身,實際上,也可以將程序實現法看成是電路實現法的模擬。前者仿佛是對“不落別處,落在甚處”的追問,后者則是“不落別處”這件事本身。
在電路實現法中,在初始通電的一瞬間,非門不可能獲得任何已知的信號,然而,它將“無”信號視為“0”信號,從而輸出“1”信號,接下來才進入到周而復始的翻轉振蕩之中。這種“無中生有”的奧妙,是程序代碼無法顯現出來的,老子說:“反者道之動,弱者道之用。天下萬物生于有,有生于無。”似乎可以用來當作此物理現象的注解。
將歌唱情境講述給學生,要求學生思考A和B音量變化過程,學生的頭腦會經歷怎樣的過程?對絕大多數學生來說,在教師講述情境的同時,頭腦中就想象出兩個人的歌唱情境,然后借助簡單的邏輯,得出A和B的狀態會不斷翻轉的結論。然而,問題稍微復雜一些,人的頭腦的想象就會變得困難。例如,在以上情境中引入一個新的變量:想象一下,兩人隔空對歌,忽然生起一陣甚是喧囂的風,迎風的那位歌唱者雖能照常聽到對方的歌聲,準確地判斷出對方是在大聲歌唱還是小聲歌唱,卻很難將自己響亮的歌聲傳至對方,于是,對面聽見的,就總是小聲的歌唱。以上稱為有風歌唱情境。同樣的問題,當人們遇見A和B都在唱歌時,到底誰在大聲唱,誰在小聲唱。對此問題,純粹頭腦中的想象變得困難起來,不少學生需要借助紙筆來思考,并且只有少數學生能在比較短的時間里,斷定因風向不同,這個問題存在兩個不同的答案。
那么,能否延用剛才迭代的方法,編寫程序代碼模擬A和B狀態的變化?答案是肯定的,而且由于風向的不同,答案也會有所不同。當B迎風而歌時,無論初始狀態如何,結果總是A小聲而B大聲;當A迎風而歌時,無論初始狀態如何,結果兩個人都是在大聲歌唱。兩段程序代碼如圖3所示。在程序中,用一個整除運算來模擬歌聲音量受風的影響而減弱的情況。可以這樣說,程序代碼比較忠實地模擬出了人的邏輯思維解決這個問題的過程。不妨思考這樣一個問題,在學生編寫代碼模擬人的邏輯思維變化的過程中計算思維的濃度如何?

圖3 模擬兩種風向情況下A和B的狀態
采用實體的電路,也能實現A和B狀態的變化,方法是在電路中加入大的電阻,來模擬逆風對音量的削弱(如圖4)。

圖4 使用大電阻來模擬逆風音量削弱
本文不厭其煩地展示用電路解決歌唱情境問題的方法,是為了在對比中顯現出解決問題思維方式的不同。在程序實現法中,人的頭腦中顯現出對實體場景的想象,利用邏輯來歸納出變化情況,然后借助程序代碼中的分支結構,將這種變化情況用算法的邏輯模擬出來,但真正實施此程序的電路,其信號變化過程較之歌唱者的狀態變化過程要復雜得多;在電路實現法中,人的頭腦中顯現出對實體場景的想象,然后借助多種物理的元件,直接將這個變化系統構造出來,并直觀地跟蹤這個系統的變化過程。與利用邏輯推理模擬變化過程不同的是,實體電路系統中電信號的變化真正存在于現實世界中,且與歌唱者的狀態變化保持一致。
然而,本文特別重點提出的,是存在著第3種解決問題的方式。由于計算機具有模擬物理現象的能力,所以,除了采用計算機的邏輯來模擬人的邏輯,還可以用計算機模擬物理元件的行為,來間接模擬構建這個變化系統。并且還可以更進一步,這種模擬的物理元件,只要其行為是符合邏輯的,就可以是真實的現實世界所不存在的實體。阿蘭·圖靈為了解決判定性問題而試圖用機器模擬人的思維過程,構建出了當時并不現實存在的圖靈機,這正是首先借助邏輯來構建虛擬實體,并用虛擬實體來模擬邏輯思維的思路。
本文在這里給出一個構建虛擬物理元件的例子。根據歌唱情境,可以想象現實中某個并不存在的正方形拼接件,它的邊緣存在不同的狀態,這些元件不能旋轉和鏡像反面,并且在某個虛擬容器中隨機移動,但只要兩個拼接件邊緣狀態按某種規律契合,就能拼接起來,這其實就是一種自組織計算。假設設定規則如下:矩形拼接符號可用于上下拼接,且拼接元件顏色必須相同,半圓形拼接符號可用于左右拼接,且拼接元件顏色必須相同,三角形拼接符號可用于左右拼接,且拼接元件顏色必須不同。若向虛擬容器投放足夠多的此種元件,則可直觀想象,假以足夠多的時間,這個世界中的元件就會如圖5那樣拼接起來,并由此模擬了歌唱狀態的翻轉。有興趣的讀者也可以自己試一試,設計可解決有風歌唱情境問題的虛擬元件拼接圖案。

圖5 邊緣有不同狀態的正方形虛擬物理元件的拼接
不難想象,如果虛擬容器中存在不同拼接規則的虛擬元件,那么它們都能夠各管各地實現拼接,這是一種并行的計算方式。雖然人很難在頭腦中完整地想象拼接過程,但人卻可以直觀地得出結論,認為這種拼接是可行的。
在拼圖過程中,之所以要如此拼接的邏輯思維卻被消解了,只要告知拼接規則,哪怕是完全不知道原初任務情境的人,都能實施拼接動作。歌唱情境中的邏輯推理在計算過程中變成了一種純粹的直觀可行的變化。這似乎也體現出邏輯思維能力在計算思維中運用的獨特性:一旦按邏輯推理設定了變化規則,并證明了這個變化局部可行之后,邏輯思維就隱于幕后,交由直觀來跟蹤全局的變化。
人的想象力是有限的,這是不得不承認的事實。在用拼圖來進行翻轉計算的例子中,除非直接觀看或操作可動態變化的各種虛擬元件,很多人都無法僅靠想象來實施拼圖過程。可以合理地預測,隨著腦機接口技術的提升,人的直觀想象能力會得到計算機的強力支持。
此處有一個非常值得討論的問題:一個機器是否能知曉歌唱情境中A和B的狀態必然長期地陷于振蕩,或者,知曉在有風歌唱情境中的A和B的狀態會穩定下來?從模擬變化過程的程序代碼看,除非有人強行終止或武斷地規定循環次數,程序代碼將毫無價值地不斷重復下去。然而,人的頭腦只需要幾步,就可以斷定振蕩或穩態局面的形成。是什么使得人能夠直觀看出結論?是不是因為人的頭腦中存在著某種超越程序規則的某種東西?對此,圖靈的回答是“否”,哥德爾的回答是“是”,哥德爾認為,盡管在某些任務中機器會勝過人類,但是,人的心靈超越機器,因為心靈有著機器無法達到的直觀。
雖然人腦很難在想象中實施略復雜一些的虛擬元件的拼接,但人腦還是能較為輕松地將歌唱情境或有風歌唱情境的變化過程轉換為一種折線圖,只要稍加努力,人的頭腦就能同時想象出如36頁圖6所示的兩種折線圖,并且也的確能認可這兩種折線圖對應著兩種不同歌唱情境的狀態變化情況。人的頭腦也能同時想象兩組字母符號的變化,如用aB變為AB代表歌唱場景中B大聲歌唱引發A也大聲歌唱的這一步,用aB變為ab代表有風歌唱情境中,B的音量遭到削弱并傳遞給A的這一步。稍加努力,人就能在想象中創造出一組aB符號變為AB符號,另一組aB符號變為ab符號,且兩種變化同時進行的情境。多次嘗試就能知道,要快速實現頭腦想象中“aB到AB”和“aB到ab”的同時變化的情境,并不需要借助邏輯思維,這些抽象的符號也不過是一些圖形而已。
有一個不太被注意但值得深思的奇怪現象:某一個人在想象兩張折線圖形,或兩組字母變化過程的同時追問說,這些變化所代表的邏輯到底是怎樣的?這個時候,人的頭腦就只能特別關注某一張圖,一組字母,甚至是某一張圖的某一局部,某一組字母中的一個符號。人的頭腦能并行地直觀想象變化,也能夠嚴格地按邏輯推理預設的規則來并行實施變化,然而,當人們思考邏輯變化這件事本身時,思維卻只能是單線程進行的。這可能并不是人腦相對于機器的缺陷,雖然難以證明,但必須承認有一種可能,雖然機器的并行計算能力要比人強大很多,但機器只能按邏輯進行變化卻不能思考邏輯變化本身。每一個正常的人都只能單線程地將自己的邏輯推理綁定到某一個特定的任務上,這恰恰是那個獨立且寶貴的自我存在的證明。當面對“好雪片片,不落別處”這句話時,只有每個人自己能解出其中真意。