发表日期: 2021-04-17 16:48:44 浏览次数:86
燕郊网站推广【燕郊办理400电话】燕郊SEO优化、燕郊微信公众号APP客户端小程序开发、燕郊网站托管、燕郊APP开发
燕郊镇,隶属于河北省廊坊市三河市,地处三河市西部,东、东南、南与大厂回族自治县接壤,西濒潮白河、隔河与北京市通州区相望,西北、北与高楼镇为邻, [7] 区域面积108平方千米,截至2018年,户籍人口351483人。 [6]
民国三十七年(1948年),属三河县四区。1958年,为红星公社。1983年,改为燕郊镇。 [7] 截至2020年6月,燕郊镇下辖55个行政村。 [8]
2018年,燕郊镇有工业企业796个,其中规模以上77个,有营业面积超过50平方米以上的综合商店或超市396个。
在实际应用中,我们将通过删除重复来简化子句。也就是说,如果q 和r 都包含文字X,这种情况下就要从q+r 中删除X 的一个副本。之所以可以这样做,是因为有法则12.17、12.7和12.8,也就是OR
的幂等性、交换律和结合律。一般而言,实用的看法是把子句看作文字的集合,而非文字的列表。结合律和交换律让我们可以按照任意方式排列文字,而幂等性则让我们可以消除重复。
还要消除那些含有互斥文字的子句。也就是说X 和在一个子句中出现,那么利用法则12.25、12.7、12.8和12.15,该子句等价于1,就不需要在证明中包含该子句。也就是说,根据法则12.25,,而且根据零元法则12.15,1与任何逻辑表达式求OR
都等价于1。
考虑子句和 。我们可以让b 扮演(12.14)中p 的角色,那么q 就是,而r 就是a+c。请注意,我们已经重新进行了一些调整,把子句与(12.14)匹配起来。首先,第二个子句与(12.14)中的第一个子句p+q 已经匹配,而第一个子句是与(12.14)的第二个子句匹配的。此外,扮演p 的角色的变量一开始并未出现在我们的两个子句中,不过没关系,因为OR
的交换律和结合律说明我们能够以任何次序重新排列子句。
如果我们的两个子句已经出现在证明中,则新子句q+r 也可以作为证明中出现的行,这个新子句就是。可以消除多余的a,将该子句简化为。
再举个例子,考虑子句(a+b)和。如果a是(12.14)中的p,而q 是b,r 是,就得出新子句。该子句等价于1,因此不需要生成。
为了让分解起作用,需要把所有的前提以及结论,变成和的积的形式,也就是“合取范式”。可以采取的方法有若干种,最简单的可能就是以下这些。
(1) 首先,要消除除了AND
、OR
和NOT
之外的任何运算符。我们根据法则12.21把E ≡F 替换为(E→F )(F→E )。然后,根据法则12.24,把G→H 替换为NOT
(G )+(H )。NAND
和NOR
也很容易分别用NOT
后加上AND
或OR
来替代。事实上,因为AND
、OR
和NOT
是运算符的完全集,所以可知任何逻辑运算符,包括那些本书中没有介绍的,都可以用只涉及AND
、OR
和NOT
的表达式替换。
(2) 接下来,应用德摩根律把所有的否定向下压,直到它们根据12.8节中的法则12.13被其他否定抵消,或是只应用到命题变量上。
(3) 现在要应用OR
对AND
的分配律,把所有的OR
压到所有AND
之下。得到是由OR
结合的文字,然后是由AND
结合的表达式,这就是合取范式表达式。
我们来考虑以下表达式
p+(q AND NOT
(r AND
(s-t ))
请注意,为了均衡考虑简洁性和清晰性,我们在这里和以后的表达式中会混用简化符号和原始符号。
第(1)步要求把s→t 替换为,给出只含AND
、OR
、NOT
的表达式
p+(q AND NOT
(r (+t )))
在第(2)步中,必须利用德摩根律把第一个NOT
向下压。在接下来的一系列步骤中NOT
到达了命题变量。
p+(q(+NOT
(+t )))
p+(q(+(NOT
)()))
p+(q(+()))
现在应用法则12.14,把第一个OR
压到第一个AND
以下。
接下来要利用12.8节的法则12.8重新组合命题变量,从而把第二和第三个OR
压到第二个AND
之下。
最后,再次利用法则12.14,所有的OR
都在所有AND
之下。得到的如下表达式就是合取范式。
我们现在看到了从前提E1、E2、…、Ek 找到E 的证明的一种方法,并了解了其大致脉络。把E 和E1、E2、…、Ek 分别转换为合取范式表达式F 和F1、F2、…、Fk 。我们要为一对对子句应用分解规则,因此要为证明添加新子句作为证明的行。然后,如果向证明中添加了F 的所有子句,就证明了F,从而也证明了E。
假设以表达式作为前提。请注意,该表达式是示例12.26中使用过的前提的AND
。5设像示例12.26中那样,所需的结论是。我们可以根据法则12.24,替换掉这些→,把前提转换成合取范式。至此,得到的结果已经是合取范式,不需要进行进一步的处理。所需的结论已经是合取范式,因为任何单个文字都是子句,而单个子句就是子句的积。因此我们一开始有子句
5大家现在应该已经看到,不管是写成很多条前提,还是把它们用AND
连接起来写出一条前提,都是可以的。
现在,假设要以r 扮演p 的角色,分解第一个和第三个子句,得到的子句就是。该子句可以与前提中的第二个子句一起被分解,以u 代替p,得到子句。因为该子句就是所需的子句,所以任务就完成了。图12-25把证明过程展示为一系列语句,其中每一行都是一条子句。
图 12-25 的分解证明
分解为何有效
一般来说,找到证明需要组织起从前提到结论这一系列行的运气或技巧。大家现在可能已经注意到,尽管很容易验证12.10节和12.11节中给出的证明是有效证明,而完成那些需要寻找证明的习题就要困难得多。一般来说,猜测示例12.29中那样为了生成某一子句或某些子句而要执行的一系列分解,并不比寻找证明简单多少。
不过,如果把分解与反证法结合起来,就像在示例12.30中那样,就可以看到分解的魔力。因为我们的目标子句是0,是“最小的”子句,突然间就有了搜寻“方向”的概念。这就是说,可以试着逐步证明更小的子句,以期最终能证明0。当然,这样的探索并不能确保成功。有时候,我们在开始缩小子句并最终证明0之前必须证明某个非常大的子句。
其实,分解是针对命题演算的完全证明过程。只要(E1E2…Ek )→E 是重言式,就可以从以字句形式表示的E1、E2、…、Ek 和
NOT
E 得出0。是的,这就是逻辑学家们为“完全”赋予的第三个含义。回想一下,其他两种含义分别是“能够表示任何逻辑函数的运算符集合”,以及“NP完全”中那样指“一类问题中最难的问题”。这里还是要说,存在这样的证明并不代表找到这样的证明很容易。
将分解用作证明机制的一般方式与示例12.29中的情况多少有些区别。我们不是从前提开始并试着证明结论,而是从前提和结论的否定开始,试着得出不含文字的子句。这一子句的值为0,或者说FALSE
。例如,如果我们有子句(p)和,就能以q=r=0应用(12.14),得到子句0。
这种方式之所以有效,是因为12.9节中提到的法则12.19,或者说。在这里,设p 是要证明的命题:对某些前提E1、E2、…、Ek 和结论E 而言,有(E1E2…Ek )→E。那么就是NOT
((E1E2…Ek)→E ),或者利用法则12.24,就是NOT
(NOT
(E1E2…Ek)+E )。若干次应用德摩根律就可以得出p等价于。因此,要证明p,可以改为证明,或者说是证明。也就是说,我们证明了前提和结论的否定一起蕴涵着矛盾。
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: https://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 昌平殡葬| 朝阳殡葬|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878