离散数学2:基本概念

离散数学2:基本概念

公式层次:单个的命题变项A是0层公式。

如果A是n层公式,B是m层公式,那么¬A是n+1层公式;C=A∧B,C=A∨B,C=A→B,C=A↔B的层次是:max(n,m)+1。

比如(¬(p→¬q) ∧((r∨s) ↔¬q)的层次计算就是:

0   1     0  0     1

2         1      1

3             2

4

4层公式

设p1,p2,p3…pn是公式A中的全部与命题变项,那么给它们各指定一个真值,这就是A的一个赋值/解释。若使A=1,则是成真赋值,否则就是成假赋值。

所以含有n(n≥1)个命题变项的公式有2n个不同赋值。

真值表:把命题公式A在所有赋值下取值情况列成的表。

例:写出(¬p∧q)→¬r的真值表,并求它的成真赋值和成假赋值。


p   q   r


¬p


¬p∧q


¬r


(¬p∧q) →¬r


0   0   0


1


0


1


1


0   0   1


1


0


0


1


0   1   0


1


1


1


1


0   1   1


1


1


0


0


1   0   0


0


0


1


1


1   0   1


0


0


0


1


1   1   0


0


0


1


1


1   1   1


0


0


0


1

所以成假赋值为011。000,001,010,100,101,110,111为成真赋值。

如果A在所有赋值下均为真,则A是重言式或永真式,如果所有赋值下均为假,则为矛盾式或永假式。如果A不是矛盾式,那A就是可满足式。

如果A是可满足式,那么A至少有一个成真赋值。如果A是可满足式,而且有至少一个成假赋值,则A是非重言式的可满足式。

(真值表最后一列全1则为重言式,全0则为矛盾式,至少有1个1,则为可满足式)

命题逻辑等值演算

如果A和B构成的A→B是重言式,那么A与B是等值的,记作A⇔B。可以用真值表确定A↔B是不是重言式,来判断A是否与B等值,也可以判断A与B的真值表是否相同来确定A⇔B还是A?B。

16组常用的重要等值式模式:

1、A⇔¬¬A

2、A⇔A∨A,A⇔A∧A

3、A∨B⇔B∨A,A∧B⇔B∧A

4、(A∨B) ∨C⇔A∨(B∨C),(A∧B) ∧C⇔A∧(B∧C)

5、A∨(B∧C)⇔(A∨B) ∧(A∨C),A∧(B∨C)⇔(A∧B) ∨(A∧C) 分配率

6、¬(A∨B)⇔¬A∧¬B,¬(A∧B)⇔ ¬A∨¬B

7、A∨(A∧B)⇔A,A∧(A∨B)⇔A 吸收率

8、A∨1⇔1,A∧0⇔0

9、A∨0⇔A,A∧1⇔A

10、A∨¬A⇔1

11、A∧¬A⇔0

12、A→B⇔¬A∨B

13、A→B⇔(A→B) ∨(B→A)

14、A→B⇔¬B→¬A

15、A↔B⇔¬A↔¬B

16、(A→B) ∧(A→¬B)⇔ ¬A

时间: 2024-10-06 17:29:39

离散数学2:基本概念的相关文章

离散数学的一些概念

1.前束范式 一个公式,如果量词均在全式的开头,它们的作用域延伸到整个公式的末尾,则称为是前束范式.例如:(?x)(?y)(?z)(Q(x,y)→R(z))?的地方是并或交.任何一个谓词公式都有一个前束范式等价. 2.容斥原理 n个集合的并集的元素的个数=每个集合元素的个数和-两两集合交+三三集合交+(-1)^n+1n个集合交. 比如对于n=2来说,|A+B|=|A|+|B|-|A∩B| 3.集合恒等式 幂等律.交换律.结合律.分配律.德摩根率.吸收率.同一律. 4.序偶<a,b> 笛卡儿积是

如何学习离散数学和在计算机科学中应用

引言 离散数学的定义及其在各学科领域的重要作用.离散数学(Discrete mathematics)是研究离散量的结构及其相互关系的数学学科,是现代数学的一个重要分支.它在各学科领域,特别在计算机科学与技术领域有着广泛的应用,同时离散数学也是计算机专业的许多专业课程,如程序设计语言.数据结构.操作系统.编译技术.人工智能.数据库.算法设计与分析.理论计算机科学基础等必不可少的先行课程.通过离散数学的学习,不但可以掌握处理离散结构的描述工具和方法,为后续课程的学习创造条件,而且可以提高抽象思维和严

程序猿天生就是查理&amp;#183;芒格

首先简单的介绍一下查理·芒格.就是巴菲特的合伙人,当然,这个介绍就足够了.原因,你懂的.好了.開始正文: 写这个并非为了自夸,也不是为了讨好这些自诩为码农的怪人.以下的理由应该是站得住脚的: 1)先解决哪些具有显而易见的答案的问题 这就是我们做事的风格,不管学会了多少门语言,我们新学一门语言的时候都是从Hello World開始.2)有扎实的数学思维(运用数学思维)      一般程序猿都是计算机科班出身.计算机专业一般数学都要求非常高(高等数学,排列组合.数字逻辑,离散数学,统计概念等):3)

程序员天生就是查理&#183;芒格

首先简单的介绍一下查理·芒格,就是巴菲特的合伙人,当然,你懂的.好了,开始正文: 写这个并不是为了自夸,也不是为了讨好这些自诩为码农的怪人,下面的理由应该是站得住脚的: 1)先解决哪些具有显而易见的答案的问题 这就是我们做事的风格,无论学会了多少门语言,我们新学一门语言的时候都是从Hello World开始.2)有扎实的数学思维(运用数学思维)      一般程序员都是计算机科班出身,计算机专业一般数学都要求很高(高等数学,排列组合,数字逻辑,离散数学,统计概念等):3)天生的抽象思维能力(运用

白话数据结构之最小生成树

一:基本概念 1:什么是生成树? 对于图G<V,E>,如果其子图G'<V',E'>满足V'=V,且G'是一棵树,那么G'就是图G的一颗生成树.生成树是一棵树,按照树的定义,每个顶点都能访问到任何一个其它顶点.(离散数学中的概念),其中V是顶点,E是边,通俗来讲生成树必须包含原图中的所有节点且是连通的 比如 2:最小生成树 一个无向连通图G=(V,E),最小生成树就是联结所有顶点的边的权值和最小时的子图T,此时T无回路且连接所有的顶点,所以它必须是棵树.就是将原图的n个顶点用 n-1

学计算机的值得一看的文章,跟帖也很有水平啊

转自http://blog.csdn.net/Xviewee/article/details/1606247 回复CSDN和KAOYAN诸位网友的几点看法,(为避免吵架,郑重声明,本人不是高手,只是有感而发的一点个人陋见,欢迎指正,事先感谢): 就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可. 如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择.因为计算机学院才能让你在理论上更上一层楼.软件学院从教学计划上就没有

java编译器知识

代码编译器: 代码: 编译就是讲一种代码编译成计算机可以理解的指令. ===================================================================================================== java的重排序:(JVM通过偏序关系保证重排序的指令符合业务需求) 代码首先是来表示一个处理数据的过程,这个过程就是通过计算机来执行,但是计算机现在的CPU是采取流水线进行多线程的执行,这样计算机的代码必选也是可以多线程进行

拓扑排序的原理及事实上现

本文将从下面几个方面介绍拓扑排序: 拓扑排序的定义和前置条件 和离散数学中偏序/全序概念的联系 典型实现算法 Kahn算法 基于DFS的算法 解的唯一性问题 实际样例 取材自下面材料: http://en.wikipedia.org/wiki/Topological_sorting http://en.wikipedia.org/wiki/Hamiltonian_path 定义和前置条件: 定义:将有向图中的顶点以线性方式进行排序.即对于不论什么连接自顶点u到顶点v的有向边uv,在最后的排序结果

拓扑排序的原理及其实现

本文将从以下几个方面介绍拓扑排序: 拓扑排序的定义和前置条件 和离散数学中偏序/全序概念的联系 典型实现算法 Kahn算法 基于DFS的算法 解的唯一性问题 实际例子 取材自以下材料: http://en.wikipedia.org/wiki/Topological_sorting http://en.wikipedia.org/wiki/Hamiltonian_path 定义和前置条件: 定义:将有向图中的顶点以线性方式进行排序.即对于任何连接自顶点u到顶点v的有向边uv,在最后的排序结果中,

老夫决定把这九年的编程经验传授给你。

前语:不要为了读文章而读文章,一定要带着问题来读文章,勤思考. 作者:刘超 来源:http://1t.click/y8P 时间一晃而过,大学毕业转眼间已经工作 9 年了,总结一下自己这些年来的感受. 与程序打交道的人生,是简单的人生 一次做规划局的项目,规划局的职员很是钦佩地说:"你们真了不起,在电脑上敲敲键盘就能做出软件来." 规划局领导说:"跟电脑打交道是最简单的,难的是跟人打交道." 领导的话很有深意,一语道破了本质,做程序的人,是比较简单的. 不懂什么叫编程