MST性质的证明

什么是MST?MST就是Most Small Tree,应该就是最小生成树的意思吧,具体不是很清楚,MST性质就是最小生成树性质(以下简称MST性质),我们在看最小生成树的算法的时候,很多情况下都有关于这条性质的说明,比如,历史上最经典的Prim算法和Kruskal算法就是根据这个性质演算出来的Algorithm,MST性质的声明如下:

最小生成树性质:设G=(V,E)是一个连通网络,U是顶点集V的一个真子集。若(u,v)是G中一条“一个端点在U中(例如:u∈U),另一个端点不在U中的边(例如:v∈V-U),且(u,v)具有最小权值,则一定存在G的一棵最小生成树包括此边(u,v)。


关于这个性质的证明过程,网上的资料不多,即使有,也不是很全面或者证明过程不够细节,我也是花了很长时间才弄清楚的,其实很简单,下面大家看看我是怎么证明的:

为了方便下面的证明过程,预先做一些约定:
①将集合U中的顶点看作是红色顶点
②而V-U中的顶点看作是蓝色顶点
③连接红点蓝点的边看作是橙色
④权最小的橙色边称为轻边(即权重最"轻"的边)

因此,MST性质中所述的边(u,v)就可简称为轻边。如下图:
MST性质的证明 - 流浪者 -

 用反证法来证明MST性质的正确性,假设G中任何一棵最小生成树都不含轻边(u,v)。则若T是G的一棵最小生成树,则它不含此轻边。

 由于T是包含了G中所有顶点的连通图,所以T中必有一条从红点u到蓝点v的路径P,而且路径P中必定包含一条橙色边(u',v')连接红点集和蓝点集,否则u和v不可能连通。我们假设  u-a-u'-v'-v 就是这样的一条路径,看下面的图:

MST性质的证明 - 流浪者 -

  
当把轻边(u,v)加入树T时,该轻边和P明显构成了一个回路。删去紫边(u',v')后回路亦消除,由此可得另一生成树T'。 如下:

MST性质的证明 - 流浪者 -

很显然,T'和T的差别仅仅在于T'用轻边(u,v)取代了T中权重可能更大的橙色边(u',v')。因为(u',v')的权重不可能比(u,v)小,由反证法的原理可知我们的前提条件里已经说明,所有橙色边里最小的一条边称为轻边,因为(u,v)是已经假定了的轻边,因此,必定有如下关系式:
w(u,v)≤w(u',v')
所以, w(T')=w(T)+w(u,v)-w(u',v')   ≤  w(T)
故此T'也是G的一颗最小生成树,但是它包含(u,v),这与假设是矛盾的,所以,MST性质成立!


转自http://fdcwqmst.blog.163.com/blog/static/164061455201010392833100/
其实个人觉得没必要这么麻烦,道理很简单,我们假设任何一棵最小代价生成树都不包含(u,v),由于树都是连通图,因而必定存在其他的边联通了顶点集U和V-U,并且这样的边必须只有一条,否则便会形成回路,因为顶点集U和V-U里面各个顶点也都是连通的,你画画看看便知道了。那么如果我们现在把轻边(u,v)加入这个树中,那么便形成回路了,那这个时候我们把原来的联通U和V-U的边去掉,这样形成的树是比原来的那棵最小生成树的代价还要小的,因为边(u,v)是连接两个点集之间的权值最小的边。所以这棵新的树才是最小生成树,但是它包含了边(u,v),所以与假设矛盾,结论成立。其实我们要证明的就是,对于两个点集,有最小的权值的边(u,v),如果该图的最小生成树不包括这条边的话,那么这棵树就 不是最小生成树。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有趣的数学证明

转载于:http://www.sohu.com/a/168424225_607269 “谢谢大家出席这次会议,大家能给我们数学界第一的十大最帅气证明一个面子,是我们十兄弟的荣幸,再次谢谢各位兄弟姐妹的捧场”! “呸,我们十大最凶残公式才…

4 种经典方法IB 数学证明题分享给大家

学习数学时感觉最有意思的题目就是证明题了,证明题能练习一种能力: 你知道一件事情时对的,怎么说清楚它是对的;你认为一件事情时错的,怎么说清楚它是错的。 这和生活中的辩论有点像,要有理有据地说清楚原…

数学证明方法概述

数学证明方法概述 什么是数学证明 以勾股定理为例,欧几里得几何原本(成书于公元前300年)有一个严格的证明,但巴比伦人在公元前19世纪就已知道了勾股数(3,4,5),中国古代算…

陶哲轩预言成真!MIT加州理工让ChatGPT可以证明数学定理了

夕小瑶科技说 分享 来源 | 新智元 > 用大语言模型定理证明,加州理工华人一作最新研究可能改变数学未来。 大语言模型,可以用来证明数学定理了! 大模型AI全栈手册 行业首份AI全栈手册开放下载啦!! 长达3000页&a…

太神奇了,1984 年的电脑也能用上 ChatGPT

公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 新加坡的逆向计算爱好者 Yeo Kheng Meng 发布了一个 “doschgpt” ChatGPT 客户端,这个客户端适用于上世纪八十年代的 MS-DOS 系统。 目前这个 DOS 系统的 ChatGPT 客户…

用ChatGPT做一款二次元卡牌游戏!完成度超90%,即将开放源码!

1.0 游戏策划设计 孙二喵,继上次借助ChatGPT做了一个3D小游戏后,很多朋友问,AI可以做大型项目么?还是仅限于简单的小游戏。 *AI生成的3D小游戏 所以二喵准备接着用 AI 设计一款中型体量的卡牌游戏,发布到微信小游戏和海…

【关于ChatGPT的30个问题】2、ChatGPT是如何工作的?/ By 禅与计算机程序设计艺术

2、ChatGPT是如何工作的? ChatGPT是如何工作的?写一篇文章,分2级目录,要10个目录,不少于5000字。markdown格式。 目录 ChatGPT是如何工作的? ChatGPT的工作原理

基于ChatGPT上线《你说我猜》小游戏

摘要 AIGC、GPT、休闲小游戏三者可以怎么结合? AIGC、GPT与小游戏的结合为游戏体验带来了新的可能性。AIGC(Artificial Intelligence Game Content)作为一种人工智能技术,可以自动生成任务、剧情和角色对话等游戏元素&#xff0c…

ChatGPT 又整活了,从零开始设计并实现一个类似数独的游戏 Sumplete

ChatGPT 又整活了。这次是从零开始设计并实现一个类似数独的游戏。 数独应该很多人都玩过,规则也很简单。 那能不能设计一款与数独类似的新游戏呢?国外有位叫 Daniel Tait 的工程师就想到了让 ChatGPT 来试试。经过几个小时与 ChatGPT 的对话&#xff0c…

50+ 可以帮助提高前端开发效率的 ChatGPT Prompts

大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 如果你已经厌倦了繁琐重复的编码日常,想要提升自己的效率,那你可是来对地方了!借助 ChatGPT 的强大能力,你可…

ChatGPT 前端 = 有点er意思

HOT! HOT! HOT! 🔥 🔥 🔥 首先我们先来看下最近的热度来的有多么的突然,那简直是太炸裂了,语言不好描述,我收集了一些常见平台的指数截图,大家可以感受一下: 点击跳转到百度指数 …

ChatGpt的学习报告

目录 前言 ChatGpt的简介 ChatGpt的功能 总结 前言 由openai开发的chatgpt席卷网络,它的可创作能力与对话应用达到了人工智能的前端,提升了程序员的可替代性,焦虑与恐慌占据了网络领域,但更有智者明白善用工具,才能…

尝新学术版ChatGPT!中科院chatGPT学术优化

尝新学术版ChatGPT!中科院chatGPT学术优化 尝新学术版ChatGPT!中科院chatGPT学术优化 尝新学术版ChatGPT!中科院chatGPT学术优化 主要参考这篇文章,写的很详细~ 执行过程中遇到了如下两个小问题 1,安装依赖 配置 req…

优化chatGPT提示词的Prompts

你扮演一个专业的chatGPT提示词工程师,我将为您提供我的提示词,它用三个反引号分隔,请根据openai发布的提示词标准和优化技巧,改进和优化我的提示词,让chatGPT能够更好的理解。 我的第一个提示词是:“”“……

ChatGPT系列之——中科院AcademicGPT学术优化

文章目录 零,指南相关网址友情链接 一,安装Git软件二,使用Git Bash克隆GitHub项目:三,配置config.py文件四,安装依赖方法一:系统安装方法二:虚拟环境安装(推荐&#xff0…

ChatGPT强化学习大杀器——近端策略优化(PPO)

ChatGPT强化学习大杀器——近端策略优化(PPO) 近端策略优化(Proximal Policy Optimization)来自 Proximal Policy Optimization Algorithms(Schulman et. al., 2017)这篇论文,是当前最先进的强…

中科院ChatGPT学术优化--超详细部署

文章目录 中科院ChatGPT学术优化--超详细部署下载项目git命令下载github下载 download zip 安装项目环境创建环境进入环境安装依赖 打开解压的项目配置API_KEY配置代理网络的地址 运行项目 中科院ChatGPT学术优化–超详细部署 项目地址:https://github.com/binary-husky/chatg…

4.网络爬虫—Post请求(实战演示)

网络爬虫—Post请求实战演示 POST请求GET请求POST请求和GET请求的区别获取二进制数据爬[百度官网](https://www.baidu.com/)logo实战 发送post请求百度翻译实战 使用session发送请求模拟登录17k小说网 常见问题 前言: 📝​📝​此专栏文章是专…

chatgpt赋能python:Python安装教程:一步步实现Python开发环境搭建

Python安装教程:一步步实现Python开发环境搭建 Python是一种高效、易读、易维护的编程语言。在人工智能、数据科学、Web开发等领域都有广泛的应用。如果你是一名初学者或Python开发者,本文将为你提供Python安装教程。 第一步:下载Python安装…

chatgpt赋能python:Python虚拟环境搭建指南

Python虚拟环境搭建指南 Python是一种广受欢迎的编程语言,它可以用于各种应用程序开发。Python语言优雅简洁,易于理解和学习。但是,当您在多台计算机上编写Python代码时,会遇到与环境设置和包依赖项相关的问题。 虚拟环境可帮助…