说在前面

  好久没有正经的弄过数学了,如果有错误请轻喷。

  先从度娘那搜到本科阶段学习的离散数学(概论)大概会包含以下内容:

  • 集合论/群论:整个数学界万物起源
  • 函数:建立在集合论基础上,函数式入门
  • 关系论:建立在集合论基础上,表示高维度对象,数据库入门
  • 命题逻辑/布尔代数:逻辑推导与化简
  • 组合数学:计算问题通解
  • 数论:密码学入门,组合数学理器
  • 图论:数学建模入门,数据结构入门,建模界万物起源
  • 计算理论:理论计算科学万物起源,编译原理入门,函数式入门,算法复杂性分析

  离散数学是计算机科学的基础,学好它就在掌握了日常要用的基本数学工具。因为计算机中的一切,究其根本都使用 0 和 1 来表示的,这就决定了它是一门基于离散数学的学科。

  我发现面临的很多实际问题里面都有离散数学的影子。比如强人工智能涉及因果推理,需要逻辑学和布尔代数。计算机中的文件系统涉及树状结构,并行计算涉及图,都属于离散数学。

  我可以很负责任的告诉你,如果你能在大一的时候就吃透离散数学这门课,你就等于学完了整个计算机科学、计算机专业(本科阶段)的一切。恭喜你,你可以毕业啦!!!

  可能会有人有这样的疑问?我一个学计算机的,编程能力才是最重要的吧,数学学那么好干嘛。我又不干数学公式推导那些,那些是数学系的人干的。

  虽然国外的科学家做过统计和证明,目前编程能力的强弱和数学确实关系不大(杠精勿扰)。个人觉得,编程能力主要考验的是宏观构建能力和微观的逻辑思维。

  宏观构建能力是什么?例如一个很大的项目摆在你面前,往往是老鼠啃天的感觉,这是初级程序员的必然反映。但是资深的会跳出微观世界,从宏观分析整体的需求和特点,从而构建出合理的拓扑。

  那么微观的逻辑思维呢?就是有个清晰的逻辑,这个操作应该怎么进行,遇到各种异常分别怎么处理。做好了结果也很明显,你写完的代码可能有语法错误,但是很少有逻辑错误。日常工作中语法错误是容易找到的,逻辑错误往往很难找很耗时。代码小白可能经常会遇到代码可以编译运行,但是结果就是不对。这很明显就是逻辑错误,即使知道是逻辑错误,可就是不知道错在哪,此刻是很绝望的。

  所以逻辑思维的重要性不言而喻了吧。感觉我们现在的教育死记硬背我们很推崇,但是真正的逻辑思维培养都忽略了。我最讨厌的就是背书了,没有之一,这或许就是我文科很差的原因吧。

  最后,鸡汤还是要端上来。离散数学必须好好学,要超过老师的课程(因为老师往往也不是高手)。多去网上看看搜索,自己也要多思考,培养好逻辑思维,即使你自己不做编程的工作,做其他领域也会很强。

  所以,我又滚回来学了。


集合悖论

  说到集合,很多人首先想到集合悖论。

  小说《堂吉诃德》里描述了这样一件事,要进入某个城市就要过城门安检系统,该城法律规定,每个要进城的人都要求回答一个问题“你来做什么?”如果说的是真话就被放行,但如果发现说假话,就要被当场绞死,有个聪明人回答“我是来被绞死的。”如果这个人被绞死那他说的就是真话,就应被放行,可如果把他放行,他说的就是假话了,就应被绞死。
      

  波特兰.罗素,英国超级哲学大师,除了哲学他对数学也极有研究,当年他构造了一个集合,这个集合是由一切不属于自身的集合所组成的,然后问这个集合属于他自身吗?把这个集合记作S,如果S属于S,根据S的定义,S就不属于S,但如果S不属于S,同样根据定义,S就应该属于S,无论如何都是矛盾的,这个悖论让当时的大数学家们无比崩溃。

  这个悖论在哲学里有很多种表达形式,比如理发师悖论,一个理发师说他只给那些不给自己理发的人理发,然后有人问他是否给自己理发,理发师陷入两难境地。

            

  再比如一个人说他正在说谎,那么如果他真的在说谎,则他说自己说谎就是真话,可是如果他说的是真话,则他是在说谎。哲学就是如此神奇的学科,下图中匹诺曹的鼻子会变长吗?

    
  哲学里至今无法解决这样的悖论问题,但数学里必须要解决它。就像爱因斯坦解决光速问题一样,只要设定光速永远不变,只要承认这种超越常识的认知即可避免各种悖论。同样的,因为罗素悖论的存在,则就可以提前规定不允许存在那样的集合S,就是禁止一切不属于自身的集合所组成的集合的存在。这种用各种限制条件构造集合的方法叫做公理化集合理论,就是建立一些列公理条件,以剔除掉可能存在的矛盾。可见数学是不完美的,数学也不是自由的。

    

枯燥乏味之离散数学闲谈相关推荐

  1. 人工智能时代的离散数学教学研究

    摘要 培养适合社会需要的人工智能人才,教学方式必须改革.离散数学课程既是理论基础又是实用工具.对离散数学教学进行改革,根据专业需求进行内容取舍,优化教学方法,改变教学模式,选取趣味案例,充分使用数学软 ...

  2. 闲谈GIS专业导向与个人定位问题

    [转帖]闲谈GIS专业导向与个人定位问题 闲谈GIS专业导向与个人定位问题(绝对好帖!) (转贴OWL --http://www.gischina.com) GIS发展到今天,已经完完全全成为一个大杂 ...

  3. 转贴:闲谈GIS专业导向与个人定位问题

    闲谈GIS专业导向与个人定位问题 (转贴) □---Farewell☆ 发表于 2006-5-19 11:20:00 [注:下面的东东出笼有一阵子了,本想等秋后开学以后人丁兴旺时再贴,看到斑竹大作,决 ...

  4. 离散数学计算机专业论文,离散数学

    案例教学法是一种以案例为基础的教学法,是由美国哈弗法学院前院长克里斯托弗.朗代尔于1870年首创,在医学.管理学等许多学科应用广泛.本文将案例教学法应用到离散数学命题逻辑部分,通过选择真实可信的.客观 ...

  5. 【转载】闲谈GIS专业导向与个人定位问题

    全文转自北大未名站 bbs.pku.edu.cn,感觉谈得不错,深有启发! 文章阅读 北大未名站 ○ 地球与空间科学学院 讨论区 [SESS] ---------------------------- ...

  6. 不畏浮云遮望眼--离散数学和组合数学

    不畏浮云遮望眼,基础很重要! 离散数学是算法和数据结构的基础,而算法和数据结构又是什么的基础?不解释了. 1.<离散数学及其应用> 作者: (美)Kenneth H. R 出版社: 机械工 ...

  7. 离散数学中的联结符号

    文章链接:离散数学 第一章 命题逻辑 1-2 联结词 - emanlee - 博客园 http://www.cnblogs.com/emanlee/archive/2010/08/13/1799088 ...

  8. P5568 [SDOI2008]校门外的区间(离散数学应用+线段树+开闭区间处理)(校门三部曲)难度⭐⭐⭐⭐

    校门三部曲,总算完结了!完结散花! 难度呈阶梯状,都可以用线段树解决. 第一部 P1047 校门外的树(线段树优化)难度⭐⭐ 第二部 P1276 校门外的树(增强版)(线段树)校门三部曲难度⭐⭐⭐ 第 ...

  9. 华人计算机大牛刘炯朗教授仙逝,他是姚期智院士的博士导师,还著有离散数学教科书...

    允中 发自 凹非寺  量子位 报道 | 公众号 QbitAI 全球计算机领域知名华人科学家刘炯朗教授(Chung Laung Liu),于日前去世. 生于1934年,享年86岁. 刘炯朗教授生于广东广 ...

最新文章

  1. Python Qt GUI设计:QClipboard剪贴数据类(基础篇—19)
  2. 本科毕业的互联网女主管,却被迫要嫁给开挖掘机的高中毕业生!这是咋回事?...
  3. 别看乐高模板了!利用计算机视觉技术,这个软件几秒就识别满地积木,还能激发灵感...
  4. 刨根问底儿 -- intVal($str) 跟 (int) $str 的运算结果有什么区别
  5. MySQL的诡异同步问题-重复执行一条relay-log
  6. 基于FlashPaper的文档播放器
  7. MATLAB使用教程(4)——悄悄滴上手项目
  8. 《算法导论》之 Problem 5.1-3(随机函数发生器的设计)
  9. 【实用工具】之在VS中使用自定义工具配置nasm/yasm
  10. 一次外网打不开网站的故障总结
  11. text-overflow样式属性值ellipsis的使用方法
  12. IIS经典模式和集成模式的区别
  13. 【GIS导论】实验一 桌面GIS的功能与菜单操作
  14. pymysql断开连接怎么办
  15. 北京54或国家80或CGCS2000转WGS84坐标系的程序实现方法
  16. 【下载】1200页CV经典《计算机视觉:算法与应用》第二版开放下载
  17. 理清contactsprovider
  18. Blender建模(一)
  19. 教师对php作品评语通用,期末教师给学生的评语
  20. IT项目经理岗位职责

热门文章

  1. 织梦tag标签静态化
  2. js 判断 div 的 隐藏 和显示
  3. linux 设置代理上网
  4. 成都拓嘉辰丰电子商务有限公司:拼多多退店有多麻烦
  5. 《重新认识你自己》二:认识自我
  6. android studio3.X以后版本 gradle依赖改为 implementation
  7. 2019一级消防工程师考试报名条件会有专业限制吗?
  8. kube-vip构建高可用k8s集群
  9. windows系统如何安装vmware Tools
  10. JavaScript脚本语言 -DOM - 事件基础与操作元素细节