matlab图论模型和算法
图论算法简介
图论起源于哥尼斯堡七桥问题
要求从以点出发走过所有的路径。
图论 (Graph theory) 以图为研究对象, 研究顶点和边组成的图形的数学理论和方法。
图论中的图是由若干给定的顶点及连接两顶点的边所构
成的图形。
图论中的图通常用来描述某些事物之间的某种特定关系,用顶点代表事物,用边表示相应两个事物间的关系。
概念、算法
图(无向图)的构成
图的构成: 顶点集 边集 关联函数
顶点集V(G): 图G中所有顶点的集合
边集E(G): 图G中所有边的集合
关联函数φG: φG:E(G)→V(G)
环: 端点重合为一点的边。
连杆: 端点不重合的边。
重边: 具有相同的两个端点的边。
上图就可以描述成:
V(G)={u,v,w,x,y}
E(G)={a,b,c,d,e,f,g,h}
φG(e)=vx或xv(无向)
b为环
a为连杆
d、f为重边
有向图和无向图差别就在路线上是否有箭头。
图(有向图)的构成
有向图构成: 顶点 弧集 关联函数
顶点集V(G): 图 G 中所有顶点的集合。
弧集 A(G): 图 G 中所有弧的集合。
关联函数 φG: φG : A(a) →V(G)
上图就可以描述成:
V(G)={u,v,w,x,y}
A(G)={a,b,c,d,e,f,g,h}
φG(a)=uv
子图: 在原图上去掉一些边和节点的图。
完全图: 图中任意两点都有边相连。
完全二分图: 节点可以被分为两部分,它们之间任意两个节点都有边相连。
星图: 为完全二分图演化出来的,当其中一个集合中只有一个节点的时候,就是星图。
**连通图:**点与点直接可以通过若干边就能到达。
**不连通图:**点与点之间存在无法通过边到达的情况。
图与网络的数据结构
无向图关联矩阵/邻接矩阵
关联矩阵 M = (mve), mve ∈{0,1,2}表示边 e 与顶点 v 关联的次数。
邻接矩阵 A = (auv), auv 表示是否存在从顶点 u 到 v 的弧。
有向图关联矩阵/邻接矩阵
关联矩阵 M = (mva), mva∈(1,−1,0)分表示弧 a 与顶点 v关联的关系(尾、头、其它)。
邻接矩阵 A = (auv), auv表示是否存在从顶点 u 到 v 的弧。
顶点的度和中心度
度dG(v): G 中 与 v 关 联 的 边 数,dG(v) = d-(v) + d+(v)。
出度d-(v) : 以 v 为弧尾,起始于该点的弧数。
入度 d+(v): 以 v 为弧头,终止于该点的弧数。
这里d-(v)= 3;d+(v)=2。
点度中心度
接近中心度
一个顶点到其他所有顶点的距离和的倒数
中间中心度
作为最短路径中间节点的频率
特征向量中心度
matlab中包含的与图论相关的一些函数
函数名 | 功能 |
---|---|
graphallshortestpaths | 求图中所有顶点对之间的最短距离 |
graphconnredcomp | 找无 (有) 向图的 (强/弱) 连通分支 |
graphisreddag | 测试有向图是否含有圈 |
graphisomorphism | 确定一个图是否有生成树 |
graphmaxflow | 计算有向图的最大流 |
graphminspantree | 在图中找最小生成树 |
graphpred2path | 把前驱顶点序列变成路径的顶点序列 |
graphshortestpath | 求指定一对顶点间的最短距离和路径 |
graphtopoorder | 执行有向无圈图的拓扑排序 |
graphtraverse | 求从一顶点出发, 所能遍历图中的顶点 |
调用这些函数/工具箱前的准备
无向图做一个下三角矩阵即可
可以看到写成的矩阵含有很多的0,因此也可以改写成稀疏矩阵
两种矩阵类型可以通过full和sparse函数相互转化。
网络分析工具箱
不是自带的,好像需要下载
函数名 | 功能 |
---|---|
degrees | 求图中所有顶点的度,入度和出度 |
ave_neighbor_deg | 求图中所有顶点的相邻顶点平均度 |
closeness | 求图中所有顶点的接近中心度 |
node_betweenness_faster | 求图中所有顶点的中间中心度 |
edge_betweenness | 求图中所有边的中间中心度 |
eigencentrality | 求图中所有顶点的特征向量中心度 |
clust_coeff | 求图中所有顶点的集聚系数 |
教程中大概讲了一个赈灾巡查的案例,提到了使用启发式算法和图论模型结合优化方案。感觉这是一个比较好的例子,同时对于我来说也比较复杂,我会单独写一篇对这个案例算法优化的讨论。
matlab图论模型和算法相关推荐
- 图论模型Floyd算法
图论模型Floyd算法 一.简介 二.MATLAB执行代码 一.简介 二.MATLAB执行代码 tulun2.m a= [ 0,50,inf,40,25,10;50,0,15,20,inf,25;in ...
- 数学建模:图论模型-Floyd算法
紧接着来介绍一下图论模型的另一种算法--Floyd算法,然后介绍其在MATLAB中的实现方法: Floyd算法:Floyd算法是一个经典的动态规划算法.用通俗的语言来描述的话,首先我们的目标是寻找从点 ...
- 【数学建模】图论模型-Floyd算法(最优化)
文章目录 一.算法介绍 二.适用问题 三.算法总结 1. 步骤 四.应用场景举例 五.MATLAB代码 六.实际案例 七.论文案例片段(待完善) Floyd算法主要针对数学建模问题中的一些小的子问题进 ...
- 【数学建模】图论模型-dijkstra算法(最优化)
文章目录 一.算法介绍 1. 带权邻接矩阵 二.适用问题 三.算法总结 1. 步骤 四.应用场景举例(待完善) 五.MATLAB代码 六.实际案例 七.论文案例片段(待完善) dijkstra算法主要 ...
- matlab klobuchar模型,区域似大地水准面精化模型算法的优选
区域似大地水准面精化模型算法的优选 第20卷第1期 2011年2月 ENGINEERING 测 绘 工 程 Vol.20l.1OFSURVEYINGANDMAPPING Feb.,2011 区域似大地 ...
- 异步电机无传感器矢量控制的算法,matlab,仿真模型,采用转子磁链定向控制算法,转子磁链观测器采用电压模型+电流模型补偿算法。
异步电机无传感器矢量控制的算法,matlab,仿真模型,采用转子磁链定向控制算法,转子磁链观测器采用电压模型+电流模型补偿算法. 异步电机无传感器矢量控制的算法,matlab,仿真模型,采用转子磁链定 ...
- 各种图论模型及其解答(转)
原文转自Jelline blog http://blog.chinaunix.net/uid-9112803-id-411340.html 摘要: 本文用另一种思路重新组织<图论及其应用> ...
- matlab 投票法_SVM算法原理及其Matlab应用
<SVM算法原理及其Matlab应用>由会员分享,可在线阅读,更多相关<SVM算法原理及其Matlab应用(18页珍藏版)>请在人人文库网上搜索. 1.SVM 算法及其 Mat ...
- matlab中x从0到5不含0,关于MATLAB的数学建模算法学习笔记
关于MATLAB的数学建模算法学习笔记 目录 线性规划中应用: (3) 非线性规划: (3) 指派问题;投资问题:(0-1问题) (3) 1)应用fmincon命令语句 (3) 2)应用指令函数:bi ...
最新文章
- LAMP(httpd 2.4.1 + mysql-5.5.19 + php-5.3.10)编译安装
- mysql 报错 get error 28 from storage engine 解决方法
- 动态规划(浅层基础)
- Java 枚举:实现接口
- SQL SERVER2000存储过程调试
- 欢乐纪中某B组赛【2019.1.26】
- 《TCP/IP详解》学习笔记(六):UDP 协议
- 【基础问题】微信小程序 - 腾讯云 - 一站式方案 - PHP - wafer 和 wafer2的区别和wafer2的实践
- a href=javascript:;/a
- 精通Android开发 0
- HTML5:一个拖拽网页元素的例子
- 使用GDAL对静止卫星圆盘数据进行校正(以FY2为例子)
- java snmp walk,snmpwalk命令常用方法总结(转)
- 技术架构图-安全架构图
- 用Vue做一个职业选择或地区选择的三级嵌套组件
- JPBC库(基于配对的密码学)入门和避坑指南
- 2019全国c语言二级考试题库,2019年全国计算机二级考试试题题库(附答案)【精选】.docx...
- R语言:第一部分 入门
- 如何应对开源组件⻛险?软件成分安全分析(SCA)能力的建设与演进
- 不同版本vpb与osg对应关系
热门文章
- Excel催化剂开源第43波-Excel选择对象Selection在.Net开发中的使用
- 人民币21日起升值 汇率不再盯住单一美元货币
- html计数器自动编号,如何使用CSS计数器自动为元素进行编排
- 网上学习python培训班课程靠谱吗?
- delphi2007下使用indy连接https时could not load ssl library问题的解决
- 莫言用 GPT 写颁奖辞,那如果他自己写会是什么效果呢?
- 3dmax2020输入序列号一直提示您输入的序列号无效,重复多次也无法进去下一步
- 高空跳伞者从迪拜塔跳下创纪录
- 教你熟知QoS的设置方法【lpxt】
- windows10,实现远程桌面,更换远程桌面端口号