公式法求主合取范式和主析取范式的一种思路

公式法求主合取范式和主析取范式的一种思路



你需要知道:

离散数学中子句和短语的定义;

文字的或是子句,文字的与是短语;

为了能够化开括号,你需要知道基本的逻辑运算规律和这个公式:
P → Q = ¬ P ∨ Q P \to Q = \neg P \vee Q PQ=¬PQ
这个公式要用自然语言来描述相当抽象,姑且认为在二值逻辑世界中,真值表相同就等于同一个东西吧。

以下是具体思路:


思路描述:

离散说法:

将公式去括号;

使用 A ∨ B ∧ C = ( A ∨ B ) ∧ ( A ∨ C ) A\vee B\wedge C = (A\vee B)\wedge(A\vee C) ABC=(AB)(AC) 公式将公式化为子句的合取形式,再利用 A ∧ ¬ A = 0 A \wedge \neg A = 0 A¬A=0主合取范式

或直接是析取形式,再利用 A ∨ A ‾ = 1 A \vee \overline{A} = 1 AA=1主析取范式

数电说法:

将函数去括号;

使用 A + B C = ( A + B ) ( A + C ) A+BC = (A+B)(A+C) A+BC=(A+B)(A+C)公式将表达式化为或与式,再利用 A ⋅ A ‾ = 0 A \cdot \overline{A} = 0 AA=0最大项表达式

或直接是与或式,再利用 A + A ‾ = 1 A + \overline{A} = 1 A+A=1最小项表达式


举栗子:

比如一个式子化成了这样:

P ∧ Q ∨ R P \wedge Q \vee R PQR

如果要求主析取范式,将式子以 ∨ \vee 分割,即 ( P ∧ Q ) ∨ ( R ) (P \wedge Q) \vee (R) (PQ)(R) (在不改变式子运算顺序的情况下),我们知道,主析取范式每一个短语要包含全部变量,显然, ( P ∧ Q ) (P \wedge Q) (PQ) ( R ) (R) (R)都不包含所有的三个变量,那如何呢?

我们的理解是,某部分式子如果不提及其他变量,那么其意思就是“在这部分中,未提及的变量是 X X X还是 ¬ X \neg X ¬X都无所谓,即 ∧ ( X ∨ ¬ X ) \wedge (X \vee \neg X) (X¬X)”。

所以,对于各短语,我们都可以这样,于是就有了
( P ∧ Q ) ∧ ( R ∨ ¬ R ) ∨ ( R ) ∧ ( P ∨ ¬ P ) ∧ ( Q ∨ ¬ Q ) (P \wedge Q)\wedge (R \vee \neg R) \vee (R)\wedge (P \vee \neg P)\wedge (Q \vee \neg Q) (PQ)(R¬R)(R)(P¬P)(Q¬Q)
化开就有了
( P ∧ Q ∧ R ) ∨ ( P ∧ Q ∧ ¬ R ) ∨ ( P ∧ ¬ Q ∧ R ) ∨ ( ¬ P ∧ ¬ Q ∧ R ) ∨ ( ¬ P ∧ Q ∧ R ) (P \wedge Q\wedge R)\vee (P \wedge Q \wedge \neg R) \vee (P\wedge \neg Q \wedge R)\vee(\neg P \wedge \neg Q \wedge R)\vee (\neg P\wedge Q \wedge R) (PQR)(PQ¬R)(P¬QR)(¬P¬QR)(¬PQR)

同理,可以求主合取范式,不过要先进行这步:

P ∧ Q ∨ R = ( P ∨ R ) ∧ ( Q ∨ R ) P \wedge Q \vee R = (P \vee R)\wedge (Q \vee R) PQR=(PR)(QR)

这样,公式就以 ∧ \wedge 分割了(不可以 ( P ) ∧ ( Q ∨ R ) (P) \wedge (Q \vee R) (P)(QR)这样划,这样改变了运算顺序,强行让 Q ∨ R Q \vee R QR先进行了运算),接下来的操作就与之前一致了;
( P ∨ R ) ∧ ( Q ∨ R ) = ( ( P ∨ R ) ∨ ( Q ∧ ¬ Q ) ) ∧ ( ( Q ∨ R ) ∨ ( P ∧ ¬ P ) ) = ( ( P ∨ R ∨ Q ) ∧ ( P ∨ R ∨ ¬ Q ) ) ∧ ( ( P ∨ R ∨ Q ) ∧ ( ¬ P ∨ R ∨ Q ) )   A + B C = ( A + B ) ( A + C ) ↔ ( P ∨ R ) 作 为 A \begin{aligned} (P \vee R)\wedge (Q \vee R) &= ((P \vee R)\vee(Q \wedge \neg Q))\wedge ((Q \vee R)\vee(P \wedge \neg P))\\ &= ((P \vee R\vee Q) \wedge (P \vee R\vee\neg Q))\wedge ((P \vee R\vee Q) \wedge (\neg P \vee R\vee Q))\\ \\ & \space A+BC = (A+B)(A+C) \leftrightarrow (P \vee R)作为A \end{aligned} (PR)(QR)=((PR)(Q¬Q))((QR)(P¬P))=((PRQ)(PR¬Q))((PRQ)(¬PRQ)) A+BC=(A+B)(A+C)(PR)A


总结一下:

化到这里的时候,对于一个子句或短语,没有的变量就是“啥都行”

( P ∧ Q ) ∨ ( R ) (P \wedge Q) \vee (R) (PQ)(R)中, ( P ∧ Q ) (P \wedge Q) (PQ)意思就是 P ∧ Q P \wedge Q PQ这个短语再与个啥都行
( P ∧ Q ∧ R ) ∨ ( P ∧ Q ∧ ¬ R ) ⇒ ( P ∧ Q ) (P \wedge Q\wedge R)\vee (P \wedge Q \wedge \neg R) \Rightarrow (P \wedge Q) (PQR)(PQ¬R)(PQ)
P ∧ Q ∨ R = ( P ∨ R ) ∧ ( Q ∨ R ) P \wedge Q \vee R = (P \vee R)\wedge (Q \vee R) PQR=(PR)(QR) ( P ∧ Q ) ∨ ( R ) (P \wedge Q) \vee (R) (PQ)(R)中, P ∨ Q P \vee Q PQ意思就是 P ∨ Q P \vee Q PQ这个子句再或个啥都行

( . . . ) ⇒ ( . . . ) (...)\Rightarrow (...) (...)(...)

这样貌似就不用上面那么复杂了,直接可以写出答案,在数电中一样适用(其实是一样的)。

### 回答1: 好的,根据赋值可以输出真值表,真值表可以用来推导出合取范式主析取范式。真值表是一种逻辑表格,用来表示逻辑命题在不同赋值下的真假情况。合取范式是指一个命题公式可以表示为若干个命题变量的合取式,而主析取范式是指一个命题公式可以表示为若干个命题变量的析取式。通过真值表可以找到命题公式 ### 回答2: 在计算机科学中,真值表是一种用于描述逻辑电路行为的表格。真值表通常列出所有输入变量的可能组合,以及相应的逻辑函数输出值。这种表格可以用于构建逻辑电路,测试已构建的电路,以及确定逻辑函数的行为。 在赋值输出中,我们将逻辑电路的输入变量全部赋值,然后推导出对应的输出值。可以将所有可能的输入变量组合全部列出来,然后在每行下面标记出相应的输出值。以异或门为例,我们将所有两个输入变量的可能组合写在一起,然后填写相应的输出值: | 输入 A | 输入 B | 输出 | | ------ | ------ | --- | | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 0 | 接下来,合取范式主析取范式是两种逻辑表达式的规范形式。合取范式是一组逻辑式,其中每个式子都是某一逻辑函数的合取式,并且该逻辑函数在这些合取式中每一项都是1(即真)的时候才返回1,否则返回0。主析取范式则是一组逻辑式,其中每个式子都是某一逻辑函数的析取式,并且该逻辑函数在这些析取式中每一项都是0(即假)的时候才返回0,否则返回1。 以前面的异或门为例,我们可以推导出它的合取范式主析取范式合取范式是将输出是 1 的真值表项作为合取项,并将其中每个变量添加否定符号: (A ∧ ¬B) ∨ (¬A ∧ B) 主析取范式是将输出是 0 的真值表项作为析取项: (¬A ∧ ¬B) ∨ (A ∧ B) 这样,我们就可以通过真值表来确定逻辑电路的行为,并且得到合取范式主析取范式。这些逻辑表达式可以用于设计和构建更复杂的电路,帮助我们更好地理解逻辑电路的行为,也为计算机科学提供了强有力的基础。 ### 回答3: 真值表是用于展示某个命题逻辑表达式在不同输入下的真假值的一种工具,通常用0和1来表示命题逻辑表达式在某个输入下的输出。例如,在一个由两个命题变量p和q组成的命题逻辑表达式中,可能会得出以下真值表: p | q | p ∧ q --|---|------ 0 | 0 | 0 0 | 1 | 0 1 | 0 | 0 1 | 1 | 1 可以看到,在这个命题逻辑表达式中,当p和q的真值都是1时,命题逻辑表达式的真值为1,否则为0。通过真值表,我们可以很直观地了解命题逻辑表达式的真假情况,并且可以根据真值表来推导出该表达式的合取范式主析取范式合取范式是指逻辑表达式中由多个命题变量或逻辑运算符并列使用的所有项,其中每个项都是由几个命题变量取反或不取反的乘积(也称为“合取项”)组成,并且整个表达式等于各个合取项的逻辑和。例如,根据上面的真值表,该命题逻辑表达式的合取范式为: (p ∧ ¬q) ∨ (¬p ∧ q) ∨ (p ∧ q) 主析取范式是指逻辑表达式中由多个命题变量或逻辑运算符并列使用的所有项,其中每个项都是由几个命题变量取反或不取反的逻辑和(也称为“析取项”)组成,并且整个表达式等于各个析取项的逻辑积。例如,根据上面的真值表,该命题逻辑表达式的主析取范式为: (¬p ∨ ¬q ∨ p) ∧ (¬p ∨ q ∨ p) ∧ (p ∨ q ∨ ¬q) 通过真值表推导出命题逻辑表达式的合取范式主析取范式,可以使我们更好地理解命题逻辑表达式的结构和逻辑运算的规律。在实际应用中,合取范式主析取范式也是常常使用的重要工具,能够帮助我们更方便地对复杂的命题逻辑关系进行推理和分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

川九-EveRYouNg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值