笔记·逻辑运算
前言 废话
最近我都挺佛系的……没有想着开坑,也没有想填以前的坑。
有时候偶然碰到楼下教室的羿,我回想起自己十月份考CSP-J差3.5分晋级当初就是死在逻辑运算,我没看懂运算符,感觉自己实力还是不够。今天整理房间,才发现自己在疫情期间买的《程序员的数学》还没看几个章节,就躺在床头吃了几个月的灰……
逻辑非
这里把第一章跳过了,因为第一章主要是在讲“数”,比较有价值的是各个进制。但这些大家都会吧?
非运算在编程中是比较常用的逻辑运算。下面是一个确切的例子:
一个词本身就包含了它的相反意义。比如说‘好’,有了像‘好’这样的词,还有什么必要存在另一个词‘坏’?‘不好’一样管用嘛——而且还要更好些,因为它是更准确的反义词。再比如,要是你需要比‘好’语气强一些的词语,有什么道理存在一连串像‘很棒’、‘一流’这样含义不明的无用词语?‘加好’就能涵盖这个意义,如果你需要语气更强一点,就用‘加加好’。当然,我们已经在使用这些词形,但在最终版本的新话里,不会再有别的词。到最后,只用六个词,就能全部涵盖好和坏的意义——实际上只是一个词。你难道看不出这有多妙吗,温斯顿? ——乔治·奥威尔《1984》
那么,当A
为好
这个命题且为真
时,非A
即为不好
。
命题A的非可以有几种写法(摘自维基百科):
$\overline{A}$(A上加一横) //书中对于“逻辑非”运算的写法
$\sim{A}$
$\lnot{A}$ //书中对于“逻辑非”运算的写法,这个比较常用
$NOT A$
$!A$ //源码中经常这么写
以上可以读做”A不成立”或者”非A”。
真值表
用真值表来表示为:
$A$ | $\lnot{A}$ |
---|---|
True | False |
False | True |
真值表没有遗漏,覆盖到了所有情况。
文氏图
由此可得,逻辑非的定义为:
- 当命题$A$为True时,$\lnot{A}$为False
- 当命题$A$为False时,$\lnot{A}$为True
真值表没有遗漏和重复,兼顾完整性和排他性。
此外,双重否定等于肯定,即$\lnot{\lnot{A}} = A$ 。
老大哥$2\times{10^{1024} }$加好!
逻辑与
逻辑与表示两种命题都为真。
A
是“我喜欢蕾姆”这一命题,B
是“我喜欢魂魄妖梦”这一命题。
A
与B
我都符合,我就能自信地说:
我既喜欢蕾姆又喜欢魂魄妖梦!
也可以记作${A}\wedge{B}$。
真值表
$A$ | $B$ | ${A}\wedge{B}$ |
---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
文氏图
如阴影部分,文氏图粗略但直观地展现了A与B的关系。
逻辑或
现在,A
是使用阴阳玉可以退治妖怪
这个命题,B
是使用符卡可以退治妖怪
。
只要A
与B
两个命题中有一个命题为真,那么A或者B
这个命题为真
,即带了阴阳玉或者符卡就能退治妖怪
。这种运算就叫作逻辑或
。
A
或B
,可以表示为${A}\vee{B}$。
真值表
$A$ | $B$ | ${A}\vee{B}$ |
---|---|---|
True | True | True |
False | True | True |
True | False | True |
False | False | False |
文氏图
异或
异或这种运算类似逻辑或,但是,它与逻辑或最大的区别在于,当A
或B
两个命题都为真
时,A异或B
这个命题为假
。
准确来说,A异或B
,当A
与B
之间只有一个命题为真时,结果为真
,当A
命题与B
命题都为真或为假的时候,结果为假
。
写法:${A}\oplus{B}$。
真值表
$A$ | $B$ | ${A}\oplus{B}$ |
---|---|---|
True | True | False |
False | True | True |
True | False | True |
False | False | False |
文氏图
相等
这个是我们生活中接触的最多的运算符。
当A
命题为真,B
命题也为真时,A与B相等
这个命题成立。那么可以得到的是,只有A
与B
都为真或假的时候,A与B相等这个命题
才会成立。
记作:$A=B$
蕴含
可以这样理解:假如小明的爸爸对小明承诺,只要小明离散数学考了100分,就给他买iPhone 7。这个例子中,$p$是“小明离散数学考了100分”,$q$是“小明爸爸给小明买iPhone 7”。假如$p$为真,也就是小明考了100分,如果此时$q$为假,那爸爸的承诺${p}\Rightarrow {q}$就为假。假如$p$为假,那无论小明他爸给不给他买iPhone 7,都不会违背那个承诺,也就是${p}\Rightarrow {q}$为真。因此,只有当$p$为真,$q$为假时,${p}\Rightarrow {q}$才为假。 ——知乎答主 阳光伤了狗眼
我自己当时都没整明白……
真值表
$p$ | $q$ | ${p}\Rightarrow {q}$ |
---|---|---|
True | True | True |
True | False | False |
False | True | True |
False | False | True |
如上,只有$p = True$且$q = False$时,${p}\Rightarrow {q} = False$。除了这一种情况,${p}\Rightarrow {q} = True$。由此可得,只要前提条件$p$为False,则不论$q$的真假,${p}\Rightarrow {q}$的值恒为True。
文氏图
德·摩根定律
类似于乘法中的分配律, $\left ( \neg A \right ) \vee \left ( \neg B \right ) $可以简化为$\neg \left ( A \wedge B \right ) $;而$\left ( \neg A \right ) \wedge \left ( \neg B \right ) $也可以简化为$\neg \left ( A \vee B \right ) $。
- $\left ( \neg A \right ) \vee \left ( \neg B \right ) = \neg \left ( A \wedge B \right ) $
//“非A”或者“非B”等于“非 ‘A与B’ ”
- $\left ( \neg A \right ) \wedge \left ( \neg B \right ) = \neg \left ( A \vee B \right ) $
//“非A” 且 “非B”等于“非 ‘A或B’”
这被称为德·摩根定律。我差点记成摩尔定律……
真值表
$A$ | $B$ | $\left ( \neg A \right ) \vee \left ( \neg B \right ) $ | $\neg \left ( A \wedge B \right ) $ | $\left ( \neg A \right ) \wedge \left ( \neg B \right ) $ | $\neg \left ( A \vee B \right ) $ |
---|---|---|---|---|---|
True | True | False | False | False | False |
True | False | True | True | False | False |
False | True | True | True | False | False |
False | False | True | True | True | True |
对偶性
分别将True和False、$A$和$\neg A$、$\vee$和$\wedge$互换,就能得到该逻辑表达式的否定式。这就是逻辑表达式的对偶性。
包含 未定义 的逻辑
三值逻辑:在程序中,逻辑除了真(True)与假(False),还有一种“得不到值”的情况,即 未定义(Undefined)。
带条件的逻辑与 (&&)
直接上真值表:
$A$ | $B$ | $A\&\&B$ |
---|---|---|
True | True | True |
True | False | False |
True | Undefined | Undefined |
False | True | False |
False | False | False |
False | Undefined | False |
Undefined | True | Undefined |
Undefined | False | Undefined |
Undefined | Undefined | Undefined |
由此可以得出:
- 不包含Undefined时,$A \&\& B = A \wedge B $
- $A$为True时,$A\&\&B = B$;
- $A$为False时,$A\&\&B$恒为False;
- $A$为Undefined时,$A\&\&B$恒为Undefined。
在判断$A\&\&B$的真伪时,应根据条件A判断是否需要B,因此称为带条件的逻辑与。
此外,$A\&\&B \ne B\&\&A$。
1 |
|
未完待续https://img.bkryofu.xyz/
( ⓛ ω ⓛ *)
你的评论将被审核,坏孩子是不被欢迎的。
介于GFW时不时突发恶疾,如果无法正常加载评论系统,请考虑从海外访问。