论数学在计算机科学中的基础作用

时间:2022-09-29 10:04:12

论数学在计算机科学中的基础作用

摘 要:数学和计算机的关系非常密切。一直到二三十年以前,计算机科学本身还是数学学科的一个分支,最早研究计算机的专家也都是数学家。在计算机进行运算的基本原理中,处处渗透着数学的各种思想。而现在,计算机科学已经深受人们的关注,成为了一个独立的学术领域,这之间离不开数学理论的推动;反之,从数学的发展来看,不仅可以利用计算机解决大量人工无法实现的巨量计算问题,很多难以证明的定理还可以通过计算机完成证明;程序,作为数学与计算机之间的一座重要桥梁,在数学的发展,计算机的应用方面起着双重的推动作用。本文从数学原理与计算机技术的关系展开讨论。

关键词: 计算机科学 数学 基础作用

一、数学是计算机技术的基础

数学是一门基础理论学科,数学在科学研究中的作用众所周知,甚至被称为“科学的皇后”。数学是所有学科的基础,统治着所有涉及到量的世界。每个想要搞理科研究的学者都必须有良好的数学基础。在计算机发明之前,数学的发展是靠无数科学家们代代相传的努力换来的。有了计算机,数学的发展的确变得更快更好。但是,具体地说,计算机技术是如何推动数学学科的发展的?数学作为计算机技术的基础又体现在哪些方面,下面从两者之间的相互影响展开讨论。

1、数学家对计算机理论和技术的贡献

提到计算机,不能不提到二十世纪的两位伟大的数学家――阿兰・图灵和冯・诺伊曼。阿兰・图灵是英国一位著名的数学家。他通过仔细研究,提出了“所有的数学运算过程都可以抽象成数学模型” 的观点,并于1936年开创性地提出了算机的运算模型,奠定了现代计算机技术的理论基础,因此被誉为“计算机理论之父”。冯・诺伊曼是美籍匈牙利数学家。他的重要贡献是对由约翰・莫克利(John Mauchly)和普雷斯伯・埃克特(Presper Eckert)研制的世界上第一台数字式电子计算机进行了一次全新的改革。这项改革从此彻底改变了计算机技术的命运。原来,莫克利和埃克特发明的计算机虽然能大大提高运算速度,但它却存在着两个致命缺点:

(1)没有储存器,无法将数据或指令存储到计算机中;

(2)每次执行不同的任务,都要重新布置导线。这样,它运算速度快的优点被布线所需花费的大量时间所抵消。因此,他的应用也仅限于复杂的科学计算和军事应用。冯・诺伊曼运用数学中的“二进制”思想将其改进,发明了“离散变量自动电子计算机”EDVAC(electronic discrete variable automatic computer )。这种计算机能够将数据或指令储存,更重要的是它由于采用了二进制的运算方式,大大方便了数据的传输。这样,计算机的应用面立刻扩大了,它不仅被用在军事与尖端技术上,同时也应用在工程设计、数据处理、事务管理等方面。可以说,我们现在使用的计算机还是建立在EDVAC基础之上的。由于冯・诺伊曼对计算机技术的巨大贡献,他被称为“计算机之父”。

二、数学思想在计算机技术中的运用

现代计算机之所以能够如此智能化,在很大程度上是由于受了数学思想的启发。数学逻辑结构的严谨,数学理论的严密,甚至许多数学方法本身,都直接被广泛地采用到计算机科学的众多领域。比如,数学中的二进制思想已成为现代计算机技术发展的坚实基础。

广泛地说,只要进行数据的传输或整理时,就要用到这种思想。具体做法是将每一个字节的数据用八位二进制数保存,这样在通过导线传输时只需用导线的通与断来分别表示0和1,就可以表示整个字节。从一个文件的储存,到一幅千兆图片的存储,更甚网络中成千上万的各种格式的数据的运送,都是离不开二进制的。回想一下,如果没有二进制的思想作为基础,或者说没有数学的发展作基础,何来冯・诺伊曼的伟大创举,乃至EDVAC和当今计算机的诞生呢?从这个意义上说,没有数学原理的应用,就没有现代的计算机技术。

三、数学原理对计算机软件系统的支持

上述提到的是计算机硬件技术的发展对数学的依赖,除此之外,计算机软件设计也离不开数学原理的支持。要掌握好计算机程序设计,数学功底非常重要。从我个人的体会来看,要设计任何一个计算机算法,其实质都是先将问题转化为一个(更多的情况下是多个)需要解决的子问题,然后再想办法逐一解决这些问题,最后使得整个程序连贯为一体。通俗的讲,就是先“审题”,然后考虑解决的方法,一步一步深入,直到整个问题解决。这其中是一环紧扣一环,有着非常严密的逻辑性的。少一个步骤,跳一个步骤,或者有一个环节出了差错,整个程序就会瘫痪。另外,就从编程序的这个环节来说,利用任何一种语言编制程序都需要不断运用数学理论来帮助。

同时,仍然要保持程序逻辑的严密性。一个具有数学修养的程序员在写代码时更有可能写出逻辑严密的最简化的高质量代码。尤其是对大型复杂的软件系统,如果没有良好的数学思维的训练,是很难编制出高质量的程序的。举例说,我们要操作或控制计算机,就必须有操作系统。操作系统至今已经有了几百种,个人计算机中最常用的有windows98 / me / 2 000 / 2003 / xp等。这些复杂的操作系统的产生,归根结底还是由不同的程序模块组合而成。这样大型的程序系统,离不开一个又一个的子程序,以及它们之间严密的优化组合,这样才能让用户放心使用,不会出现意想不到的漏洞与问题。

有关研究表明,我们国家计算机软件水平的落后不是因为我们缺少程序员,而是因为缺乏懂数学的高质量的程序员。又比如微软公司总裁比尔・盖茨,他之所以能够在计算机软件方面取得成功,很大程度上是由于年青时对数学的痴迷,具有的极强的数学思维能力。归根结底,程序是计算机与数学之间最重要的一座连接的桥梁。

上一篇:基于校内实习公司的高职院校实践教学模式探析 下一篇:微风袭来,花开遍地