命题公式主范式的自动生成与形式输出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2006 04 19.
作者简介:张会凌(1954 ),男,甘肃成县人,甘肃联合大学数学与信息学院副教授,主要从事微分几何与计算机方面的研究.
文章编号:1672 691X(2006)05 0049 04
命题公式主范式的自动生成与形式输出
张会凌
(甘肃联合大学数学与信息学院,甘肃兰州730000)
摘 要:在文[1]和文[2]的基础上,给出了命题逻辑中任一命题公式的主析取范式和主合取范式的自动生成算法,并实现了多个命题公式主范式的同时形式化输出.关键词:命题公式;主析取范式;主合取范式;自动生成;形式输出中图分类号:T P301.1 文献标识码:A
求一个给定的命题公式的主析取范式((Spe cial)Disjunctive No rmal Form,简记为DNF)与主合取范式((Special )Conjunctive Nor mal For m,简记为CNF)是命题逻辑中一类很重要的工作.因为命题公式的主范式(主合取与主析取范式的总称)是DDP 分解和进一步进行机器处理的基础.
通常求主范式的方法有二.一是将已知命题公式等值变换为所要求的主范式;二是列出真值表后,根据真值表写出相应的极大项和极小项,最后写出主合取范式与主析取范式.当给定的命题公式所含命题变元较多或公式的构成比较复杂时,用这两种方法求其主范式总是有很大的工作量且容易出错.
由于我们已经在[1]和[2]中成功地解决了任一含n 个变元的命题公式F 的基本真值矩阵A n 和B n 的生成算法,以及F 的真值表的计算和输出问题,故可在此基础上参考用手工写出主范式的方法,给出在计算机上计算和输出主范式的算法.在这里,关键是如何根据给定的命题公式按照要求形式地输出正确的主范式.
本文仍用N-S 图给出针对所要解决的问题的核心算法,而将源程序略去.
1 主合取范式的自动计算与输出
命题公式F(P 0,P 1, ,P n -1)的主合取范式CNF 是若干关于命题变元P 0,P 1, ,P n -1的极大项 P 0 P 1 P n -1的合取,其中 P i 为P i 或 P i (i =0,1, ,n -1),CNF 必与F 等价.当不
考虑极大项的排列顺序时,F 的CNF 是惟一的.
此处为极大项的排列规定一个顺序.对于每个极大项 P 0 P 1 P n -1,使其对应一个二进制数 0 1 n -1,其中
1=
0,若 P 1为P i ;1,
若 P 1为 P i .
并且规定,对应的二进制数小的极大项排在前面.
二进制数
0 1 n -1可看成对应极大项的编码.这种规定保证了CNF 表示的惟一性,以及在形式
上的统一.在将F 的真值表!横排∀后,从左到右依次求得极大项后再将其合取,结果即与这里的规定完全一致.
为了在某种特定的编程语言(如C 语言)环境下形象地输出主范式,约定当两个命题变元或两个子公式之间用逻辑联结符#联结时,!#∀可以省去.而当它们用逻辑联结符 联结时,则用两个半角字符!\∀和!/∀的组合! ∀表示.逻辑非的符号! ∀用!!∀代替(下同).
下面给出计算和输出主合取范式的算法模块.假定需要求N 个命题公式F 0,F 1, ,F N -1的主合取范式,而基本真值矩阵B n =(b ij )和这N 个命题公式F 的真值表构成的矩阵F V (见[2])已经求出,这里矩阵F V 的第k 行是公式F k 的真值.
为了把永真式(即重言式)的主合取范式按1输出,把永假式(即矛盾式)的主析取范式按0输出,先以流程图1给出一个识别模块M 1.
这样,在这N 个命题公式中,某个F k 是永真式当且仅当其对应的g k =1,是永假式当且仅当
第20卷第5期甘肃联合大学学报(自然科学版)
V o l.20No.5 2006年9月Jo urnal of G ansu L ianhe U niv ersity (N atural Sciences)Sept.2006
图1 关于永真式和永假式的识别模块Fig ure1 An ident ifying module for
tauto log y and co nt radiction
其对应的s k =0.
于是在计算出真值表并运行了上面的识别模块之后,同时计算和输出多个命题公式的主合取范式的算法模块如图2所示
.
图2 计算和输出多个命题公式的主合取范式的算法模块Fig ure2 Algo rithm mo dule calculating and outputting CN F o f sev eral pr opositional fo rmulea
算法中把永真式的主合取范式按1输出.必须强调的是,此模块对命题公式的主合取
范式的输出是形式上的,是对手工列真值表,然后根据真值表写出主合取范式的过程的模拟.主析取范式DNF 的输出也是形式上的.
2 主析取范式的自动计算和输出
命题公式F(P 0,P 1, ,P n -1)的主析取范式DNF 是若干关于命题变元P 0,P 1, ,P n -1的极
小项 P 0# P 1# # P n -1的析取,其中 P i 为P i 或 P i (i =0,1, ,n -1),DNF 必与F 等价.同样,当不考虑极小项的排列顺序时,F 的DNF 是惟一确定的.为了保证DNF 在内容和形式上都惟一,类似地为极小项的排列规定一个顺序.
对于每个极小项 P 0# P 1# # P n -1,使其对应一个二进制数 0 1 n -1,其中
i =
0,若 P 1为 P i ;1,若 P i 为P i .
规定对应的二进制数小的极小项排在前面.二进
制数 0 1 n -1可看成对应极小项的编码.
假定命题公式的基本真值矩阵B n 和N 个命题公式F 的真值表构成的矩阵F V 已经求出,则计算和输出N 个命题公式的主析取范式的算法如图3所示.
算法中把永假式的主析取范式按0输出.在主析取范式中,极小项用圆括号括起来,各个极小项之间是用析取符号! ∀联结的.标志变量r 的作用是为了避免在最后一个极小项的右括号!)∀之后再打印一个多余的! ∀.
例 给出两个命题公式
F 0= (P 0 P 1 P 2 P 3)和F 1=(P 0#P 1)∃(P 2∃ P 3),求它们的主合取范式与主析取范式.
将所给的两个命题公式输入,依据上面的算法编程运行,则系统有如下的输出结果.
公式F 0和F 1的真值表是(如[2]所示,输出的真值表是一般的教科书上的真值表的!转置∀):
P[0] 0000000011111111P[1]
0000111100001111P[2]0011001100110011P[3]0101010101010101F 0
0100000000000000
50
甘肃联合大学学报(自然科学版) 第20卷
F10110011001101111
图3 计算和输出多个命题公式的主析取落式的算法模块
F igure3 A lg or ithm module calculating and outputt ing DN F o f sev eral pr oposit ional fo rmulae
公式F0的主合取范式是:
(P0\/P1\/P2\/P3)(P0\/P1\/!P2\/ P3)(P0\/P1\/!P2\/!P3)(P0\/!P1\/P2 \/P3)(P0\/!P1\/P2\/!P3)
(P0\/!P1\/!P2\/P3)(P0\/!P1\/! P2\/!P3)(!P0\/P1\/P2\/P3)(!P0\/P1 \/P2\/!P3)(!P0\/P1\/!P2\/P3)
(!P0\/P1\/!P2\/!P3)(!P0\/!P1 \/P2\/P3)(!P0\/!P1\/P2\/!P3)(!P0 \/!P1\/!P2\/P3)(!P0\/!P1\/!P2\/! P3)
公式F1的主合取范式是:
(P0\/P1\/P2\/P3)(P0\/P1\/!P2\/! P3)(P0\/!P1\/P2\/P3)(P0\/!P1\/!P2\/!P3)(!P0\/P1\/P2\/P3)
(!P0\/P1\/!P2\/!P3)
公式F0的主析取范式是:
(!P0!P1!P2P3)
公式F1的主析取范式是:
(!P0!P1!P2P3)\/(!P0!P1P2! P3)\/(!P0P1!P2P3)\/(!P0P1P2! P3)\/(P0!P1!P2P3)\/
(P0!P1P2!P3)\/(P0P1!P2!P3) \/(P0P1!P2P3)\/(P0P1P2!P3)\/ (P0P1P2P3)
尽管所给的例子中只有4个命题变元,用手工计算列出的真值表也有16行.直接计算主合取范式和主析取范式进行核对,可知程序输出的结
51
第5期 张会凌:命题公式主范式的自动生成与形式输出
果是完全正确的.
当命题变元数n%5时,自动计算和输出主范式的优点显得尤为突出.
本文所给的算法已在C语言和VC环境下完全实现.
参考文献:
[1]张会凌.命题逻辑判定系统中基本真值矩阵的生成算
法[J].甘肃联合大学学报(自然科学版),2005,19
(1):16 19.
[2]张会凌.命题公式真值表的生成与公式类型的机械判
定[J].甘肃联合大学学报(自然科学版),2006,20
(1):25 34.
Automatic Generation and Formal Output of Special Normal Forms of
Propositional Formulae
ZH A N G H ui ling
(School of M at hematics and Info rmatio n,Gansu L ianhe U niversity,Lanzho u730000,China)
Abstract:Based on paper[1]and[2],this paper g iv es tw o g enerating alg orithms to calculate and out put the special co njunctiv e no rmal for ms and special disjunctiv e fo rms of g iven pro positio nal for mulas automatically and form ally.
Key words:pro positional form ula;special conjunctive nor mal form;special disjunctive normal fo rm;au to matic g eneration;form al output
(上接第3页)
[6]教育部办公厅.高等学校学报管理办法[S].中国高等学报自然科学学报研究会.会讯,1998(总30):封二.
[7]孙德存.地方高校的本地化定位[J].吉昌学院学报,2004(4):72 74.
[8]窦炎国,周继红.努力为地方经济、社会服务[J].苏州科技学院学报(社科版),2004,21(3):135 138.
Exploratory Advancing and Pioneering Innovating
&&&J ournal of G ansu L ianhe Univer sity(Ed ition of N atural S cience)
Has Finished Its Publication for21Years
ZH AN G Fu long
(Department of Journal of Gansu L ianhe U niver sity,L anzho u730070,China)
Abstract:T he autho r review s the development course of J our nal of G ansu L ianhe Univ ersity(Edition o f N atur al S cience),analyzes and sums up the practical ex perience o f running the jo urnal and their a chievement.H e also po ints out the future orientation.
Key words:jour nal(edition o f natural science);teaching;scientific research;tr aining of talent;ex plora tion;review
52 甘肃联合大学学报(自然科学版) 第20卷。