人類自從有了智慧型以來,一直以概念來描述世間萬物。首先,我們給身邊的每樣物體起名字,天,地,日,月,山,水,風,雨,都是獨一無二的具體概念。漸漸地,名字太多不好記,就開始以組合的方式命名。比如說,取兩件事物相關聯的特徵來指第三件事,暴雨落於田野,聲音很大,於是起了個名字叫「雷」,亮的東西,就像那太陽和月亮,於是就起了個名字叫「明」,等等。
在這種方式下,每個名字都漸漸丟失了原本具體事物的個性,而變成了很多事物共通的特徵。在特徵上研究而得到的規則和邏輯,能應用於所有具有這特徵的事物,因此有極強的推廣能力,所謂「舉一反三」是也。比如說,知道了「一加一等於二」,我們就知道一枚硬幣加一枚硬幣是兩枚,乙個蘋果加乙個蘋果是兩個,任何單個同種物體相加都是兩個。加和之後的數量,只和加和前的物體數量有關,和物體的其它特徵,比如說方的,圓的,紅的,綠的,是沒有關係的。
日常概念,比如說數量,顏色,形狀,大小,用自然語言都能解釋明白,邏輯也清楚,數學在這裡就顯得「沒什麼用」;但如果要從日常抽象出的概念中,再一次地抽出共同的特性來加以理解和分析,即所謂的「抽象的抽象」或是「高層抽象」,數學就有大威力。它的精確簡潔,恰好擊中了日常概念模糊冗長的命門,就可以在堅實的基礎上,建起高層抽象的大廈,並且仍然能保持嚴格的邏輯自洽性,不會出錯。
乙個經典例子,是求解多元線性方程組。一元(像4x=12)是小學生課程,兩元(像求兩直線交點)是初中生課程,三元以上就會令高中生們頭痛了,因為求解的過程漫長凌亂(我相信這是很多人恨數學的原因)。到了大學的線性代數課,矩陣粉墨登場,利用高斯消元加上克萊姆法則,一下子就可以解任意多未知數的線性方程組。
別看我們只學了半年一年,歷史上這一步質的飛躍,花費千年。中國人試過,印度人試過,阿拉伯人試過,最後歐洲人終於建立了完整的體系,使這一問題得以徹底解決。今天我們能看見火箭上天,能開著汽車到處走,能造出晶元,能玩3d遊戲,能看高畫質的數碼電影,全要拜它所賜。從此以後,我們不用像高中生那樣為解乙個三元一次方程組寫一黑板的推導,而只要在matlab裡寫一行就可以了:
x=a\b。
漂亮不?有了矩陣,我們的思維就不再掙扎糾結於四則運算細節,因為簡潔有效的矩陣運算(二級抽象)自然包含了繁雜的加減乘除(一級抽象)。大腦解放了之後,就可以騰出空間來尋找更高階別的規律,新一層的抽象就又開始了。比如說,脫開解線性方程組這個具體應用背景,而單純考慮矩陣和向量運算的各種性質,我們看見了它的線性特徵和幾何對應,於是就有了線性運算元的概念,特徵值的概念;考慮矩陣之間的加法和乘法運算結構,我們可以抽象出群和環的概念。數學的大廈,就是這樣建立起來的。
另一方面,高層抽象的成功構造,反過來會影響作為其基礎的日常概念的選擇。理論是發展的,在發展過程中各種概念可以提很多,但是有用的概念需要經過時間的檢驗,其中一種檢驗方式,就是看這個概念能在將來的體系中走多遠。從牛頓力學發展到相對論和量子力學的這個過程中,有些物理概念雖然很直觀,但在更廣泛的情景下無法推廣(比如說「力」),於是就漸漸廢棄;有些概念初看起來很奇怪,但後來被發現在各種情況下都找得到它的影子(比如說「動量」),那就大行其道。為什麼我們有碳氫氧的概念,卻沒有「燃素」的概念,因為前者導致了化學這一體系的誕生,而後者的結論都被實踐否定,像一篇沒有後續工作的文章,漸漸被人遺忘。
有人就會問了,大部分高階抽象和我們平時的工作沒啥關聯,有必要學習它們麼?答案是:確實沒有必要(笑)。數學家們把這種抽象過程當作遊戲,自得其樂地在那裡不停地發文章;而我們工科生要解決實際問題,要以最小的代價命中問題的要害,只取所需要的部分就行。雖然如此,但是——
學會這樣一種自下而上的,多級抽象的思考方式,個人認為是數學帶給我們的最重要財富。
有效率的思維,是像一束雷射,在合適的時候聚焦於問題關鍵點,而忽略細節;等解決完了,再重新分析,迅速切換到下乙個關鍵點,幾個關鍵點一解決,綱舉而目張,問題自然解決。而關鍵點如何選擇,大節如何把握,細節如何忽略,就是需要不停磨練的藝術。每次細節複雜,邏輯關係混亂的時候,不是拼耐心把它們全都解決,而是移開目光,朝天仰望,想一想其中有什麼最重要的成分,把他們抽出來反覆理解,按照重要和次要排序,最終理順關係,再開始動手。
在這一點上,發展幾百年的數學體系給了無數的範例可供欣賞。每乙個公式或是定理,都是去粗存精後的結晶,都讓人驚喜於巧妙而簡潔的假設,有趣卻嚴格的分析,和精緻而廣泛的結論。理解了這些,才真正體會到何謂數學之美——
數學不是令人生畏的滿屏公式,不是折磨人的重複計算,是有關「如何對概念進行抽象」的精巧藝術。
from:
this指標的用處
1.this指標的用處 乙個物件的this指標並不是物件本身的一部分,不會影響sizeof 物件 的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的時候也是加...
mysql 索引用處 MySQL索引的用處
mysql索引是很重要的概念,應用的範圍非常廣。那麼,mysql索引究竟有何作用呢?下文將帶您一起尋找答案。mysql索引作用 在索引列上,除了上面提到的有序查詢之外,資料庫利用各種各樣的快速定位技術,能夠大大提高查詢效率。特別是當資料量非常大,查詢涉及多個表時,使用索引往往能使查詢速度加快成千上萬...
位運算的用處
一 按位與 運算子 1 運算規則 參加運算的兩個資料,按二進位進行 與 運算,如果兩個相應的二進位都為1,則該位的結果值為1,否則為0,即 0 0 0,0 1 0,1 0 0,1 1 1.2 用途 1 清零 運算物件 原來的數中為1的位,新數中相應位為0。2 取乙個數中某些指定位。如想要取乙個整數a...