【离散数学-学习日记】2024-3-22

【离散数学】图论 第七章(3) 图的矩阵表示(邻接矩阵、可达矩阵、传递闭包求解算法) 7.3 图的矩阵表示 [【离散数学】图论 第七章(3) 图的矩阵表示(邻接矩阵、可达矩阵和沃舍尔算法)] 采用矩阵表示图,便于计算机存储和处理图的信息(只对小图、稠密图有点用),也便于运用代数的方法研究图的性质(这才是重点!),例如,我们可以通过矩阵计算结果,判定图的连通性/可达性等问题。 7.3.1 邻接矩阵 定义7.3.1 设 G=⟨V,E⟩G= \langle V, E\rangleG=⟨V,E⟩ 是一个线图,结点集合 V={v1,v2,…,vn}V = \{ v_1, v_2, \dots, v_n 阅读详情

图的矩阵表示(接2024-03-19)

【定理3-1】设A为有向图D的邻接矩阵,V = {v1,v2,v3,…vn}为顶点集,则A的l次幂集Al(l≥1)中的元素

在这里插入图片描述

例子
在这里插入图片描述

A=[1000201010011010]  A2=[1000300120102001] A3=[1000401030013010] A4=[1000500140104001]\begin{aligned}A=\begin{bmatrix} 1&0&0&0\\ 2&0&1&0\\ 1&0&0&1\\1&0&1&0\\\end{bmatrix}\ \ A^2=\begin{bmatrix} 1&0&0&0\\ 3&0&0&1\\ 2&0&1&0\\2&0&0&1 \end{bmatrix}\ A^3=\begin{bmatrix} 1&0&0&0\\ 4&0&1&0\\ 3&0&0&1\\3&0&1&0\\ \end{bmatrix}\ A^4=\begin{bmatrix} 1&0&0&0\\ 5&0&0&1\\ 4&0&1&0\\4&0&0&1\\ \end{bmatrix}\end{aligned}A=​1211​0000​0101​0010​​  A2=​1322​0000​0010​0101​​ A3=​1433​0000​0101​0010​​ A4=​1544​0000​0010​0101​​​

PS:矩阵的乘法运算


(1)中长度为1的通路为8条,其中有1条是回路。
D中长度为2的通路为11条,其中有3条是回路。
D中长度为3和4的通路分别为14和17条,回路分别为1与3条。
(2)D中长度小于等于4的通路为50条,其中有8条是回路。

2.可达矩阵
【定义】 设G=<V,E>是简单图,V = {v1,v2,v3,…vn},一个n*n阶矩阵P=(pij)称为G的可达矩阵。其中:
Pij={0  否则1  vi到vj可达(至少有一条通路)P_{ij}=\Big\{_{0\ \ 否则}^{1\ \ v_i到v_j可达(至少有一条通路)}Pij​={0  否则1  vi​到vj​可达(至少有一条通路)​
【求可达矩阵】
两种方法:
(1)按照矩阵相乘分别求出A(k)(k≥2),然后∨。
(2)用求传递闭包的Warshall算法。
由定义不难看出,G强连通当且仅当P(G)为全1矩阵 //图G中任意两个顶点都是相互可达的
在这里插入图片描述
在这里插入图片描述

//由于A(2)等于A(4),我们只要求到A(4)即可
【用可达矩阵求强分图】
先将P转置的到PT,如果vi与vj相互可达,则Pij=PTij=1
以G2为例
在这里插入图片描述

//初等变换后,看可以出来v1和v3相互可达的,v2、v4、v5相互可达。可以看出来,v1和v3构成了一个强分图,v2、v4、v5构成了一个强分图。【关联矩阵】
①无向图的完全关联矩阵
【定义】设G=<V,E>是无向图,V = {v1,v2,v3,…vm},E = {e1,e2,e3,…en},一个m*n阶矩阵M=(mij) 称为G的关联矩阵。其中:
mij={0  否则1  vi到ej关联m_{ij}=\Big\{_{0\ \ 否则}^{1\ \ v_i到e_j关联}mij​={0  否则1  vi​到ej​关联​
在这里插入图片描述

【定义】
a)每列只有两个1
b)每列中1的个数来对应的结点的度数。
c)如果两类相同,则说明对应的两条边是平行边。
②有向图的完全关联矩阵
【定义】设D=<V,E>是简单有向图,V = {v1,v2,v3,…vm},E = {e1,e2,e3,…en},一个m*n阶矩阵M=(mij) 称为G的关联矩阵。其中:
mij={1     vi是ei的起点−1  vi是ei的终点0     vi与ei不关联m_{ij}=\begin{cases}1\ \ \ \ \ v_i是e_i的起点\\-1\ \ v_i是e_i的终点\\0\ \ \ \ \ v_i与e_i不关联\end{cases}mij​=⎩⎨⎧​1     vi​是ei​的起点−1  vi​是ei​的终点0     vi​与ei​不关联​
【性质】
a)每列只有一个1个一个-1。(每条边只有一个终点和一个起点)
b)每行中1的个数为对应结点的出发,-1个数是结点的入度。

欧拉图、哈密图

历史背景:哥尼斯堡七桥问题与欧拉图
在这里插入图片描述

从任意一个结点开始,经过所有边一次且仅一次,然后返回结点。
欧拉图(E图)定义
[欧拉通路]经过途中每条边一次且仅一次行遍所有顶点的通路。
[欧拉回路]经过图中每条边一次且仅一次行遍所有顶点的回路。
[欧拉图]有欧拉回路的图。
[半欧拉图]有欧拉通路而无欧拉回路的图。
在这里插入图片描述

路径:b-a→a-e→e-b→b-f→f-a→a-d→d-e→e-f→f-d→d-c→c-b
说明:
- 规定平凡图为欧拉图。
- 欧拉通路是生成的简单通路,欧拉回路是生成的简单回路。
- 环不影响图的欧拉性
欧拉图的实例
在这里插入图片描述

上图中,(1),(4)为欧拉图,(2),(5)为半欧拉图,(3),(6)既不是欧拉图,也不是半欧拉图。
【定理4-1】无向图G是欧拉图当且仅当G连通且无奇度顶点。
证明: 若G为平方图成立。设G为n阶m条边的无向图
必要性 设C为G中的一条欧拉回路。显然G是连通的。
∀a∈V(G),a在C上每出现一次贡献2度,所以a为偶度顶点。由a的任意性,结论真。
充分性 通过构造方法来证明。

  1. 设G是连通图且G中每一个顶点都有偶数度,构造从G的任意顶点a开始的简单回路,建立尽量长的简单通路(a,x1),(x1,x2),…(xn-1,xn),(xn,a)进行构造。如下图中(a,f),(f,c),(c,b),(b,a)。这样的通路必然结束,因为途中的边数是有穷的。
  2. 若所有的边已用完,则欧拉回路构造完成。让否则从G中删除已经用过的边和不关联任何剩余边的顶点,的到子图H,如图中从,c,d,e构成的子图。因为G是连通的,所以H和已删除的回路至少有一个公共顶点w,然后在w上开始,构造新的回路,新的回路必然和原回路通过w拼接成G中的回路。
  3. 继续这样的过程,直到用完所有的边为止,这样就产生出欧拉回路。
    在这里插入图片描述

【定理4-2】无向图G是半欧拉图当且仅当G连通且恰有两个奇度顶点。
证明: 必要性简单
充分性(利用定理4-1)设u,v为G中的两个奇度顶点,令G‘=G⋃(u,v),则G’连通且无奇度顶点,由定理4-1知G‘为欧拉图,因而存在欧拉回路C,令Γ=C-(u,v),则Γ为G中的欧拉回路。
理解: G有两个偶数度结点:就从一个奇数度结点出发,每当到达一个偶数度结点,必然可以再经过另一条边离开此结点,如此重复下去,经过所有边后到达另一个奇数度结点。

未完待续==未完待续==未完待续==未完待续==未完待续

——————————————————————————————————————————

最短路径

平面图

对偶与着色

树(定义,生成树、根树)

图的邻接矩阵求图的出度,入度,可达矩阵,判断强连通,弱连通,单向连通(C++,vs2017) 一、介绍概念   1、邻接矩阵        将一个n个节点的图,转化成一个n*n的矩阵G,G[i][j]表示第i个节点到第j个节点的的权重。              对于上图邻接矩阵为:        2、度       度分为入度和出度:某个节点的入度就是可以通过一条边到达这个节点的节点个数,某个节点的出度就是可以通过一条边到达其它节点的节点个数             ... 阅读详情

相关推荐

图论学习笔记——可达矩阵

设有向图D = (V,E),顶点集V = {v1,v2,····,vn}。 定义矩阵 为(当vi到vj不可达时,p为0;当vi到vj可达时p为1.) 称矩阵P是图D的可达矩阵 一般地,设n阶有向图D的邻接矩阵为A,有A可得到图D的可达矩阵,不妨设为P,其步骤如下: 1、求出 2、把矩阵中不为0的元素给为1,而为0的元素不变 这样所改换的矩阵就位图D的可达矩阵P。 (A表示图的邻...

计算机小白努力学习 1万+

图论总复习

《图论及其应用》 主要考试知识点: 第2章,第 3章,第5 章,第 6章,章节占比:20%,25%,30%,25%。 **第2章:**图的定义、度的概念、握手定理、可图画、同构、子图、二部图及其判断、极大路径法、图的矩阵表示等、图的连通性等基本概念;欧拉图的概念 和判定定理,汉密尔顿图的概念和若干充分条件、必要条件; **第3章:**树的概念和树的性质,生成树和生成树的计数,最小生成树;有向树、根树,最优二元树及最佳前缀码;最短路算法(如Dijkstra算法); **第5章:**独立集、支配集、独立数、支配

qq_16543881的博客 1万+

7句数学名言背后的思维本质与教学实践

数学思维不是抽象符号的堆砌,而是逻辑严谨性、直觉创造力与结构关系意识的统一。从哥德尔不完备性揭示的形式系统边界,到布尔巴基‘数学即关系’对现代知识图谱与AI建模的奠基性影响;从康托尔无穷理论支撑加密安全与云计算调度,到哈代‘数学之美’在AlphaFold和大模型损失函数设计中的工程落地——这些思想并非历史陈迹,而是可被拆解、验证、迁移的底层认知工具。本文聚焦数学教育中最具张力的7句经典名言,还原其原始语境、认知冲突与当代技术映射,为教师提供可直接嵌入课堂的具身化教学方案,让数学思维真正从纸面走向问题解决现场

aikunjiao3421的博客 374

【算法导论】有向图的可达矩阵

有时候,我们关注的不是从一个地点到另一个地点的费用,而是能否从一个顶点到达另一个顶点。因此我们可以假设所有边的权值为单位1,在下面的算法中,我们可以在O(n*n*n)的时间内计算出图中任意两点是否可达,我用可达矩阵来表示有向图中两者是否可达。如果可以从i到j,则定义tij=1,否则tij=0。因此我们可以得到下式: 我们以下面的有向图进行具体实现: 下图给出了计算所得的每一个T

青峰碧陋室 3万+

可达矩阵(accessibility matrix)

import numpy as np inputdata=[[1,1,0,0,0,0,0,0,0,1,0,0,0,0,0 ], [0,1,0,0,0,0,0,0,0,0,0,1,0,0,0 ], [0,0,1,1,0,0,0,0,0,1,0,0,0,0,0 ], [0,0,0,1,0,0,0,0,0,0,0,1,0,0,0 ], [0,0,0,0,1,0,0,0,0,0,0,1,0,0,0 ], [0,0,0,0,0,1,1,0,0,0,0,0,0,0,0 ], [0,0,0,0,0,0,1,0,0,0.

DrD2022的博客 3962

邻接矩阵转可达矩阵

邻接矩阵转可达矩阵 #include"stdio.h" #define ROW 4 #define COL 4 int A[ROW][COL] = { 0 };//邻接矩阵 int P[ROW][COL] = { 0 };//可达矩阵 int tmp[ROW][COL] = { 0 };//临时存放数据的矩阵 int plus[ROW][COL] = { 0 };//存放矩阵相加后的结果 void InitA(int A[ROW][COL]) { int flag = 1, temp; printf("

m0_56698045的博客 4772

【离散数学】图论

图论知识

nathanqian123的博客 1万+

离散数学-图论-图的矩阵表示(12.1)

定义:设无向图G=,V={$v_1,v_2,···,v_n$},E={$e_1,e_2,···,e_m$},令$m_{ij}$为顶点$v_i$与边$e_j$的关联次数,则称$(m_{ij})_{n×m}$为G的关联矩阵,记作M(G)。 例如: 无向图的关联矩阵为

weixin_57038791的博客 2776

邻接矩阵、可达性矩阵、完全关联矩阵、可达性矩阵的计算

注意:对于无向图来说,只需要考虑边和点之间有没有关系,有关系即为1,没有关系即为0;但是对于有向图来说,点与边之间的关系还有起点和终点之分。起点为1,终点为-1.完全关联矩阵:描述点与边的关系,如果该点和该边有关系为1,没有关系就为0,非常简单。邻接矩阵:很简单,就是两个点有关系就是1,没有关系就是0。可达性矩阵:非常简单,两点之间有路为1,没有路为0。

qq_51216031的博客 6778

STM32实现薄膜压力传感器数据采集(标准库和HAL库实现)

薄膜压力传感器采集压力数据

XiaoCaiDaYong的博客 3万+

COMSOL后处理与可视化

公众号→【COMSOL仿真交流】←更多精彩内容 后处理是采用COMSOL建模的一个重要环节。通过软件自带的可视化工具,可以快速方便的展现仿真结果。 COMSOL为使用者提供了多种后处理工具,包括表面图、切面图、等值线图、流线图、线图、体图等等。可按功能分为数据集(储存数据的地方)、派生值和表单(对数据进行进一步的操作)、绘图组合绘图类型(显示数据结果的地方)、导出数据与生成报告。   如果想用origin、matlab对模拟数据做进一步的处理,导出excel格式的模拟结果,这可以通过“导出

midiio的博客 4028

由有向图的邻接矩阵生成其可达矩阵

简单的C语言实现目标,本文中的代码是通过其定义求解的,并没有使用Warshall算法

不羡仙的博客 1万+

2024最新版Anaconda Navigator安装使用指南

本文简要介绍如何下载安装Anaconda Navigator最新版,以及如何使用Python内核搭载来完成应用程序开发。

jackson_lingua的博客 1万+

由邻接矩阵计算可达矩阵

注:此处的“+”为重载的取大逻辑加。

Cherry_csc的博客 5791

Jenkins离线安装保姆级教程:从下载.war包到SVN+Maven项目一键部署(附避坑脚本)

本文详细介绍了Jenkins离线安装的全流程,包括.war包下载、SVN+Maven项目配置及自动化部署。特别针对内网环境提供解决方案,涵盖插件管理、开发工具链配置、构建触发器和SSH部署等关键步骤,帮助企业在网络隔离环境下实现高效持续集成。

weixin_30096975的博客 375

这才是 Python 的正确玩法!用强化学习 (RL) 训练 AI 玩《王者荣耀》,胜率 90%!

大家打排位时,一定遇到过那种“意识神级、操作零失误”的对手,或者“走位呆滞、送人头”的队友。以前的“人机”是程序员写死的脚本(If 血量<20% Then 回城)。而现在的顶级 AI(如腾讯绝悟、OpenAI Five),是靠强化学习 (Reinforcement Learning)自己“左右互搏”练出来的。今天,我们不谈枯燥的数学公式,我将手把手教你用,搭建一个能玩 MOBA 游戏的 AI Agent。即使不能去 KPL 打职业,虐一下钻石局还是绰绰有余的!

BUG猿的博客 1182

一种使用Python计算可达矩阵的简单方法

在进行编码前要简单介绍几个知识点:有向图,邻接矩阵,可达矩阵 有向图、邻接矩阵、可达矩阵 有向图 现实中常常会表示从一个地点到另一个地点的路径,这样的带有从起点到终点的路线表示可以用有向图表示。如下图所示: 在该图中,可以看成由地点F1到F2,以及F1到F3,F3到F2的路径。 这种有向图也表示两个因素的相互影响关系,再结合上面的有向图,我们可以理解为因素F1对因素F2有影响,对F3也有影响,因...

qq_31385713的博客 1万+

一文读懂OpenClaw:核心组件与工作原理深度解析

Agent核心:负责理解意图、规划任务、协调执行消息系统:统一的消息格式,实现组件间解耦工具注册表:可扩展的工具系统,支持自定义工具模型适配层:多模型支持,统一API接口安全机制:沙箱隔离、权限确认、操作审计性能优化:并行执行、智能缓存、增量更新理解这些核心组件和工作原理,将帮助你更好地使用OpenClaw,也为后续开发自定义扩展打下坚实基础。在下一篇文章中,我们将详细介绍OpenClaw的界面操作,包括命令行与交互模式的各种技巧。

gaoxiang_120的专栏 833

(通路与回路)可达判定

BFS类似于树的层次遍历过程,从根节点开始,沿着树的宽度遍历树的节点。4、如果邻接点不在visit中,则将该邻接点加入queue和visit中。4、如果邻接点不在visit中,则将该邻接点加入stack和visit中。随着数据规模n的增大,算法执行时间的增长率和f(n)的增长率相同,这称。选一条路一直走到底,回溯,遍历所有的子节点,进而达到全局搜索的目的。3、pop出队列中最先进入的节点,从图中获取该节点的邻接点。3、poo出栈中最后进入的节点,从图中获取该节点的邻接点。6、重复3、4、5,直至队列为空。

Nico159的博客 985

作为一名爬虫人如何实现千万级数据爬取?

爬虫门槛不高,高就高在往后余生的每一次实操都随时会让你崩溃!Bro

吴秋霖的博客 1万+

C#中通过Mapster实现轻量级高效对象映射器:从零到精通

本文介绍了.NET生态中高性能对象映射库Mapster的完整使用指南。从基础安装(通过NuGet包)到快速入门示例,展示了如何实现简单对象映射。进一步讲解了自定义映射规则、命名不一致属性的处理方式,以及如何在ASP.NET Core中集成Mapster服务。针对复杂场景,详细解析了嵌套对象映射的配置技巧,并提供了性能优化方案(如预编译映射器)和调试技巧(启用调试模式、捕获映射异常)。通过完整的代码实践,帮助开发者高效解决从基础到高级的对象映射需求。

墨夶的博客 742

WarShall算法求传递闭包(可达矩阵)

warshall算法

weixin_46236591的博客 4378

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

可达矩阵

#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;string&gt; using namespace std; class Matrix{ public:     Matrix();     void Mult();     //friend void operator + (Matrix &amp; a1 ,Mat...

Moutainpurple的博客 7771

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

图的矩阵表示

长度为k的通路条数:A的k次方矩阵的所有元素和长度为k的回路条数:A的k次方矩阵的对角线元素和。

XunLin233的博客 823

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

离散数学 (II) 习题 3

离散图论中矩阵的练习

m0_63124651的博客 1843

离散数学实验四c语言(计算可达矩阵,判断性质:强连通性、单侧联通性质、无联通性质、弱联通性质)

(5)这样处理n次后,再对f矩阵处理,f矩阵此时的值为邻接矩阵乘以1-n次后所有矩阵值的相加,将f矩阵中有数字的值全改为1,即为两点之间可达。因此f就为邻接矩阵g的可达矩阵。(1)首先先根据有向图的可达矩阵来判断该图是否为强连通和单侧连通,若图中存在两点有边,则说明为单侧连通的;(2)因为此题求的为简单有向图的连通性质,因此两点间的距离不会大于点的个数(n),所以将邻接矩阵相乘n次即可。首先先将有向图的邻接矩阵g的可达矩阵求出,然后将有向图转换为无向图后,再将其邻接矩阵gw的可达矩阵fw求出。

m0_60531106的博客 1138
上一篇: 【离散数学-学习日记】2024-3-21
下一篇: 【离散数学-学习日记】2024-3-23
姚加油呀
博客等级 码龄7年 250粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值