数理逻辑在程序中的应用

本文介绍了数理逻辑在程序中的应用,特别是命题逻辑如何体现在条件控制语句中。通过逻辑代数和命题代数的概念,阐述了逻辑运算的性质和定律,并讨论了在编写if...else...和switch语句时如何利用命题逻辑确保程序逻辑的准确性。文中还列举了重要的逻辑等值式,如德摩根律和蕴涵等值式,强调了等值演算在简化代码逻辑中的作用。

1、数理逻辑简介

       数理逻辑又称符号逻辑、理论逻辑。它既是数学的一个分支,也是逻辑学的一个分支。是用数学方法研究逻辑或形式逻辑的学科。简而言之,数理逻辑就是精确化、数学化的形式逻辑。

  逻辑是指事物的因果关系,或者说条件和结果的关系,这些因果关系可以用逻辑运算来表示,也就是用逻辑代数来描述。事物往往存在两种对立的状态,在逻辑代数中可以抽象地表示为 0 和 1 ,称为逻辑0状态和逻辑1状态。逻辑代数中的变量称为逻辑变量,用大写字母表示。逻辑变量的取值只有两种,即逻辑0和逻辑1,0 和 1 称为逻辑常量,并不表示数量的大小,而是表示两种对立的逻辑状态。
逻辑代数又称为布尔代数,逻辑代数也叫做开关代数。他最初的产生思想是利用计算的方法来代替人们思维中的逻辑推理过程,直到1847年,英国数学家布尔发表了《逻辑的数学分析》,建立了“布尔代数”,并创造一套符号系统,利用符号来表示逻辑中的各种概念,初步奠定数理逻辑的基础。它的基本运算是逻辑加、逻辑乘和逻辑非,也就是命题演算中的“与”、“或”、“非”,运算对象只有两个数 0和 1,相当于命题演算中的“真”和“假”。逻辑代数的运算特点如同电路分析中的开和关、高电位和低电位,利用电子元件可以组成相当于逻辑加、逻辑乘和逻辑非的门电路,就是逻辑元件。还能把简单的逻辑元件组成各种逻辑网络,这样任何复杂的 逻辑关系都可以有逻辑元件经过适当的组合来实现,从而使电子元件具有逻辑判断的功能。

       命题逻辑等值演算就是命题代数,命题代数是一种特殊的逻辑代数。我们把命题看作运算的对象,如同代数中的数字、字母或代数式,而把逻辑连接词看作运算符号,就像代数中的“加、减、乘、除”那样,那么由简单命题组成复合和命题的过程,就可以当作逻辑运算的过程,也就是命题的演算。这样的逻辑运算也同代数运算一样具有一定的性质,满足一定的运算规律。例如满足交换律、结合律、分配律,同时也满足逻辑上的同一律、吸收律、双否定律、狄摩根定律、三段论定律等等。利用这些定律,我们可以进行逻辑推理,可以简化复合命题,可以推证两个复合命题是不是等价,也就是它们的真值表是不是完全相同等等。设W是某一语言中所有命题构成的集合,且设T与F分别为真、假命题,∨、∧、┐分别为命题的析取、合取、否定联结词,则布尔代数〈W,∨,∧,,T,F〉就是命题代数。

       逻辑代数与命题代数有所不同。它可以把1和0分别解释为命题的真和假,令变元只取1和0为值,即令其为二值的真值变元,并把、∨和∧解释为真值运算,从而得到一种提供命题真值运算定律的真值代数。而且,在二值的真值代数中特别可以有定理“p=1或p=0”,但在一般的命题代数和类代数中却没有与此相应的定理。

       类代数就是集合代数。从逻辑代数、命题代数和类代数让我想到了代数结构(代数系统),布尔代数、集合代数、命题代数都是带两个二元运算和一个一元运算的代数结构。这是抽象代数中的内容,以后有时间再进行总结。

2、程序中的命题逻辑

       逻辑代数在程序中无处不在,而一阶逻辑在人工智能中也被广泛应用。

       程序的结构主要有顺序结构,条件结构和循环结构。数理逻辑在程序中的应用主要是条件结构,体现在语言上就是if...else...和switch控制语句。if后面括号里面的表达式就是命题,当命题为真时,执行紧跟后面的语句;为假时,执行else后面的语句。在写程序时,一定要注意复合命题的真假对应了哪些情况,熟悉命题公式的真值表,从而使自己的程序逻辑精确无误。switch语句只是分支语句,进行多项选择,并没有对命题变量的真假做出判断。有时需要对一些复杂的复合命题进行等值演算之后(也就是化简公式),再将命题变项写入条件中进行判断,这是为了简化判断逻辑以及代码的复杂度。在写if判断语句时,主要是根据情况的真假和条件,构造判断语句。

        下面列几个重要的等值式:

德摩根律:┐(A∧B)┐A┐B,┐(AB)┐A┐B

蕴涵等值式A→B⇔(A∨B)

等价等值式A↔B⇔(A→B)∧(B→A)

假言异位A→B⇔B→A

等价否定等值式A↔B⇔A↔B

归谬论(A→B)∧(A→B)⇔A

等值演算:由已知的等值式推算出新的等值式的过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值