组合数学在计算机科学中的应用_精品文档.pdf
- 文档编号:3177835
- 上传时间:2022-11-19
- 格式:PDF
- 页数:5
- 大小:164.33KB
组合数学在计算机科学中的应用_精品文档.pdf
《组合数学在计算机科学中的应用_精品文档.pdf》由会员分享,可在线阅读,更多相关《组合数学在计算机科学中的应用_精品文档.pdf(5页珍藏版)》请在冰豆网上搜索。
文章编号:
1671-1742(2006)增-0094-04组合数学在计算机科学中的应用陈家!
,杨光崇(成都信息工程学院计算科学系,四川成都610225)摘要:
介绍了组合数学的概念、起源与研究的主要内容,分析了组合数学的特点,阐述了组合数学与计算机软件的联系,并着重通过两个例子说明了Ramsey数在计算机科学的信息检索、分组交换网设计分支中的重要应用。
关键词:
组合数学;组合算法;Ramsey数;信息检索;分组交换网中图分类号:
O157文献标识码:
A!
成都信息工程学院计算科学系信息与计算科学专业2001级3班1组合数学的概念组合数学是近年来随着计算机科学的发展而新兴起来的一门综合性、边缘性学科。
组合数学是什么,有很多不同的看法。
RichardA.BruaIDi所著IntroductoryCombinatorics中认为组合数学研究的是事物按照某种规则的安排,主要有:
存在性问题,计数性问题和对已知安排的研究。
DanieII.A.Cohen所著BasicTechniguesofCombi-natoriaITheory中这样描述:
组合数学就是对给定描述的事物有多少种或者某种事物发生的途径有多少种的研究。
综合以上观点,组合数学就是主要研究“事物的安排”中涉及的数学问题。
2组合数学研究的主要内容与传统的数学课程相比,组合数学研究的是一些离散的事物之间存在的数学关系,包括存在性问题、计数性问题、构造性问题以及最优化问题等,其主要内容是计数和枚举。
计数问题是组合学中研究得最多的内容,它出现在所有的数学分支中。
计算机科学需要研究算法,必须对算法所需的运算量和存储单元作出估计,即算法的时间复杂性和空间复杂性分析,其中组合数学的研究主要包括以下内容1-3:
排列组合;生成函数和递推关系;容斥原理和鸽巢原理;Burnside定理与PIya定理;线性规划等等。
3组合数学与计算机软件3.1信息时代的组合数学现代数学可以分为两大类:
一类是研究连续对象,如分析、方程等,另一类就是研究离散对象的组合数学。
计算机科学就是算法的科学,而计算机所处理的对象是离散的数据,研究离散对象的科学恰恰就是组合数学。
因此,在信息时代的今天,组合数学就是信息时代的数学。
3.2组合数学在计算机软件的应用随着计算机科学的发展,组合数学也在迅猛发展,而组合数学在理论方面的推进也促进计算机科学的发展。
计算机软件空前发展的今天要求有相应的数学基础,组合数学作为大多数计算机软件设计的理论基础,它的重要性也就不言而喻。
组合数学在计算机方面的应用极其广泛。
计算机软件与各种算法的研究分不开,为了衡量一个算法的效率,必须估计用此算法解答具有给定长的输入(问题)时需要多少步(例如算术运算、二进制比较、程序调用等的次数)。
这要求对算法所需的计算量及存储单元数进行估算,这就是计数问题的内容,而组合数学分析主要研究内容就是计数和枚举的方法和理论。
第21卷增刊2006年12月成都信息工程学院学报JOURNALOFCHENGDUUNIVERSITYOFINFORMATIONTECHNOLOGYVoI.21SuppI.Dec.20063.3组合数学在国外软件业的发展状况纵观全世界软件产业,美国处于绝对的垄断地位。
造成这种现象的一个根本原因就是计算机科学在美国的飞速发展。
当今计算机科学界的最权威人士很多都是研究组合数学出身的。
美国最重要的计算机科学系(MIT,Princeton,Stanford,Harvard,Yale,)都有第一流的组合数学家。
组合数学在国外早已成为十分重要的学科,甚至可以说是计算机科学的基础。
一些大公司,如IBM,ATST都有全世界最强的组合研究中心。
美国政府也成立了离散数学及理论计算机科学中心DIMACS(与Princeton大学,Rutgers大学,ATST联合创办的,设在Rutgers大学),该中心已是组合数学理论计算机科学的重要研究阵地。
4Ramsey数在计算机科学中的应用4.lRamsey定理和Ramsey数众所周知,若有I+l只鸽子同时飞进I个鸽巢中,则一定有某个鸽巢中至少飞进两只鸽,这就是有名的鸽巢原理(也叫抽屉原理)。
它非常简单,其正确性也显而易见,但却有很广泛的应用。
鸽巢原理有如下重要的推广:
Ramsey定理设gl,g2,gI;t是正整数,且gi!
t(i=l,2,I),则存在最小的正整数r(记作r(gl,g2,gI;t)使得:
对任意m元集合S,若m!
r,当把S的所有t元子集放到I个盒子里时,那么存在某个i(liI)和某gi个元素,它的所有t元子集都在第i个盒子里。
这是称r(gl,g2,gI;t)为Ramsey数。
上述定理是Ramseyl930年提出并给出证明。
当t=l时,Ramsey定理就是加强形式的鸽巢原理,且容易求出r(gl,g2,gI;l)=#Ii=lgi-I+lRamsey定理是组合论中一个重要的存在性定理,它的发表推动了组合论等数理科学的发展,而且关于Ram-sey定理和Ramsey数自身的研究目前已成为组合学中一个重要的分支I+lRamsey理论。
但是,Ramsey定理只保证了Ramsey数的存在性,并没有给出计算Ramsey数的有效方法。
目前,确定Ramsey数的问题仍是一个尚未解决的大难题,要找到一个很小的Ramsey数是很困难的。
虽然如此,由于其重要的理论价值和广泛的应用价值,确定Ramsey数是很有意义的。
下面用两个例子说明Ramsey数在信息检索、分组交换网设计等计算机科学领域中的重要应用。
4.2信息检索信息检索是计算机科学中一个基本而又重要的问题。
如何组织数据,使用什么样的查找方法,对检索的效率有很大的影响。
所熟知的在有序表结构上的二分搜索算法是一种很有效的方法,那么二分搜索是最好的算法吗?
Yao4利用Ramsey数对这一问题作了肯定的回答。
具体地讲,假设一个表有I个不同的项,其元素取自键空间M=l,2,m,希望找到在表中存储M的任意I元子集S的方法,使得容易回答下述询问:
X在S中吗?
如何存储M的I元子集的规则称为一个表结构或(m,I)-表结构。
最简单的表结构是有序表结构,它是按上升序列出S中的元素。
更一般的是按置换排序的表结构,其方法是固定l,2,I的一个置换,根据比置换的次序列出S中的元素。
信息检索的计算复杂性依赖于表结构和搜索策略。
复杂性的度量是最坏情形下确定x是否在S中所需要的询问次数。
例如,对有序表结构,如果用二分搜索,所需要的询问次数是log2(I+l)。
复杂性f(m,I)定义为所有的(m,I)-表结构和搜索策略下的复杂性的最小值。
关于f(m,I),Yao4证明了:
定理1对每个I,存在数N(I)使得f(m,I)=log2(I+l)对所有m!
N(I)成立。
据此定理,对充分大的m,就信息检索来说,用有序表结构是最有效的方法。
利用下述两个引理,立即可得此定理的证明。
引理1若m!
2I-l,I!
2,对于按置换排序的表结构。
无论采用何种策略,在最坏情形下要确定x是否在S中至少需要log2(I+l)次检查。
59增刊陈家等:
组合数学在计算机科学中的应用引理!
给定I,存在数N(I)具有下述性质:
若m!
N(I),且给定一个(m,I)-表结构,则存在有2I-l个键的集合K,使得对应于K的I元子集的表形成按置换排序的表结构。
略去引理l的证明,这里只给出引理2的证明。
引理2的证明:
设I个键的集体S=l,2,I以某种次序存放在表结构中,如果l2I的最小的r是多少?
比如对图l有I=6,由于r(C4,C4)=6,r(C4,C4,C4)=ll,所以r=3,即需要3个中间设施。
Boyles和EXoo指出,在他们使用的场合,利用Erdos6的下述结果足以估计r的值:
若一个I顶点图至少有l2I3.2+l4I条边,则它总包含有C4。
若I顶点69成都信息工程学院学报第2l卷图的!
(!
-1)2条边分成#个颜色类,由鸽巢原理,则必存在某个类至少有!
(!
-1)2#条边。
要#使得不存在包含有12!
3.2+14!
条边的类。
因此,应使#满足!
(!
-1)2#12!
3.2+14!
$由此得出#应满足的条件。
参考文献:
1卢开澄,卢华明.组合数学(第3版)M.北京:
清华大学出版社,2002.2杨振生.组合数学及其算法M.合肥:
中国科学技术大学出版社,1997.3杨骅飞.组合数学及其应用M.北京:
北京理工大学出版社,1992.4A.C.Yao.ShouidTabiesBeSortedJ.ACM,1981,28.5陈树柏.网络图论及其应用M.北京:
科学出版社,1982.6R.L.Graham,B.L.Rothschiid,J.H.spencer.RamseyTheory(secondedition)M.JohnWiiey8.Sons,New.York,1990.ApplicationofcombinatoricstocomputersoftwareCHENJia,YANGGuang-chong(Dept.ofComputingScience,CUIT,Chengdu610225,China)Abstract:
Theconceptofthecombinatorics,thehistory,thedeveiopmentandthecontentareintroduced.Thecharacteristicsofthecombinatoricsanditsappiicationstothecomputersoftwareareanaiyzed.TwoexampiesareusedtoshowtheimportanceoftheRamseynumberinmanyareassuchasinformationretrievaiofthecomputerscienceandnetworkdesignofthegroupingexchange.Keywords:
combinatoriaimathematics;combinationaigorithm;Ramseynumber;informationindex;groupingexchangenet-work79增刊陈家等:
组合数学在计算机科学中的应用组合数学在计算机科学中的应用组合数学在计算机科学中的应用作者:
陈家,杨光崇,CHENJia,YANGGuang-chong作者单位:
陈家,CHENJia(成都信息工程学院计算科学系信息与计算科学专业2001级3班,四川,成都,610225),杨光崇,YANGGuang-chong(成都信息工程学院计算科学系,四川,成都,610225)刊名:
成都信息工程学院学报英文刊名:
JOURNALOFCHENGDUUNIVERSITYOFINFORMATIONTECHNOLOGY年,卷(期):
2006,21(z1)被引用次数:
2次参考文献(6条)参考文献(6条)1.卢开澄;卢华明组合数学20022.杨振生组合数学及其算法19973.杨骅飞组合数学及其应用19924.ACYaoShouldTablesBeSorted19815.陈树柏网络图论及其应用19826.RLGraham;BLRothschild;JHspencerRamseyTheory1990本文读者也读过(10条)本文读者也读过(10条)1.高洁浅谈组合数学的应用与教学期刊论文-中国科技信息2005(15)2.陈永川组合数学及其应用的研
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 组合 数学 计算机科学 中的 应用 精品 文档