前言:
最近一直寻思着要不要把之前学过的通通都记下来比较好,毕竟人的记忆力有限,有些东西虽然简单但过一会就忘得一干二净了。所以决定再次内化一下知识体系,提炼主要内容编成快速阅览版记录下来(所以并不保证大家都能从零开始看懂哈哈)并且都归类在标题带【菜鸡随笔】的分组里。
实际上在这样总结的过程中,已经有好几次对原有的出现了新的认识,真的挺好的。那么就从现代计算机科学的核心,数理逻辑(逻辑与证明)开始写吧。
参考资料 :机械工业出版社《离散数学及其应用》
一些小标注:
* = 老子背书保证就是我是说的这个意思
(? ***) = 很有可能不对,没有任何验证。是个大胆的假设,可能会坑了你
(@ ***) =资料中原话/大义,或者例子
(# ***) =是我用常见的自然语言或例子对原文的翻译
【***】 =我想让读者注意的名词
(***) = 啰嗦但还是有点用的备注
离散数学背景:
既然出自离散数学那就得介绍一下其背景,到目前为止(肯定不包括未普及的量子计算机,所以不考虑不谈及量子态,而且这个我想谈也谈不来呀。),现今计算机科学(往后简称CS)仍是建立在0和1的基础上。对CS来说,是一个整数的运算结构(0,1,2,3,4,5…),而对整个数学体系来说,可以分为 连续和不连续两大类(指的是函数的属性),前者由微积分来处理,后者有专门处理的整数的离散数学来处理。
然后离散数学狭义上(广义上叫组合数学)分为数理逻辑、集合论、关系/图论、组合排列、递归/递推、布尔代数。所以第一个要看也是第一个要记录的就是数理逻辑。
数理逻辑背景:
(@都知道证明对数学来说是多么的重要,但人们似乎并没有真切地感受到其重要性。事实上,证明常常用于验证计算机对所有可能的输入值所产生的输出值,用于揭示算法的正确性、健壮性,致力于建立一个系统的安全性…)
说了跟没说的区别并不大,提炼一下以上资料原话的大义: