(完整版)主合取范式
离散数学14.主合取范式

例2 求((PQ)R)P的主合取范式. 解: 原式 ((P∨Q)∨R)∨P (P∨Q)∧(R∨P ) (合取范式) ((P∨Q)∨(R∧R ))∧((R∨P )∨(Q∧Q)) (P∨Q∨R)∧(P∨Q∨R)∧(P∨Q∨R)∧ (P∨Q∨R) (P∨Q∨R)∧(P∨Q∨R)∧(P∨Q∨R) (主合取范式)
⑶用“∧”联结上述大项,即可.
例1 求 PQ和PQ的主合取范式
P Q PQ PQ
FF T
T
FT T
F
TF F
F
TT T
T
PQ M2 P∨Q PQ M1∧M2
(P∨Q )∧(P∨Q)
方法2:用公式的等价变换 ⑴先写出给定公式的合取范式
A1∧A2∧...∧An . ⑵除去合取范式中的所有为永真的合取项. ⑶合并相同的析取项和相同的变元. (4)为使每个Ai变成大项,对缺少变元的析取式Ai补全变
主合取范式
主合取范式
1.定义:给定的命题公式,如果有一个等价公式, 它仅由大项的合取所组成,则该等价式称作原式的主 合取范式.
2.主合取范式的求法 方法1:列真值表 ⑴列出给定公式的真值表. ⑵找出真值表中每个“F”对应的大项.
如何根据一组指派写对应的为“F”的大项:如果变 元P被指派为F,P在大项中以P形式出现;如变元P被指 派为T,P在大项中以P形式出现(确保该大项为F).
求合取范式和析取范式

求合取范式和析取范式为了求得给定命题的合取范式和析取范式,我们需要将命题进行逻辑推理,并使用公式进行转换。
假设给定的命题为 P,那么我们可以将其转换为析取范式和合取范式。
首先,我们可以将命题转换为析取范式:析取范式为:P or (not P and Q) or (not P and not Q)接下来,我们可以将命题转换为合取范式:合取范式为:(P and Q) or (not P and Q) or (P and not Q)1. P and Q 命题的否定是 not P or not Q,因此可以得到 (not P or not Q)。
2. not P and Q 命题的否定是 P or not Q,因此可以得到 (P or not Q)。
3. P and not Q 命题的否定是 not P or Q,因此可以得到 (not P or Q)。
将以上三个命题组合起来,就得到了合取范式:(P and Q) or (not P and Q) or (P and not Q)。
在合取范式中,每个命题都表示一个条件,其中 P 和 Q 表示两个条件,not P 表示条件 P 的否定。
合取范式表示的是多个条件的组合,只有当所有条件都满足时,整个命题才为真。
在析取范式中,每个命题都是一个或另一个条件,其中 P 和 Q 表示两个条件,not P 表示条件 P 的否定。
析取范式表示的是多个条件的任意一个满足即可,只要有一个条件满足,整个命题就为真。
需要注意的是,一个命题的合取范式和析取范式是等价的,两者之间可以通过逻辑运算相互转换。
在实际应用中,可以根据需要选择使用合取范式或析取范式来进行逻辑推理和计算。
除了合取范式和析取范式,还有其他的逻辑范式,例如蕴含式、重写式等。
这些范式都有各自的特点和用途。
蕴含式表示的是一个命题的条件和结论之间的关系。
如果命题 P 表示“如果 A,则 B”,那么蕴含式就是 A → B。
离散数学14.主合取范式

参考书目,网上教学视频,网络微课。
教学过程:
由于一个命题公式的析(合)取范式不是唯一,因而它们不能作为命题公式的规范形式(标准形式),为了使任意命题公式化为唯一的标准形式,下面引入主范式的概念.
1.定义:给定的命题公式,合取范式.
教学设计
课程名称
《离散数学》
教师姓名
授课题目
主合取范式
授课章节
§1.7对偶与范式
授课对象
数学与应用数学专业
教学目标
掌握利用真值表、等值演算求命题公式的主合取范式的方法
教学方式
启发式
教学内容
真值表法、等值演算法求命题公式的主合取范式
教学重点
主析取合取范式的求解
教学难点
等值演算法求主合取范式
教学方法和策略
例2求((PQ)R)P的主合取范式。
解:原式((P∨Q)∨R)∨P
(P∨Q)∧(R∨P ) (合取范式)
((P∨Q)∨(R∧R ))∧((R∨P )∨(Q∧Q))
(P∨Q∨R)∧(P∨Q∨R)∧(P∨Q∨R)∧
(P∨Q∨R)
(P∨Q∨R)∧(P∨Q∨R)∧(P∨Q∨R)
M0∧M1∧M3
补充说明
2.主合取范式的求法
方法1:列真值表
⑴列出给定公式的真值表.
⑵找出真值表中每个“F”对应的大项.
如何根据一组指派写对应的为“F”的大项:如果变元P被指派为F,P在大项中以P形式出现;如变元P被指派为T,P在大项中以P形式出现(确保该大项为F).
⑶用“∧”联结上述大项,即可.
例1求PQ和PQ的主合取范式
采用多媒体课件辅助,分析主合取范式的概念及特点,分析利用命题公式的真值表求解主合取范式;注意师生互动,以学生为教学主体,共同完成教学目标。
主析取范式和主合取范式

应用主析取范式分析和解决实际 问题
例2.12 某科研所要从3名科研骨干A,B,C中挑 选1~2名出国进修。由于工作原因,选派时 要满足以下条件: (1)若A去,则C同去。 (2)若B去,则C不能去。 (3)若C不去,则A或B可以去。 问应如何选派他们去?
分析: (1)将简单命题符号化
说明
• n个命题变项共可产生2n个不同的极小项。其 中每个极小项都有且仅有一个成真赋值。若 成真赋值所对应的二进制数转换为十进制数i ,就将所对应极小项记作mi 。 • 类似地,n个命题变项共可产生2n个极大项, 每个极大项只有一个成假赋值,将其对应的 十进制数i做极大项的角标,记作Mi。
表2.3 p,q形成的极小项与极大项
定理2.5 任何命题公式都存在着与之等值的主析取 范式和主合取范式,并且是唯一的。
定理2.4.5的证明
(只证主析取范式的存在和唯一性) (1)证明存在性。 设A是任一含n个命题变项的公式。 由定理2.3可知,存在与A等值的析取范式A′, 即AA′,若A′的某个简单合取式Ai中既不含 命题变项pj,也不含它的否定式┐pj,则将Ai展 成如下形式: Ai Ai∧1 Ai∧(pj∨┐pj) (Ai∧pj)∨(Aj∧┐pj)
析取范式和合取范式的性质
定理2.2 (1)一个析取范式是矛盾式当且仅当它的每个 简单合取式都是矛盾式。 (2)一个合取范式是重言式当且仅当它的每个 简单析取式都是重言式。
范式存在的讨论
• 在范式中不会出现联结词→与,否则可使 用等值式消除 A→B ┐A∨B AB (┐A∨B)∧(A∨┐B) • 在范式中不会出现形如 ┐┐A,┐(A∧B),┐(A∨B)的公式: ┐┐A A ┐(A∧B) ┐A∨┐B • ┐(A∨B)┐A∧┐B
离散数学主析取范式和主合取范式

离散数学主析取范式和主合取范式好嘞,今天我们来聊聊离散数学里的主析取范式和主合取范式。
别看这名字听起来有点高大上,其实它们就像是数学里的两个小伙伴,各自有各自的特长。
先说主析取范式。
想象一下,你正在和朋友们讨论晚餐吃什么。
有人说吃披萨,有人说吃汉堡,还有人提议中餐。
每个人都在表达自己的想法,你得把这些意见整合在一起。
这就是主析取范式的味道。
它把不同的逻辑表达式用“或者”连接起来,形成一个大的表达式。
简单来说,就是“要么…要么…”的那种感觉。
就像我们平时说的“你要是去超市,就顺便帮我买点牛奶。
”这里的“要么”就是一个选项,让我们感觉选择的乐趣满满。
再看看主合取范式。
这个听起来就像个正式的聚会,但实际上,它和主析取范式有点像过年的团圆饭,大家一起吃个团圆。
主合取范式是把各种条件用“而且”连接起来,形成一个综合的表达式。
比如,你想去爬山,得有天气好、朋友愿意去、车子开得了,这样才能顺利出发。
“如果天气好,而且朋友愿意去,而且车子也没问题,那我们就去爬山!”这就是主合取范式的魅力所在。
它把多个条件紧紧相连,就像一个不可分割的整体,让人觉得踏实。
咱们说说这两者的区别。
主析取范式就像是在众多选择中找到你最喜欢的,简简单单的“或”就能让你感到满足。
而主合取范式呢,就像在拼图一样,每一块都得恰如其分地嵌进去,缺一不可。
这就让人觉得,逻辑的世界真是千变万化,特别有趣。
就像生活中的各种选择,有时候你要在“吃披萨”或者“吃汉堡”中做决定,但有时候却需要“天气好而且朋友有空而且车能开”这种条件,才敢下定决心。
说到这里,很多人可能会觉得,这些范式好像没什么太大用处。
它们就像数学中的调味料,能让复杂的逻辑问题变得清晰。
通过主析取范式和主合取范式,我们能把复杂的逻辑表达式化繁为简,抓住问题的核心。
试想一下,生活中遇到的各种选择和条件,常常让人头大。
用这些范式整理思路,真的是帮了大忙。
就像做菜时,调料一加,味道立马提升。
更有趣的是,这两个范式还可以互相转换。
(完整版)利用真值表法求取主析取范式以及主合取范式的实现-副本

#include "stdio.h"#include "stdlib.h"#include "string.h"#include "math.h"#define N 50void pd(int b[N],int f);int H1 (char T1[N], char T2[N], int T3[N], int y);int H2 (char T1[N], char T2[N], int T3[N], int y);int main(){int i1,i2,d=1,T3[N],kh=0,jg,j=0,y;int w=0,hequ[N],h=0,x=0,xiqu[N];char T1[N],T2[N],T10[N],s;hequ[0]=-1;xiqu[0]=-1;printf("#########################################\n");printf("## 用! 表示否定##\n");printf("## 用& 表示合取##\n") printf("## 用|表示析取##\n"); printf("## 用八表示条件##\n");printf("## 用~ 表示双条件##\n"); printf("#########################################\n\n");printf(" 请输入一个合法的命题公式:\n"); gets(T1);strcpy(T10,T1); for(i1=0;i1<strlen(T1);i1++) {if(T1[i1]==')' || T1[i1]=='(')kh++;if(T1[i1]>='a' && T1[i1]<='z' || T1[i1]>='A' &&T1[i1]<='Z') {for(i2=0;i2<j;i2++) if(T2[i2]==T1[i1]) d=0;if(d==1){T2[j]=T1[i1];j++;}d=1;}}printf("\n 输出真值表如下:\n \n"); for(i1=0;i1<y;i1++) printf(" %c ",T2[i1]); printf(" "); puts(T1);printf("\n"); for(i1=0;i1<j;i1++)T3[i1]=0; for(i2=0;i2<j;i2++)printf(" %d ",T3[i2]); jg=H1(T1,T2,T3,y); if(jg==0) hequ[h++]=w;else xiqu[x++]=w;printf(" %d\n",jg);strcpy(T1,T10); for(i1=0;i1<(int)pow(2,j)-1;i1++) {++w; pd(T3,j-1);jg=H1(T1,T2,T3,y); if(jg==0)hequ[h++]=w;else xiqu[x++]=w;strcpy(T1,T10); for(i2=0;i2<j;i2++) printf(" %d",T3[i2]);printf(" %d\n",jg); }if(hequ[0]==-1) printf("\n 该命题公式不存在主合取范式。
离散数学主析取范式主合取范式

实验二实验题目:生成主析取范式和主合取范式实验目的:1.熟悉地掌握计算机科学技术常用的离散数学中的概念、性质和运算;通过实验提高学生编写实验报告、总结实验结果的能力;使学生具备程序设计的思想,能够独立完成简单的算法设计和分析。
2.掌握命题逻辑中的联接词、真值表、主范式等,进一步能用它们来解决实际问题。
实验内容:利用计算机构造真值表来建立主析取范式和主合取范式实验原理:1.合取:二元命题联结词。
将两个命题P、Q联结起来,构成一个新的命题P ∧Q。
这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P 为真, Q为真时方可P∧Q为真, 而P、Q只要有一为假则P∧Q 为假。
2.析取:二元命题联结词。
将两个命题P、Q联结起来,构成一个新的命题P ∨Q。
这个新命题的真值与构成它的命题P、Q的真值间的关系为只有当两个命题变项P为假, Q为假时方可P∨Q为假, 而P、Q只要有一为真则P∨Q为真.3.真值表:表征逻辑事件输入和输出之间全部可能状态的表格.列出命题公式真假值的表。
通常以1表示真,0 表示假。
命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法. 真值表是在逻辑中使用的一类数学表,用来确定一个表达式是否为真或有效。
4。
主析取范式:在含有n个命题变元的简单合取式中,若每个命题变元与其否定不同时存在,而两者之一出现一次且仅出现一次,称该简单合取式为小项。
由若干个不同的小项组成的析取式称为主析取范式;与A等价的主析取范式称为A 的主析取范式。
任意含n个命题变元的非永假命题公式A都存在与其等价的主析取范式,并且是惟一的。
5。
主合取范式:在含有n个命题变元的简单析取式中,若每个命题变元与其否定不同时存在,而两者之一出现一次且仅出现一次,称该简单析取式为大项。
由若干个不同的大项组成的合取式称为主合取范式;与A等价的主合取范式称为A的主合取范式.任意含n个命题变元的非永真命题公式A都存在与其等价的主合取范式,并且是惟一的。
含3个命题变项的命题公式的主合取范式

含3个命题变项的命题公式的主合取范式是指将命题公式中的所有合取项都列出,并且将其中的命题变项取值情况都考虑进去,然后对这些合取项进行合取运算得到的一个式子。
那么,如何找到一个命题公式的主合取范式呢?我们需要找出命题公式中的所有合取项。
一个命题公式可以分解为多个合取项,每个合取项中包含若干个命题变项以及它们的否定。
对于含有3个命题变项的命题公式来说,我们需要列出所有可能的合取项。
这样的合取项总数是有限的,因为每个命题变项可以取真或假两种情况,所以总共有2^3=8种可能的合取项。
我们需要根据这8种合取项的取值情况进行合取运算。
合取运算的结果是真当且仅当所有合取项中的命题变项都取真。
我们可以根据这8种合取项的取值情况,得到合取运算的结果。
这个结果就是命题公式的主合取范式。
举个例子来说,如果我们有一个命题公式为(A∨¬B∨C)∧(¬A∨B∨¬C),其中A、B、C分别为三个命题变项。
那么我们首先列出所有可能的合取项:A为真,B为真,C为真,合取项为真;A为真,B为真,C为假,合取项为真;A为真,B为假,C为真,合取项为真;A为真,B为假,C为假,合取项为假;A为假,B为真,C为真,合取项为假;A为假,B为真,C为假,合取项为真;A为假,B为假,C为真,合取项为假;A为假,B为假,C为假,合取项为假。
我们进行合取运算,将所有合取项为真的情况进行合取运算,得到的结果就是命题公式的主合取范式。
含有3个命题变项的命题公式的主合取范式可以通过列出所有合取项的取值情况,并进行合取运算得到。
这样的方法可以很好地帮助我们理解命题公式的结构和逻辑含义。
个人观点上,我认为找到一个命题公式的主合取范式对于理解命题逻辑和解决相关问题是非常有帮助的。
通过找到主合取范式,我们可以清晰地看到命题公式中各个命题变项的逻辑关系,从而更好地理解整个命题公式的含义和结构。
对于含有多个命题变项的命题公式来说,找到其主合取范式是非常重要的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)p→(q→r). (2)(p∨q) →r.
解:①p→(q→r) = p→(┓q∨r) = ┓p∨(┓p∨r). ② (p∨q) →r = ┓(p ∨q) ∨r = (┓p ∧ ┓q) ∨r =(┓p ∨r) ∧(┓q ∨r)= (┓p∨(q∧ ┓q)∨r)∧ ((p∧ ┓p)∨ ┓q∨r) =(┓p ∨q ∨r) ∧ (┓p ∨ ┓q ∨r) ∧ (p ∨ ┓q ∨r) ∧ (┓p ∨ ┓q ∨r) =(┓p ∨q ∨r) ∧ (┓p ∨ ┓q ∨r) ∧ (p ∨ ┓q ∨r)
【例】设p和q是命题变元,利用主范式判断命题公式p∧(p→┓q) 的类型。
解: p∧(p→┓q) =看p∧一(┓个p简∨ 单┓q的) =例(p ∧ ┓ p) ∨(p ∧ ┓q) = p ∧ ┓q,显然 子!!!
所给命题公式的主析取范式中仅有一个最小项,所以 它是中性公式。
*利用命题公式的主析取范式和主合取范式可以判断 两个命题公式是否等值。
主 合取范式
姓名:任玲玲 班级:120402
什么是最大项???
两个命题变元p和q产生的最大项有 p ∨ q , p ∨ ┐q , ┐p∨q , ┐p∨ ┐q 由三个命题变元p,q,r产生的最大项有 p∨q∨r , p∨┐q∨r , ┐p∨q∨r, p∨q∨┐r, ┐p∨┐q∨r , ┐p∨q∨┐r, p∨┐q∨┐r, ┐p∨┐q∨┐r
NO 3 :A等值于所有这样写出的最大项的合取。
我们一起来练习练 习吧
例:设p,q和,r是命题变元,求命题公式A = (p ∨q) →r的主合取范式。
解:命题公式A = (p ∨q) →r的真值表如下:
p q r p∨q (p ∨q) →r
p q r p∨q ( p ∨q) →r
11 11
1
0 111
命题公式p→(q→r)的主合取范式中,仅一个最大项;命 题公式(p∨q) →r的主合取范式中,有三个最大项。于是 得出,所给的两个命题公式不等值。
p∨r = p∨(q ∧ ┓q) ∨r = (p ∨q ∨r) ∧(p ∨ ┓ q ∨r)
┓q∨r = (p∧┓p)∨┓q∨r = (p∨┓q∨r) ∧(┓p∨┓q∨ r)
求A的主合取范式的第一种方法: 等值演算法
利用等值演算法求A的主合取范式的计算步骤:
NO 1:求出A的合取范式; NO 2:利用分配率补充所缺少的命题变元。
『注意』命题公式的主合取范式是合 取范式,而一般来说合取范式不是 主合取范式。
例:A = (p→q)↔r,其合取范式为 A=(p∨r)∧(┓q∨r)∧(┓p∨q∨┓r)
它就不是A的主合取范式,主要原因是在该合取范式中,析取 式p∨r以及┓q∨r不是由A中3个命题p,q,r产生的最大项。但我 们可以在合取范式的基础上,对于析取式p∨r 以及┓q∨r,通 过补充所缺少的命题变元将其转化为几个最大项的合取。
--------------------------------------------------------------
对于每一个最大项只有一种指派使其为0,例如, 最大项p∨┐q∨┐r只有指派(p,q,r) = (0,1,1),使其
为0.
很明显,所有最大项的合取为永假式0,而0 个最大项的合取意味着A的永真式为1,这时 A的主合取范式不存在。除这两种极端情形 外,A均为中性公式。
综上:根据等值式的定义容易得出:A等值于所有写出这样的 Байду номын сангаас大项的合取。
【定理】任意非永假(非永真)命题公式都 存在唯一的主析取范式(主合取范式)。
显然,命题公式的主析取范式及主合取范式是等值的。主析取 范式中所含的最小项个数加上主合取范式中所含的最大项个数 等于该命题公式的真值指派数目。进一步,可以从主析取范式 求出主合取范式,反过来亦然。
利用真值表法求A的主合取范式的3个计算步骤: NO 1:写出命题公式A的真值表; NO 2:对于使A取0的指派,写出对应的最大项,使该最大项在 该指派下也为0; 例如:若(p,q,r) = (1,1,1)使A取0,则对应的最大项为M111 = M7 = ┐p∨┐q∨┐r;
若(p,q,r) = (1,0,0)使A取0,则对应的最大项为M100 = M4 = ┐p∨q∨r ; 若(p,q,r) = (0,0,0)使A取0,则对应的最大项为M000 = M0 = p∨q∨r ;
∴A的主合取范式为
个例子
A= (p ∨q ∨r) ∧(p ∨ ┓ q ∨r) ∧ (p∨┓q∨r) ∧(┓p∨┓q∨ r) ∧
(┓p∨q∨┓r)
由上边的主合取范式可知,使A取0的真值指派为
(p,q,r) = (0,0,0),(0,1,0),(1,1,0),(1,0,1)
求A的主合取范式的第二种方法: 真值表法
设p,q,r是命题变元,求命题公式A =(p→q)↔r的主合取范式。
解:A的合取范式为A=(p∨r)∧(┓q∨r)∧(┓p∨q∨┓r)
∵p∨r = p∨(q ∧ ┓q) ∨r = (p ∨q ∨r) ∧(p ∨ ┓ q ∨r)
┓q∨r = (p∧┓p)∨┓q∨下r = (面p∨┓我q∨们r) ∧来(┓p举∨┓q∨ r)
1
11 01
0
0 101
0
10 11
1
0 010
1
10 01
0
0 000
1
使A = (p ∨q) →r取0的指派110,100,010,对应的最大项分别为 ┓p ∨ ┓q ∨ r, ┓p ∨q∨r , p ∨ ┓q ∨r.于是有
A = (┓p ∨ ┓q ∨ r) ∧(┓p ∨q∨r) ∧(, p ∨ ┓q ∨r)