【管理运筹学】第 7 章 | 图与网络分析(2,最小支撑树问题)

news2024/12/24 8:12:21

文章目录

  • 引言
  • 二、最小支撑树问题
    • 2.1 树的定义及其基本性质
    • 2.2 图的支撑树
    • 2.3 最小支撑树的定义及有关定理
    • 2.4 最小支撑树算法
      • 2.4.1 避圈法(KRUSKAL算法)
      • 2.4.2 反圈法(PRIM算法)
      • 2.4.3 破圈法
  • 写在最后


引言

承接前文,了解了图论相关的基本知识后,我们来看看几个图论中经典的问题。


二、最小支撑树问题

2.1 树的定义及其基本性质

无圈的连通图称为树。

在这里插入图片描述

其有几个相互关联的基本性质。

树的性质 1 —— 若 T T T 是树,且树中点的个数 n T ≥ 2 n_T \geq 2 nT2 ,则 T T T 中至少有两个悬挂点。

树的性质 2 —— 图 T T T 是树,则 T T T 中的边数 m m m 等于点数 n n n 减去 1 ,即 m = n − 1. m=n-1. m=n1.

树的性质 3 —— 图 T T T 是树的充分必要条件是任意两个顶点之间恰有一条链。

由性质 3 可得如下推论:

  1. 从一个树中去掉任意一边,则余下的图是不连通的。由此可知,在点集合相同的所有图中,树是含边树最少的连通图。
  2. 在树中不相邻的两个点之间填上一条边,则恰好得到一个圈。

综上,可以归纳出树 T T T 的六个基本性质,即:

  1. 无圈图;
  2. 连通图;
  3. m T = n T − 1 ; m_T=n_T-1; mT=nT1;
  4. 减去一条边不连通;
  5. 加一条边恰有一个圈;
  6. 至少两个悬挂点。

2.2 图的支撑树

设图 T = ( V , E ′ ) T=(V,E') T=(V,E) 是图 G = ( V , E ) G=(V,E) G=(V,E) 的支撑子图,如果图 T T T 是一个树,称其为 G G G 的一个支撑树。

定理 —— 图 G G G 有支撑树的充要条件是图 G G G 是连通的。

证明: 必要性显然成立。

充分性。设图 G G G 是连通图,如果本身不含圈,其本身是一个树,从而 G G G 是它本身的一个支撑树。如果 G G G 含圈,从圈中任意地去掉一条边,可得到 G G G 的一个支撑子图 G 1 G_1 G1 。如果 G 1 G_1 G1 不含圈,那么 G 1 G_1 G1 G G G 的一个支撑树;如果 G 1 G_1 G1 含圈,那么从 G 1 G_1 G1 中任取一个圈,从圈中再去掉一条边,得到 G 2 G_2 G2 ,如此重复,最终可以得到一个不含圈的支撑子图 G k G_k Gk,即支撑树。

此定理充分性的证明也启发我们一个寻找连通图的支撑树的办法。就是任取一个圈,从圈中去掉一边,对余下的圈重复这个步骤,直到不含圈为止,即可得到一个支撑树,这种方法称为“破圈法” 。

也可以反过来想,从图中任取一条边 e 1 e_1 e1 ,找一条不与 e 1 e_1 e1 构成圈的边 e 2 e_2 e2 ,再找一条不与 ( e 1 , e 2 ) (e_1,e_2) (e1,e2) 构成圈的边 e 3 e_3 e3 ,直到不能进行为止。此时,由所有取出的边所构成的图是一个支撑树,称此种方法为“避圈法” 。

2.3 最小支撑树的定义及有关定理

给定无向网络 G = ( V , E , W ) G=(V,E,W) G=(V,E,W) ,对于 G G G 中的每条边 e ∈ E e \in E eE ,设权 w ( e ) ≥ 0 w(e) \geq0 w(e)0 ,对于 G G G 的每一个支撑树 T T T ,我们定义 T T T 的权为 W ( T ) = ∑ e ∈ E w ( e ) W(T)=\sum_{e\in E}w(e) W(T)=eEw(e) 如果支撑树 T ∗ T^* T 是所有支撑树中权最小者,则称 T ∗ T^* T G G G 的最小支撑树。

定理 —— 设 T T T 是网络 G = ( V , E , W ) G=(V,E,W) G=(V,E,W) 的支撑树,任意一个树外的边 e ∈ E e \in E eE ,唯一决定一个圈 C ( e ) C(e) C(e) 。除 e e e 外, C ( e ) C(e) C(e) 的其他边都属于 T T T ,如果 T T T G G G 的一个最小支撑树,则 e e e C ( e ) C(e) C(e) 中的最大权重边。

证明: 在圈 C ( e ) C(e) C(e) 中任取另一条边 e ′ e' e ,则 T ∪ { e } − { e ′ } T \cup\{e\}-\{e'\} T{e}{e} 仍然连通不含圈,即是一个树,记为 T ′ T' T ,有 W ( T ′ ) = W ( T ) + w ( e ) − w ( e ′ ) W(T')=W(T)+w(e)-w(e') W(T)=W(T)+w(e)w(e) 。由于 T T T 为最小支撑树,有 W ( T ) ≤ W ( T ′ ) W(T) \leq W(T') W(T)W(T) ,即 w ( e ) ≤ w ( e ′ ) w(e) \leq w(e') w(e)w(e) ,由于 e ′ e' e 的任意性,故原命题得证。

定理 —— 设 T T T 是网络 G = ( V , E , W ) G=(V,E,W) G=(V,E,W) 的支撑树,则对于任意一条树上的边 e ∈ E e \in E eE ,唯一地决定 G G G 的一个割集 Φ ( e ) \varPhi(e) Φ(e) ,除了 e e e 外, Φ ( e ) \varPhi(e) Φ(e) 上的其他边都不属于 T T T ,如果 T T T G G G 的最小支撑树,则 e e e Φ ( e ) \varPhi(e) Φ(e) 中的最小权重边。

2.4 最小支撑树算法

主要有三个算法,分别是避圈法、反圈法和破圈法。

2.4.1 避圈法(KRUSKAL算法)

首先将网络 G G G 中的边按权大小排序,从最小边开始选起,每次选出一个新的边后要判断是否与所选的边构成一个圈,如果是则放弃该边,否则入选该边知道所选的边的数量等于点的数量减去 1 为止。每次选择边,优先选择权最小的边,所以又叫作最小边优选法。

2.4.2 反圈法(PRIM算法)

从图 G = ( V , E ) G=(V,E) G=(V,E) 中任取一个顶点放入树 T T T 的点集 V T V_T VT 中,对于将图 G G G 分成 V T , V ‾ T V_T,\overline{V}_T VT,VT 的割集 Φ ( V T ) \varPhi(V_T) Φ(VT) 来说,选取一个权最小的边放入树 T T T 的边集中,并将该边所关联的顶点放入 V T V_T VT 中,重复上述步骤,直到所有顶点均选入 V T V_T VT 为止。

2.4.3 破圈法

G ( k ) G^{(k)} G(k) G G G 的连通生成子图(开始 G ( 0 ) = G G^{(0)}=G G(0)=G),若 G ( k ) G^{(k)} G(k) 中不包含圈,则其为最小支撑树;若其中包含圈,选圈中权重最大的一条边去掉,重复上述过程,直到找不到圈为止。


写在最后

下一个问题,我们来看看最短路问题!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

宠物电商Chewy第二季度销售额28亿美元,同比增长14.3%

美国宠物电商Chewy公布2023年第二季度财报。报告显示,其Q2季度销售额同比增长14.3%至28亿美元,超出市场预期。 以下为Chewy期内业绩概要: 1.毛利率28.3%,同比增长20个基点 2.净利润有所收窄,同比下降15.2%至1890万美…

QT连接数据库

目录 数据库 数据库基本概念 常用的数据库 SQLite3基础 SQLite特性: QT连接数据库 1.1 QT将数据库分为三个层次 1.2 实现数据库操作的相关方法 sql语句(常用) 1)创建表格 2)删除表格 3)插入记录 …

应急物资管理系统DW-S300|助力应急物资保障体系建设

国务院新闻办公室于2023年7月25日举行国务院政策例行吹风会,介绍防汛抗旱工作情况,并答记者问。应急管理部副部长、水利部副部长王道席介绍,要推进应急物资保障体系建设。去年,应急管理部会同国家发展改革委、财政部、国家粮食和物…

AIGC专栏5——EasyPhoto AI写真照片生成器 sd-webui插件介绍、安装与使用

AIGC专栏5——EasyPhoto AI写真照片生成器 插件安装与使用 学习前言源码下载地址技术原理储备(SD/Control/Lora)StableDiffusionControlNetLora EasyPhoto插件简介EasyPhoto插件安装安装方式一:Webui界面安装 (需要良好的网络&…

Linux监测进程打开文件

分析问题过程中,追踪进程打开的文件可以在许多不同情况下有用,体现在以下几个方面: 故障排除和调试: 当程序出现问题、崩溃或异常行为时,追踪进程打开的文件可以帮助找出问题的根本原因。这有助于快速定位错误&#x…

深入解析 curl:掌握命令行的网络传输利器

当我们使用 curl 进行网络请求时,了解如何有效地使用参数是非常重要的。curl 提供了许多参数,用于控制请求的行为和配置。在这篇博客文章中,我们将详细解释一些常用的 curl 参数,帮助你更好地理解如何利用这个强大的工具。 什么是…

兵者多诡(HCTF2016)

环境:https://github.com/MartinxMax/CTFer_Zero_one 题目简介 解题过程 登录首页 提交png图片上传抓包,可以看到是向upload文件提交数据 在fp参数中尝试伪协议读取home.php文件 http://127.0.0.1:88/HCTF2016-LFI/home.php?fpphp://filter/readconvert.base64…

将YOLO数据集按照指定比例划分(训练集、验证集、测试集)的详细教程

1.将训练集、验证集、测试集按照7:2:1随机划分 1.项目准备 1.在项目下新建一个py文件,名字就叫做splitDataset1.py 2.将自己需要划分的原数据集就放在项目文件夹下面 以我的为例,我的原数据集名字叫做hatDataXml 里面的JPEGImages装的是图片 Annota…

【物联网】磁介质存储设备——机械硬盘

磁介质存储设备是一种使用磁性材料作为存储介质的设备,用于存储和读取数据。常见的磁介质存储设备包括硬盘驱动器(HDD)、软盘驱动器和磁带。 文章目录 一、机械硬盘存储器的基本结构与分类1.1 基本结构1.2 分类 二、硬盘的信息分布三、机械硬…

计算机网络的故事——HTTP报文内的HTTP信息

HTTP报文内的HTTP信息 文章目录 HTTP报文内的HTTP信息一、HTTP 报文二、请求报文及响应报文的结构三、编码提升传输速率 一、HTTP 报文 HTTP报文是由多行(CRLF作换行符)数据构成的字符串文本,HTTP报文可以分为报文首部和报文主体两部分&…

Android ChatCPT集成

准备工作 ChatGPT账号(openai) 集成好网络框架(默认使用Retrofit) 接入 选择modele 这里使用的是 「https://api.openai.com/v1/chat/completions」 创建API Keys 运行效果 POST https://api.openai.com/v1/chat/completions Content-Type: application/json Content-Length:…

RHCA之路---EX280(8)

RHCA之路—EX280(8) 1. 题目 On master.lab.example.com using the template file in http://materials.example.com/exam280/gogs as a basis, install an application in the ditto project according to the following requirements: All of the registry entries must poi…

AndroidTV端:酒店扫码认证投屏DLNA

被老板叼了几次了,最近实在忍不了,准备离职; 但是担心离职后长时间没有办法找到工作 就想贡献一套平时琢磨出来的程序,请各位有能力的话带我熬过这凛冽的寒冬。 目前写出来的,有三个端:安卓TV端&#xf…

Kali之BurpSuite_pro安装配置

文章目录 配置jdk环境安装BurpSuitePro设置快捷方式启动方式 BurpSuite2021专业版本地址: 下载链接:https://pan.baidu.com/s/1PjzcukRDoc_ZFjrNxI8UjA 提取码:nwm7 我的安装工具都在/home/kali/tools/ 解压后我放在burpsuite_pro目录下 把j…

Harbor 私人(企业)docker镜像仓库部署

目录 一、资源下载二、配置前准备三、配置harbor.yml文件四、安装五、上传镜像到Harbor docker镜像仓库 一、资源下载 在GitHub上可以找到相关的下载:https://github.com/goharbor/harbor/releases 或者Linux直接wget: ┌──(root㉿kali)-[~] └─# w…

飞行动力学 - 第17节-航向静稳定性 之 基础点摘要

飞行动力学 - 第17节-航向静稳定性 之 基础点摘要 1. 航向静稳定性2. 航向静稳定性的组成3. 参考资料 1. 航向静稳定性 飞机受到侧滑扰动后,如果能产生使机头指向原来方向的力矩,抵消侧滑,则称为航向静稳定性。 2. 航向静稳定性的组成 飞机…

vue3+ts+vite项目引入echarts

概述 技术栈:Vue3 Ts Vite Echarts 简介: 图文详解,教你如何在Vue3项目中引入Echarts,封装Echarts组件,并实现常用Echarts图例 文章目录 概述一、先看效果1.1 静态效果1.2 动态效果 二、话不多数,引入 …

三步搭建个人网站并发布上线【内网穿透】

三步搭建个人网站并发布上线【内网穿透】 文章目录 三步搭建个人网站并发布上线【内网穿透】前言一、在本地电脑上制作一个网站二、使用WordPress建立网站三、通过cpolar建立的数据隧道发布到公网上 前言 在这个个性飞扬的时代,每个人都希望拥有表现自我的平台&…

C++(QT)画图行车

通过鼠标在窗口上点击形成多个点的连线,绘制一辆汽车沿着绘制的连线轨迹前进。要求连线点数大于20.可以通过清除按钮清除已经绘制的连线,并可以重新绘制一条轨迹连线。当车辆行驶到轨迹终点时,自动停止。(汽车实在可用方块代替&am…

[羊城杯 2023] web

文章目录 D0nt pl4y g4m3!!! D0n’t pl4y g4m3!!! 打开题目&#xff0c;可以判断这里为php Development Server 启动的服务 查询得知&#xff0c;存在 PHP<7.4.21 Development Server源码泄露漏洞(参考文章) 抓包&#xff0c;构造payload 得到源码 class Pro{private $ex…