当前位置:蚂蚁文档网 > 述职报告 > 组合数学在软件工程领域的应用

组合数学在软件工程领域的应用

时间:2022-03-20 10:03:49 浏览次数:

摘 要:自计算机出现后,快速发展的一门数学分支就是组合数学。其中,离散对象的处理是计算机科学的主要应用之一,所谓计算机科学说穿了其实就是算法的科学。首先分析了组合数学的一般理论,其次对于组合数学在软件工程技术中的应用做了探讨。

关键词:组合数学;离散数学;软件工程

中图分类号:TP301 文献标识码:A 文章编号:16727800(2013)002000302

1 组合数学概述

现代数学的两个重要分支,一是对连续对象的研究,如分析、方程等,还有一类就是对离散对象的研究,这便是组合数学。它是近年来由于电脑科技的发展而新兴的一门综合性和边缘性的学科。在世界软件产业市场上,美国一直处于绝对垄断的地位,其根本原因就是世界上最快最先进的电脑芯片总是最早在美国开发出来,当今计算机界最权威的人士也多是研究组合数学的出身。在美国大学里,最重要的计算机科学系都有一流的组合数学家为学生授课。在国外一些大公司,如IBM、AT&T等公司,都有全世界最强的组合研究中心。

与传统的数学课程相比,组合数学研究的是对象是一些离散的事物之间存在的数学关系,包括存在性问题、计数性问题、构造性问题以及最优化问题等。其主要内容包括:排列组合、生成函数和递推关系、容斥原理、鸽巢原理、Burnside定理、线性规划等。

关于对组合数学概念的理解,不同学者有不同的观念。但有一点是无可非议的,那就是组合数学是一门研究离散对象的学科,是电脑技术出现后迅速发展起来的一门数学分支。它的快速发展又加速了电脑技术的开发。

组合数学研究的对象就是离散构形问题,如研究符合一定条件的组态对象、计数及构造等方面的问题。象构形的存在性问题、构形的计数问题、形的最优化问题等等。数学发展史上几个著名的数学问题的提出和解决都与组合数学的基础内容有着密切的关联。

(1)地图着色问题。此问题又称为“四色猜想”,即给世界地图进行着色,不同国家使用不同的颜色。若要求相邻国家的颜色也不同,只用4种颜色能不能解决这个问题?一个多世纪以来,可谓是让各国的数学家绞尽了脑汁。由于在研究证明的过程中,对象问题复杂,又难以建立相应的数学模型,所以很难由人工来完成,所以一些组合数学家开始借助电脑的帮助而最终得以解决,并由此产生了一些新的数学理论及计算技巧,特别是将地图的着色问题转化为图论问题,又丰富了图论内容。但人类的求知欲望是无止境的,有没有一种更简捷的书面证明方法?到现在仍有一些数学爱好者在探寻这个问题。

(2)船夫过河问题。有一个游戏问题,一船夫要把一只狼、一只羊、一捆白菜运到河对岸去,要求是当人不在场时,要防止“狼吃羊”、“羊吃白菜”的情况发生,但船夫的船每趟只能运其中的一种。问怎样安排过河顺序,才能把三者都运到河对岸去?这便是很典型的线性规划问题。

此外,还有一些著名的经典问题如汉诺塔问题等的解答都涉及到组合数学的基础知识的灵活运用。

本文从组合数学的相关概念、组合数学的几个著名问题以及计算机科学中的组合数学几方面入手进行探讨,进一步分析组合数学在软件设计工程的应用。2 组合思想的应用

软件专业课中组合数学是最难的几门课之一。由于数学是电脑技术的基础,这促使应用软件、信息学与计算科学等飞速发展。美国的比尔盖茨、中国的求伯君等许多天才程序员本身就是数学尖子。一个数学基础很好的人,一旦熟悉某种计算机语言,便可以很快地理解一些算法的精髓,并可能写出时间与空间复杂度都有明显改善的算法。

网络的发展已使得计算机的应用影响到了人们的生活、学习、工作和诸多方面的活动。有人把计算机科学定义为研究算法的一门学科是有道理的,因为对算法的研究是计算机科学的一个重要的领域。美国一直处在全世界软件产业的霸主地位,其根本原因是美国政府高度重视计算机基础科学的发展。

组合数学在软件工程领域的应用是非常广泛的,以下仅列举几例。

(1)在密码学中的应用:用组合变换为底的幂剩余函数作和及毕达哥斯作加、解密变换、消除了RSA体制的周期而不能被直接破译,这是在RSA体制的基础上提出的一种新型公钥密码体制,是近年来密码领域的一次革命。论证表明,这种新体制安全性是建立在“具有大质数因子的合数的因子分解,以最新的计算方法仍是个计算上困难的问题”这一基础之上,但这个新体制的安全性远远高于旧的RSA体制。

(2)在分区分级天气预报中的应用:组合数学是以集合论和图论为基础的数学,其用途极为广泛,几乎涉及和渗透到所有领域,如运筹学、信息论、系统工程、计算机科学、通信网络、电路网络、人工智能等。随着电子计算机的发展,组合数学的许多繁重计算,都可在计算机上实现,因而组合数学的应用,更加广泛和深入。

采用组合数学中链格求交的概念和方法,并将其用于降水分区分级预报决策中,为组合数学在天气预报中的应用提供了有益的探索。结果表明,组合数学在天气预报中的应用是切实可行的。

(3)在不定方程中的应用:第一个例子就是世界著名的四色问题,它的魅力在于其结论可以很简单地说清楚,但从来没有人能从头至尾完整地在理论上用人力去证明它。直至1976年才由两位美国数学家宣布他们用计算机证明了这个结论。他们的证明用了将近100亿条逻辑判断,花了1 200机时来计算,这个成攻震动了整个数学界。

第二个例子我们以典型的“百钱买百鸡”问题为例。问题:若公鸡5元钱一只,母鸡5元钱一只,小鸡1元钱3只,现要用100元钱,恰好买100只鸡,问公鸡、母鸡、小鸡应该各买多少?其解如下:

设:K=公鸡数,H=母鸡数,C=小鸡(数,得方程组:

5*K+3*H+C/3=100

K+H+C=100

此不定方程有若干组解,枚举出所有的解亦不难。但若“百鸡”改为“千鸡”、“万鸡”,手工计算量则不堪设想。如若借助于计算机,便是很容易的事情了。

用一段最简单的BASIC语言编一段代码就可以解决此题:

10 F0R K= 1 TO 100

20 F0R H= 1 TO 100

30 LET C=100-K-H

40 IF 5*K+3*H+C/3 = 100 THEN

60

50 GOT0 70

60 Print “CoCks: ” K; “Hens:”; H; “Chicks:” ;C

70 Next H

80 Next K

90 End

此程序已在计算机中测试运行正常,即便要求“万钱买万鸡”,也只须改变一下代码中个别参数即可。

3 结语

许多研究资料表明,东方文明是组合数学的发源地,尤其在印度,人们把复杂的对象和概念习惯看成是更基本的对象和概念的组合。要付出许多艰辛的劳动去研究印度和中国的古代数学,才能最后评价他们的贡献。需要指出的是,由于组合论经常与一些其它似乎没有关联的东西联系在一起,如中国和阿拉伯的幻方等,这些非常深奥的问题刺激着数学家的神经,使组合论在纯粹数学和应用数学中成为现代数学的主流分支之一。

由于各种各样的离散构形问题在现实生活和科学研究中的广泛存在,决定了其内容丰富和生命力强的特点。它的另一个特点是讲究方法和技巧,一个组合数学问题的最终解决取决于能否找到一种巧妙的方法,而这正是组合数学的魅力所在。在电脑技术的推动和刺激下,最近的几十年,组合数学异军突起,取得了突破性的发展,而反过来又推动了计算技术的发展。如今组合数学的思想和理论已得到人们的普遍关注,其应用前景无限广阔。

参考文献:

\[1\] 刘海燕.组合数学在奥数中的应用\[J\].牡丹江教育学院学报,2008(5).

\[2\] 谭中华.组合数学中的一类计数问题\[J\].广东工业大学学报,2005(4).

\[3\] 赵玉明.组合数学教学中的重点和难点分析\[J\].西江教育论丛,2006(1).

\[4\] 闫淑芳.组合数学中相邻与不邻问题的几种一般性的解法\[J\].邢台学院学报, 2009(4).

\[5\] 周敏,张世禄.一个组合数学新定理\[J\].西华师范大学学报;自然科学版,2008(4).

\[6\] 李萍.利用组合数学化简汉诺塔问题\[J\].电脑开发与应用,2008(6).

\[7\] 高洁.浅谈组合数学的应用与教学\[J\].中国科技信息,2005(15).

\[8\] 邓秀芬.组合数学中的圆排列\[J\].科教文汇:下旬刊,2009(11).

\[9\] 陈永川.话说组合数学\[J\].科学中国人,2003(5).

\[10\] 李萍.利用组合数学化简汉诺塔问题\[J\].电脑开发与应用,2008(6) .

\[11\] 王理,李文娟.计算机科学中的组合数学\[J\].河南水利与南水北调,2007(10).

\[12\] 陈家,杨光崇.组合数学在计算机科学中的应用\[J\].成都信息工程学院学报,2006(S1).

\[13\] 高洁.浅谈组合数学的应用与教学\[J\].中国科技信息,2005(15).

\[14\] 陈永川.话说组合数学\[J\].科学中国人,2003(5).

\[15\] 胡勤.组合数学浅析\[J\].电脑知识与技术,2010(11).

(责任编辑:余 晓)

推荐访问:组合 软件工程 领域 数学

猜你喜欢