连载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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章