《离散数学》:代数系统和图论导论

一、代数系统

代数系统是数学中的一个重要概念,它涉及一组对象以及定义在这些对象上的运算规则。代数系统可以是抽象的,也可以是具体的。

在抽象代数中,代数系统通常由一组元素和一组操作(或称为运算)组成。这些操作可以是二元的(例如加法和乘法)或一元的(例如取负)。代数系统的运算必须符合一定的性质,例如结合律、交换律、单位元和逆元等。常见的抽象代数系统包括群、环、域和向量空间等。

本文中关于代数系统的讨论部分和前文《代数入门》很相似,主要做了一些拓展和案例补充。

(〇)代数系统

只要满足两个条件就是一个代数系统

  • 集合非空
  • 运算封闭

(一)广群

满足最低要求的代数系统,就是广群。

(二)半群

满足结合律的广群就是半群。

半群的性质:

  • 如果 S 是一个有限半群,那么 S 中一定有等幂元;
  • 如果 S 是一个含幺半群(独异点),则运算表中没有两行或者两列是相同的;

(三)含幺半群

集合中对于运算*存在幺元 e 的半群就是含幺半群,也叫独异点。

(四)群

对于每一个元素都存在逆元的含幺半群,就是群。

可以看到,群是具有最严格的定义:

  • 封闭性
  • 结合性
  • 含有幺元
  • 含有逆元

常见的一个群为:<P(S),对称差>是一个群,幺元为空集,每个元素的逆元都是自己。

群的性质:

  • 无零元
  • 群G 中,ax=b的解是唯一的,因为每个元素都有逆元,x = a^-1b;
  • 群的计算满足消去律,或者群中的元素都是可约的;
  • 如果一个有限含幺半群,满足可约,那么一定是一个群。(可约去就暗示了该群含有幺元,那么自然就是一个群了);
  • 群众的等幂元素一定是幺元。证明: xx=x=xe,则 x = e
  • 有限群运算表中每一行或每一列都是群 G 中的元素一个置换;(两行元素如果双射,就是一个置换)
  • 如果 S 是 G 的子集,且 S 是有限的,只要运算*在 S 中封闭,那么 S 一定是一个子群;
  • 如果 S 是 G 的子集,S中的任意两个元素a、b,只要满足 a*b^-1也属于 S,那么 S 就是一个子群。注意这里没有对集合 S 是否有限作出限制。

这就是最基本的群的部分性质,底下的讨论相较于群,增加了部分性质

(五)阿贝尔群

如果中的元素对于操作*是可交换的,就称为阿贝尔群或者交换群,也叫加法群

(六)循环群

中的所有的元素都可由一个元素 x 通过不断地*运算生成,则称为循环群,x 被称为生成元,事实上生成元往往不止一个。

这里有几个重要的结论:

  • 由拉格朗日定理,n 阶群的子群,其阶数一定是 n 的因数
  • 素数阶的群一定是循环群,由拉格朗日定理,素数阶的群一定只有两个平凡子群;
  • 四阶群按照分类,只能分为克莱因四元群四阶循环群
  • 循环群是加法群;
  • 对于n 阶循环群 G,如果 a 是一个生成元,则:a^n=e;
  • 对于无限循环群 G,如果 a 是一个生成元,那么另一个唯一一个生成元为 a^-1;

(七)置换群

任何一个有限群,事实上都可由一个置换群表示

置换群(Permutation Group)是群论中的一个重要概念,它研究的是一组对象的排列及其上的运算。在置换群中,对象的排列通过置换操作来描述,而置换群则是由这些置换构成的群。

具体来说,给定一个有限集合X,一个置换是对X中元素的重新排列。每个置换可以表示为一个映射,将集合X中的元素映射到另一个元素上。这种映射可以用一个有序的元素列表来表示,其中列表中的第i个元素表示将原始集合中的第i个元素映射到的新位置。

置换群是由所有可能的置换组成的群,它的运算是置换的复合。换句话说,对于两个置换,可以将它们按照给定的顺序,依次执行,得到一个新的置换。这个复合运算满足结合律单位元逆元的群性质。

(八)环

环(Ring)是抽象代数中的一个重要的代数结构。它由一个非空集合R和两个二元运算(加法和乘法)组成,分别记作"+“和”·"。

可以看到,对于乘法运算(·)并没有要求交换律和逆元。因此,环(Ring)可以定义为:

  • 加法运算(+)是交换群;
  • 乘法运算(·),可结合,也是含幺半群
  • 后者对前者满足分配率。

一个经典的例子就是<A,+,· >,其中 A 是矩阵。显然矩阵(方阵)加法是一个交换群,矩阵乘法是一个半群(可结合,有幺元,也是含幺半群),,乘法对加法满足分配率。因此**<A,+,· >就是一个经典的环**。

事实上,矩阵运算还是一个含幺环,因为乘法具有幺元 E。

环有以下分类

  • 如果乘法存在幺元,则为含幺环
  • 如果乘法满足交换律,则为交换环
  • 对于任意的 a*b=0,一定有 a=0或者 b=0,则为无零因子环
  • 如果都满足上面三个条件,则是整环

(九)域

域的定义比环更加严格,可定义为:

  • 加法运算<F,+ > 是交换群;
  • 乘法运算<F-{0},· > 是交换群;
  • 后者对前者满足分配率。

比如**<R, +, * >**就是一个经典的域。它满足加法交换群,去除0后,也是交换群,同时后者对于前者满足分配率。域一定是环,且是整环

二、图论导论

(一)图的分类

图是由结点和边构成,又分为有向图、无向图、带权图、无权图、混合图等等,这些概念很简单,不再赘述。

完全图:任意两个节(结)点之间都有边,记为 Kn图,n 为节点数目;
节点的度:连接的边的个数,细分为出度、入度;

1、结点的度

一些定理

  • 握手定理,结点的度的和等于边的两倍
  • 对于有向图:度数之和为 0;
  • 奇数度的结点的个数一定为偶数个。

2、子图与生成子图

生成子图结点构成的集合不变,子图没有要求,真子图结点会少一些。

3、图的同构

拓扑结构不变的图,就是互为同构。
目前没有一个通用的方法来判断两个图是否同构,只能得到同构的图的一些必要的性质:

  • 同构的图的结点数目相同;
  • 同构的图的边的数目相同;
  • 同构的图度数相同的结点的数目相同。

这些必要条件都是简单的易于理解的,但是没有一个充分条件能用来判断两个图是否同构。这里给出一个尝试,就是按照顺序分别算出两个图的矩阵表示,然后判断两个矩阵是否相等,如果相等就同构。但是这个过程的难点在于无法按照顺序算出矩阵表示,尤其当结点数目很大时。

(二)图的连通性

1、路与回路

有以下基本概念:

  • 如果边没有重复,就是简单路径,(简单回路),称为
  • 如果点没有重复,就是基本路径,(基本回路),称为通路

路的性质和推论:

  • 如果n个节点的图存在一条通路,那么这条通路最长不会超过 n-1;
  • 图中任何一个圈的长度都不会超过 n;

2、无向图的连通性

这里牵扯到一点割集、割点、边割集、割边或者桥的概念,很简单。
常见的结论有:

  • 如果 v 是连通图G 的一个割点,那么 G-{v}是一个非连通图;
  • 完全图没有点割集,也没有割边(有边割集,注意区别);
  • 非连通图的点割集和边割集都是空集,这是人为规定。

3、有向图的可达性

对于有向图的可达性,有以下定义:

  • 如果任意两个点,至少从一个点到另一个点可达,那么 G 就是单侧连通的;
  • 如果任意两个节点之间都是可达的,则是强连通图
  • 如果略去所有方向后,有向图成为了一个连通无向图,则有向图 G 是弱连通的;

一些性质:

  • 如果强连通图只有一条回路,那么这个回路至少包含每个节点一次;
  • 如果 P是 G 的一个子图,并且 P 是强连通的,且不存在包含 P 的更大强连通子图,那么 P就是 G 的强分图。
  • 在有向图 G 中,每个节点只能存在于一个强分图中。如果存在于两个,那么这个这个节点就是两个强分图的枢纽,那么这两个图就成为一个图,因此矛盾。

(三)图的矩阵表示

矩阵表示的图,具有诸多的特点,能更简单的存储在计算机中,被各种算法计算,也更简洁,可以压缩。

1、邻接矩阵

对于一个无向图:

  • 邻接矩阵一定是对阵的;
  • 邻接矩阵主对角线元素为 0,因为自己与自己不邻接
  • 某行(列) 1 的个数为该结点的度

对于一个有向图,则有出度和入度概念。

2、计算两个节点之间的路的数目

定理:设图 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之间没有路,它们必定位于不同的连通分支;
  • 结点 v i v_i vi v j v_j vj之间的最小距离就是使得 A m A^{m} Am a i , j a_i,_j ai,j = 1 成立的最小值 m
  • A m A^{m} Am 的元素 a i , i a_i,_i ai,i就是开始并结束于 v i v_i vi的长度为m 的回路的数量。

3、可达性矩阵

可达矩阵研究的是结点 v i v_i vi v j v_j vj之间有没有路的问题,这个问题很好解决。

  • 方法一:我们只需要把上面的 A m A^{m} Am进行逻辑求和,不等于 0 的元素置为 1,就得到了可达性矩阵。 a i , j a_i,_j ai,j = 1 就意味着结点 v i v_i vi v j v_j vj之间可达。
  • 方法二:假设关系< v i v_i vi v j v_j vj> 意味着可达,我们很容易得到一个矩阵 A ,矩阵中 a i , j a_i,_j ai,j = 1 就意味着两点距离为 1,可达。但是有时候,存在两个节点之间没有长度为 1 的路,但是有长度等于 m 的路,因此我们需要对 A 进行不断的复合,得到长度为 2、3、... 、m 的路,之后再进行逻辑加。仔细一想,这就是再求传递闭包!因此,整个过程本质上就是在求传递闭包

因此,最简单的方法就是利用 Warshall 算法进行求解!

怎么判断一个关系矩阵A是否具有对称性?
  • 计算对称闭包,如果等于 A 就具有对称性
怎么判断一个关系矩阵 A 是否具有传递性?
  • 计算传递闭包,如果等于 A 就具有传递性
计算传递闭包本质上是在干什么?
  • 计算关系 A 中所有元素的关系,直接的间接的。这点与可达矩阵如出一辙,因为图描述的本来就是结点之间的拓扑关系!

4、有向图的可达矩阵

有向图和无向图的可达性矩阵计算方式一模一样。但是有向图的强分图怎么算呢?

定理: 有向图 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},进程占据资源的情况为:

  • p1占据资源r4且请求资源r1;
  • p2占据资源r1且请求资源r2和r3;
  • p3占据资源r2且请求资源r3;
  • p4占据资源r3且请求资源r1和r4。
    在这里插入图片描述

对应的资源分布图如上图所示。这样我们就能根据这个有向图得到一个矩阵 A,再求出它的可达矩阵,得到强分图。只要这个强分图不是 E(大于 E),那么就是死锁的。解决办法就是挂掉某些进程,使得可达矩阵某些元素为 0,这就会导致强分图为 E(自己到自己默认可达),从而解决死锁。

全文完,感谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/30521.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL新手入门系列四】:手把手教你MySQL数据查询由入门到学徒

SQL语言是与数据库交互的机制&#xff0c;是关系型数据库的标准语言。SQL语言可以用于创建、修改和查询关系数据库。SQL的SELECT语句是最重要的命令之一&#xff0c;用于从指定表中查询数据。在此博客中&#xff0c;我们将进一步了解SELECT语句以及WHERE子句以及它们的重要性。…

vue进阶-vue-route

Vue Router 是 Vue.js 的官方路由。它与 Vue.js 核心深度集成&#xff0c;让用 Vue.js 构建单页应用变得轻而易举。 本章只做学习记录&#xff0c;详尽的内容一定要去官网查看api文档 Vue Router-Vue.js 的官方路由 1. 路由的基本使用 1.1 安装vue-router npm install vue-…

SpringCloud Eureka注册中心高可用集群配置(八)

当注册中心扛不住高并发的时候&#xff0c;这时候 要用集群来扛&#xff1b; 我们再新建两个module microservice-eureka-server-2002 microservice-eureka-server-2003 第一步&#xff1a; pom.xml 把依赖加下&#xff1a; <dependencies> <dependency…

golang 协程的实现原理

核心概念 要理解协程的实现, 首先需要了解go中的三个非常重要的概念, 它们分别是G, M和P, 没有看过golang源代码的可能会对它们感到陌生, 这三项是协程最主要的组成部分, 它们在golang的源代码中无处不在. G (goroutine) G是goroutine的头文字, goroutine可以解释为受管理的…

Prompt 范式产业实践分享!基于飞桨 UIE-X 和 Intel OpenVINO 实现跨模态文档信息抽取

近期 Prompt 范式备受关注&#xff0c;实际上&#xff0c;其思想在产业界已经有了一些成功的应用案例。中科院软件所和百度共同提出了大一统诸多任务的通用信息抽取技术 UIE&#xff08;Universal Information Extraction&#xff09;。截至目前&#xff0c;UIE 系列模型已发布…

Selenium 相对定位

目录 前言&#xff1a; 相对定位 工作原理 可用的相对定位 Above Below Left of Right of Near 链式相对定位 相对于WebElement的相对定位 实例演示 前言&#xff1a; Selenium传统定位基本能解决80%的定位需求&#xff0c;但是还是有一些复杂场景传统定位定不到的…

express框架学习笔记

express简介 express是一个基于Node.js平台的极简的、灵活的WEB应用开发框架。express是一个封装好的工具包&#xff0c;封装了很多功能&#xff0c;便于我们开发WEB应用&#xff08;HTTP服务&#xff09; express使用 新建express文件夹新建文件test01.js&#xff0c;代码如…

深蓝学院C++基础与深度解析笔记 第 5 章 语句

1. 语句基础 ● 语句的常见类别 – 表达式语句&#xff1a;表达式后加分号&#xff0c;对表达式求值后丢弃&#xff0c;可能产生副作用 – 空语句&#xff1a;仅包含一个分号的语句&#xff0c;可能与循环一起工作 – 复合语句&#xff08;语句体&#xff09;&#xff1a;由大…

电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume

1、数据仓库概念 数据仓库&#xff08; Data Warehouse &#xff09;&#xff0c;是为企业制定决策&#xff0c;提供数据支持的。可以帮助企业&#xff0c;改进业务流程、提高产品质量等。 数据仓库的输入数据通常包括&#xff1a;业务数据、用户行为数据和爬虫数据等。 业务数…

流场粒子追踪精度数值实验

在计算流线&#xff0c;拉格朗日拟序结构等流场后处理时&#xff0c;我们常常需要计算无质量的粒子在流场中迁移时的轨迹&#xff0c;无质量意味着粒子的速度为流场当地的速度。此时&#xff0c;求解粒子的位移这个问题是一个非常简单的常微分方程问题。 假设流场中存在 i 个粒…

Java版本+企业电子招投标系统源代码之电子招投标系统建设的重点和未来趋势

计算机与网络技术的不断发展&#xff0c;推动了社会各行业信息化的步伐。时至今日&#xff0c;电子政务、电子商务已经非常普及&#xff0c;云计算、大数据、工业4.0、“互联网”等发展理念也逐步深入人心&#xff0c;如何将传统行业与互联网科技有效结合起来&#xff0c;产生1…

Vue实现元素沿着坐标数组移动,超出窗口视图时页面跟随元素滚动

一、实现元素沿着坐标数组移动 现在想要实现船沿着下图中的每个河岸移动。 实现思路&#xff1a; 1、将所有河岸的位置以 [{x: 1, y: 2}, {x: 4, y: 4}, …] 的形式保存在数组中。 data() {return {coordinateArr: [{ x: 54, y: 16 }, { x: 15, y: 31 }, { x: 51, y: 69 }…

升级Nginx

目录 前言 一、升级Nginx 1&#xff09;首先在官网下载一个新版本的Nginx 2&#xff09;首先将下载的压缩包进行解包 3&#xff09;进入已解包的目录中 4&#xff09;配置安装路径 5&#xff09;make 6&#xff09;备份原来Nginx的资源 7&#xff09;重启Nginx服务 8&#…

【2023最全教程】Web自动化测试怎么做?Web自动化测试的详细流程和步骤

一、什么是web自动化测试 自动化&#xff08;Automation&#xff09;是指机器设备、系统或过程&#xff08;生产、管理过程&#xff09;在没有人或较少人的直接参与下&#xff0c;按照人的要求&#xff0c;经过自动检测、信息处理、分析判断、操纵控制&#xff0c;实现预期的目…

毕业季Android开发面试,有哪些常见的题?

前言 对于计算机行业早已烂大街&#xff0c;随之而来的毕业季。还会有大批的程序员涌进来&#xff0c;而我们想要继续进入Android开发岗位的人员&#xff0c;最先考虑的是面试。面试题是我们决定踏进工作的重要环节。 对于刚毕业的实习生来说&#xff0c;如何在应聘中脱颖而出…

LightningChart .NET 10.5.1 Crack LightningChart 2023

LightningChart .NET v.10.5.1 已经发布&#xff01; DataCursor 和 3D TransparencyRenderMode 现在可用。 为所有 3D、Polar 和 Smith 系列启用 DataCursor 在早期阶段&#xff0c;LightningChart 提供了不同的工具&#xff0c;需要用户编写额外的代码才能启用数据跟踪功能。…

控制您的数据:Web3私有链为数据主权带来的突破性变革

在数字化时代&#xff0c;数据已经成为企业和个人最宝贵的资产之一。然而&#xff0c;随着大规模数据泄露和滥用事件的频发&#xff0c;数据主权和隐私保护成为了备受关注的问题。在这个背景下&#xff0c;Web3私有链的出现为数据主权带来了一场突破性的变革。 首先&#xff0c…

风景类Midjourney prompt提示词

稳定输出优美风景壁纸的Midjourney prompt提示词。 1\在夏夜&#xff0c;有淡蓝色的星空&#xff0c;海边&#xff0c;流星&#xff0c;烟花&#xff0c;海滩上全是蓝色的玫瑰和绿色的植物&#xff0c;由Ivan Aivazovsky和Dan Mumford&#xff0c;趋势在cgsociety&#xff0c;…

windows2022证书配置.docx

Windows证书的配置 要求两台主机&#xff0c;一台作为域&#xff0c;一台进入域 按要求来选择角色服务 确认之后安装 安装完以后配置证书服务 选择服务 按要求配置 注&#xff1a;此处不用域用户登陆无法使用企业CA 按要求来 创建新的私钥 这几处检查无误后默认即可 有效期…

AJAX概述

1.1什么是AJAX. Ajax即AsynchronousJavascript And XML&#xff1a;异步数据回调。 使用Ajax技术网页应用能够快速地将更新呈现在用户界面上&#xff0c;不需要重载&#xff08;刷新&#xff09;整个页面【只刷新局部】&#xff0c;这使得程序能够更快地回应用户的操作。、 1…