1.1 邏輯的抽象與表示
本書提到的“0”“1”不是數值型數據,是表示兩種對立狀態的數字。
如果某電路中只有兩種穩定的電壓:高電平和低電平,在研究時可用數字0、1與之一一對應表示。從而將對電平的研究轉化為對數字0、1的研究,將對電路內部規律的研究轉換為由數字延展的數學規律的研究,這種電路稱為數字電路。在數字電路中只存在高電平和低電平兩種對立的、相反的電平狀態,表示它們的0、1兩個數值并不代表具體的數值大小,而是相反的、對立的兩種條件或狀態。
對于邏輯分析過程,一般要根據多個條件的滿足與否,決定結果的成立與否,每個條件具有“滿足”和“不滿足”兩種取值,結果具有“成立”和“不成立”兩種取值,條件與結果都具有二值性,所以條件和結果都可以用0、1兩個數字進行表示。
無論是電路中的0、1,還是邏輯分析過程中的0、1,都是某個過程中對立且僅有的兩個邏輯常量,也就是說常量具有二值性,而且是相反的兩種條件或狀態。這種常量存在于邏輯問題的抽象過程中。0、1是邏輯學的兩個常量,也是全部常量。
我們可以通過對邏輯學的研究,尋找一定的邏輯規律,同時研究數字電路與邏輯學的關系,研究是否可以用邏輯學的規律去實現數字電路的分析與設計。
1.1.1 邏輯的抽象
世界上的所有事物與過程都存在著一定的矛盾,矛盾是永恒存在和對立的。我們針對對象和過程尋找矛盾產生的條件,也可根據矛盾存在的原因推理矛盾可能存在的結果,這個過程稱為邏輯推理過程,也是邏輯問題具體抽象的過程,即把研究對象和事件過程分解為邏輯條件、邏輯結果及條件和結果間的邏輯關系(原因)的抽象過程。
上述描述可歸結為邏輯問題。邏輯就是針對研究對象的研究(抽象)性思維規律,邏輯學就是關于思維規律的學說。研究對象可以是人認識的一切東西,包括客觀的事物、現象,人的感覺、表象、思想意識、情感意志等。抽象思維規律是指邏輯的研究規則,就是研究時有理有據,有原因有結果,有條件有結果。從狹義來講,邏輯就是指形式邏輯或抽象邏輯,是指人的抽象思維的邏輯;廣義來講,邏輯還包括具象邏輯,即人的整體思維的邏輯。就本書的研究而言,是利用狹義的邏輯進行邏輯研究的,狹義的邏輯即抽象邏輯。
抽象是從眾多的事物中抽取出共同的、本質性的特征,而舍棄其非本質的特征。例如蘋果、香蕉、生梨、葡萄、桃子等,它們共同的特性就是水果。得出水果概念的過程,就是一個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的部分。共同特征是指那些能把一類事物與它類事物區分開來的特征,這些具有區分作用的特征又稱本質特征。因此抽取事物的共同特征就是抽取事物的本質特征,舍棄非本質的特征。所以抽象的過程也是一個裁剪的過程。在抽象時,同與不同,取決于從什么角度上來抽象。抽象的角度取決于分析問題的目的。
而抽象邏輯則是通過調查研究,根據分析結果的需要,去抽象所有對象的共同特征,并根據共同特征存在與否(存在條件),確定結果的成立與否(結果狀態),即將具體化的邏輯推理過程轉換為條件決定結果的形式化表示過程。條件決定結果的依據,是抽象邏輯中的研究規律,這里可稱為邏輯關系,邏輯關系是邏輯學中的運算關系。
【例1.1】判斷蘋果、桃子、菠菜是否都是水果?找出邏輯條件、邏輯結果及邏輯關系。
分析:從題目要求來看,我們要判斷的結果是“蘋果、桃子、菠菜是否都是水果?”,這個結果具有兩種取值:是水果或不是水果,這是指邏輯結果。那么如何根據邏輯條件判斷該結果呢?顯然要同時判別蘋果是否為水果、桃子是否為水果、菠菜是否為水果,每一個判別只有兩種取值:滿足這個條件還是不滿足條件,這兩個為邏輯條件的對立取值。根據三個邏輯條件的滿足與否決定邏輯結果是否都是水果,這就是邏輯關系。如果三個條件都是水果,則邏輯輸出結果都是水果。
對于上述邏輯結果、邏輯條件、邏輯關系的分析過程,就是將事件進行邏輯抽象的過程。我們可以將該抽象過程以二維表格的形式體現,該表格首先羅列出邏輯條件的所有可能取值,然后根據邏輯關系計算每種取值的結果。邏輯條件有3個,每個邏輯條件有兩種取值,根據乘法定理,邏輯條件取值共有2 ×2 ×2 = 8種,三個條件從不滿足條件開始取值,采用從高位到低位、從不滿足到滿足的交替變化,從而獲得表1-1所示的水果判別邏輯抽象表。
表1-1 水果判別邏輯抽象表

續表

針對表中左側三列條件的取值,根據邏輯關系逐行進行判斷,只有最后一行都滿足條件,符合邏輯關系的要求,所以輸出結果為是,其他輸出結果為否;而因為菠菜是蔬菜而不是水果,滿足倒數第2行的條件,因此實際的邏輯結果為否。這種用二維表格進行邏輯關系抽象的方法比較直觀,表示條件全面,便于觀察,能夠對抽象過程的反映一目了然。
上述抽象過程存在一個問題,就是蘋果、桃子、菠菜可以直接指定為水果、水果、蔬菜,而分析過程需要逐一列舉其是否為水果,這個過程是否是多余的呢?這里有先入為主的原因存在,是因為我們知道它們是否是水果,而判斷過程應該把它們看做是未知的,需要進行調查研究與取證,去證明它們在抽象過程中應該具有的所有可能邏輯條件,用客觀分析代替主觀判斷,實現邏輯抽象的完整性。
仸何事物和過程都可以進行邏輯抽象。
物體可以看做是由客觀存在的“元素”組成的,元素“存在與否”是邏輯狀態,用1表示“有元素”,而用0表示“無元素”,用1、0代替物體中的元素,則將物體轉換為邏輯表示。例如,對蘋果圖像進行等仹分割,分解為多個方形元素,對屬于蘋果組成部分的元素用1表示,不屬于蘋果組成部分的元素用0表示,以行列形式排列的二進制數,就是蘋果圖形的邏輯表示。
過程可以抽象為由邏輯條件去推導邏輯結果的實現,根據邏輯條件推導出邏輯結果的依據稱為邏輯關系。邏輯條件與邏輯結果的取值具有二值性,也就是取值是對立的、相反的。三評委表決過程是根據評委“投票與否”“同意與否”確定表決是否通過,采用少數服從多數的邏輯關系。邏輯條件是指每個評委同意與否,3個評委對應 3 個邏輯條件,邏輯條件的取值是“同意與不同意”,或者是“投票與不投票”;邏輯結果是表決結果通過或不通過。
邏輯抽象是實現邏輯問題的主要方法。
1.1.2 邏輯的數字表示
通過對事物或過程進行邏輯抽象,可以得到邏輯條件、邏輯結果及邏輯關系,而邏輯條件和邏輯結果具有二值性。根據前面所述,可以用數字0、1代替邏輯條件或邏輯結果的兩種對立的取值,用數字表示文字含義,可以把語言化的邏輯分析過程轉換為邏輯數學的分析過程,在研究時更容易記憶和尋找規律,這門數學稱為邏輯代數。和代數一樣,邏輯代數具有常量、變量、運算符、表達式、定律與規則等。其中常量0、1不是兩個數值,表示條件“是否滿足”或結果“是否發生”的兩種狀態。
數字0、1是兩個相對立的數字,邏輯條件有兩種相對立的取值,它們之間可以一一對應表示。如果用數字“0”表示不滿足的條件取值,用數字“1”表示滿足的條件取值,這稱為正邏輯表示法;反之,如果用數字“1”表示不滿足的條件取值,用數字“0”表示滿足的條件取值,稱為負邏輯表示法。本書一般采用正邏輯表示法。
采用正邏輯表示法,用數字“0”表示邏輯條件或邏輯結果的“否”,用數字“1”表示邏輯條件或邏輯結果的“是”。而對于“蘋果滿足為水果與否”等3個邏輯條件,以及“是否全是水果”的邏輯結果,可以分別用未知邏輯變量A、B、C、F表示,則把表1-1轉換為正邏輯表示的水果判別邏輯表,如表1-2所示。
表1-2 正邏輯表示的水果判別邏輯表

表1-2由邏輯變量和數字“0”“1”組成,“0”視為不滿足條件或結果不成立,“1”視為滿足條件或結果成立,3個條件變量的不同取值組合,反映了所有可能出現的邏輯條件情況,以及對應的邏輯結果。用數字代替邏輯條件和邏輯結果進行表示,讓邏輯過程的分析更有規律性,這種用數字表示的邏輯表稱為真值表。真值表將邏輯問題轉化為數學問題,從而可以尋找邏輯學的研究規律。
1.1.3 邏輯學研究方法
根據前面所述,仸何的事物與過程都可以抽象為邏輯問題,即抽象出所有邏輯條件變量、邏輯結果變量及找出它們之間的邏輯關系,并為邏輯條件和邏輯結果的兩種取值指定用“0”還是用“1”表示。然后列出真值表,自小到大列舉所有邏輯條件的可能取值,從而根據邏輯關系求出邏輯結果的數值,將邏輯問題轉換為邏輯代數。最后用邏輯代數的定義、公式、定律去實現和表達邏輯問題。
對于數字電路,我們用數字“1”“0”表示高低電平,從而將對電路電平的研究,轉換為對邏輯代數的研究。可以把數字電路的研究看做邏輯代數研究的特例,或者把數字電路看做邏輯代數的一種表示形式。