[matlab]havel定理证明

是否可以由度序列生成简单图是图论中一个重要的内容。
havel定理是解决这一问题的重要方法。

havel定理证明

问题引出

简单图化问题

简单图

简单图即是指图上不含自环与平行边的无向图(即一个节点只能与另一个节点形成一条边,且不能和自身形成自环)
已知我们有一个度序列数组,代表了在一个无向图中各节点的度数。那么我们是否可以通过这个度序列生成一个简单图咧?
已知havel定理是回答这一问题的有力理论,本文尝试就归纳法证明定理的合理性并用matlab实现。

havel定理介绍

首先将度序列D<d1,d2,d3,d4…dn>按从大到小的顺序排列形成一个不增序。
N-1>=d1>=d2>=d3>=d4…>=dn>=0
首先将度数最大的节点删除,也即是先删除点d1,再将其后的d1个点(2,3,…d1+1)上的度数全部减一,表示将度数最大的节点与该节点连接的所有边全部删除。若经过这一操作形成的新度序列可以生成一个简单图,那么原序列也可以生成一个简单图。

havel定理证明

考虑归纳法证明:
1.有已排序好的度数序列D(d1,d2,d3…dm)满足握手定理。
又:
M-1>=dm>=dm-1>=dm-2>…>=d1>=0
且已知其可以生成简单图,那么在度数序列D最右端加入一个新的顶点dm+1,且有:
M>=dm+1>=1+dm
证明:这样产生的新度数序列D1一定可以满足可生成简单图的条件。

1.首先考虑原序列D上的顶点,满足内部无平行边也无自环结构,加入新节点后,不改变原图边结构,所以在原来的顶点上不会出现新的自环和平行边。
2.再考虑新点和旧点之间的连接:由于度数小于n-1,所以新点可以和旧点连接一次但不必形成自环或平行边。所以在新图上也可以不存在平行边和自环。
如上,即证明了在原序列D为可简单化的条件下,向原序列增加一个度数满足:
M>=度数>=1+dm
的新点可以生成新的可简单化图形。

运用matlab检验度序列是否可生成简单图`

function [isimple]=havel(p)%若isimple为1则代表可生成简单图,若为0,则不能
p=sort(p,'descend');%降序排序
q=p;%保存原序列,拷贝序列进行操作
isimple=0;
while(isempty(find(q<0,1))&&q(1)<length(q)&&mod(sum(q),2)==0)%若序列无负数序列,最大序列小于n-1,且满足可生成图条件,即可继续。q=[q(2:q(1)+1)-1,q(q(1)+2:length(q))];%完成一次对度数序列的更新q=sort(q,'descend');%重新排序%最终判断可生成简单图的条件为,所有度为0if(sum(q)==0)isimple=1;break;end
end
end

[matlab]havel定理证明(笔记)相关推荐

  1. 最优化理论基础与方法学习笔记——凸集与凸函数以及手写定理证明

    文章目录 凸集的定义 凸集的几何意义 有关凸集的定理 定理1.4.2 内点.边界点和闭包的定义 定义1.4.3 超平面的定义 定理1.4.3 投影定理 定理1.4.4 点与凸集的分离定理 定理1.4. ...

  2. 文献记录(part49)--极大熵聚类算法的收敛性定理证明

    学习笔记,仅供参考,有错必纠 关键词:熵:不动点:聚类算法:收敛 极大熵聚类算法的收敛性定理证明 摘要 有关极大熵聚类算法收敛性的研究是理论研究的一个热点问题,有的学者认为迭代序列的极限点有可能不是目 ...

  3. 素数的有关性质(二)欧拉函数的一些定理证明与计算

    文章目录 写在前面 内容回顾 模mmm剩余类环 定理 模ppp剩余类域 定义 欧拉函数的定义 欧拉函数的性质 命题1:欧拉函数等于与mmm互素整数个数 命题2:取值为素数ppp的欧拉函数等于p−1p- ...

  4. 图的度序列:Havel定理

    给定一个非负整数序列{d1,d2,...dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化.进一步,若图为简单图,则称此序列可简单图化. 可图化的判定比较简单:d1+d2+.. ...

  5. POJ1659 Frogs' Neighborhood(Havel定理)

    题目: Frogs' Neighborhood Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 9932   Accepted ...

  6. 【Havel 定理】Degree Sequence of Graph G

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2454 [别人博客粘贴过来的] 博客地址:https://www.cnblogs.com/debug ...

  7. UA SIE545 优化理论基础 用Farkas定理证明Farkas类的结论

    UA SIE545 优化理论基础 用Farkas定理证明Farkas类的结论 Farkas定理 AAA是一个m×nm\times nm×n的矩阵,下面两个系统有且仅有一个有解: I:Ax≤0,cTx& ...

  8. UA MATH523A 实分析3 积分理论例题 Fubini定理证明积分不等式

    UA MATH523A 实分析3 积分理论例题 Fubini定理证明积分不等式 例 假设f(x),x∈[0,1]f(x),x \in [0,1]f(x),x∈[0,1]绝对连续,f(0)=0f(0)= ...

  9. UA MATH523A 实分析2 测度论定理证明技巧总结

    UA MATH523A 实分析2 测度论定理证明思路总结 σ\sigmaσ-代数 测度 外测度 Borel测度 上一篇总结了测度论部分的概念与定理,这一篇总结一下那22个定理的推导脉络与证明思路. σ ...

最新文章

  1. AngularJS 作用域与数据绑定机制
  2. SD和TF两种卡片的区别
  3. 什么是51%算力攻击?——区块链系列学习笔记
  4. 机器视觉传感器选型,交互作用决定取舍
  5. 【ST表】【单调队列】Window(jzoj 1326)
  6. java 编译 器 ide_Java 8发布一年后,IDE和编译器尚未完全就绪
  7. 获取浏览器可视区域、屏幕的宽和高
  8. 图解 RoIAlign 以及在 PyTorch 中的使用(含代码示例)
  9. railscasts #1 Caching with Instance Variables
  10. 互联网创新创业大赛优秀范例_大学生互联网+创新创业优秀案例选辑.第一辑...
  11. 手机app测试点有哪些?手机app测试用例怎么写?错过绝对后悔!
  12. python编写程序掷骰子游戏规则_通过构建一个简单的掷骰子游戏去学习怎么用Python编程...
  13. c语言错误 应输入声明,C++错误:应输入声明
  14. python复数类型及其特点和分布地区_各种气候类型及其特点、分布规律、主要分布地区、数值特征...
  15. 第15篇 2D绘图(五)绘制图片
  16. 什么是嵌入式AI开发?人工智能芯片指什么?STM32、树莓派、Jetson TX2、华为昇腾部署神经网络区别在哪?
  17. 苹果手机Java在那_iPhone8描述文件在哪?iPhone描述文件不见了如何解决?
  18. 2个阶乘什么意思_阶乘是什么意思?
  19. 【美】罗伯特•帕利亚里尼——《另外8小时》
  20. 算法- 递归算法 分治算法

热门文章

  1. Html网页远程控制电脑,如何从Web浏览器远程控制您的计算机 | MOS86
  2. ASIHTTPRequest 状态栏网络等待指示器
  3. DiskGenius快速分区硬盘
  4. 从k8s集群主节点数量为什么是奇数来聊聊分布式系统
  5. html表格自动分列,函数在excel的功能 excel用函数实现的分列功能
  6. android qq截屏快捷键是什么,手机截屏的快捷键是什么,超过3种截图的快捷键操作方法!...
  7. 跨时钟域信号处理(二)——异步fifo的Verilog实现(附同步fifo的实现)
  8. file upload 攻防世界_菜鸡 CTF 之旅 Writeup (攻防世界)
  9. Robocup3d比赛环境的搭建及常用函数简介
  10. 0.96寸OLED显示屏标准库移植HAL库(模拟IIC) - 基于STM32