前言
每一件事都存在现象和本质.现象是表面,本质是内在.数学可以说是自然科学之母,是一切自然现象的本质.对于编程,表面上是在写代码,实际上是在用离散数学理解问题和解决问题.
笔者从一门高级语言入门学习编程,常常在学习和写代码时有"磕磕绊绊"的感觉.尽管在写代码的过程中,自己也能悟出和代码相关联的部分离散数学原理,但是没有系统学习过离散数学,会走不少弯路.所以这门重要的基础课需要补上.
引入
以下黑体字摘自某百科:离散数学是传统的逻辑学,集合论(包括函数),数论基础,算法设计,组合分析,离散概率,关系理论,图论与树,抽象代数(包括代数系统,群、环、域等),布尔代数,计算模型(语言与自动机)等汇集起来的一门综合学科。离散数学的应用遍及现代科学技术的诸多领域.
题外话:如果把数学看成现象,那他的本质又是什么?笔者认为数学源自逻辑,逻辑源自哲学.
本贴内贴图来自网络视频
离散数学内容宽广,和计算机有关的内容集中在数理逻辑,集合论与图论,代数系统论等几个方面.
数理逻辑概念
数理逻辑:用数学方法研究思维规律的一门学科.
数学方法:用一套数学的符号系统来描述和处理思维的形式与规律
数理逻辑又称为符号逻辑. ---将逻辑符号化,数学和思维联系起来的课目
数理逻辑内容
命题逻辑基本概念
命题逻辑等值演算
命题逻辑的推理理论
一阶逻辑基本概念
一阶逻辑等值演算与推理
命题逻辑基本概念
命题
能判断真假的陈述句称为命题
真值:命题判断真假的结果. 真值只取两个值:真或假.任何命题的真值都是唯一的.
命题判断方法:
1.是否为陈述句.2是否有唯一真值
命题判断举例:
---解读: 容易弄错的是第(3)和第(7).
x+5>3
//这是陈述句.是否有唯一真值?x不确定因此真值不确定,所以不是命题
2050年元旦下大雪.
//这是陈述句.前提存在结果未知,所以是真值(有且唯一)未知的命题.
悖论
举例:我正在说假话.---这是命题吗?
分析:命题的特点:唯一真值.真值可取0或者1.用假设的方法推导如下:
假设这是个真命题,那么"我正在说假话",推导出"我说的是假话",结果与假设矛盾.
假设这是个假命题,那么"我正在说假话",推导出"我说的是真话",结果与假设矛盾.
这被称为:悖论.悖论不是命题.
命题和真值的符号化
用真值描述命题是"真"还是"假",分别用"1"和"0"表示
命题用小写的英文字母p、q、r(或者带下标)来表示
复合命题
前面所说的命题格式:A是B,A不是B.
前提和结论都是一个对象,属于简单命题,又称原子命题.特点:无联结词
上图中命题的前提或结论有多个对象,称为复合命题.特点:有"或","如果...","则"等联结词
联结词
五种联结词:¬, ∧,∨,→,↔
否定联结词¬
¬表示非运算,如下图所示
合取联结词∧
∧表示逻辑与,如下图所示
形象表达:两个真值都是1,合取后得1.---相当于电路中的串联.
析取联结词∨
∨表示逻辑或,如下图所示
形象表达:两个真值都是0,析取后得0.---相当于电路中的并联.
=============================内容分割线↓===================================
合取与析取符号的由来
合取:逻辑与→英文单词and→首字母a去掉下半部→∧
析取:逻辑或→英文单词or→首字母o去掉上半部→∨
注意:C语言中的"∧"表示位异或,与合取有区别.
=============================内容分割线↑===================================
蕴涵联结词→
→表示蕴涵联结词,如下图所示
这个不好理解,从图上能看出:.只有当前提为真,结论为假时,蕴涵式为假.
他是一种形式逻辑的表达,没有具体含义.
老师说,可以理解成≤符号.即p≤q时,蕴涵式为真.
等价联结词↔
↔表示等价联结词,如下图所示
形象表达:判断是否相等.当两个真值相等时,等价式为真.
联结词优先级
第0优先级:()
第1优先级:¬(一元运算符通常高于二元运算符) 第2优先级:∧,∨ 第3优先级:→,↔
命题公式
1.单个命题变元(p,q,r)或者常元(0,1)是命题公式. ---命题是命题公式的一种.
2.若A是命题公式,则 ¬A也是
3.若A,B是命题公式,则A∧B,A∨B,A→B,A↔B也是
4.只有有限次应用1-3形成的符号串才是命题公式. ---命题公式不是无限长度的.
真值表
可满足式:只要有一个值为1; 矛盾式(永假式):全为0; 重言式(永真式):全为1;
可满足式与矛盾式互斥,但永真式也属于可满足式.矛盾式和永真式实际相同,只研究一种即可
等值式
如图
应用:因为蕴涵联结词不太容易理解,所以遇到左边的表达时一般换算成右边的形式运算.
基本运算律
包括幂等律,交换律,结合律,分配律
分配律类似于代数计算的A(B+C)=AB+AC
德摩根律
德摩根律如图,类似于代数计算中的-(A+B)=-A-B //与或反号
吸收律
如图
零律和同一律
说明:命题中有1个是常元(0或者1)
零律:或1与0表示"强势",出现这两种情况判定为数字.
同一律:与1或0表示"弱势",出现这两种情况判定为其他值.
排中律和矛盾律
注意:排中律不是绝对正确,如果是悖论,排中律不适用
对偶定理
当运算中只有"与或非"(没有蕴含和等价联结词)时,可以将∧-∨互换,0-1互换
例子:零律,同一律,排中律,矛盾律都是对偶定理的应用.
双重否定律,蕴涵等值式,等价等值式
如图
形象理解:双重否定率表示负负得正
蕴含等值式前面论证过
等价等值式:A和B互为充分必要条件,等价于A是B的充分条件并且B是A的充分条件.
可以用代数关系来看:A等于B,等于A≤B并且B≤A.
等价等值式可以化成蕴涵等值式.同样蕴涵等值式可以化成与或运算,所以只计算与非,或非即可
等价否定等值式,假言易位,归谬论
如图
假言易位:如果某命题成立,则逆否命题成立
归谬论:如果A不能推出B,A也不能推出非B,则A是错误的(反证法)
等值演算举例
如图
小结
离散数学比较抽象,喜欢的话会挺有趣,特别是一上来看命题逻辑,把文科结合到数学了
简单总结:一个陈述的句子,有真假两种情况---真值(0或1)---简单命题.
多个简单命题用联结词(运算符)进行运算,也能得到真值 ---复杂命题
永真式做判断两者是否相同