1、1,离散数学是计算机科学(编译原理、数据结构、操作系统、数据库系统、算法的分析与设计、计算机网络等 )、数学、数字电路、人工智能等多学科的共同语言和基础。本学期将讲授数理逻辑与图论个部分。 其中数理逻辑讲授命题逻辑、谓词逻辑两部分,分别由Boole于1847年和Frege于1879年建立。命题逻辑把简单命题作为基本单元进行推理演算;而谓词逻辑对简单命题进一步剖析,并考虑到变量数量的一般与个别。,前言,2,例1:在举重比赛中,有两名副裁判,一名主裁判。当两名以上裁判(必须包括主裁判在内)认为运动员举杠铃合格,按电钮,才裁决合格。试用与非门设计该电路。 解:设主裁判为变元A,副裁判分别为变元B和变
2、元C;按电钮为1,不按为0。表示合格与否的灯为Y,合格为1,否则为0。 (1)根据逻辑要求列出真值表。,关于命题逻辑的两个有趣例子,3,真 值 表,4,(2)由真值表写出表达式:,(3)化简:,这个小例子涉及到简单命题、复合命题、逻辑联结词的定义、运算优先权、联结词的完备集(例如“与非联结词”构成一个完备集)等等。我们都将介绍到。,5,(4)画出逻辑电路图:,6,例2:设计一个楼上、楼下开关的控制逻辑电路来控制楼梯上的路灯。使之在上楼前,用楼下开关打开电灯,上楼后,用楼上开关关灭电灯;或者在下楼前,用楼上开关打开电灯,下楼后,用楼下开关关灭电灯。 解: 设楼上开关为变元A,楼下开关为变元B,灯
3、泡为变元Y。并设A、B向上时为1,向下时为0;灯亮时Y为1,灯灭时Y为0。,7,本题的解题关键在于:不管开关和灯处于什么状态,灯的状态改变当且仅当只有一个开关的状态发生改变。因此,本题有多解。,(1)若A=0, B=0时Y=0,则相应真值表设计如下,8,相应逻辑表达式为,用异或门实现,9,(2)若A=0, B=0时Y=1,则相应真值表设计如下,相应逻辑表达式为,10,用同或门实现,11,第1章 命题逻辑的基本概念,内容:命题逻辑研究的是命题的推理演算这一章介绍命题逻辑的基本概念,包括引入命题联结词,讨论合式公式、重言式以及自然语句的形式化等内容,12,命题逻辑的基本概念,命题定义:命题是一个非
4、真即假(不可兼)的陈述句有两层意思,首先命题是一个陈述句,其次真假不可兼 命题的取值称为真值 通常用T表示真值为真,用F表示真值为假因为只有两种取值,所以这样的命题逻辑称为二值逻辑,13,举例说明,(1)“雪是白的”是命题,真值为真 (2)“雪是黑的”是命题真值为假 (3)“好大的雪啊”不是陈述句,不是命题 (4)“一个偶数可表示成两个素数之和” 是命题,不知真值(5)“1+101110”是命题,这个句子所表达的内容在十进制范围中真值为假,而在二进制范围中真值为真可见,这个命题的真值与所讨论问题的范围(论域)有关,14,命题变项,命题变项定义:约定用大写字母表示命题,如以P表示“雪是白的”,Q
5、表示“北京是中国的首都”等当P表示任一命题时,P就称为命题变项(变元) 命题与命题变项区别:命题与命题变项含义是不同的,命题指具体的陈述句,是有确定的真值,而命题变项的真值不定,只当将某个具体命题代入命题变项时,命题变项化为命题,方可确定其真值,命题与命题变项像数学中常量与变量的关系一样在不混淆的情况下,逻辑演算中不再区分它们了。,15,简单命题和复合命题,简单命题定义:简单命题又称原子命题,它是不包含任何的与、或、非一类联结词的命题如111中例子这样的命题不可再分割,如再分割就不是命题了而像命题“雪是白的而且l+l2”,就不是简单命题,它可以分割为“雪是白的”以及“1十12”两个简单命题,联
6、结词是“而且” 命题逻辑与谓词逻辑区别:命题逻辑中将简单命题作为一个不可分的整体来看待在谓词逻辑里,才对命题中的主谓结构进行深入分析,16,复合命题定义:把一个或几个简单命题用联结词(如与、或、非)联结所构成的新的命题称为复合命题 复合命题真值判断:复合命题自然也是陈述句,其真值依赖于构成该复合命题的各简单命题的真值以及联结词,如“张三学英语和李四学日语”就是一个复合命题,由简单命题“张三学英语” “李四学日语”经联结词“和”联结而成,这两个简单命题真值均为真时,该复合命题方为真,17,数理逻辑关心什么?不关心内容:这些具体的陈述句的真值究竟为什么是真还是假。关心形式:关心的仅是命题可以被赋予
7、真或假这样的可能性,以及规定了真值后怎样与其他命题发生联系,18,命题联结词及真值表,联结词可将命题联结起来构成复杂的命题,从而使命题逻辑的内容变得丰富起来。 值得注意的是逻辑联结词与日常自然用语中的有关联结词的共同点和不同点,19,常用的逻辑联结词,称谓、读法、记号:否定词“ ”是个一元联结词,亦称否定符号,读作非。一个命题P加上否定词就形成了一个新的命题,记作 P。否定词的运算规则真值表:,1. 否定词,20,真值表描述了命题之间的真值关系,很直观。 真值表是命题逻辑里研究真值关系的重要工具。,21,例1,“昨天张三去看球赛了”该命题以P表示,于是 “昨天张三没有去看球赛”,该新命题便可用
8、P表示若昨天张三去看球赛了,命题P是真的,那么新命题P必然是假的反之,若命题P是假的,那么P就是真的,22,例2,Q:今天是星期三 Q:今天不是星期三 然而 Q不能理解为“今天是星期四”,因为“今天是星期三”的否定,并不一定必是星期四,还可能是星期五、星期六,23,2. 合取词,称谓、读法、记号:合取词是个二元命题联结词,亦称合取符号将两个命题P,Q联结起来,构成一个新的命题P Q ,读作P , Q的合取,也可读作P与Q 合取词的运算规则真值表:,24,25,例3,P:教室里有10名女同学 Q:教室里有15名男同学 不难看出,命题PQ : “教室里有10名女同学与15名男同学”,26,例4,A
9、:今天下雨了 B:教室里有100张桌子。可知AB就是命题“今天下雨了并且教室里有100张桌子”,27,同日常自然用语关系,日常自然用语里的联结词“和”、“与”、“并且”,一般是表示两种同类有关事物的并列关系而在逻辑语言中仅考虑命题与命题之间的形式关系并不顾及日常自然用语中是否有此说法这样,“”同“与”、“并且”又不能等同视之 逻辑联结词是自然用语中联结词的抽象,两者并不等同。合取词有“与”、“并且”的含义,有时也有“但是”的含义。,28,3 析取词,称谓、读法、记号:析取词“”是个二元命题联结词。将两个命题P、Q联结起来,构成一个新的命题PQ, 读作P、Q的析取, 也读作P或Q。 运算规则真值
10、表:,29,当P、Q有一取值为T时, PQ便为T。仅当P、Q均取F值时, PQ方为F。这就是析取词的定义, PQ可用来表示自然用语P或Q。,30,例5: P: 今天刮风。Q: 今天下雨。命题“今天刮风或者下雨”便可由PQ来描述了。 例6: A: 2小于3。B: 雪是黑的。AB就是命题“2小于3或者雪是黑的”。由于2小于3是真的, 所以AB必取值为真, 尽管“雪是黑的”这命题取假。,31,4 蕴涵词,称谓、读法、记号:蕴涵词“”也是个二元命题联结词。将两个命题P、Q联结起来, 构成一个新的命题PQ, 读作如果P则Q, 或读作P蕴涵Q, 如果P那么Q, 其中P称前件(前项、条件), Q称后件(后项
11、、结论)。 运算规则:规定只有当P为T而Q为F时, PQ = F。而P = F、Q任意, 或P = T、Q = T时PQ均取值为T。运算规则真值表:,32,PQ体现了P是Q成立的充分条件。 PQ体现了P不必是Q成立的必要条件。,33,引入的目的:希望用来描述命题间的推理, 表示因果关系。即PQ为真时, 只要P为真必有Q真,。 其它定义:当P = F时对PQ真值的不同定义方式将给推理的讨论带来不同的表示形式, 也是允许的。,34,性质: 可由、来表示: PQ = PQ,注意1:真值相同的等值命题以等号联结 2:从逻辑上看“如果P则Q”同“非P或Q”是等同的两个命题 3:实际上,, 构成一个联结词
12、的完备集,可表达任何联结词。,35,同自然用语关系:蕴涵词与自然用语“如果那么”有一致的一面,可表示因果关系。然而P、Q是无关的命题时,逻辑上允许讨论PQ。并且P = F则PQ = T, 这在自然用语中是不大使用的。,36,例7: P: n 3 (n为整数) Q: n2 9命题PQ表示“如果n 3那么n2 9”, 分析PQ的真值。1. P = Q = T。这时如n = 4 3, 有n2 = 16 9, 这符合事实 PQ = T, 正是我们所期望的可以PQ表示P、Q间的因果关系, 这时规定P Q = T是自然的。2. P = T, Q = F。如n 3而 n2 9由于前提条件n 3不成立,而n2
13、 9 成立与否并不重要,都不违反对自然用语“如果n 3那么n2 9”成立的肯定。于是 P = F时可规定P Q = T。,37,例8:P: 2 + 2 = 5Q: 雪是黑的PQ就是命题“如果2 + 2 = 5, 那么雪是黑的”。从蕴涵词的定义看,由2 + 2 = 5是不成立的或说P取F值, 不管Q取真取假都有PQ = T。,38,5 双条件词,称谓、读法(等价于、当且仅当) 、记号: ,运算规则真值表:,39,真值表解释:只有当两个命题P、Q的真值相同或说P = Q时, PQ的真值方为T。而当P、Q的真值不同时, PQ = F。 性质:若建立(PQ)(QP)的真值表, 就可发现(PQ)(QP)
14、和PQ有相同的真值, 于是 (PQ)(QP) = PQ,40,例9,P: ABC是等腰三角形 Q: ABC中有两个角相等 命题PQ就是“ABC是等腰三角形当且仅当ABC中有两个角相等”。显然就这个例子而言PQ = T。,41,总结,完备集初探:定义的五个联结词是数理逻辑中最基本最常用的逻辑运算。一元二元多元联结词还有很多,这个个数是算得出的。 联结词使命:联结词是由命题定义新命题的基本方法。 真值表方法是极为有力的工具(如:书写逻辑表达式、建立新型联结词)。,42,取值、真值、真值指派、真值组合、解释:由联结词构成新命题的真值表中,对仅由两个变元P、Q构成的新命题A而言, 每个变元有T、F两种
15、取值, 从而P、Q共有四种可能的取值, 对应于真值表中的四行, 每一行中命题A都有确定的真值。对P、Q的每组真值组合(如P = T, Q = F)或说真值指派, 都称作命题A的一个解释。上述概念的推广:一般地说, 当命题A依赖于命题P1, , Pn时,由P1, , Pn 到A的真值表就有2 n行, 每一行对应着P1, , Pn的一组真值称作命题A的一个解释。A有2n个解释, 命题的解释用符号I表示。,43,与自然用语的差异 与硬件电路关系:联结词、同构成计算机的与门、或门和非门电路是相对应的。从而命题逻辑是计算机硬件电路的表示、分析和设计的重要工具。 不同的符号表达方法:五个联结词在不同的书中
16、会采用不同的符号。如P可以以P表示, PQ以PQ表示, PQ以P + Q表示等等。阅读时应注意不同的表示方式。,44,1.3 合式公式,命题逻辑的全部符号由命题变项、命题联结词和圆括号组成。怎样组合,才能使生成的命题公式有意义呢?,45,合式公式(简记为wff)的定义:,1.(初始)简单命题是合式公式。 2.(递归)如果A是合式公式, 那么A也是合式公式。 3.(递归)如果A、B是合式公式, 那么(AB), (AB), (AB)和(AB)是合式公式。 4.当且仅当经过有限次地使用1.2.3所组成的符号串才是合式公式。,(Well Formed Formula),46,合式公式的判断: 层层解脱
17、回归到简单命题,例: (PQ)(QR)(PR)是合式公式。 (PQ)( Q)不是合式公式。,47,通过定义优先级进行简写(省去部分圆括号) 1. 规定联结词运算优先级:按 ( ), , , ,的排列次序。 2. 多个同一联结词按从左到右的优先次序。(P(QR)可写成P(QR)或PQR。(P(PR)可写成P(PR)。 命题演算中只讨论合式公式, 将合式公式就称作公式。,48,1.4 重言式 /可满足式/矛盾式,重言式:如果一个公式,对于任一解释I,其真值都为真,就称为重言式(永真式)。如PP是一个重言式。 由、和联结的重言式仍是重言式。 矛盾式(永假式或不可满足式):如果一个公式,对于任一解释I
18、值都是假的,便称是矛盾式。如PP就是矛盾式。 由什么联结的矛盾式仍是矛盾式? 可满足式:一个公式,如在某个解释I0下值为真, 则称它是可满足的。重言式当然是可满足的。,49,三类公式间关系,1. 公式A永真, 当且仅当永假。2. 公式A可满足, 当且仅当A非永真。3. 不是可满足的公式必永假。4. 不是永假的公式必可满足。,50,代入规则,定义:一个重言式,对其中所有相同的*命题变项*都用一个合式公式代换,其结果也是重言式。 例*:可用(RS)来代换某公式中的P, 记为而不能反过来用P代换某公式中的(RS)。,51,例* A = PP, 使用 得B = QQ 仍是重言式。 若将P以Q代替得B
19、= PQ不是重言式了,例1: 判断(RS) (RS)为重言式。因 PP为重言式, P以(RS)代入得(RS) (RS)。 依据代入规则,这公式必是重言式。 例2: 判断(RS)(RS)(PQ)(PQ)为重言式.不难验证(A(AB)B是重言式, A 以RS代入,B 以PQ代入 得(RS)(RS)(PQ)(PQ)是重言式。,52,1.5 命题形式化,本节讨论如何把自然语句形式化成逻辑公式。步骤: 1.字母表示自然语句中的简单命题(非变元) 2.通过联结词形成表示自然语句的合式公 式,53,1.5.1 简单自然语句的形式化,(1) 北京不是村庄。令P表示“北京是村庄”,于是(1)表示为P。(2) 李
20、明既聪明又用功。令P表示“李明聪明”,Q表示“李明用功”,于是(2)可表示为PQ。,54,1.5.2 较复杂自然语句的形式化,命题逻辑与自然语句区别:1. 命题联结词只表达了自然语句的一种客观性质,忽视了主观性。例:2. 又由于自然语句本身常有二义性,自然会出现同一自然语句的不等价的逻辑描述。例如:爱因斯坦是我的崇拜者。3.自然语句联结词与逻辑联结词无固定关系。,55,例1: 张三与李四是表兄弟。(“与”未必为合取词)这是普通的自然用语,它是一个命题,令以R表示, 若形式地规定: P: 张三是表兄弟。Q: 李四是表兄弟。 那么 R = PQ。显然,这样的形式化是错误的。原因很简单。“张三是表兄
21、弟”,“李四是表兄弟”都不是命题。实际上“张三与李四是表兄弟”才是一个命题,而且是一个简单命题。这例子说明自然语句中的“与”不一定都能用合取词来表达。,56,例2:张三或李四都能做这件事。 (“或”未必为析取词)这句话中的“或”不一定就用析取词来表示,应允许有的人把这命题的内容理解为:张三能做这件事而且李四也能做这件事,这样,这句话便可以PQ的形式表示了。,57,例3: 给了三个命题(“或”未必为析取词),A: 今晚我在家里看电视。B: 今晚我去体育场看球赛。C: 今晚我在家里看电视或去体育场看球赛。问题是C与AB是否表达的是同一命题呢?,58,否。因为C同A、B的真值关系为,59,花絮: 第
22、六个联结词:异或(不可兼或),上例中,C同A, B的逻辑关系, 常称为异或(不可兼或), 以 表示, 有C = A B不难验证C = (AB) (AB),60,例4: 今天我上班, 除非今天我病了,以P表示今天我病了, Q表示今天我上班, 例4是个因果关系, 意思是如果今天我不病, 那么我上班, 所以可描述成PQ。,61,1.6 波兰表达式运算优先权利弊,命题联结词的中缀、前缀、后缀中缀式如PQ,前缀式如PQ,后缀式如PQ。一般用中缀式。什么联结词没有中缀? 2.中缀式有运算优先权,因而造成计算机识别的高复杂度 3. 波兰式的前缀表达,和逆波兰式的后缀表达,均减弱了运算优先权,因而减小了计算机识别的高复杂度,