为什么计算机专业的学生要学大量的微积分知识,难道不是更应该学习组合(离散)数学吗?
计算机学科是脱胎于数学学科的,毕竟从一开始计算机的发明就是为了更快速更方便的计算——人们总结出计算中最为简单和基础的规律,并将这些规律用硬件的方式实现,靠着重复性和大规模性上的优势,计算机可以轻松实现人脑不能比拟的广度。从深度上而言,数学考验了人脑逻辑上的前沿,计算机在此就略逊一筹。
随着人工智能产业的兴起,数学的学科应用价值再一次得到凸显。中国科学院自动化研究所副研究员侯广琦认为,人工智能发展的核心趋势之一,就是通过深入研究人工智能的理论模型,让人工智能拥有越来越强的学习能力,最终实现自主学习。而数学也正是建立人工智能模型最重要的基础之一。如果考生将来想向人工智能领域发展,又喜欢理论研究,计算机科学同样需要数学知识的切入。随着计算机科学的出现,一些以前不太受到重视的数学分支突然重要起来。人们发现,这些分支处理的数学对象与传统的分析有明显的区别:分析研究的问题解决方案是连续的,因而微分,积分成为基本的运算;而这些分支研究的对象是离散的,因而很少有机会进行此类的计算。人们从而称这些分支为
1.数学让计算机无所不能
据报道前段时间,清华大学马昱春老师给CS精英训练营的学生做了一场讲座,叫"数学在计算机科学中的重要性。"不过对这个题目,马昱春老师认为,改成"数学对计算机学生的重要性"更好,更接地气。别笑,同学们最喜欢问的问题就是,"学XXX有用吗?"打开知乎,这样格式的问题比比皆是。当然清华的学生也爱问,他们总问,"学线性代数有什么用?""学微积分有什么用?"
先把话题扯远一点。前段时间有个段子,说某知名互联网公司组织了一场数学考试,要求不达标的员工卷铺盖走人。当然事后这件事被证伪,但有过求职经验的同学都知道,很多公司的笔试题里,都有数学题。不仅公司招聘,各大考试里都包含数学/逻辑科目。原因很简单,如何快速了解一个人的思维能力,判断一个人聪不聪明,当场让他做数学题就行。简历可以包装,面试可以培训,数学题,那就看大家的真本事了。
马昱春老师给大家展示清华大学计算机系的培养方案,数学课占到了170学分中的40学分,这还不包含计算机专业课中的一些数学部分。
再看看国际知名大学,那些计算机专业的牛校,如MIT、CMU,在他们的课程设置里,数学课一样占到了极大的比重。
"哪门数学课最没用?"讲座上,马昱春老师当场让学生们投票,"你觉得哪门数学课最没用?"除了安全选项"全都有用"外,有近3成的学生选择了"复变函数",还有少量学生选择了"微积分"。
马昱春老师笑着说,"进校门学的第一节课,竟然有好多学生觉得最没用,这个对我的打击太大了。"
那微积分到底有什么用?计算机的诞生就是和数学分不开的。最早人类就是为了应付庞大的计算,发明了计算机,替人类送卫星上天。而发展到今天,人们才真正意识到,"是数学让计算机无所不能"。我们用的每一个APP,上面的文字、显示、线条,难道不都是数学吗?我们玩的赛车类游戏,设计车辆行驶方式的时候,计算路径,要寻求切线,不就是导数么。
2. 离散数学日益重要
组合数学,又称为离散数学,但有时人们也把组合数学和图论加在一起算成是离散数学。组合数学是计算机出现以后迅速发展起来的一门数学分支。计算机科学就是算法的科学,而计算机所处理的对象是离散的数据,所以离散对象的处理就成了计算机科学的核心,而研究离散对象的科学恰恰就是组合数学。组合数学的发展改变了传统数学中分析和代数占统治地位的局面。现代数学可以分为两大类:一类是研究连续对象的,如分析、方程等,另一类就是研究离散对象的组合数学。
"离散数学"。"离散数学"的名字越来越响亮,最后导致以分析为中心的传统数学分支被相对称为"连续数学"。
离散数学经过几十年发展,基本上稳定下来。一般认为,离散数学包含以下学科:
1) 集合论,数理逻辑与元数学。这是整个数学的基础,也是计算机科学的基础。
2) 图论,算法图论;组合数学,组合算法。计算机科学,尤其是理论计算机科学的核心是算法,而大量的算法建立在图和组合的基础上。
3) 抽象代数。代数是无所不在的,本来在数学中就非常重要。在计算机科学中,人们惊讶地发现代数竟然有如此之多的应用。
组合数学不仅在基础数学研究中具有极其重要的地位,在其它的学科中也有重要的应用,如计算机科学、编码和密码学、物理、化学、生物等学科中均有重要应用。微积分和近代数学的发展为近代的工业革命奠定了基础。而组合数学的发展则是奠定了本世纪的计算机革命的基础。计算机之所以可以被称为电脑,就是因为计算机被人编写了程序,而程序就是算法,在绝大多数情况下,计算机的算法是针对离散的对象,而不是在作数值计算。正是因为有了组合算法才使人感到,计算机好象是有思维的。
组合数学不仅在软件技术中有重要的应用价值,在企业管理,交通规划,战争指挥,金融分析等领域都有重要的应用。在美国有一家用组合数学命名的公司,他们用组合数学的方法来提高企业管理的效益,这家公司办得非常成功。此外,试验设计也是具有很大应用价值的学科,它的数学原理就是组合设计。用组合设计的方法解决工业界中的试验设计问题,在美国已有专门的公司开发这方面的软件。最近,德国一位著名组合数学家利用组合数学方法研究药物结构,为制药公司节省了大量的费用,引起了制药业的关注。
总之,组合数学无处不在,它的主要应用就是在各种复杂关系中找出最优的方案。所以组合数学完全可以看成是一门量化的关系学,一门量化了的运筹学,一门量化了的管理学。胡锦涛同志在1998年接见"五四"青年奖章时发表的讲话中指 出,组合数学不同于传统的纯数学的一个分支,它还是一门应用学科,一门交叉学科。他希望中国的组合数学研究能够为国家的经济建设服务。
如果21世纪是信息社会的世纪,那么21世纪也必将是组合数学大有可为的世纪。
你肯定不是大学计算机系的吧。大一上学期学的是微积分,下学期就是离散数学啊。没有微积分的知识,学离散数学学不会吧。离散数学很难的。以下数离散数学的定义。
离散数学在各学科领域,特别在计算机科学与技术领域有着广泛的应用,同时离散数学也是计算机专业的专业课程,如程序设计语言、数据结构、操作系统、编译技术、人工智能、数据库、算法设计与分析、理论计算机科学基础等必不可少的先行课程。
作为计算机系的学生,我现在已经忘记了离散数学和微积分到底是做什么的了,但我记的很清楚讲解微积分的老师,都是数学系非常牛的教授。当年教我们微积分的教授,是特意被返聘回来的,而教我们离散数学的是数学系的主任,当年唯一的感觉就是觉得离散数学太抽象了,很难学。
话说回来,作为一般的应用,用到离散的不是太多。可能水平太次的缘故,我只能解决实际问题,而不知道理论到底是什么。我觉得能应用上这些知识的,都是些非常牛的计算机人才。
通过离散数学的学习,不但可以掌握处理离散结构的描述工具和方法,为后续课程的学习创造条件,而且可以提高抽象思维和严格的逻辑推理能力,为将来参与创新性的研究和开发工作打下坚实的基础。
关键看你觉得计算机专业出来做什么,如果目标是软件工程师和测试工程师,用不了太多的数学。有些简单算法认识,适应什么场景,有哪些优劣势,有些什么库可以实现就好了。
但若你要往算法工程师走,就多学些数学。这部分其实算在数学建模领域。本科的数学作为基础打扎实很好的。例如现在最火的机器学习、神经网络什么的,你要理解得透彻其实用了一些线性代数微积分的知识。其中微积分知识(泰勒展开)主要是在优化器中使用;线性代数在特征提取构建等很多方面使用。
一般来说,计算机专业学的微积分不多也不深,属于工科的常规难度。
大部分学校的计算机微积分只修"高数",那是很简单了。我上学时比较特殊,属于实验班性质,所以是按照数学系最高标准的"数学分析"学的。但总体来说,计算机专业对微积分序列的数学(连续数学)要求不高,别说和数学系比,和物理专业比也差很多。
离散数学则是计算机专业的重头,不过大学计算机分两类:计算机工程CE,和计算机科学CS。要求是不同的,CE总体对数学要求不高,离散也讲的很简单。
CS要求要高一些,我的大学本身偏理,对数学要求很高,我记得那时本科数学课都是跟数学系,有的还是研究生一起上的。离散类的数学包括:
线性代数
抽象代数
图论
概率论
数理逻辑
组合数学
大一的时候还跟着数学系上了一门数论,这也是离散数学,不过倒不是计算机专业要求的。
微积分(连续数学)和离散数学其实还是有很多交集,不能完全割裂来学,比如多元微积分就离不开线性代数(雅可比矩阵),现代AI深度学习理论也是需要结合微积分和离散数学。当然,用到的数学不太深。
学习微积分知识,还只是基础。更要学的是场论与数论。
现代数学手册五卷本里有一卷是计算机数学,你去看看,假如对经典数学一无所知,能不能看个皮毛。
微积分与离散数学是有关系的!
计算机,计算机,顾名思义,是为计算而设计的。从1623年德国科学家契克卡德制造了人类有史以来第一台机械计算机,到世界上第一台电子计算机ENIAC在美国宾夕法尼亚大学诞生,再到现在量子计算机的问世,计算机的诞生与发展都和数学密切相关。
随着计算机与互联网的迅猛发展,计算机专业也应运而生,并不断细分。就大学本科计算机学科的专业设置来看,不同高校中归属计算机学科的专业就有计算机科学与技术、软件工程、信息管理、人工智能、网络安全、数字媒体技术、大数据、物联网工程等。根据不同专业的培养需求,所学内容就会有差别。但一些计算机基础课程肯定是都要学习的,譬如高等数学、计算机基础、编程语言课(C/C++,C#,JAVA,Python等)。
由于题主并未言明具体是哪个专业,我就默认为题主是计算机大类招生,一年学习后再专业分流。这样的话,第一学年所学知识均为后面专业课的先修课程。
1.微积分
微积分作为数学分析体系的基础,其重要性不言而喻。在研究优化问题时,对一个映射的微分或者梯度的分析总是不可避免地需要用到微积分。可以说,但凡需要计算连续函数变化,就要用到微积分。例如一些网站的用户推荐、alphago的卷积神经网络都与微积分密切相关。如果题主以后要在机器学习、数据分析等领域继续深造的话,微积分的确必不可少。不仅如此,高等数学、线性代数、离散数学、概率论统计等数学知识统统很重要。当前,大部分高校的计算机学院对于学生微积分的学习,一般以掌握高等数学上的微积分相关内容为主。而部分计算机强校或是对数学要求较严的高校则会另开微积分原理这门课。
2.离散数学
离散数学作为现代数学的一个重要分支,在计算机学习中同样举足轻重、应用广泛,是改变我们思维的重要课程。在分析统计网络结构,或是信息检索时,离散数学中图论都备受青睐。再如编译原理的文法类型划分、计算机网络中的结果优化、信息安全中的密码学应用、人工智能领域的专家系统都离不开离散数学。可以说,离散数学的重要性与高等数学不分伯仲,有时甚至更重要。因此,高校计算机专业对离散数学的课程建设亦颇为看重。
综上所述,微积分和离散数学对于计算机学科的人才培养都很重要。但具体到个人,它们的重要性就会有所不同。这主要与题主今后想从事的方向有关。最后,路漫漫其修远兮,吾将上下而求索,与君共勉。
我是阿真酱,欢迎留言评论,更多精彩内容点击关注哦!啵!
提这个问题,说明你对计算机专业还没有入门,等你学完了,自己能做项目的时候就懂了,
微积分是数学中最重要也是最基础的思想,肯定必须学的