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

同構和同態

 

在抽象代數中,同構指的是一個保持結構的雙射。在更一般的範疇論語言中,同構指的是一個態射,且存在另一個態射,使得兩者的複合是一個恆等態射。

在數學中研究同構的主要目的是爲了把數學理論應用於不同的領域。如果兩個結構是同構的,那麼其上的對象會有相似的屬性和操作,對某個結構成立的命題在另一個結構上也就成立。因此,如果在某個數學領域發現了一個對象結構同構於某個結構,且對於該結構已經證明了很多定理,那麼這些定理馬上就可以應用到該領域。如果某些數學方法可以用於該結構,那麼這些方法也可以用於新領域的結構。這就使得理解和處理該對象結構變得容易,並往往可以讓數學家對該領域有更深刻的理解。

利用Cayley定理:每個有限羣G都與某個置換羣同構,任何一個抽象羣都可以找到一個具體的羣與它同構,而每一個同構的羣,除了元素的差別外,就其代數性質,即由代數運算而產生的性質來說,則是完全一致的。

由此在我們所涉及到的羣,其實都可以通過同構方式將置換羣轉化爲軟件設計中所涉及到的任何羣,因此我們針對其任何意義的羣我們並非一定需要進行具體研究,我們可以通過對置換羣這一研究較多的羣進行挖掘就能夠達到目標。同時通過此定理我們也可以看出,我們使用“置換”來作爲基本的設計原理也有其規範正確的理論基礎。

圖的同構:假設G=(V,E)和G1=(V1,E1)是兩個圖,如果存在一個雙射m:V→V1,使得對所有的x,yV均有xyE等價於m(x)m(y)E1,則稱G和G1是同構的,這樣的一個映射m稱之爲一個同構,如果G=G1,則稱他爲一個自同構。

同一座標結構概念的兩組座標稱爲是同構的,如果它們具有同樣的形狀,更嚴格地說,兩組座標同構的條件是存在它們之間的一個一一對應,使來自第一組中的一個遍歷函數對座標的任何合法應用返回的座標,對應於同一個遍歷函數作用於來自第二組裏的那個對應座標得到的結果。

檢查同構的算法只使用遍歷函數,因此同構與被座標指向的對象的值無關,但同構要求同樣的訪問函數在對應的一對座標上或者都有定義,或者都無定義,例如,兩個有界或計數範圍同構的條件是它們的規模相同。

對雙向二叉座標,樹同構的體檢是同時遍歷得到相同的訪問序列。

泛型編程其能夠完成其泛化和特化的處理,就是因爲針對此圖的關係來說,其模板和特化的置換點局部上具有同構的關係結構,只有這樣才能夠進行泛型化的編程。如圖2-8所示比較形象的表示這樣的置換方式。 

blob.png 

2-8

2度頂點同構:

兩個圖G1和G2稱爲在2度頂點內同構的(或稱同胚),如果它們是同構的,或者通過反覆插入和(或)除去2度頂點,它們能變成同構的圖。

blob.png 

2-9

 

所以,如果我們需要新增或重構設計進入原來的系統,那麼採用的方式就是要求加入後的圖與加入前的圖保存2度頂點同構(如圖2-9所示),這是耦合性最小的加入形式,也是系統保持優化和整潔的理論基礎。從中可以看出,新增的置換點和相鄰的置換點最好是形成線性化的結構是最佳的體現,所以線性化機制將變得異常突出。

同態:

假設M,M′是兩個乘集,也就是說M和M′是兩個各具有一個封閉的具有結合律的運算*與*‘的代數系統。σ是M射到M′的映射,並且任意兩個元的乘積的像是這兩個元的像的乘積,即對於M中任意兩個元a,b,滿足

σ(a*b)=σ(a)*’σ(b);

也就是說,當a→σ(a),b→σ(b)時,a*b→σ(a)*’σ(b),

那麼這映射σ就叫做M到M′上的同態。

格同態:對於格<L,*,⊕>和格<S,∧,∨>,定義一個映射f:L→S,如果對於任何a,b∈L,有f(a*b)=f(a)∧f(b)和f(a⊕b)=f(a)∨f(b),則稱f是從<L,*,⊕>到<S,∧,∨>的格同態。

如果我們將繼承和抽象關係形成的偏序格如下圖所示,那麼我們可以通過格同態轉化爲一個全序鏈,此就是表示菱形繼承方式可以通過格同態轉化爲單鏈的繼承結構,如圖2-10所示。

 

 blob.png

2-10

 

我們對同構和同態進行了數學方面的定義,其實我們就利用同構或同態能夠輔助我們建構系列模型,利用這些系列模型能夠將相似的模型進行對應,以此能夠獲取更大的相通性。讓我們先來看看大師們是如何運用這一特性的。

香農認爲,密碼系統中對消息的加密變換的作用類似於向信息中存在的噪聲。密文就相當於經過有擾信道得到的接收消息,密碼分析員相當於有擾信道下原接收者。不同的地方在於,這種干擾不是信道中的自然干擾,而是發送者有意加進的,且可由己方進行設計和控制、選自有限集的強幹擾,也就是密鑰,其目的是己方可方便地除去發端所加的強幹擾,從密文中恢復出原來的信息,而使敵方難於從截獲的密報中提取出有用信息。所以密鑰的隨機性將成爲關鍵所在。傳信系統中的信息傳輸、處理、檢測和接收過程,與密碼系統中的加密、解密、分析和破譯過程都可用信息論觀點統一地分析研究。密碼系統本質上也是一種傳信息系統,是普通傳信系統的對偶系統。

香農以概率統計的角度對消息源、密鑰源、接收和截獲的消息進行數學描述和分析,香農深刻揭示了冗餘度在密碼中的作用,用不確定性和唯一解距離來度量密碼體制的保密性,深入闡明瞭密碼系統、完善保密性、純密碼、理論保密性和實際保密性等重要概念,從而大大深化了人們對於保密學的理解。這使信息論成爲研究密碼學和密碼分析學的一個重要理論基礎,將密碼學從藝術變成了科學,宣告了科學的密碼學時代的到來。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章