命题逻辑那些事 | 2. 主析(合)取范式
1|0一、必要概念
1|1简单X取式
简单析取式、简单合取式,说白了就是不知道这个简单是个啥?
简单就是有限
你可以说是公式的长度有限,或者公式包含的命题变项有限,反正就是有限
当然,还都得是析(合)取联结词
这个概念有啥用吗?大抵是没啥用罢。
1|2X取范式
析取范式、合取范式,这个范,又从何说起?
打个比方:
这就是个析取范式,( )里都是简单合取式,再通过析取符号连接起来
由有限个 简单合取式 组成的析取式,就是析取范式 (没错,又是有限)
合取范式同理
1|3主X取范式、极小(大)项
这是激动人心的一步!步入正题了!
首先,主析取范式 比 析取范式 多了个主,它不同在哪呢?
主析取范式的每个简单合取式中,每个变元都出现了一次。
我们举个例子:
不难看出,在同一个( )内,每个变元都出现了一次
其中
- ( ∧ ∧ ) 是极小项
- ( ∨ ∨ ) 是极大项
记忆法:∧ 是一个不包容的符号,喜欢排斥他人的符号(必须两边都为1才为1,要求很苛刻),因此这个符号越多,包容的越少,故称极小项。
1|4概念总结
我们刚才提到了四个概念:简单X取式、范式、极X项、主范式。
2|0二、主X取范式的性质
1、每个命题公式都有其唯一主析取范式和主合取范式
2、极小项角码 = 其公式的成真赋值
还记得我们上一篇文章就讲过成真赋值和角码有关
那角码是啥呢?为啥有关?
让我们先从角码开始:
2|1角码
“极小项中的变项必须按照字母表顺序排列”,就是比如你的变项有P、Q、R,我们都知道俗话说得好:“OPQ,RST,UVW完XYZ”,那么在每一个极小项中都必须严格把PQR按照这个顺序摆放,否则角码就求错了。
极小项可以用一种方法来表示,那就是小写字母m + 角码
而极小项本身可以转化为一个二进制数,例如:
再将二进制转为十进制数,这个数值即为角码
因此上面的两个极小项就可以表示为
还记得我们说成真赋值是一组数,能让公式最终成真的一组数
这组数自然也是用二进制来表示每个变项的真与假
当然,一个公式的成真赋值可能有很多,那主析取范式也是由多个极小项析取而来的嘛
在书上说,通过成真赋值求主析取范式的方法,是求主析取范式的方法之一。
而我之所以把它搬到性质这里来,是因为我暂时没见到什么例题用过这种方法。
3、每个命题公式的主析取范式和主合取范式互补
互补是什么?
既然极小项可以表示为小写字母m + 角码
那么极大项自然也可以,极大项可表示为 大写字母M+角码
假设一个公式包含n个变项,那么则有2ⁿ种赋值,即2ⁿ个角码
其中一部分属于极小项,另一部分用于极大项
因此我们说主析取范式和主合取范式互补的意思就是说:
例如,对于一个有3个变项的公式来说,假如主析取范式为
则此公式的主合取范式即为
3|0三、求主析取范式
我们既然知道了主析取范式和主合取范式是互补的,那么我们还需要求出其中之一即可
我们可以先大致根据原式的"形状"选择出 求哪个更方便一些
不如直接来道例题吧!
我们首先肯定是先把那个最显眼的箭头(蕴含符号)去掉,那么就要我们之前说过特别重要的那个替换式——蕴含等值式
大功告成!你看那个在括号外面的否定符号是不是也不顺眼?要把它狠狠滴塞进后面括号里的每一个变项中去
所以就要用到德 · 摩根律
看那个黄色的括号!是不是再次出现了“在括号外的否定符号”?那么我们再来一次德 · 摩根
此时此刻,一个析取范式的雏形已经出现了,没发现?没关系,我们再来一步分配律,以把简单合取式都拆分出来
最后再把每一个简单合取式喂养成极小项就行了,我们来看手写笔记回顾一下这个运算全程——
我们能看出前面都是一些正常的演算,
其实第一步已经展示出了一些主析取范式的雏形,即从这里开始我决定先求主析取范式
演算到分配律那一行时是一个重要的转折点
从这里开始主析取范式的框架已经完成,接下来要做的就是硬往里填充,让简单合取式被喂养成极小项,也就是让每一个( )里都包括所有变项
这里有一个很重要的东西 ——怎么塞?
要主析,括号里的就是析取;要主合,括号里的就是合取
还有更简单的说法,其实就是把这个简单X取式 和 缺的那个变项的 是与非 分别组合一下即可
例如
__EOF__

本文链接:https://www.cnblogs.com/IronRocGIS/p/17437703.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)