您的位置:首页 > 其它

最近想看《离散数学》方面的书,这本是啥名?

2013-03-07 18:46 141 查看
在百度上看到的,我看比较合适我。。

找一找,然后当当下当。

纸质书有感觉。

顺便进两本BIG DATA的书看看。。

~~~~~~~~~~~~~~~~~~~~

综观世界的文明史,人类经济发展到每一个阶段,都产生出这阶段的物质文明和精神文明,都产生代表这阶段的科学技术,并存在一种通用的学科表达语言,以客观地描述人们所了解的一些发展规律。在原始经济时代,由于产品的交换需要一种被称为算术的学科表达语言,描述了人们在物质交换时所带来的一些学科(主要是计数)问题;在原始经济向农业经济过度时,人们发现算术语言已不能完全表达有如土地丈量等一些经济活动了,例如直角边为1的直角等腰三角形的斜边不能用算术语言表达,因此产生了几何语言(欧基里得几何)。工业革命使人类进入了工业经济时代,显然欧基里得几何并不能描述工业革命的核心部分,例如能量转换、动力、瞬时速度、运动加速度、运动与运动之间的关系等,在产生牛顿力学的基础上,产生了微积分,有关能量转换、动力、瞬时速度、运动加速度、运动与运动之间的关系等问题可以在分析这个层面上统一认识,许多有关工业经济中的问题可以通过解方程的方法进行求解,可以这样说微积分和在此基础上发展起来的现代数学语言是工业革命和工业经济时期的学科表达语言。
20 世纪中的计算机出现,带动了世界性的信息革命的伟大进程,人们开始从工业经济时代向知识经济时代迈进。信息科学和技术的发展以及由信息科学技术的发展带动的智能科学和技术、生命科学和技术等的发展,是知识经济科学技术发展的重要标志。从工业革命初期开始,人们就开始找寻工业经济的学科表达语言,毫无疑问现代数学语言(包括统计学、计算数学、数量和非数量代数学、运筹学、微分几何、张量分析、泛涵分析等等)和用这些语言描述一切系统理论(包括理论物理、量子力学、统计物理、电动力学、计算化学、生物数学等等)对在工业经济时代科学技术的发展和经济活动等起着重要的的作用,在知识经济的产生与发展也产生了重大的影响,但在信息革命中,用现代的数学语言关于信息革命的实践的描述就并不一定是那么有效了。例如,信息革命是以知识为中心的革命,现代数学语言就没有关于知识概念,也不可能用数学运算的方法去描述知识的应用;作为现代信息革命的灵魂和知识产品的体现的计算机软件至今也还不能用现代数学语言来描述。
计算机科学在信息革命中的学科地位有如牛顿力学在工业革命中的学科地位一样,由计算机出现带动的信息革命当然计算机科学将起着主导的作用。在今后的几百年内,人们将计算机科学迅速发展进一步完善,会象在牛顿力学的基础上发展出微积分以及现代数学语言一样,在计算机科学的基础上发展出信息革命的学科表达语言。计算机科学是在计算机带动的信息革命的实践中产生和发展的,反过来计算机科学的发展又大大推动了信息革命的进程。
当前计算机科学在自己的发展过程面对着如下两个问题:一是信息革命的要求计算机科学要将计算机的应用扩大到包含所有的问题领域和深入到每个问题领域的深处而越来越细致越来越复杂;二是一旦让计算机去解决问题,那么计算机应自动地在有限和有效的时间内得出解。前者指出计算机科学的任务就是要用计算机的硬件、外设和软件构成一个系统,使得许多不同领域的问题都能在这样的计算机系统中得到解决。为了完成这个任务,就必须用一种符号语言构成一个包括了不同领域的通用模型。离散数学就是指出构成一个包括了不同领域的通用模型的思维方法,并且告诉我们怎样用不同的语言(符号语言、图形语言、逻辑语言等)从最简单的对象(集合)出发表示通用模型。后者指出计算机科学必须了解让计算机去解决问题在通用模型中的结构,由于要求在有限和有效时间内计算机自动完成,那么问题求解的方法必然是构造性的,所了解的结构必然是一种离散结构。离散数学中的求解问题的方法就是基于离散结构的构造性思维方法。
当然,离散数学不一定成为信息革命的学科表达语言,也不一定能够成为计算机科学的学科表达语言,从离散数学的基本内容和计算学科的发展情况来看,许多计算学科的问题,都可以在离散数学的范围中表达,都可以试验抽象为离散数学的问题,不能否认离散数学在较通用的层面上描述了计算学科所表现出来的信息革命的许多模型,为现代计算学科的发展和应提供了理论基础。从学习的角度来看,离散数学的思维方法能够为计算机科学所用,“离散数学能够使我们在更高的高度去了解和学习计算机科学”
因此可以说高等数学将大家从中学的传统的欧基里得的思维方式带进高等教育的基于[b]工业革命的学科表达语言的富于创造性的思维方式,而离散数学将大家带进信息革命的学科表达语言中去发展和创造具有时代特点的先进的思维方式。 [/b]
㈡从计算机科学学生能力培养的角度看离散数学的作用。计算机出现的五十多年间,人们追求着和出现了许多计算机信息革命带来的信息产品,但是信息产品受工业产品的观念上的影响,使得计算机科学的学科发展带来了偏差,使得整个学科的发展都是“软件跟着硬件走”。这种情况不仅仅表现在人们根据电子元件的发展来划定计算机发展的时代,而且最集中表现的是日本提出来的第五代计算机的发展计划:这个日本为了改变自己在科技界形象的、计划化钱最多的计算机发展计划,就是因为软件的原因宣告失败。早在60 年代一些有识之士就指出了这一点,但计算机科学商品化发展的惊人的速度使得一直到1991
年,由91 教学大纲中才提出了“硬件必须跟着软件走”的提法。我们不能将自己的学生培养成计算机系统的奴隶,而应该培养成计算机系统的主人,我们的学生不能给计算机系统所塑造,将他们变成计算机,而是教育学生怎样地塑造计算机系统。在计算机科学知识掌握的过程中应是“硬件跟着软件走,软件跟着模型走,模型跟着学科实际应用走;学科实际应用跟着自然走”。而最主要的培养环节应该是软件跟着模型走,模型跟着学科实际应用走。关于学生的培养目标就是要培养自己的学生能够根据实际应用问题提出计算机应用的模型,并用硬件和软件资源去构造计算机系统去完成模型中所提出来的工作。换言之,关于“计算机”的研究并不是将自己的学生培养成计算机,而是将自己的学生培养成为怎样去根据实际应用问题去塑造计算机系统,成为计算机系统的主人。
因此,我们的学生需要如下三个方面的能力:构造模型的能力;算法设计的能力;程序设计的能力。
所谓构造模型的能力就是在通用的语言(例如数量代数和非数量代数的语言、符号逻辑语言、数理统计语言等)中构造解决实际问题的模型的能力。换言之,用通用语言关于现实需要计算机求解的实际问题进行编码,使现实需要计算机求解的实际问题描述成领域性模型(如管理模型、控制模型、推理模型、学习模型等),离散数学中的大部分内容是讨论构造或生成领域性模型的基本方法。
所谓算法设计的能力是应用计算机的基本能力,也是计算机应用学科的计算机应用基础和应用技术的一个基本问题。让计算机来解决问题,目前人们不仅要告诉计算机需要做什么?而且还要告诉计算机怎样做?当领域性模型化为计算机能懂的计算模型后,将需要计算机解决的问题写成规划过程告诉计算机做什么和怎样做,使得计算机根据这个规划各步骤能自动地得到问题的解,这种规划就是解决这个问题的算法。算法过程的控制是算法设计的关键,它决定算法的存在性和算法的效率。算法过程的控制是由计算模型的结构来决定的。离散数学中所讨论的离散结构(例如线性结构、良序结构、锲型结构、群、环、域、各种代数格、置换、范畴等)以及这些结构的同态、同构等,在算法设计中都起着重要的作用。
㈢关于计算机科学的思维方法看离散数学的思维训练。既然我们要作为计算机系统的主人去塑造能满足实际应用的计算机系统,那么怎样地塑造计算机系统呢?怎样才有能力去塑造计算机系统呢?去塑造计算机系统需要什么样的思维方法呢?
首先,计算机系统要解决的问题并不是个别的问题,也并不是某个领域上的特殊问题,要解决某个领域的所有能用计算机进行计算的问题,因此,关于计算机科学的思维方法必须是在足够通用的层面上的思维方法。如果所掌握或所习惯的思维方法仅限制在是某些特殊的领域,那么,随着计算机应用的不断扩大和计算机信息革命的不断扩大,将会使得思维的方法带有很大的局限性。当然,最通用的层面是自然层面,然而,自然层面上的对象还不能为现代计算机(现代计算模型)所了解。因为,我们选择塑造计算机系的的层面既带有最大的通用性,又能为现代计算机系统所了解的层面。在现代计算技术的支持下,这个层
面就是符号处理层面。
其次,我们是要去塑造计算机系统,我们的所有思维都要立足于能“塑造”性,因此,思维的可构造性,即在考虑构成计算机系统的所有对象都必须能够有某种方法在有限的时间内构造出来。因此塑造计算机系统的基本思维是构造性思维。
再其次,构造性思维建立在怎样的结构上,换言之,找寻满足构造性思维的对象结构。显然在连续结构上是很难进行构造性思维的,在连续结构上存在着不能用符号完全表示的对象。例如,一个无理数它不能用{0,1,2,3,4,5,6,7,8,9,0}完全表示出来。因为计算机只认识符号,所以塑造计算机系统的构造性思维在某种离散结构上进行。
因此,[b]计算机科学的基本思维是在符号处理的通用层面上的基于离散结构的构造性思维。离散数学就是在符号处理的通用层面上讨论满足构造性思维的离散结构。[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐