- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法合集之《生成树及计数及其应用》
生成树的计数及其应用
芜湖一中 周冬
引入
最小(大)生成树
最小(大)度限制生成树
最优比率生成树
……
生成树
[例一]高速公路
一个国家需要在n座城市之间建立通信网络。
某些城市之间可以铺设通信线路。
要求任意两座城市之间恰好有一条通讯路线,试求方案个数。
满足:1≤n ≤12。
分析
首先将问题抽象成图论模型
点:城市
边:通讯线路
任意两点之间恰好只有一条路径
这是一颗树!
问题转化为:给定一个n个点的无向图,其中无重边和自环,试求其生成树的个数。
分析
由于原题规模较小,因此我们可以使用一些复杂度较高的算法来解决它,如指数级的动态规划算法。
但是,如果规模更 一些呢?
预备知识
关联矩阵、Kirchhoff矩阵
大
图的关联矩阵
对于无向图G,我们定义它的关联矩阵B是一个n*m的矩阵,并且满足:
如果ek=(vi,vj),那么Bik和Bjk一个为1,另一个为-1,而第k列的其他元素均为0。
图G的关联矩阵如右下角所示:
图的关联矩阵
图的关联矩阵有什么特殊的性质呢?我们不妨来考察一下B和它的转置矩阵BT的乘积。
图的关联矩阵
根据矩阵乘法的定义,我们可以得到:
也就是说,BBTij是B第i行和第j行的内积。
因此,当i=j时, BBTij=vi的度数;而当i≠j时,如果存在边(vi,vj),那么BBTij=-1,否则BBTij=0。
我们通常将BBT称为图的Kirchhoff矩阵。
图的Kirchhoff矩阵
对于无向图G,它的Kirchhoff矩阵C定义为它的度数矩阵D减去它的邻接矩阵A。显然,这样的定义满足刚才描述的性质。
有了Kirchhoff矩阵这个工具,我们可以引入Matrix-Tree定理:
对于一个无向图G,它的生成树个数等于其Kirchhoff矩阵任何一个n-1阶主子式的行列式的绝对值。
所谓n-1阶主子式,就是对于任意一个r,将C的第r行和第r列同时删去后的新矩阵,用Cr表示。
Matrix-Tree定理
让我们通过一个例子来解释一下定理。如图所示,G是一个由5个点组成的无向图。
它的Kirchhoff矩阵C为
Matrix-Tree定理
我们取r=2,根据行列式的定义易知|detC2 | =11,这11颗生成树如下图所示。
这个定理看起来非常“神奇”,让我们尝试着去证明一下吧!
定理的证明
经过分析,我们可以发现图的Kirchhoff矩阵C具有一些有趣的性质:
C的行列式总是0。
如果图是不连通的,则C的任一个n-1阶主子式的行列式均为0。
如果图是一颗树,那么C的任一个n-1阶主子式的行列式均为1。
证明略。
定理的证明
我们知道,C=BBT,因此,我们可以把C的问题转化到BBT上来。
设Br为B去掉第r行得到的矩阵,容易知道Cr =Br Br T。这时,根据Binet-Cauchy公式,我们可以将Cr的行列式展开。
其中, 是把Br中属于x的列抽出后形成的新矩阵。
定理的证明
注意观察上面的式子, 实际上是图Gx的Kirchhoff矩阵的一个n-1主子式。其中Gx是由所有的顶点和属于x的边组成的一个G的子图。
若属于x的n-1条边形成了一颗树时,由Kirchhoff矩阵的性质可知 等于1。
若属于x的n-1条边没有形成树,则Gx中将至少含有两个连通块,这时 等于0。
因此,我们认为:每次从边集中选出n-1条边,若它们形成了生成树,则答案加1,否则不变。
定理的理解
当x取遍边集所有大小为n-1的子集后,我们就可以得到原图生成树的个数。这样我们成功证明了定理!
刚才的证明过程看起来有些“深奥”,下面就让我们从直观上来理解一下这个定理的原理。
定理的理解
试求方程
x1 +x2 + x3 =2
所有非负整数解的个数。
这是大家都很熟悉的一道组合计数问题。
通常的解法是,设有2个1和两个△,我们将这4个元素任意排列,那么不同的排列的个数就等于原方程解的个数,即 。
为什么要这样做呢?
定理的理解
我们将所有6种排列列出后发现,一种排列就对应了原方程的一个解:
△ △ 11对应x1=0,x2=0,x3=2
△ 1 △ 1对应x1=0,x2=1,x3=1
△ 11 △对应x1=0,x2=2,x3=0
……
也就是说,我们通过模型的转化,找出了原问题和新问题之间的对应关系,并利用有关的数学知识解决了转化后的新问题,也就同时解决了原问题。
这种转化的重要意义在于:在不同问题之间的架起了互相联系的桥梁。
定理的理解
回到我们讨论的Matrix-Tree定理上来。
我们同样是经过模型的转化后(将图模型转化为矩阵模型),发现Binet-Cauchy公式展开式中的每一项对应着边集一个大小为n-1的子集。其中,值为1的项对应一颗生成树,而没有
您可能关注的文档
- 简单线性回归及基本假定.ppt
- 简单迭代法及概念及结论.ppt
- 简谐振动及动力学特征.ppt
- 简谐运动中及振幅 周期 频率和相位.ppt
- 简谐运动及周期、频率、振幅、相位.ppt
- 算法分析及设计 第5章.ppt
- 算法分析及设计-2016-第4讲.ppt
- 算法分析及设计-2016-第6讲.ppt
- 算法分析及设计-2016-第8讲.ppt
- 算法分析及设计-2016-第9讲.ppt
- 2023年度安全员考试题库检测试题打印附答案详解(达标题).docx
- 2023年度安全员考试题库检测试题打印(实用)附答案详解.docx
- 2023年度安全员考试题库检测试题打印附完整答案详解【名师系列】.docx
- 2023年度安全员考试题库检测试题打印及答案详解【考点梳理】.docx
- 2023年度安全员考试题库检测试题打印附完整答案详解【各地真题】.docx
- 2023年度安全员考试题库检测试题打印附参考答案详解【完整版】.docx
- 2023年度安全员考试高分题库含答案详解(精练).docx
- 2023年度安全员考试高分题库及参考答案详解【能力提升】.docx
- 2023年度安全员考试高分题库附答案详解【典型题】.docx
- 2023年度安全员考试高分题库及参考答案详解(培优B卷).docx
文档评论(0)