關於數學的本質的理解
最近無意間看到台大數學系教授關於數學的本質這堂課,讓我開始思考到底什麼是數學。以前大學的時候上課就是不斷的在背公式、解題以及背下證明題的步驟,等考完試之後所有的東西就全部還給老師了,從來不記得自己到底在算了什麼跟證明了什麼。因此,這堂課對我的衝擊其實蠻大的,從來沒有人從公理化數學的角度切入並介紹相關的概念給自己。 只是關於何謂公理系統,雖然在ChatGPT的補助之下自己有一些結論,但這些結論是否正確自己也不是很有把握,有任何問題也歡迎一起討論。 以下是我對數學本質的理解: 數學的本質就是遊戲設計,遊戲設計的本質就是在創造世界。 公理等同於遊戲規則,一套規則可以組成一個遊戲(公理系統)。你可以覺得這個遊戲是糞Game,但沒辦法去質疑規則是否正確,不能接受某個公理系統的規則的話,就是必須要換個遊戲玩或自己做一套。而定理,就是基於這套基本遊戲規則所製定出來的組合技,我們可以直接引用合適的定理來證明某個命題,而不用從公理開始進行推論,這樣就可省下不少推導的時間,就像是在遊戲中可以把某個必殺技的複雜按法設為快捷鍵直接快速放招。 由於科學的定義必須要可以證偽,也就是說理論的前提必須要讓其他人可以驗證是否正確,否則根據真值表,前提是False,結論隨便你怎麼說都會是True。而數學的公理是不能證偽的大前提,所以數學不是科學。 那麼公理是發現還是發明出來的呢? 大部份公理都是發現出來的,因為他要解決的是我們現實世界的問題,但如果要解決的不是現實世界問題的時候,就可以自己發明。數學最神奇的地方在於他本應是只存在於人類理性思維下的產物,但卻可以用來預測現實世界的物理規律,因此古今不少物理學家都認為上帝是一位數學家。 另外也有看到了axiom(公理)、postulate(公設)這二個詞常常被交替使用,網路上查了很久都沒有得到滿意的答案,最後問了一下AI後,就突然懂了。 以遊戲來比喻的話,我可以將axiom想成是硬體要求而postulate想成是遊戲中的規則,因為硬體要求不需要解釋,不滿足條件就是不能玩遊戲,而遊戲中的規則是由遊戲設計師根據他的理念設計出來的,他可以決定要不要解釋(證明)或者是不解釋直接使用該設計,不接受該設計的玩家就必須選擇離開。 在有了公理系統之後,人們開始思考某個公理系統是否完備。所謂的完備性,是指某個公理系統是否能解決所有可能出現的陳述,也就是說這個遊戲規則是不是夠完整有沒有邏輯上的bug,當然規則不完整的遊戲也是可以自成一套系統的,只要不去觸發那些會當機卡死你自己的bug,在規則內愛怎麼玩就怎麼玩,沒人會阻止你。 大數學家希爾伯特在1900年提出的23問中的第2題是個野心非常大的提問,他試圖想要讓全世界的遊戲設計師(數學家)設計完所有可能的遊戲(公理系統)之後,再把所有的遊戲融合起來創造出一款內涵所有遊戲規則的遊戲。 他曾經發出了這麼一句豪語:We must know, we will know,我們必須知道、我們必將知道。這是個多麼無畏且自信的發言阿,從中可以窺探出這位大數學家的遠大理想,可是,這個理想卻被哥德爾不完備定理所粉碎了。簡單來理解這個定理,就是規則與規則之間必會找到不相容之處,一致性(Consistency)與完備性(Completeness)只能取其一。 例如遊戲一的必殺技是跳+普攻;遊戲二只有普攻且不能有跳。這時候這個想要進行大一統的新遊戲為了Consistency(一致性)就必須把「跳」的規則拿掉,這代需要捨棄Completeness(完備性)。當一個系統的輸入有二種可能的輸出代表該系統的行為不一致;設計上邏輯的漏洞代表不完備。只要是寫在遊戲企畫書上的規格,若系統沒有實作,QA的唯一標準動作就是報bug。 而這種bug產生的原因,究其根本是由於二個系統的規則套用到同一個實體而造成邏輯上的自我指涉造成無窮遞迴而永不停止,例如圖靈提出的halting problem或者是羅素的理髮師悖論。以前在學演算法或計算理論時沒人幫我把這些概念連繫在一起,在發現他們在講同一件事的當下讓我久久不能自己。 關於halting problem這邊就舉幾個例子解釋一下。 原始的陳述是在講說若有二個機器,其中機器A能夠判斷任何程式是否halting,若halting回傳true否則回傳false,另一個機器B則輸出跟機器跟A完全相反的結果,若A停B就跑,A跑B就停。但當機器B把自己餵進去的時候,就會就會產生邏輯矛盾讓程式永遠停不下來。 另一個例子是羅素的理髮師悖論,為了讓敘述的結構跟上面的一樣,因此我做了一些修改,我稱之為肥宅理髮師悖論:我們先定義理髮師這個職業的規則是只會幫除了自己以外的人理頭,另外定義肥宅這種人的規則是他懶得出門所以只能在家幫自己理頭。 但這時候如果某個理髮師其實就是肥宅的話,那麼他到底能理誰的頭? 最後的例子是上面提到被德爾不完備定理粉碎的大一統遊戲,當我們想要在這個新遊戲中發出必殺技時,若該遊戲是完備的,代表該操作必須要通過所有規則的檢測,很明顯,這二個遊戲對於跳的規則定義是完全相反的,就像是硬幣的正反面只能擇其一, 若是我們想要保留所有的規則,就會發現在把規則丟下去互相檢驗時會落入無窮迴圈:遊戲一說能跳,把規則餵進去遊戲二時卻發現不能跳,這時候套回遊戲一又發現能跳……這個檢測將永遠停不下來。 這個問題其實也是第三次數學危機產生原因,最後是通過加入一個新公理( Axiom of regularity / Axiom of foundation ) 把這種自我指涉的狀況排除掉。只是整個集合論所依賴的ZFC公理系統這樣就完備了嗎?目前看起來是還沒有,第三次數學危機只是表面上解決,上面那個加新公理的方法只是一種workaround,這種自我指涉矛而產生的矛盾陳述仍然存在。只要是可以描述的問題,我們就會希望可以透過計算來得到解答。──我猜這也是圖靈最初的美好幻想──我們想要的是一台終極強大且完美的邏輯機器,希望能夠幫助我們解決所有的問題。好奇心是人類的天性,人類自古以來就一直在追求著萬事萬物的終極解答。 嗯,答案是42,但為什麼? 可能要等到有一天有人真的想到一套完美的方法,可以從根本上解決這種矛盾問題,也就是說不再有undecidable … Continued