欢迎光临散文网 会员登陆 & 注册

头歌 离散数学-逻辑与推理 题解

2022-10-10 01:54 作者:量子程序员Linus  | 我要投稿

第一关:命题与逻辑

任务描述

本关任务:学习命题与逻辑相关知识,完成相关练习。

相关知识

为了完成本关任务,你需要掌握:

  1. 命题;

  2. 逻辑联结词。

命题

具有真假意义的陈述句被称为命题。例如,“地球围着太阳转。”(真),“地球围着月亮转。”(假),为了对命题作逻辑演算,我们使用大写字母P,Q,R,...表示命题,称为命题符号。命题的真假我们用0和1表示,真为1,假为0。

逻辑联结词

若干个命题可以通过逻辑联结词构成新的命题,称之为复合命题。复合命题的子命题也可以是复合命题,我们称不是复合命题的命题为简单命题,它不包含任何联结词。复合命题的真值依赖于其中的简单命题的真值。有如下五个常用的联结词。

否定:设命题P,与P的真值取值相反的复合命题被称为命题P的否定,记作┐P,读作非P。真值表如下:

使用“sympy”库表示:

结果为:

合取:设P,Q是两个命题,复合命题"P并且Q"称为P和Q的合取,记为P∧Q,读作P合取Q,规定P∧Q为真当且仅当P与Q同时为真。真值表如下:

使用“sympy”库表示:

结果为:

析取:设P,Q是两个命题,复合命题“P或者Q”称为P和Q的析取,记为P∨Q,读作P析取Q,规定P∨Q为真当且仅当P与Q中至少一个为真。真值表如下:

使用“sympy”库表示:

结果为:

蕴含:设P,Q是两个命题,复合命题“如果P,则Q”称为P蕴含Q,记为PQ,读作P蕴含Q,称P为条件,Q为结论。规定PQ为假当且仅当P为真而Q为假。真值表如下:

使用“sympy”库表示:

结果为:

等价:设P,Q是两个命题,复合命题“P当且仅当Q”称为P等价于Q,记为PQ,读作P等价于Q,规定PQ为真当且仅当PQ同时为真。真值表如下:

使用“sympy”库表示:

结果为:

编程要求

根据提示,在右侧编辑器Begin-End区间补充代码,编程得出(PQ)R的真值表的所有结果。

测试说明

平台会对你编写的代码进行测试,输出完全正确才能通过。

提示:

输出:

开始你的任务吧,祝你成功!

题解

坑点:True,True,False这组输出是不存在的,要break掉之后另外再输出True,True,True这组数据


第2关:命题函数的等价

任务描述

本关任务:熟悉命题函数以及命题函数的等价,完成练习。

相关知识

为了完成本关任务,你需要掌握:

  1. 命题函数;

  2. 命题函数的等价。

命题函数

运用若干个命题以及逻辑联结词进行的组合,我们称为命题公式。例如,P,Q,R均为一个命题,有关它们的函数f(P,Q,R)=PQR被称为命题函数,我们来看这个命题函数的真值表:

对于四则运算我们有运算的优先级,而对于逻辑联结词我们则有联结词的优先级,五种联结词的运算优先级按如下次序由高到低:

规定括号()内的逻辑运算最先被计算。例如,我们有如下命题公式:

我们可以将其化简为:

使用“sympy"库来创建一个命题函数:

命题函数的等价

如果命题函数具有相同的真值表,那么它们在逻辑上是等价的。例如我们有如下两个命题函数:

它们的真值表为:

由于真值表相等,两个命题函数在逻辑上也相等。

输出为:

编程要求

根据提示,在右侧编辑器Begin-End区间补充代码,完成练习。

测试说明

平台会对你编写的代码进行测试,只有所有输出完全正确才能通过。

开始你的任务吧,祝你成功!

题解


第3关:等值演算

任务描述

本关任务:学习常用的逻辑等值式以及逻辑公式的等值演算,完成相关练习。

相关知识

为了完成本关任务,你需要掌握:

1.常用的等值式;

2.等值演算。

常用的等值式

我们将一个命题公式的每一组真值(即真值表中的一行)称为该命题公式的一个解释

G是一个命题公式,若G在它的所有解释下均为真,则称G为重言式,或称G是永真的。

G是一个命题公式,若G在它的所有解释下均为假,则称G为矛盾式,或称G是永假的。

G是一个命题公式,若至少有一个解释使得G为真,则称G为可满足式,或称G是可满足的。

G是永真的,当且仅当非G是永假的,重言式一定是可满足式,反之不然。

若两个命题公式PQ在其任何解释下,相应的真值均相同,则称PQ等值,记为PQ

常用的等值式如下:

幂等律:

结合律:

交换律:

分配律:

双重否定律:

吸收律:

零律:

同一律:

补余律:

德摩根律:

等值演算

等值关系是一个等价关系,正是由于这种性质,使得我们可以从某个逻辑公式出发,经过有限次使用常用的等值式,推演出另外一些逻辑公式,这一过程称为等值演算。例如,证明如下逻辑公式为重言式:

编程要求

根据提示,在右侧编辑器Begin-End区间补充代码,通过编程验证等值演算的结果。

测试说明

平台会对你编写的代码进行测试,只有所有输出都正确才能通过。

提示:

输出结果为:

开始你的任务吧,祝你成功!

题解


第4关:推理规则

任务描述

本关任务:熟悉逻辑推理的相关理论,完成练习。

相关知识

为了完成本关任务,你需要掌握:推理规则。

推理理论

GH是两个命题公式,若GH是重言式,则称HG的逻辑结果,或称G蕴含H,记为GH。符号是个关系词,而不是逻辑联结词。

由联结词的定义知,GH是重言式,当且仅当对G,H的任意解释I,若I满足G,则I也满足H。因此,GH的充要条件是,满足G的解释均满足H

一些基本的蕴含式:

附加:

化简:

合取:

假言推理:

析取三段论:

拒取式:

假言三段论:

构造性二难:

使用“sympy”库验证附加蕴含式为重言式:

结果为:

可以看到所有解释都为真,输出真,即证为重言式。

编程要求

根据提示,在右侧编辑器Begin-End区间补充代码,练习相关推理规则。

测试说明

平台会对你编写的代码进行测试,只有所有输出都正确才能通过。

开始你的任务吧,祝你成功!

题解

坑点:测试集数据有误,最后一个输出必须手动print False,因为((p->q)∧q)->p是重言式,测试集给出的是否


头歌 离散数学-逻辑与推理 题解的评论 (共 条)

分享到微博请遵守国家法律