命题公式的主合取范式C语言,命题公式主范式的自动生成与形式输出.pdf

收稿日期 2006 04 19 作者简介 张会凌 1954 男 甘肃成县人 甘肃联合大学数学与信息学院副教授 主要从事微分几何与计算机方面 的研究 文章编号 1672 691X 2006 05 0049 04 命题公式主范式的自动生成与形式输出 张会凌 甘肃联合大学 数学与信息学院 甘肃 兰州 730000 摘 要 在文 1 和文 2 的基础上 给出了命题逻辑中任一命题公式的主析取范式和主合取范式的自动生 成算法 并实现了多个命题公式主范式的同时形式化输出 关键词 命题公式 主析取范式 主合取范式 自动生成 形式输出 中图分类号 TP301 1 文献标识码 A 求一个给定的命题公式的主析取范式 Spe cial Disjunctive Normal Form 简记为 DNF 与 主合 取 范 式 Special Conjunctive Normal Form 简记为 CNF 是命题逻辑中一类很重要的 工作 因为命题公式的主范式 主合取与主析取范 式的总称 是 DDP 分解和进一步进行机器处理的 基础 通常求主范式的方法有二 一是将已知命题 公式等值变换为所要求的主范式 二是列出真值 表后 根据真值表写出相应的极大项和极小项 最 后写出主合取范式与主析取范式 当给定的命题 公式所含命题变元较多或公式的构成比较复杂 时 用这两种方法求其主范式总是有很大的工作 量且容易出错 由于我们已经在 1 和 2 中成功地解决了任 一含 n 个变元的命题公式F 的基本真值矩阵 An 和Bn的生成算法 以及 F 的真值表的计算和输 出问题 故可在此基础上参考用手工写出主范式 的方法 给出在计算机上计算和输出主范式的算 法 在这里 关键是如何根据给定的命题公式按照 要求形式地输出正确的主范式 本文仍用 N S 图给出针对所要解决的问题 的核心算法 而将源程序略去 1 主合取范式的自动计算与输出 命题公式 F P0 P1 Pn 1 的主合取范式 CNF 是若干关于命题变元 P0 P1 Pn 1的极 大项 P0 P1 Pn 1的合取 其中 Pi为 Pi或 Pi i 0 1 n 1 CNF 必与 F 等价 当不 考虑极大项的排列顺序时 F 的 CNF 是惟一的 此处为极大项的排列规定一个顺序 对于每 个极大项 P0 P1 Pn 1 使其对应一个二进 制数 0 1 n 1 其中 1 0 若 P1为 Pi 1 若 P1为 Pi 并且规定 对应的二进制数小的极大项排在前面 二进制数 0 1 n 1可看成对应极大项的编码 这种规定保证了CNF 表示的惟一性 以及在形式 上的统一 在将 F 的真值表 横排 后 从左到右 依次求得极大项后再将其合取 结果即与这里的 规定完全一致 为了在某种特定的编程语言 如 C 语言 环 境下形象地输出主范式 约定当两个命题变元或 两个子公式之间用逻辑联结符 联结时 可 以省去 而当它们用逻辑联结符 联结时 则用两 个半角字符 和 的组合 表示 逻辑非的 符号 用 代替 下同 下面给出计算和输出主合取范式的算法模 块 假定需要求 N 个命题公式F0 F1 FN 1的 主合取范式 而基本真值矩阵 Bn bij 和这 N 个命题公式F 的真值表构成的矩阵 FV 见 2 已经求出 这里矩阵 FV的第 k 行是公式 Fk的真 值 为了把永真式 即重言式 的主合取范式按 1 输出 把永假式 即矛盾式 的主析取范式按 0 输 出 先以流程图 1 给出一个识别模块 M1 这样 在这 N 个命题公式中 某个 Fk是永真 式当且仅当其对应的 gk 1 是永假式当且仅当 第 20卷第 5期甘肃联合大学学报 自然科学版 Vol 20 No 5 2006年 9 月Journal of Gansu Lianhe University Natural Sciences Sept 2006 图 1 关于永真式和永假式的识别模块 Figure1 An identifying module for tautology and contradiction 其对应的 sk 0 于是在计算出真值表并运行了上面的识别模 块之后 同时计算和输出多个命题公式的主合取 范式的算法模块如图 2所示 图 2 计算和输出多个命题 公式的主合取范式的算法模块 Figure2 Algorithm module calculating and outputting CNF of several propositional formulea 算法中把永真式的主合取范式按 1 输出 必须强调的是 此模块对命题公式的主合取 范式的输出是形式上的 是对手工列真值表 然后 根据真值表写出主合取范式的过程的模拟 主析 取范式 DNF 的输出也是形式上的 2 主析取范式的自动计算和输出 命题公式 F P0 P1 Pn 1 的主析取范式 DNF 是若干关于命题变元 P0 P1 Pn 1的极 小项 P0 P1 Pn 1的析取 其中 Pi为 Pi或 Pi i 0 1 n 1 DNF 必与 F 等价 同 样 当不考虑极小项的排列顺序时 F 的 DNF 是 惟一确定的 为了保证 DNF 在内容和形式上都 惟一 类似地为极小项的排列规定一个顺序 对于每个极小项 P0 P1 Pn 1 使其对 应一个二进制数 0 1 n 1 其中 i 0 若 P1为 Pi 1 若 Pi为Pi 规定对应的二进制数小的极小项排在前面 二进 制数 0 1 n 1可看成对应极小项的编码 假定命题公式的基本真值矩阵 Bn和N 个命 题公式F 的真值表构成的矩阵 FV已经求出 则 计算和输出 N 个命题公式的主析取范式的算法 如图 3 所示 算法中把永假式的主析取范式按 0 输出 在主析取范式中 极小项用圆括号括起来 各 个极小项之间是用析取符号 联结的 标志变 量 r 的作用是为了避免在最后一个极小项的右括 号 之后再打印一个多余的 例 给出两个命题公式 F0 P0 P1 P2 P3 和 F1 P0 P1 P2 P3 求它们的主合取范式与主析取范式 将所给的两个命题公式输入 依据上面的算 法编程运行 则系统有如下的输出结果 公式 F0和 F1的真值表是 如 2 所示 输 出的真值表是一般的教科书上的真值表的 转 置 P 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 P 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 P 2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 P 3 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F00 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 甘肃联合大学学报 自然科学版 第 20卷 F10 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 图 3 计算和输出多个命题公式的主析取落式的算法模块 Figure3 Algorithm module calculating and outputting DNF of several propositional formulae 公式 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 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 P0 P1 P2 P3 P0 P1 P2 P3 P0 P1 P2 P3 P0 P1 P2 P3 尽管所给的例子中只有 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 NG H ui ling School of Mathematics and Information Gansu Lianhe University Lanzhou 730000 China Abstract Based on paper 1 and 2 this paper gives two generating algorithms to calculate and out put the special conjunctive normal forms and special disjunctive forms of given propositional formulas automatically and formally Key words propositional formula special conjunctive normal form special disjunctive normal form au tomatic generation formal output 上接第 3 页 6 教育部办公厅 高等学校学报管理办法 S 中国高等学报自然科学学报研究会 会讯 1998 总 30 封二 7 孙德存 地方高校的本地化定位 J 吉昌学院学报 2004 4 72 74 8 窦炎国 周继红 努力为地方经济 社会服务 J 苏州科技学院学报 社科版 2004 21 3 135 138 Exploratory Advancing and Pioneering Innovating teaching scientific research training of talent explora tion review 52 甘肃联合大学学报 自然科学版 第 20卷

展开阅读全文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2021金蝶全球创见者大会成功举办, 500强企业共话EBC数字战斗力

11月27日,由金蝶主办的“2021全球创见者大会”成功举办。大会以“用数字战斗力,向管理要效益”为主题,求索不确定时代,EBC如何帮助500强及中小企业拥抱数字战斗力,构建企业韧性。 据了解,金蝶全球创见者大…

使用管控策略,设定多账号组织全局访问边界

简介: 企业上云多账号架构中,如何做到从上到下管理的同时,处理好员工的权限边界问题? 由多账号上云模式说起 多账号上云模式的产生 我们的企业客户上云,一般都是从尝试部署少量业务开始,然后逐步将更多业…

使用MaxCompute LOAD命令批量导入OSS数据最佳实践—STS方式LOAD开启KMS加密OSS数据

简介: MaxCompute使用load overwrite或load into命令将外部存储的数据(如:oss)导入到MaxCompute前的授权操作。 MaxCompute使用load overwrite或load into命令将外部存储的数据(如:oss)导入到M…

mamcache登录、_gomemcache首页、文档和下载 - memcache客户端库 - Go语言中文网 - Golang中文社区...

**安装**使用 go get$ go get github.com/bradfitz/gomemcache/memcache此命令后gomemcache即可使用。它的来源将是:$GOPATH/src/github.com/bradfitz/gomemcache/memcache**示例**import ("github.com/bradfitz/gomemcache/memcache")func main() {mc : …

pca降维的基本思想_R语言进行PCA分析

点击上方「蓝字」关注我写在前面前面我们知道了降维分析学习了PCoA分析今天学习PCA分析...PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法。PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征…

c语言线性分类回归库 台湾,最全的线性回归算法库总结—— scikit-learn篇

原标题:最全的线性回归算法库总结—— scikit-learn篇本文建议收藏后食用更加美味scikit-learn对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析,本文就对这些类库的使用做一个总结,重点讲述这些线性回归算法库的…

吉麦新能源与联想签订战略合作协议,共同拥抱智能网联汽车升维时代

11月25日,吉麦新能源汽车与联想战略合作签约仪式成功举行,双方正式建立战略合作伙伴关系。未来,双方将在车联网、云解决方案及服务、IT基础架构产品服务、智慧工厂服务领域开展深入合作,合力推动新能源造车数智化转型,…

供应链商品域DDD实践

简介: DDD是一套方法论,实践能否成功,不仅仅是个技术问题,更是执行贯彻实施的问题。本文将就DDD的基本概念和DDD的实施进行分享。 作者 | 侧帽 来源 | 阿里技术公众号 前言 供应链商品域DDD实践时间不长,在实践过程也…

wps编号无法继续_wps怎么自动编号【解决步骤】

我们在使用电脑工作的过程中时常会遇到各种奇奇怪怪的问题,比如最近就有不少用户来问小编关于wps怎么自动编号的问题,于是小编就在网上查了一下wps怎么自动编号的解决方法,其实wps怎么自动编号操作起来很容易只需要1:打开一个wps文…

c语言EOF0x99,C语言选择题99道.doc

C语言选择题99道1.有以下程序int f1(int x,int y){ return x>y?x:y; }int f2(int x,int y){ return x>y?y:x; }main(){int a4,b3,c5,d,e,f; df1(a,b); df1(d,c); ef2(a,b); ef2(e,c); fabc-d-e; printf("%d,%d,%d\n",d,f,e);}执行后输出的结果是______。 A&a…

20岁,Universal GIS拥抱新生的GIS信创

近20年来,在快速发展的IT新技术和国家应用需求的双轮驱动下,我国GIS技术和产业得到了飞速发展,GIS软件应用范围从几个行业深入到了数字中国建设中的数字经济、数字政务、数字社会、数字生态建设的几乎所有行业和领域。GIS软件已成为国家治理体…

php与python缺点_php和python的比较

hon 的应用现在越来越多了,想多了解点 pygtk 和 django 的东西,但只 有一些 php 和 C 的基础, 而 python 的语法还是比较独特的。 接触 python 半年多,总结一点和 php 的比较以及优缺点。 首先, python 的性能一直比较…

如何用Netty写一个高性能的分布式服务框架?

byte[] -->堆外内存 / 堆外内存--> byte[] -->java对象。 优化:省去 byte[] 环节,直接 读/写 堆外内存,这需要扩展对应的序列化框架。 String 编码/解码优化。 Varint 优化:多次 writeByte 合并为 writeShort/writeInt/w…

css x轴不滚动_css – 固定div,动态内容不滚动

我有一个固定的div与动态加载的li元素.现在我希望div-content在有超过9个li元素和滚动条时滚动:这就是它的样子:此时固定div继续在页脚上,内容无法滚动.这是所有div的css:#fixed-div {position: fixed;width: 30%;margin-top:290px;padding-t…

C语言rec文件如何打开,REC 文件扩展名: 它是什么以及如何打开它?

REC 疑难解答典型的 REC 开放挑战Squared 5 MPEG Streamclip 不在你尝试加载 REC 文件并收到错误,例如 “%%os%% 无法打开 REC 文件扩展名”。 通常,这是因为你没有安装适用于 %%os%% 的 Squared 5 MPEG Streamclip。 操作系统不知道如何处理你的 REC 文…

Quick BI:降低使用门槛,大东鞋业8000家门店的数据导航

简介: 通过引入MaxCompute和Quick BI,大东解决了以往数据查询即刻导致数据库闪崩的状况,还搭建起完善的报表体系,稳定应对高频、高并发的数据分析。 大东鞋业一季大约有500款的新品。大区下辖的各个分公司要对这500款新品进行订货…

绿盟科技发布安全知识图谱技术白皮书

随着全球数字化和万物互联的加速发展,近年来勒索病毒的攻击手段不断升级,例如今年美国最大燃油管道受攻击导致美国17个州和华盛顿特区进入紧急状态,引起全球关注。当下企业如何提高安全运营知识以面对不断升级的威胁攻击? 近日&a…

最小覆盖模型matlab_数学规划模型的matlab求解 非线性最小二乘lsqnonlin

数学规划模型是优化模型的一种,包括线性规划模型(目标函数和约束条件都是线性函数的优化问题);非线性规划模型(目标函数或者约束条件是非线性的函数); 整数规划(决策变量是整数值得规划问题);多目标规划(具有多个目标函数的规划问题) ;目标规划(具有不同…

「应用管理与交付」为什么会成为云原生新的价值聚焦点?

简介: 为什么“云原生应用管理与交付”会成为 Kubernetes 之上重要的价值聚焦点?CNCF App Delivery SIG 在推动 Kubernetes 之上应用层技术快速演进的过程中将扮演什么角色?这个领域又将发生哪些值得大家期待的创新?让我们一起了解…

android 4.4官方下载,安卓系统电脑版-android x86 4.4 iso下载官方最新版【pc版】-西西软件下载...

Android-X86是由Beyounn和Cwhuang主持设计的。提供了一套完整的可行源代码树,配套文档以及Live CD与Live USB。Android系统主要应用在智能手机以及平板电脑设备上。日前,越来越多使用英特尔和AMD处理器的计算机也开始运行Android系统。如何才 能让Androi…