- 1、本文档共23页,可阅读全部内容。
- 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个点,任意三点不共线。每两点之间都用红色或黑色线段(只有一条,非红即黑!)连接。如果一个三角形的三条边同色,则称这个三角形是单色三角形。对于给定的红色线段的列表,找出单色三角形的个数 输入点数n、红色边数m以及这m条红色的边所连接的顶点标号,输出单色三角形个数R。3=n=1000,0=m=25万 单色三角形问题 很自然想到了然后枚举所有的三角形(这是通过枚举三个顶点实现的),判断它的三条边是否同色 ,时间复杂度已经高达O( ) 单纯枚举不可以,组合计数是否可行?利用组合公式进行计算是非常高效的。 从总体上进行组合计数很难想到,尝试枚举每一个点,设法找到一个组合公式来计算以这个点为顶点的单色三角形的个数 单色三角形问题 对于枚举确定的点A,以A为一个顶点的单色三角形ABC不仅要满足边AB和边AC同色,而且边BC也要和AB、AC边同色,不可能仅仅通过枚举一个顶点A就可以确定单色三角形 枚举+组合计数中组合公式的构造上我们遇到了障碍 障碍的本质是:从一个顶点A出发的两条同色的边AB、AC并不能确定一个单色三角形ABC,因为BC边有可能不同色 单色三角形问题 也就是说,无法在从同一个顶点出发的某两条边与所有的单色三角形之间建立一种确定的对应关系 换一个角度,从反面来看问题 三角形数S=C(n,3) 单色三角形数R加上非单色三角形数T就等于S,如果可以求出T,那么显然R = S – T 原问题就等价于:怎样高效地求出T 单色三角形问题 上面分析中夭折的枚举+组合计数的算法的障碍是无法在“某两条边”与“单色三角形”之间建立确定的对应关系 那么有公共顶点的某两条边与非单色三角形之间是否有着确定的关系呢? 单色三角形问题 一个非单色三角形对应着两对“有公共顶点的异色边” 很明显要求的非单色三角形数T就等于所有“有公共顶点的异色边”的总对数Q的一半 单色三角形问题 总对数:每个顶点有n-1条边,根据输入的信息可以知道每个顶点i的红边数E[i],那么其黑边数就是n-1-E[i]。枚举顶点A,则根据乘法原理,以A为公共顶点的异色边的对数就是E[i]*(n-1-E[i])。所以 答案R=S-T=n*(n-1)*(n-2)/6-Q/2 解题方法 ——组合数学中的递推关系 建立递推关系的关键在于寻找第n项与前面几项的关系式,以及初始项的值 下面介绍几种典型的递推关系 Fibonacci数列 有雌雄一对兔子,假定过两个月便可繁殖雌雄各一的一对小兔子。问过n个月后共有多少对兔子? 解:设满x个月共有兔子Fx对,其中当月新生的兔子数目为Nx对。第x-1个月留下的兔子数目设为Ox对。则: Fx=Nx+Ox 而 Ox=Fx-1, Nx=Ox-1=Fx-2 (即第x-2个月的兔子到第x个月成熟了) ∴ Fx=Fx-1+Fx-2 边界条件:???F0=0,F1=1 平面分割问题 问题:设有n条封闭曲线画在平面上,而任何两条封闭曲线恰好相交于两点,且任何三条封闭曲线不相交于同一点,问这些封闭曲线把平面分割成的区域个数。 平面分割问题 设an为n条封闭曲线把平面分割成的区域个数。 由上图可以看出:a2-a1=2;a3-a2=4;a4-a3=6。可以看出an-an-1=2(n-1) 试着证明一下 Pólya原理及其应用 Pólya原理是组合数学中,用来计算全部互异的组合状态的个数的一个十分高效、简便的工具 先看下面例题: Pólya原理及其应用 对2*2的方阵用黑白两种颜色涂色,问能得到多少种不同的图像?经过旋转使之吻合的两种方案,算是同一种方案 先把所有的涂色方案列举出来 旋转方法一共有4种:旋转0度、旋转90度、旋转180度和旋转270度 Pólya原理及其应用 群:给定一个集合G={a,b,c,…}和集合G上的二元运算,并满足: (a) 封闭性:?a,b?G, ?c?G, a*b=c。 (b) 结合律:?a,b,c?G, (a*b)*c=a*(b*c)。 (c) 单位元:?e?G, ?a?G, a*e=e*a=a。 (d) 逆元:?a?G, ?b?G, a*b=b*a=e,记b=a-1。 则称集合G在运算*之下是一个群,简称G是群。一般a*b简写为ab。 置换:n个元素1,2,…,n之间的一个置换表示1被1到n中的某个数a1取代,2被1到n中的某个数a2取代,直到n被1到n中的某个
文档评论(0)