文章

你不必重新發現世界:自學如何借用前人的思考

看得懂書上的每一步,卻不知道為什麼要這樣做?從虛數到日常學習,找回定義背後的問題,借用前人的思考,也知道何時該停止追溯、自己動手。

你不必重新發現世界:自學如何借用前人的思考

自學最費力的時候,未必是看不懂書上的字。更令人困惑的是,每個字都懂,每一步似乎也跟得上,合起來卻不知道作者為什麼要這樣做。把書闔上,只記得幾個名詞;換一道題目,又得翻回原頁。

碰到這種情況,很容易認為自己基礎太差,於是找更多解說,把同一個定義再讀幾遍。但有時候,缺的恰好是定義之前的那一段:原來遇到了什麼麻煩,舊方法為何不夠,以及這個看來突兀的觀念,究竟替誰解決過什麼。

我想談的自學方法,就從這裡開始。面對人類已經累積下來的知識,我們可以借用的不只有結論,還有別人走向結論的理由。那些理由未必完整留在課本裡,卻可能是初學者最需要的入口。

課本從哪裡開始,並非小事

「我懂了」可以指很多事。能照著範例做,能向別人解釋,能在條件改變之後判斷原來的方法還適不適用,都算某種理解,卻不是同一種能力。學習的目的不同,需要走到的地方也不同。只想把眼前的工作做好,未必得先掌握整門學問的根基。

不過,有一種落差值得留意:我知道規則,卻看不出為什麼值得訂這條規則。

定義與公式是前人整理過的成果。為了讓後來的人查閱、使用、檢查,許多猶疑和失敗會被省略,互相糾纏的問題也會重新排列。成品因此清楚了,初學者卻未必知道從哪裡進去。對作者而言不必再說的事,對讀者而言,可能正是缺掉的一步。

一份軟體功能的使用文件,就可能出現這種落差。文件會告訴你:交進什麼資料,會得到什麼結果,哪些情況算錯誤。這對使用與協作不可或缺。但若你還不知道這項功能要處理什麼工作,再精確的規格也可能只是陌生名詞的清單。先看一次它怎樣解決問題,再回頭讀文件,同樣幾行字便有了用處。

我願意把知識整理看成一種壓縮,但這裡得說清楚:壓縮不一定丟失資訊,一份嚴密的表述也不必然少了數學內容。被省掉的往往是引導讀者的線索。兩段文字可以表達同樣的關係,卻要求讀者付出很不一樣的理解成本。

這個差別,在那些一開始顯得「莫名其妙」的概念上尤其明顯。

一個看起來不該存在的數

第一次接觸虛數,常見的起點是一條規則:有個數叫 i,它的平方等於 −1。

疑問也立刻跟著來。以前學過的實數,不管正負,平方都不會小於零,現在怎麼忽然可以了?若想從日常物品裡找一個對應,更不容易:一個蘋果可以數,半個蘋果可以切,i 個蘋果要放在哪裡?

先把這個疑問留著,看看十六世紀的一道題目:

x³ = 15x + 4

左邊的 x³,是把三個 x 相乘;右邊則是 x 的十五倍再加四。我們要找能讓兩邊相等的 x。試一下 4 就知道,兩邊都是 64。答案明明可以是熟悉的數,當時已有的三次方程求解公式,在算這一題時,卻會出現「−121 的平方根」。1

已知答案就在那裡,一條通向它的計算途徑卻走不下去。對試圖理解這條公式的人而言,這比單純算不出來更難忽略。

拉斐爾・邦貝利(Rafael Bombelli)在 1572 年出版的《代數》中,系統地處理這類量的運算。用今天的記號來重述,先讓 i² = −1,便能用 11i 表示 −121 的一個平方根。那套公式接著要求:找出兩個數,使它們的立方分別等於 2 + 11i 和 2 − 11i,再將這兩個數相加。

依照新的規則展開乘法,恰好得到:

(2 + i)³ = 2 + 11i

(2 − i)³ = 2 − 11i

於是,公式需要的那兩個數,可以配成 2 + i 和 2 − i;加起來,i 消去了,剩下的正是 4。

讀到這裡,即使還不會自己展開計算,也已經能辨認那個困境:題目有普通的答案,計算途中卻需要容納一種新的數。允許它進來,訂清楚運算規則,原來中斷的計算便有機會繼續。

這並未回答虛數的一切問題,也沒有憑一個成功算例證明整套數學。它先回答了初學者很需要的一件事:為什麼有人願意認真看待這種東西。接著再學運算、證明與幾何表示,至少知道自己正在補足什麼。

我在意的正是這個次序。抽象概念不見得要先找到一個可以摸到的物體,才開始有意義。有時候,看見它保存了哪些關係,允許我們做哪些事,已經足以讓理解往前走。

嚴格的定義也有它要解決的麻煩

不過,只看見方法能用,還不夠。微積分處理的問題之一,是如何知道物體在某一瞬間的速度。我們會用一段時間內移動的距離,除以花費的時間,算出平均速度;但「這一段」再短,也還不是「這一瞬間」。

處理這類變化的早期方法帶來許多成果,相關論證卻也受到質疑。1734 年,柏克萊在《分析者》中追問某些推導如何處理那個逐漸消失的增量:前面拿它來除,後面又讓它消失,究竟憑的是什麼?2

不用先學完整部微積分,也能聽出這個問題的分量。一個量若是零,就不能拿來作除數;若不是零,又不能只因為它很小,便說它根本不存在。算出的答案好用,仍有必要交代推理為何成立。

用現代的極限觀念,可以把問題說得更精確。以速度為例,每次計算的時間間隔都不為零;我們問的是,當間隔愈來愈短,平均速度是否趨近一個確定的值。這與直接拿零來除,是兩回事。初學者若只看到正式定義裡一層套一層的條件,可能以為數學家刻意把事情弄難。先知道要防止哪一種含糊,便比較看得出那些條件在做什麼。

不同時期的數學家各有論證方式,後來的基礎工作也不是一次完成;「以前全靠直覺,後來才有嚴格數學」會把這段歷史說得太簡單。我想取用的,只是其中一個可以幫助學習的轉折:方法能做出成果之後,人們還得回頭追問,它究竟允許哪些操作。

從用途進入,再回頭讀定義,並不會降低對精確的要求。相反地,當我知道少一個條件會出什麼問題,那個條件才比較容易留下來,不再只是考前要背的字。

試著理解一個人還不知道答案的時候

談到「同理」,我們通常想到感受:一個人為何傷心,為何憤怒,為何對旁人看來微不足道的事如此在意。思考也有相似的處境。某個做法看似迂迴,可能只是因為我們已經知道後來的答案,忘了當時的人手邊沒有那些工具。

教育研究中有個詞叫 epistemic empathy,這裡暫譯為「認知同理」。Jaber 等人的研究用它描述:理解並重視一個人在建構、表達、檢驗知識時的認知與情緒經驗。他們探討的是教師如何理解學生。3

我想把這個方向轉過來,作為一種自學的嘗試:讀者能否去理解提出觀念的人,當時面對的是什麼?這是我對學習方法的延伸,不是那項研究已經證實的結論。

要做這件事,不必替幾百年前的人編內心獨白。比較可靠的問法是:根據留下的材料,他在處理什麼問題?當時有哪些做法?某個選擇解決了哪個困難,又帶來什麼新問題?史料沒有交代的部分,就留下空白;為了教學重新安排的步驟,也應說明那是重建。

回到邦貝利的例子,我們不必猜他看見負數平方根時有多震驚。只要看清楚題目、公式和運算的關係,就能理解這項嘗試為什麼值得做。歷史提供了一個位置,讓今天的讀者暫時放下「這不是早就知道了嗎」的心情。

這也適用於數學之外。讀一段哲學論證時,先弄清楚作者在反對哪個主張,常比急著背下他的名言更有幫助。同一句話,用來回應不同問題,分量可能差很多。若連爭論的對象都不見了,只剩一句漂亮的結論,我們很容易替它安上一個作者從未打算回答的問題。

廣讀可以留下的,比資料更多

如果學習包含這種換位置的能力,廣讀便有了另一層價值。接觸不同領域,除了多知道一些事,也讓我們見過不同的人怎樣決定「這裡值得追問」。

程式設計讓人留意一件工作怎樣拆開,部分之間必須約定什麼。統計促使人區分看到的差異與足以支持的推論。歷史訓練提醒人追查語句的出處,以及它所處的時代。這些習慣可以帶到別處,但不會因為看過一本書,就自動變成可靠的跨領域能力。

譬如,一項工作總是遲交。借用系統設計的眼光,可以先檢查交接是否說清楚了:上一個人認為已完成的事,下一個人是否還得重做?換一種看法,又會問:所謂「總是」,究竟發生過幾次?最近接的工作是不是本來就比較難?這裡沒有哪個學科能憑一個比喻判定原因,但它們幫我們提出了不同、而且可以查證的問題。

借來的思路也會失準。人不能完全當成程式模組,幾次觀察不能冒充充分資料。跨過領域邊界時,得重新檢查哪些關係仍然成立。能聯想,是開始;能發現類比在哪裡失效,才讓這次借用變得可靠。

因此,我不會把這件事說成「同理心提高智商」。那是另一個需要證據的心理學主張。較貼近我的意思的是:理解別人的思考處境,讓我有機會學到自己原本不會採取的問法。遇到新問題時,可以試的辦法因此多了一些。

追到哪裡,就可以先停下來

讀到這裡,最實際的疑問大概是時間。如果學虛數得先讀十六世紀代數,學微積分又要追幾百年的基礎爭論,還沒開始做事,日子就用完了。

所以,我並不打算把追溯源頭變成自學的義務。許多時候,直接接受前人整理的成果很合理。先照食譜煮一頓飯,不必先懂所有食材的化學;依範例把程式跑起來,也可以早於完整掌握它的設計。能借助現成知識,是學習得以繼續的條件。

值得退一步的時候,是同一個地方反覆阻礙你:題目稍微改動,就不知道怎麼做;規則背得出來,卻分不清哪裡能用;讀了三種解釋,仍覺得那個定義像是任意規定。這時再多讀一份相似的摘要,未必能補上缺口。

我會先找這個觀念要解決的一個具體問題。若還看不出必要,再查舊方法在哪裡受限。只退到足以接上目前的學習就好,不必為了懂一頁書,先讀完一整部思想史。

停止追溯的標準,也可以很樸素:我能否說清楚它幫了什麼忙,依照現在的定義用一次,再指出一種不能照搬的情況?若做得到,就可以先往下走。哪天遇到新的障礙,再回來補。

歷史本身很雜亂,也不是最佳的教學大綱。早期記號可能難讀,有些爭論並不幫助眼前的問題。好的教材可以直接告訴我們前人找了很久才得到的答案,同時保留一兩個必要的轉折。這樣的引導並不妨礙理解;省下無益的摸索,反而讓人有餘力認真檢查那些重要的步驟。

別只請 AI 再解釋一次

自學者可以用搜尋引擎找這些線索,也可以請 AI 協助整理。但如果只問「請用簡單的方式解釋」,很可能得到一份語氣更親切、缺口卻完全相同的摘要。

問法可以再具體一點。以下這段,把正在學的主題填進去便能使用:

我正在學__,目前能跟著範例做,但不明白為什麼需要這個概念。請先選一個我能理解的問題,說明不使用它時可以怎麼做、會遇到什麼限制,再引入這個概念,最後回到現在通用的定義。請交代例子需要哪些先備知識。若涉及歷史,附上可查核的來源,分清史料記載與為了教學安排的重建;不知道的部分不要補成故事。最後給我一道條件稍有變化的題目,先不要公布答案。

這樣問,是請它幫忙安排進入問題的順序。回答裡的年代、人物和引文仍得查核,推導也得自己檢查。敘事愈順暢,有時愈容易讓人忘記:我們只是聽見了一個說得通的版本。

而最後那道題目,值得真的停下來做。看別人推理時,每一步都有前一步提示;自己動手,才會發現哪一段其實接不起來。

以剛才的 i 為例,若已學過括號乘法,可以換個式子,試算 (3 + i)²,並交代每一項從哪裡來。若目前只是想掌握概念,也可以先用自己的話說明:為何「實數裡找不到」不足以單獨否定擴充數系?接著再查,這種擴充怎樣保留原有的運算。不同目標有不同的練習,但都需要有一小段,不能靠照抄原文完成。

還有一道界線不能省略。理解一個人為何提出某個主張,不等於那個主張成立。數學仍須證明,關於世界的說法仍須證據。即使只是在學既有知識,也要辨認什麼是已證明的結果、什麼是近似、什麼還有爭議。前人的處境可以幫我讀懂他,不能代替我判斷他。

帶著借來的工具回來

我喜歡這種學法,也因為它讓「讀不懂」多了一種解釋。當然,可能是基礎不足,可能是還沒花夠時間;但也可能,作者已經站在問題解決之後,而讀者還不知道問題在哪裡。這時補上一段來由,比再添幾個術語有用。

在《所見非全貌》裡,我用「保留、組合、回返」討論理解如何形成與修正。放到自學上,它們可以很具體:先接受一份可用的說明,讓新概念與已有的經驗接起來;遇到接不上的地方,再回頭檢查原先省略了什麼。需要調整的,有時是內容,有時是進入內容的次序。

人類能把公式、證明、文字和圖留下來,已經替後來的人省掉許多年月。我們也可以再多借一點:看看這些成果曾經回答什麼問題,讓一條陌生的規則重新有了理由。借到之後,仍要帶回自己的題目裡試用,看看它能走多遠。

下次讀到一個怎樣也吞不下去的定義,可以先在旁邊寫下:「如果沒有它,我會在哪裡遇到麻煩?」找到一個足夠清楚的例子,再回來讀這一頁。有時,並不需要更多解釋,只需要讓原來的解釋有一個落腳的地方。


延伸閱讀:《所見非全貌:理解、行動與修正的二階哲學》。本文可獨立閱讀,不需要先讀過全書。

  1. 邦貝利的生平、1572 年《代數》的出版及複數運算,可參閱 J. J. O’Connor 與 E. F. Robertson 的 MacTutor 專文。本文算例採現代記號重述,相關計算亦見 Heinz Klaus Strick 的邦貝利專文(PDF)。這裡只展示一組相容的立方根,沒有把複數開立方當成單值運算;2 + i 和 2 − i 的乘積為 5,也滿足此公式配對所需的條件。 ↩︎

  2. George Berkeley, The Analyst(1734),尤其第 XIII–XVI 節對增量消去的討論。可讀都柏林三一學院 David R. Wilkins 整理的原文。本文以現代語言說明問題,並非沿用柏克萊的全部論證,也不表示他的批判足以推翻微積分。 ↩︎

  3. Lama Z. Jaber、Sherry Southerland、Felisha Dake,〈Cultivating epistemic empathy in preservice teacher education〉,Teaching and Teacher Education 72(2018),13–23,DOI: 10.1016/j.tate.2018.02.009。研究情境是師資培育;本文提出的「學習者理解觀念提出者」是方法上的延伸,並非該研究直接驗證的成效。 ↩︎

本文章以 CC BY 4.0 授權