⊕ B = ( A ⊙ B )ˊ
A ⊙ B = ( A ⊕ B )ˊ
復(fù)合邏輯運(yùn)算的圖像符號和運(yùn)算符號。
2.3 邏輯代數(shù)的基本公式和常用公式
2.3.1 基本公式
(見對偶定理)
2.3.2 若干常用公式
(見邏輯函數(shù)化簡方法之公式化簡法)
2.4 邏輯代數(shù)的基本定理
2.4.1 代入定理(相當(dāng)于初等代數(shù)中的換元)
任何一個(gè)包含邏輯變量A的邏輯等式中,,若以另外一個(gè)邏輯式代入式中所有A的位置,,則等式依然成立。
2.4.2 反演定理
對于任意一個(gè)邏輯式Y(jié),,若將其中所有的 “ · ”換成“ + ”,,“ + ”換成“ · ”,
“ 0 ”換成“ 1 ”,,“ 1 ”換成“ 0 ”,,
原變量換成反變量,反變量換成原變量,,
則得到的結(jié)果就是Yˊ,。
注意兩條規(guī)則: - 先括號的最內(nèi)層,后括號外,;先乘,,后加的運(yùn)算優(yōu)先次序。
- 若反號“ˊ”下面不是單個(gè)變量,,則反號保留不變,。
兩個(gè)得·摩根定理,不過是反演定理的特例而已,。 ( A · B )ˊ = Aˊ+ Bˊ
解釋一下:若將式子右邊Aˊ+ Bˊ用反演定理變換一下,,則得到其反演式 A · B,既然A · B和Aˊ+ Bˊ值相反,,則再對A ·B求反,,其結(jié)果( A · B )ˊ則正好與式子右邊的Aˊ+ Bˊ相等。
( A + B )ˊ = Aˊ· Bˊ
2.4.3 對偶定理
對偶式 對于任意一個(gè)邏輯式Y(jié),,若將其中所有的
“ · ”換成“ + ”,“ + ”換成“ · ”,,
“ 0 ”換成“ 1 ”,,“ 1 ”換成“ 0 ”,,
則得到的結(jié)果就是Y的對偶式。
注意:與反演定理的區(qū)別在于,,沒有涉及原變量和反變量的互換,。
對偶定理 若兩邏輯式相等,則它們的對偶式也相等,。
8對對偶式的例子(來自基本公式,,每行左右兩式互為對偶式) 0 · A = 0 1 + A = 1
1 · A = A 0 + A = A
A · A = A A + A = A
A · Aˊ= 0 A + Aˊ= 1
A · B = B · A A + B = B + A
A · ( B · C ) = ( A · B ) · C A + ( B + C ) = ( A + B ) + C結(jié)合律
A · ( B + C ) = A · B + A · C A + B · C = ( A + B ) · ( A + C )分配律
( A · B )ˊ = Aˊ+ Bˊ ( A + B )ˊ = Aˊ· Bˊ得·摩根定律(注意,這兩個(gè)等式整體上互為對偶式,。每個(gè)式子的左右是反演關(guān)系再求反,,對比反演定理。)
2.5 邏輯函數(shù)及其表示方法
2.5.1 邏輯函數(shù)
【邏輯函數(shù)(LogicFunction),,就是以邏輯變量(A,、B、C,、Y……)為自變量&因變量,,以邏輯運(yùn)算(·與、或+,、非ˊ)作為映射方式(F)的函數(shù),。】寫作:
Y = F(A,B,C……)
因其定義域和值域都是{0,1},,輸入和輸出的取值都只有0和1兩種狀態(tài),,故又稱二值邏輯函數(shù)。
【問】為什么邏輯函數(shù)里沒有蘊(yùn)含運(yùn)算符(->),?
【答】函數(shù)的等號(=),、或曰映射關(guān)系本身,就表明了蘊(yùn)含關(guān)系(->),,即“若自變量,,則因變量”也就是說函數(shù)關(guān)系體現(xiàn)了客觀世界中的因果關(guān)系。所謂數(shù)學(xué)建模,,就是在之前沒有認(rèn)識到有聯(lián)系的自變量(輸入)和因變量(輸出)之間,,用函數(shù)的形式,建立起因果關(guān)系,。
2.5.2 邏輯函數(shù)的表示方法(4種/6種)
常用的邏輯函數(shù)表示方法有6種:邏輯真值表,、邏輯函數(shù)式、邏輯圖,、波形圖,、卡諾圖、硬件描述語言。
一,、 邏輯真值表(枚舉法)
將輸入變量所有的取值下,,對應(yīng)的輸出值找出,列成表格,,即成邏輯真值表,。
二、邏輯函數(shù)式(函數(shù)法)
又稱為邏輯式或函數(shù)式,。將輸出&輸出之間的邏輯關(guān)系,,寫成與、或,、非等運(yùn)算的組合式,,即邏輯代數(shù)式。
【所謂的用布爾代數(shù)的符號(與或非算符),,表示邏輯關(guān)系】
如舉重裁判規(guī)則,,就可以用邏輯函數(shù)式對應(yīng)的表示出來。三個(gè)裁判各自的判決,,作為3個(gè)輸入變量,;最終的裁判結(jié)果,作為輸出,;而從輸入到輸出的邏輯關(guān)系,,則用邏輯運(yùn)算符表示。即:
Y = A · (B + C) (見書P29-30)
三,、邏輯圖(Logic Diagram)
將邏輯函數(shù)式中,,各變量之間的與、或,、非等邏輯關(guān)系,,用圖形符號表示出來,就可以畫出表示函數(shù)關(guān)系的邏輯圖,。即把邏輯運(yùn)算符,,替換為圖形符號。
上面兩圖,,即是把邏輯函數(shù)式f = xˊ·y + x · yˊ + x ·z中的與(·),、或(+)、非(·)運(yùn)算符,,替換成圖形符號后,,形成的邏輯圖。
(左圖保留了非(·)運(yùn)算符,,并沒有替換,;右圖把3種運(yùn)算符都替換了)
原圖在此:
http://book.51cto.com/art/200901/107671.htm四,、波形圖(Waveform)、時(shí)序圖(Timing Diagram)
將邏輯函數(shù)輸入變量的每一種可能的取值,,與對應(yīng)的輸出值,,按照時(shí)間順序依次排列起來,就成為表示該邏輯函數(shù)的波形圖,。
(見教材P31)
五、各種表示方法間的轉(zhuǎn)換
從真值表——>邏輯函數(shù)式的一般方法(教材P32)【相當(dāng)于從分散的實(shí)驗(yàn)數(shù)據(jù)——>數(shù)學(xué)模型,,居然有一般方法,,比較強(qiáng)!】
1.從真值表中,,找出使得輸出變量Y = 1的輸入變量所在的行,,以及每行輸入變量取值的組合;
2.將1種所找出的輸入變量的各行組合,,對應(yīng)于一個(gè)乘積項(xiàng),;其中,取值為1的輸入變量用原變量,,取值為0的輸入變量用反變量,。
3.將這些乘積項(xiàng)相加,即得到Y(jié)的邏輯函數(shù)式,。
邏輯函數(shù)式<——>邏輯圖(教材P33)【函數(shù)式和邏輯圖,,直接體現(xiàn)了輸入和輸出的邏輯關(guān)系。二者高度同構(gòu),,可直接轉(zhuǎn)換,。函數(shù)式中的運(yùn)算符,對應(yīng)于邏輯圖的圖形符號,?!?br>轉(zhuǎn)換時(shí),注意運(yùn)算優(yōu)先級,。
真值表<——>波形圖【真值表&波形圖,,是用枚舉法列出所有取值,但不能直接看出輸入和輸出的邏輯關(guān)系,。二者高度同構(gòu),,可直接轉(zhuǎn)換。真值表的每一行,,對應(yīng)于波形圖的每一列,。
2.5.3 邏輯函數(shù)的兩種標(biāo)準(zhǔn)形式 —— 最小項(xiàng)之和 & 最大項(xiàng)之積
一、最小項(xiàng)
在一個(gè)n個(gè)邏輯變量的邏輯函數(shù)中,,若某乘積項(xiàng)m中包含所有n個(gè)變量,,且這n個(gè)變量均以原變量或反變量的形式,,在m中出現(xiàn)且只出現(xiàn)一次,則稱乘積項(xiàng)m為該組變量的最小項(xiàng),。
例:A,、B、C三個(gè)變量的最小項(xiàng)有:AˊBˊCˊ,、AˊBˊC,、AˊBCˊ、ABˊCˊ,、AˊBC,、ABˊC
、ABCˊ ,、ABC,,共8個(gè),即2^3個(gè)最小項(xiàng),。
n個(gè)變量,,應(yīng)有2^n個(gè)最小項(xiàng)。
二,、最大項(xiàng)(略,,教材P36)
三、最小項(xiàng)之和
(待續(xù))
四,、最大項(xiàng)之積(略,,教材P37)
2.6 邏輯函數(shù)的化簡方法
(待續(xù))
2.7 無關(guān)項(xiàng)及函數(shù)化簡
2.7.1 邏輯函數(shù)中的無關(guān)項(xiàng):約束項(xiàng)和任意項(xiàng)
約束某些邏輯函數(shù),它們的輸入變量(A,、B,、C……)的取值不是任意的。對輸入變量取值所加的限制,,成為約束,。將這一組變量,稱為具有約束的一組變量,。也就是說,,輸入變量只能取特定的一些值,或特定的一組值,。
如:三個(gè)邏輯變量A,、B、C,,分別表示一臺電動(dòng)機(jī)的正轉(zhuǎn),、反轉(zhuǎn)和停止的命令,A=1表示正轉(zhuǎn),,B=1表示反轉(zhuǎn),,C=1表示停止,。【問】那A=0,、B=0,、C=0時(shí),表示什么呢,?也許是無意義,,或預(yù)留。
而任一時(shí)刻,,電動(dòng)機(jī)只能執(zhí)行其中的一個(gè)命令,,所以,不允許兩個(gè)以上的變量同時(shí)為1,,這就是對ABC這三個(gè)輸入變量取值的約束。
也就是說,,A,、B、C三個(gè)輸入變量只能是以下三種取值的組合(并對應(yīng)3個(gè)邏輯函數(shù)):
A=1,,B=0,,C=0,即100,;邏輯函數(shù):Y1 = ABˊCˊ(正轉(zhuǎn))
A=0,,B=1,C=0,,即010,;邏輯函數(shù):Y2 = AˊBCˊ(反轉(zhuǎn))
A=0,B=0,,C=1,,即001;邏輯函數(shù):Y3 = AˊBˊC(停止)
其它5種取值組合,,000(即A=0,、B=0、C=0這種取值組合是不允許出現(xiàn)的),011,101,110,111,,則不被允許,。這就是對A、B,、C這3個(gè)變量的約束條件,。
如何表示約束條件? 用上面的自然語言顯然很不方便,,最后用簡單,、明了的邏輯語言表示約束條件,。
【可見形式系統(tǒng)、符號化的數(shù)理邏輯,,較之自然語言的優(yōu)勢,。】
如果某些輸入變量的取值,,不允許出現(xiàn),;可以用這組變量所對應(yīng)的最小項(xiàng)恒等于0的方式,來表示這些輸入變量的取值不能出現(xiàn),。
【問】為什么可以用變量對應(yīng)的最小項(xiàng)恒等于0的方式,,來表示約束條件呢?
【答】因?yàn)槊恳唤M輸入變量的取值,,都對應(yīng)1個(gè),、且只有1個(gè)的最小項(xiàng)(使其取值為1)——這組輸入變量取值,可以使得該最小項(xiàng)的各個(gè)因子的值都為1,,那么整個(gè)乘積項(xiàng),、也即是最小項(xiàng)的取值為1。
那么,,如果某最小項(xiàng)恒等于0,,則表示那個(gè)可以使得這個(gè)最小項(xiàng)的取值為1的那組輸入變量的取值,是不允許出現(xiàn)的,。
則上面例子中的5個(gè)約束條件,,就可以用邏輯語言表示為:
AˊBˊCˊ=0
AˊBC =0
ABˊC =0
ABCˊ =0
ABC =0
【以第4個(gè)約束條件為例:使得最小項(xiàng)ABCˊ=1的那組輸入變量的取值為:A=1、B=1,、C=0,,如果ABCˊ=0,即ABCˊ恒等于0,,也即使得最小項(xiàng)ABCˊ為1的那組輸入變量的取值,,即A=1、B=1,、C=0,,是不允許出現(xiàn)的?!?br>且,,以上5個(gè)約束條件可以合并在一起表示:
AˊBˊCˊ + AˊBC + ABˊC + ABCˊ + ABC = 0
【因?yàn)槊總€(gè)最小項(xiàng)都恒等于0,那么他們的和也恒等于0】
約束項(xiàng)
前面那些恒等于0的最小項(xiàng),,即邏輯函數(shù)的約束項(xiàng),。
【一定區(qū)分:約束項(xiàng)(如ABC)是最小項(xiàng),是自變量的乘積,;而約束條件約束的,,是輸入變量(A,、B、C)的取值,。用約束項(xiàng)恒等于0(ABC=0)的方式,,來表示使得這個(gè)約束項(xiàng)取值為1的那組輸入變量的取值,是不允許出現(xiàn)的,?!?br>因?yàn)榧s束項(xiàng)的值恒為0,所以既可以將約束項(xiàng)寫進(jìn)邏輯函數(shù)式,,也可以從邏輯函數(shù)式中刪除約束項(xiàng),,而不影響函數(shù)取值。
【約束項(xiàng)也是最小項(xiàng),,就像初等代數(shù)中的項(xiàng)一樣,,即各個(gè)因式相加,則加上和減去一個(gè)0,,整個(gè)式子的值是不變的,。】
任意項(xiàng)
在輸入變量的某些取值下,,函數(shù)的輸出值是0還是1皆可,并不影響整個(gè)電路的功能,?!具@個(gè)局部函數(shù),此時(shí)在整個(gè)電路中,,已經(jīng)不起作用】,。將在這些變量取值下,對應(yīng)的取值為1的那些最小項(xiàng),,稱為任意項(xiàng),。
【輸入變量的取值是(部分)固定的,函數(shù)輸出可能是0,,可能是1,,但這已無所謂。當(dāng)輸入變量取這些值的時(shí)候,,肯定有一個(gè)對應(yīng)的最小項(xiàng)可以取值為1,,它的取值也是固定的。那么,,這個(gè)最小項(xiàng)即為任意項(xiàng),。】
以之前的電動(dòng)機(jī)為例,。如果把電路設(shè)計(jì)成A,、B,、C這3個(gè)輸入變量出現(xiàn)兩個(gè)以上同時(shí)為1或者全部為0時(shí),電路自動(dòng)切斷供電電源,,則這時(shí)候電路中的邏輯函數(shù)Y1,、Y2、Y3等于0還是1已經(jīng)無關(guān)緊要,。
【問】為什么輸入變量確定了,,函數(shù)輸出還可能有0有1呢?
【答】其實(shí),,輸入變量只是部分固定,。如:當(dāng)A和B都取1時(shí),電路已經(jīng)切斷電源,,此時(shí)C的輸入值有可能是0,,有可能是1。那么最小項(xiàng)ABC的值,,也可能是0,,也可能是1。當(dāng)C= 0時(shí),,ABC = 0,; 當(dāng)C = 1時(shí),ABC = 1,。其實(shí),,這個(gè)時(shí)候變量C的取值,也已經(jīng)沒有意義了,。
【當(dāng)然,,此時(shí)邏輯函數(shù)Y1 =ABˊCˊ,肯定取值為0,。但是,,這個(gè)時(shí)候,函數(shù)Y1是不是輸出正轉(zhuǎn)命令,,已經(jīng)沒有意義了,,因?yàn)檎麄€(gè)電路已經(jīng)切斷電源了。也就是說,,函數(shù)Y1的取值已經(jīng)沒有意義了,。
那么,如果我們把(C=1時(shí)的)最小項(xiàng)ABC,,加入函數(shù)Y1,,則Y1 = ABˊCˊ + ABC = 0 + 1 =1;如果不把最小項(xiàng)ABC,加入函數(shù)Y1,則Y1 = ABˊCˊ = 0,。
但是,,因?yàn)樵谳斎胱兞緼和B都取1的情況下,函數(shù)Y1的取值是1是0,,已經(jīng)沒有意義了,,則函數(shù)Y1是否加上最小項(xiàng)ABC,也已經(jīng)沒有意義了——故而,,稱最小項(xiàng)ABC是函數(shù)Y1的任意項(xiàng),。】
無關(guān)項(xiàng)
約束項(xiàng)和任意項(xiàng),,統(tǒng)稱為邏輯函數(shù)式中的無關(guān)項(xiàng),。這里說的無關(guān)項(xiàng),是指是否把這些最小項(xiàng)寫入邏輯函數(shù)式,,無關(guān)緊要,,可以寫入,也可以刪除,。
【但是無關(guān)緊要的原因不同,。約束項(xiàng)是因?yàn)楹愕扔?,加上0或減去0,,整個(gè)函數(shù)式的值不變,;而任意項(xiàng)是說,不管任意項(xiàng)的取值是0還是1,,即使任意項(xiàng)的增刪使得整個(gè)函數(shù)式的值變化了,,也無所謂。因?yàn)槭沟迷撊我忭?xiàng)對應(yīng)的(即使該任意項(xiàng)取值為1的)那組輸入變量的取值,,使得整個(gè)函數(shù)式?jīng)]用了,?!?br>
所用教材:《數(shù)字電子技術(shù)基礎(chǔ)(第5版)》 作者:閻石
http://book.douban.com/subject/1836439/ ——>——>