代数系统是数学中的一个重要概念,它涉及一组对象以及定义在这些对象上的运算规则。代数系统可以是抽象的,也可以是具体的。
在抽象代数中,代数系统通常由一组元素和一组操作(或称为运算)组成。这些操作可以是二元的(例如加法和乘法)或一元的(例如取负)。代数系统的运算必须符合一定的性质,例如结合律、交换律、单位元和逆元等。常见的抽象代数系统包括群、环、域和向量空间等。
本文中关于代数系统的讨论部分和前文《代数入门》很相似,主要做了一些拓展和案例补充。
只要满足两个条件就是一个代数系统:
满足最低要求的代数系统,就是广群。
满足结合律的广群就是半群。
半群的性质:
集合中对于运算*存在幺元 e 的半群就是含幺半群,也叫独异点。
对于每一个元素都存在逆元的含幺半群,就是群。
可以看到,群是具有最严格的定义:
常见的一个群为:是一个群,幺元为空集,每个元素的逆元都是自己。
群的性质:
这就是最基本的群的部分性质,底下的讨论相较于群,增加了部分性质。
如果群中的元素对于操作*是可交换的,就称为阿贝尔群或者交换群,也叫加法群。
群中的所有的元素都可由一个元素 x 通过不断地*运算生成,则称为循环群,x 被称为生成元,事实上生成元往往不止一个。
这里有几个重要的结论:
任何一个有限群,事实上都可由一个置换群表示。
置换群(Permutation Group)是群论中的一个重要概念,它研究的是一组对象的排列及其上的运算。在置换群中,对象的排列通过置换操作来描述,而置换群则是由这些置换构成的群。
具体来说,给定一个有限集合X,一个置换是对X中元素的重新排列。每个置换可以表示为一个映射,将集合X中的元素映射到另一个元素上。这种映射可以用一个有序的元素列表来表示,其中列表中的第i个元素表示将原始集合中的第i个元素映射到的新位置。
置换群是由所有可能的置换组成的群,它的运算是置换的复合。换句话说,对于两个置换,可以将它们按照给定的顺序,依次执行,得到一个新的置换。这个复合运算满足结合律、单位元和逆元的群性质。
环(Ring)是抽象代数中的一个重要的代数结构。它由一个非空集合R和两个二元运算(加法和乘法)组成,分别记作"+“和”·"。
可以看到,对于乘法运算(·)并没有要求交换律和逆元。因此,环(Ring)可以定义为:
一个经典的例子就是,其中 A 是矩阵。显然矩阵(方阵)加法是一个
交换群
,矩阵乘法是一个半群
(可结合,有幺元,也是含幺半群),,乘法对加法满足分配率。因此**就是一个经典的环**。
事实上,矩阵运算还是一个含幺环,因为乘法具有幺元 E。
环有以下分类:
域的定义比环更加严格,可定义为:
比如**
图是由结点和边构成,又分为有向图、无向图、带权图、无权图、混合图等等,这些概念很简单,不再赘述。
完全图:任意两个节(结)点之间都有边,记为 Kn图,n 为节点数目;
节点的度:连接的边的个数,细分为出度、入度;
一些定理:
生成子图结点构成的集合不变,子图没有要求,真子图结点会少一些。
拓扑结构不变的图,就是互为同构。
目前没有一个通用的方法来判断两个图是否同构,只能得到同构的图的一些必要的性质:
这些必要条件都是简单的易于理解的,但是没有一个充分条件能用来判断两个图是否同构。这里给出一个尝试,就是按照顺序分别算出两个图的矩阵表示,然后判断两个矩阵是否相等,如果相等就同构。但是这个过程的难点在于无法按照顺序算出矩阵表示,尤其当结点数目很大时。
有以下基本概念:
路的性质和推论:
这里牵扯到一点割集、割点、边割集、割边或者桥的概念,很简单。
常见的结论有:
G-{v}
是一个非连通图;对于有向图的可达性,有以下定义:
一些性质:
矩阵表示的图,具有诸多的特点,能更简单的存储在计算机中,被各种算法计算,也更简洁,可以压缩。
对于一个无向图:
对于一个有向图,则有出度和入度概念。
定理:设图 G 的邻接矩阵为 A,则结点 v i v_i vi、 v j v_j vj 之间长度为 k 的路的数量为矩阵 A k A^{k} Ak 的 a i , j a_i,_j ai,j。这个定理的证明很有意思,比较简单,不再赘述。
这个定理有以下几个简单推论:
m = 1,2,3,...,n-1
都有 A m A^{m} Am 中 a i , j a_i,_j ai,j = 0,则说明结点 v i v_i vi、 v j v_j vj之间没有路,它们必定位于不同的连通分支;m
;m
的回路的数量。可达矩阵研究的是结点 v i v_i vi、 v j v_j vj之间有没有路的问题,这个问题很好解决。
2、3、... 、m
的路,之后再进行逻辑加。仔细一想,这就是再求传递闭包!因此,整个过程本质上就是在求传递闭包。因此,最简单的方法就是利用 Warshall 算法进行求解!
有向图和无向图的可达性矩阵计算方式一模一样。但是有向图的强分图怎么算呢?
定理: 有向图 G 是强连通的当且仅当其可达性矩阵 P 的所有元素均为1。
是这么理解的:设 P 是图 G 的可达性矩阵,其元素为 p i , j p_i,_j pi,j, P T P^{T} PT是 P 的转置矩阵。则图G的强分图可由P∧ P T P^{T} PT求得。因为从 v i v_i vi到 v j v_j vj可达,则 p i , j p_i,_j pi,j=1;从 v j v_j vj到 v i v_i vi可达,则 p i , j p_i,_j pi,j=1。于是当且仅当vi与vj相互可达时,P∧ P T P^{T} PT的第(i,j)元素的值为1。
例1:求出下图所示图的强分图。
求出它的可达矩阵与可达矩阵的转置,然后进行逻辑乘:
例2:设 t 时刻的相关资源集为R={r1, r2, r3, r4}
,进程集为P={p1, p2, p3, p4}
,进程占据资源的情况为:
对应的资源分布图如上图所示。这样我们就能根据这个有向图得到一个矩阵 A,再求出它的可达矩阵,得到强分图。只要这个强分图不是 E(大于 E),那么就是死锁的。解决办法就是挂掉某些进程,使得可达矩阵某些元素为 0,这就会导致强分图为 E(自己到自己默认可达),从而解决死锁。
全文完,感谢阅读!