数学在计算机科学中的应用

2020-01-17 03:42:54胡翔宇
黑龙江科学 2020年1期
关键词:数论离散数学频度

胡翔宇

(江苏大学 卓越学院,江苏 镇江 212000)

1 数学在计算机科学中的重要性

数学是一门工具性极强的学科,相对于其他学科来说,其抽象性、逻辑性等特点十分明显。就当前数学的应用来看,其与计算机科学之间有着不可分割的联系。随着互联网技术、人工智能技术的发展,计算机运算性能得到了质的飞跃,计算机的优势也越来越明显,将深奥的数学理论应用到实际问题中,有效解决了现实生活中的各种难题[1]。计算机已经证明了四色问题,证明过程中利用了大量数学思想,如小波分析、离散数学、仿生计算等,人们开始意识到计算机科学与数学之间有着密不可分的关系。计算机的主要任务是进行数据处理、图像处理、程序设计等不同类型的计算,这些工作可以分为数值计算与非数值计算。计算机科学计算步骤如图1所示。

图1 计算机科学计算步骤Fig.1 Computer science calculation steps

可以看出,计算机在解决问题中需要将实际问题转化为程序,建立完善的数学模型,完成对具体问题的抽象化处理。计算机软件编程是以数学模型为基础的,软件编程中的大量理论和技术是应用数学进行描述的。计算机算法的正确性、程序语义以及理论基础都为数理逻辑或模型论。

2 数学在计算机科学中的应用

2.1 数学模型在计算机科学中的应用

数学模型指通过构建符号系统,把对事物系统特点与数量关系的描述以数学形式表现出来。现代科学发展的重要特点之一就是实现科学的数学化,将现实、形象的问题转化为数学模型。随着计算机技术的快速发展及相关产业的成熟,各类软件已应用到社会生产的各个领域,如导航软件、购物软件、新闻软件等都是利用数学模型进行计算机编程,使人们的生产生活更加便捷[2]。当前计算机软件所能处理的问题已经不局限于数学计算领域,而是拓展到用于解决大量非数值计算问题。利用计算机软件编程解决现实问题时,需要将现实问题进行数学化处理,建立基于数值问题的数学模型,即数学方程。针对非数值计算的数学模型建立,则需要通过表、树以及图等相关数据配合数学方程式,建立完善的描述,从而利用计算机进行计算。

2.2 离散数学在计算机科学中的应用

离散数学在计算机科学中的应用十分广泛,主要有以下几个方面:第一,离散数学在数据结构中的应用。计算机数据结构将操作对象之间的关系分为若干种,分别为集合、线性结构、树形结构、图状结构及网状结构。计算机中数学结构研究的主要内容为数据结构的逻辑体系、基础运算等。其中,逻辑体系与基础运算都是离散数学中重要的离散结构与算法思考内容。离散数学中集合论等知识点及关系等都被应用在计算机数据结构中。如集合论中集合由元素组成,元素是世界上的客观事物,关系是建立在集合论基础上的一种特殊集合[3]。第二,离散数学在数据库中的应用。计算机科学中的数据库应用十分广泛,其中关系数据库是计算机数据库中最常见的类型之一。笛卡尔积是离散数学中的基本理论,也是计算机数据库建设的基础理论之一。笛卡尔积理论为计算机关系数据库的建设提供了理论与方法,并为数据技术的发展作出了巨大贡献。关系数据模型以集合代数作为基础,数据逻辑结构是以行列构成的二维表来阐述关系的数据形式。第三,离散数学在计算机编译中的运用。计算机的编译程序相对繁杂,一般计算机编译程序包含词法分析程序、语法分析程序、语义分析程序等,离散数学中的计算机模型知识点中分析了三种计算模型,分别为文法、有限状态以及图灵机,具体理论有语言与文法、带输出的优先级状态、图灵机等。上述离散数学中的理论知识均能够在计算机编译原理的词法分析中找到。可以看出,离散数学是计算机编译原理的重要基础知识。第四,离散数学在人工智能中的应用。在计算机人工智能中逻辑推理是重要的技术支持。逻辑是数学领域中推理的基础,对计算机人工智能技术有着广泛的现实作用。离散数学中的数学推理知识与布尔代数理论为计算机人工智能的早期发展奠定了坚实基础。第五,离散数学在计算机体系结构中的运用。在计算机体系结构中指令系统设计与优化十分关键,指令系统与计算机系统性能之间有着密切关系。指令系统的优化方式众多,一是对指令格式的优化,指令通常由操作码与地址码构成,指令格式优化即为如何利用最短位数来代表指令的操作与地址信息,以便使程序中的指令字长尽可能短[4]。基于这一目的,需要使用哈夫曼的压缩概念,该概念的基本思想为当各类事件发生概率不平均时,采用优化技术对概率最高的事件用最短的位置来标识,对概率较低的事件则使用较长的位置来表示,这就会导致平均位数变短。利用哈夫曼概念创造出哈夫曼树,利用频度对计算机指令系统中的所有指令进行统计,并根据频度从小到大排列,每次选择其中最小两个频度合并为新频度,将其插入未结合的频度中,如此往复直到所有频度完成结合形成根节点。再针对节点向下延伸分支,分别为“1”与“0”。从根结点开始沿线所经过的代码序列为哈夫曼编码,这一编码系列满足指令使用概率低的指令编以长码。

2.3 组合数学在计算机科学中的应用

组合数学是与计算机科学一同发展成熟的,具有综合性、边缘性,即为分析事物发生中可能联系的N种数学理论。相对传统数学而言,组合数学是离散事物之间存在的必然数学联系,如构造性问题、最优化问题等。在组合数学中,技术问题是研究最为成熟的内容之一。计算机科学需要研究算法,对算法的运算与存储单元进行评估,体现了算法在空间与时间上的复杂性。组合数学的具体研究内容包括容斥原理、生成函数与递推关系等,组合数学有力推动了计算机科学的发展,为了判断计算机算法的效率,需要使用该算法解答具有给定的输入时需要多少步。

2.4 数论在计算机科学中的应用

数论也被称为整数论,分为初等数论、解析数论、代数数论及几何数论等分支。代数数论将证书概念推广到一般代数领域中,构建了可除性、素整数等概念。程序设计中应用较为频繁的有代数曲线,如椭圆曲线理论。随着当代计算机科学的发展,数论的应用也愈加广泛,如在计算机方法、代数编码、组合学理论等方面都广泛应用了初等数论研究的一系列成果。数论算法对于计算机程序设计具有较大作用,其中素数问题、素性测试、因子分解、求解同余线性方程等都是计算机程序设计中需要使用的,如基于大素数的密码体系是近年来数论算法的广泛应用之一。

3 结语

数学是一门逻辑性较强的抽象学科,对于计算机科学的发展具有重要作用。数学能够帮助人们建立抽象的逻辑思维,通过举一反三的思维方式进行创新。数学模型、离散数学、组合数学及数论均在计算机科学中得到了广泛应用,为计算机编程、模型建设、数据存储提供了理论支持。

猜你喜欢
数论离散数学频度
一类涉及数论知识的组合题的常见解法
中等数学(2022年2期)2022-06-05 07:10:46
几类递推数列的数论性质
中等数学(2021年2期)2021-07-22 06:21:52
赖彬文
书香两岸(2020年3期)2020-06-29 12:33:45
数论中的升幂引理及其应用
中等数学(2020年11期)2020-04-13 06:01:06
眨眼频度可判断烟瘾大小
妇女之友(2017年3期)2017-04-20 09:20:00
离散数学实践教学探索
铜绿假单胞菌MIC分布敏感百分数与抗菌药物使用频度相关性研究
离散数学中等价关系的性质
科技视界(2013年14期)2013-08-15 00:54:11
浅谈离散数学在计算机学科中的重要性
科教导刊(2012年15期)2012-04-29 19:07:32
离散数学对编程的重要性