当前位置:共鸣社 >读后感 > 正文

《具体数学》关于数学价值观的读后感

2020-12-21 20:50:03 40

数学是人类对事物的抽象结构与模式进行严格描述的一种通用手段,可以应用于现实世界的任何问题,所有的数学对象本质上都是人为定义的。从这个意义上,数学属于形式科学,而不是自然科学。不同的数学家和哲学家对数学的确切范围和定义有一系列的看法。在人类历史发展和社会生活中,数学发挥着不可替代的作用,同时也是学习和研究现代科学技术必不可少的基本工具。

《具体数学》关于数学价值观的读后感

具体数学是数学在计算机科学中的具体应用。在具体数学诞生的时候,那是一个黑暗而浮躁的时代。在这骚动的岁月中,旧的价值观念一直受到质疑。大学就是这些论战的温床,大学本身开设的课程就残缺不全,而且数学也没有逃离深究细作的作风。具体数学就在这种环境下应运而生以作为抽象数学的解药。

作为计算机专业的学生,我们不能只浮于表面,而要深挖程序背后的算法,而具体数学这本书就为我们呈现了一个宏大的算法的世界,和、递归、初等函数、二项系数、母函数、离散概率和渐进方法,这些内容看起来好像是各不相同的各种算法,但是实践使他成为一套实用的工具,的确,这些技巧存在潜在的一致性,对我有很强的吸引力。有些人认为数学是一项严肃的工作,它一定是枯燥无味的,但我认为数学是有趣的,我并不羞于承认这一现状,但为什么一定要在数学和游戏间划一条严格的界线呢?下面我就举几个此书中能充分展现数学之美的例子。

首先让我们看一个称为汉诺塔的巧妙的小问题。lucas 按照一个虚构的传说,把他的玩具安装成印度教的巨大的塔,想象一下有 64 个纯金的圆盘安放在金刚石柱上。开始时,他说,上帝把这些金盘放在第一根石柱上,且命令一群教士安照规则把他们移动到第三根柱上,据传说,教士夜以继日地移动金盘,当他们完成时,塔将破碎且世界降临末日。这个传说给这个问题披上了一层神秘的外衣,但依然没有掩盖它数学的内核。这个问题一下很难看出解,但作者一步步地引导我们思考从较小数据开始,引发我们发现问题的数学本质,这实际上是一个递归问题。为了解决 n 时的数据,我们可以从 n-1 时的数据出发,找出它和 n 时的规律,先验证 n=1 时成立,再由 n-1 时推导出 n 时也成立。递归函数,即引用自身的函数,就是具体数学中归纳法这种数学方法的具体应用。将一种数学方法应用到一种具体的环境并用以解决问题中是一种很棒的体验。在本题中为了解决把 n 个盘子移动到第三根柱子上,可以先解决如何把 n-1 个盘子移到第二根柱子上,再吧最后一个盘子移到第三根柱子上,再把剩下的 n-1 个盘子移到第三根柱子上,由此,问题便不断简化,直到 n=1 时的情形。Tn>=2Tn- 1 +1,Tn=2n-1。我们的任务到这里就差不多完成了,但教士的任务还远没有停止,他们还在尽职地移动圆盘,因为对于 n=64,他们有 2 的 64 次方减 1 需要移动,即使以每微妙移动一次这个办不到的速率,他们也需要 5000 世纪来移动印度教的塔。当然这对于计算机来说不算什么,是能在转眼间完成的任务。除了例题中对这个问题做了细致的分解,此书在习题集中这个问题进行了拓展:若将例题中的条件改成从第一根柱直接移到第三根柱是不允许的,找出所需的最短序列,通过对例题的拓展,这本书让我们更好地掌握递归的算法。为了求 n 时的情况,可以先把 n-1 个金盘移到第三根柱子上,再将最后一个金盘移到中间柱上,然后将n-1 个金盘移动到第一根柱上,把中间柱子上的盘子移到第三根柱上,再把 n-1 个盘子移动到第三根柱子上,至此,任务已经完成,得到方程 Tn=Tn -1 +1+Tn -1 +1+Tn -1, 可 得 Tn=3n-1。通过对一道题的类比推理和拓展,让我完全掌握了这种数学方法,以至于我以后遇到这种情境,能很好地运用递归这种可靠的数学工具,我觉得这就是这本书让我受益良多的地方。下面将再举一个例子,说明这本书对于数学思维培养的妙处约瑟夫的环问题,它是以一世纪著名历史学家 Flavius Josphus 命名的。据传说,若Josephus 没有数学才能,他就不会在活着的时候出名。在犹太人于古罗马战争期间他是陷入罗马人陷阱的 41 个犹太反抗者其中的一人。反抗者宁死不做俘虏,他们决定围成一个圆圈,且环绕圆圈来进行,杀死所有第二个剩下的人直到没有一个人留下。但是约瑟夫和一个不告发的同谋者感到自杀是一种愚蠢的行为。所以他快速地计算出此恶性循环中他和他的朋友应该站的地方。这个传说故事的神秘色彩依然没有掩盖它数学的本质,于是这本书将分析它的数学模型。作者首先还是先从较小的数据出发,从 n=10 的时候分析。有十个人围成圆圈,第一波先淘汰 2,4,6,8,10,第二波淘汰 3,7,1,第三波再淘汰 9 于是得出结论,5 号是幸存者。根据这个结果,作者做出了一个可能的猜测,是不是 n/2 号会成为最后的幸存者。但是,这个推断是显然是不成立的,因为从较小数据就可以得出。作者发现,这个问题 n 为奇数和 n 为偶数时的情况是不同的,于是必须分情况来讨论。还是取 n=10 的情况来讨论,作者发现,在第一轮淘汰掉偶数后,3 替代原来 2 的位置,5 替代原来 3 的位置,号码是 n=5 时的 2n+1 倍。于是可以得出,当 n=偶数时,T2n=2Tn-1。同理可得 n=奇数时T2n+1=2n+1。到这里,与计算机毫无关系,作者接下来把 n 转化为 2 进制,以计算机能够理解的语言解决这个问题。他发现幸存者的编号是给出的 2 进制形式的 n 各个位数向左移一位所得出的值,以计算机程序设计的用语,循环左移一位,就能不可思议地从 n 得出 Tn。这让我意识到了数学于计算机程序设计之间的紧密联系,也让我燃起了学好程序背后的数学原理的决心。然而,推理论证到此还没有结束,作者发现重复引用此函数能把 n 转化为一个全为 1 的二进制数,这十分难以理解但是为真。此书继续对这个命题进行拓展,把 n 转化为 d 进制,得出了差不多相同的惊人结论。这令我十分震惊,一个看似简单的问题,竟然可以深挖出如此繁复错杂的理论,让我不得不佩服作者惊人的洞察力。然而,此书的精彩之处还不仅限于此,它的课后习题的精彩程度也叹为观止。

下面一个例子是这本书的课后习题。所有马是相同颜色的,通过对一个给定集合中的马数进行归纳,我们能证明这一点,这里是证明的方法:若仅有一匹马,则改马的颜色是相同的颜色,所以基础是平的。假设有 n 匹编号 1 到 n 的马,根据归纳假设,马 1 到 n-1 是相同的颜色,类似,马 2 到 n 是相同颜色,但是中间 2 到 n-1 的马,他们在不同组里时不能改变颜色,这些是马而不是变色龙,所以根据传递性马 1 和马 n 一定是相同颜色,因此,所有 n匹马是相同颜色,证毕。用此推理,如果有有错误的话,它的错误是什么。这个问题便是归纳法的一种运用,从 n-1 推导到 n。但是答案给出事实上这个命题是无法证明的,这种方法的问题在于,它无法证明 n=2 时的情形,只要能证明 n=2 时命题成立,那么在所有情形下命题也同样成立。这道课后习题不仅让我更熟练地掌握归纳法,还让我明白,有些问题是无解的,千万不能钻到死胡同里,很好地培养了我对数学合理利用的能力。这本书与那些高谈阔论,对细枝末节歇斯底里的抽象数学不同,它更偏向于对实际问题的解决,并将成果转移到计算机上。适合给计算机科学的学生和专业人士提供数学技巧方面的一个坚实和合适的基础。具体数学即是抽象数学的一个伙伴,又是连续数学和离散数学的一个混合体,是数学公式的操控技巧,这些技巧能使我们计算那些看起来可怕的和,解复杂的。

标签:具体数学

热门阅读
最新阅读