追求不變性_風聞
code2Real-有人就有江湖,有code就有bug2022-01-18 15:18
在一般的生活場景中,好象只有頑固的保守派才追求不變性,年輕人大多追求日新月異的東西。
但是在學術研究中,研究者還是願意追求不變性。
這從哪裏説起呢?
還是從對稱性説起吧。
對稱性的精確數學定義涉及到不變性概念。
如果一個幾何圖形在某種操作下保持不變,就説這個圖形在這些操作之下具有不變性。
物理學家會採用更為方便的描述方法,這種描述方法不再去旋轉一個幾何圖形,而是問同一圖形在兩個相互旋轉了一定角度的觀察者看來是否一樣。
如果我把頭轉過17度,正方形就偏了,而圓形依然保持不變。
在幾何學中,要問一個幾何體在什麼操作下保持不變是完全不成問題的,但是物理學家並不是處理幾何圖形的。那麼對稱性是如何進到物理學中的呢?
象幾何學家一樣,物理學家可能會問,在不改變物理現實的前提下,我們能對它“做”些什麼呢?
這樣的提問顯然不很恰當,但它的確是物理學的一個基本的問題:處於不同觀察位置的物理學家眼中的物理現實是一樣的嗎?
假設有兩個物理學家,其中一個不管是出於什麼原因,總是把頭偏離豎直方向31度角觀察世界。兩個物理學家分別把他們的觀察結果總結成物理學定律,然後比較結果。
如果他們總結的物理學定律是一致的,我們則説,物理學定律在轉過31度角時保持不變。
現在,那個古怪的物理學家再次把頭轉成另一個角度,重新開始他的研究,然後比較研究結果。
最後兩人得到結果,不管視角偏離多少角度,研究結果都是一致的。
今天,物理學家已經相信,物理學定律對旋轉保持不變性,因此我們説物理學定律具有旋轉不變性。
顯然,説物理學具有旋轉對稱性/不變性,是指它在空間並無特別的取向。
對具有現代意識,特別是看過星際戰爭電影的人來説,沒有一個方向具有相對其它方向具有內在優越性這一説法,幾乎成了哲學上必然的東西。
但是,事實上就在不久之前,人們都確定相信有一個特殊的方向。
有很長一段時間,人類對物理世界的認識總是擺脱不了重力的影響,意識到“上“與”“下”並無內在意義也是一個使人震動的發現。(想想我們許多人總是擺脱不了因果的影響,意識到“前因“與”後果“並無內在的意義也是一個使人震驚的發現)。
雖然古人很早就猜測地球是圓的,但是我們真正理解旋轉對稱性實際是從牛頓覺察到蘋果不是掉到地上而落向地心開始的。
我們還得説,物理學是建立在經驗基礎之上的,所以旋轉對稱性也只能由實驗來建立。
在20世紀30年代,物理學家尤金.維格納將旋轉對稱性應用到象原子的光發射一類的量子現象,得出的結論可用實驗測量來驗證。
實驗物理學家實際上並不會偏着自己的頭,他們可以通過在發光原子周圍放幾個光檢測器來達到同樣的效果。記錄下的光的計數率,並與維格納用旋轉對稱預言的理論計數相比較。
直到現在,實驗總是支持旋轉不變性。
因此,物理學家把對稱性的概念發展成一個判斷自然設計的客觀判據。給出兩個理論,物理學家一般會覺得對稱性更高的那一個要更美一些。
當觀察者是物理學家時,美意味着對稱。
區分物理定律的對稱性和特定情形下的對稱性,是牛頓的偉大學術成就之一,它使物理學得到以成形。
-------------
請原諒我不懷好意的打住這個話題(雖然會引起一些網友的不滿)。
因為我是碼農,所以我真正想要説的是:軟件開發中如何追求不變性/對稱性。
根據軟件工程論述,軟件開發涉及多個利益相關者(stake holder)。
什麼時候軟件能成為科學?
我認為必須是在軟件中發現不變性/對稱性。
我一直拒絕承認社會學/經濟學研究是科學,因為有一個段子:你同4個經濟學家聊天后,你會得到5個不同的經濟學想法。
換而言之,社會學/經濟學研究不具備旋轉不變性,基於不同的立場的觀察者,會得到不同的研究成果。只有在純科學研究中才可能有對稱性/不變性,涉及到現實利益的情況下,只能各説各話。
軟件開發顯然也是一樣的,不同的利益相關者對軟件的看法是不一樣的。
當碼農辛辛苦苦完成代碼開發,並調試通過時,有的利益相關者會拒絕承認開發成果。
因此軟件及相關內容並不是什麼科學體系,功夫在詩外,碼農的很多工作與代碼編寫、調試無關,是在與沒有邏輯的業務邏輯打交道,是與無法形式化的人打交道,是與屁股決定立場的利益相關者打交道。
即使在這樣艱苦卓絕的環境下,我仍然在追求對稱性/不變性。
函數式編程顯然是這樣一根稻草,函數式編程是基於數學變換的不變性。
就象面對慘淡的人生,我仍然對那一抹霞光痴迷。