連載18:軟件體系設計新方向:數學抽象、設計模式、系統架構與方案設計(簡化版)(袁曉河著)

數學抽象

 

數學之所以比一切其它科學受到尊重,一個理由是因爲他的命題是絕對可靠和無可爭辯的,而其它的科學經常處於被新發現的事實推翻的危險。…。數學之所以有高聲譽,另一個理由就是數學使得自然科學實現定理化,給予自然科學某種程度的可靠性。                                     

---愛因斯坦

 

模式的構建標誌着由特殊上升到了一般,以模式爲直接對象去從事研究也就應當說是一種純形式的研究,在純粹數學的研究中我們就不能求助於直觀,而只能依據相應的定義去進行推理。

在純粹數學的研究中,應當藉助於明確的定義來構造出相應的量化模式,並以此爲直接對象從事純形式的研究。作爲數學抽象物的量化模式在概念意義上就應具有一定層次上的普遍性和概括性,在表述形式上則應具有無歧義的邏輯精確性和間接性。

難道我們不再討論軟件設計而開始討論幾何和代數了?這不免讓人產生更多的詫異,軟件設計和幾何和代數在表面上差異巨大,然而,其幾何和代數實際上深刻的刻畫了軟件設計,由此,軟件設計將進入數學的時代!

幾何化和代數化

 

1872年德國數學家克萊因在埃爾朗根大學的教授就職演講中,作了題爲《關於近代幾何研究的比較考察》的論文演講,論述了變換羣在幾何中的主導作用,把到當時爲止已發現的所有幾何統一在變換羣論觀點之下,明確地給出了幾何的一種新定義,把幾何定義爲一個變換羣之下的不變性質。

克萊因的觀點

S爲一個非空集合,G爲S上的一個變換羣,稱S爲空間,S的元素稱爲點,S的子集F稱爲圖形,G稱爲空間S的主變羣,研究空間S中圖形所決定的在G的每一個元素的作用下保持不變的性質(稱爲G不變性)和數量(稱爲G不變量)的科學稱爲一門幾何學(S,G)。

由上面的定義可知,每給定非空集合S上的一個變換羣G,就可以構成一門幾何學,事實上,設F、F’爲空間中的兩個圖形(即S的子集),若有g∈G,使得g(F) = F’,則稱圖形F與F’等價,記爲F≈F’,顯然“≈”是空間S中所有圖形構成的集合上的一個等價關係。

其次,考慮從集合S到S的某一交換羣G,根據其可以將S的圖形分成等價類,如果G中有一個變換f,使圖形A變成圖形B,那麼稱圖形A與圖形B等價:

1、 圖形A必與它自身等價,這事因爲羣G中的恆等變換把A變成A。

2、 如果圖形A與圖形B等價,則圖形B也可以與圖形A等價,這是因爲羣G中的變換f,使B = f(A),且其逆變換f -1,使A = f -1(B),

3、 如果圖形A與圖形B等價,圖形B與圖形C等價,則圖形A與圖形C等價。

平面上(或空間裏)的圖形在一交換羣G的所有交換下保持不變的性質或量(函數),叫做圖形在變換羣G下的不變性質或不變量,若在G下的所有不變量都可用某一個不變量來表示,這個不變量叫基本不變量。

變換羣越大可能研究的幾何學內容可能越少,變換羣越小,幾何學亞久的內容可能就越豐富,換句話說,子幾何學的內容要比母幾何學豐富,但是變換羣越大,其討論的內容在這個幾何系列中就一定具有綱領性意義。

那麼我們根據第一章節軟件設計公理化的相關內容可知,各種置換點可以抽象爲非空集合S中的點,集合S可以看成爲全部需求可置換點形成的集合,而這些能夠形成置換的動態操作形成集合G,那麼這樣的操作在前面的章節中有所提及,例如:值-地址置換、地址-值置換、賦值置換、抽象置換、繼承置換、接口化置換等等,那麼在這些置換其中最簡單的三種方式G1(值-地址置換、地址-值置換、賦值置換)可以構成一個交換羣(在第一章中我們已經討論),同時所有這些置換操作也共同形成一個最大的羣Gn,那麼我們可以將軟件設計在置換下形成一種在數學上的新的幾何。由此,我們就可以使用幾何的方法來研究軟件設計,來規範化和系統化軟件設計,爲軟件設計找到一種數學上的方法論,所以我們暫時稱此幾何爲置換幾何。

在置換幾何中,S的子集我們稱爲圖形F,而這些圖形也就對應我們前面涉及到的結構對象,只是我們需要提醒的是,我們現在的置換幾何中其圖形可能不是之前我們所認識的樣子(例如繼承體、包含體這樣的形狀),而目前這樣的圖形需要我們重新給出形象化的樣子。

但是,我們還需要明白,在幾何的定義中,我們涉及到變換羣的概念,注意這些變換羣可能是有多個,例如上面提到的G1(值-地址置換、地址-值置換、賦值置換),還有G2(抽象置換、繼承置換、類自反置換),還有G3(泛化置換、特化置換、模板自反置換),那麼在不同的變換羣中就形成不同的幾何,當然,在數學中可以證明,在點集下這種變換羣是有限的。

當然,在軟件設計中其實混合了很多不同的幾何,同時軟件設計其實也是多種幾何的混合體。

根據等價關係,可以把集合S的所有圖形進行分類,凡是等價的圖形屬於同一等價類,於是,同一類裏的一切圖形所共有的幾何性質必定是變換羣G下的不變性質和不變量。反過來,圖形(結構對象)在變換羣下的不變性質和不變量,必定是同一個等價類裏一切圖形所共有的性質,而這些性質正是該幾何學所研究的,因此,可以說每種幾何學都被它的一個固有的變換羣G所確定。

所以,我們的一個目的就是討論在軟件設計過程中這些變換羣中存在的不變性質和不變量到底是什麼,這對於我們進行分析和評價一個軟件系統都具有重要的價值。

非空集合S和S上k個一元或二元運算f1,f2,......,fk(其中,f i是n i 元代數運算,n i 爲正整數,i=1,2,3,...,k)組成的系統稱爲代數系統,簡稱代數。

在抽象代數裏,代數結構(algebraic structure)是指裝備了一個以上的運算(最一般地,可以允許有無窮多個運算)的非空集合。一般研究的代數結構有羣、環、域、格、模、域代數和向量空間等等。

由於我們前面的置換羣就本身就是代數結構,所以我們可以利用代數結構來引入子代數、同態、積代數等相關的應用。

綜上所述,我們將軟件設計進行幾何化和代數化,這樣的幾何化和代數化能夠給我們帶來哪些有意義的突破呢?希望能夠通過大家一起不懈的努力將這一成果繼續擴大。

 

發佈了42 篇原創文章 · 獲贊 2 · 訪問量 2351
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章