離散數學學習筆記1

2021-06-14 21:36:31 字數 3247 閱讀 7921

第一章 基礎:邏輯、集合和函式

本章複習離散數學的基礎。有三個主要內容:邏輯、集合和函式。邏輯規則給出數學語句的準確含義。例如,邏輯規則告訴我們下列語句的含義:「存在乙個大於100且是2

的冪的整數」,以及「對於每個整數

n,小於等於

n的正整數和是

n(n+1)/2

」。邏輯是所有數學推理的基礎,對計算機的設計、人工智慧、計算機程式設計、程式語言以及電腦科學的其他貢獻,邏輯都有實際的應用。

離散數學的不少內容是研究用於表示離散物件的離散結構的。所有的離散結構都是從集合構造而來,而集合則是指一組物件。集合構造的離散機構例子包括:計數時廣為應用組合,也就是無序的物件集;表示物件之間相互關連的關係,也就是有序偶的集合;圖形,也就是頂點的邊集合;以及用於模擬計算機的有限狀態機。

1.1 邏輯

1.1.1 引言

邏輯規則給出數學語句的準確含義,這些規則用來區分有效和無效的數學論證。由於本書的乙個主要目的是教會讀者如何理解和如何構造正確的數學論證,所以我們從介紹邏輯開始離散數學的學習。

邏輯不僅對理解數學推理非常重要,而且在電腦科學中用很多應用。這些邏輯規則用於計算機電路設計,電腦程式構造、程式正確性證明以及許多其它方面。在隨後的章節中將一一討論。

1.1.2 命題

我們從介紹邏輯的基本成分——命題開始我們的討論。命題是指乙個或真或假的語句,但不能又真又假。

例1 下列語句均為命題。

1. 華盛頓是美國的首都。

2. 多倫多第加拿大的首都。

3. 1+1=2。

4. 2+2=3。

命題1和3

是真,2和4

是假。 其中加拿大首都是渥太華。

下一例子給出了不是命題的若干語句。

例2 考慮下述語句:

1. 幾點了?

2. 仔細讀這個。

3. x+1=2。

4. x+y=z。

語句1和2

不是命題,因為他們不是陳述句,語句3和

4不是命題,因為他們既不真也不假,這是由於語句中的變數沒有被賦值。在

1.3中我們將討論這一類語句形成命題的多種方法。

命題常用字母來表示,就像用字母表示變數那樣。習慣上用來表示命題的字母是p、q、

r、s......等。如果乙個命題是真命題,它的真值為真,用t

來表示;如果它是假命題,其真值為假,用

f來表示。許多數學陳述都是組合乙個或多個命題而來,稱為復合命題的新命題由已有的命題邏輯運算子組合而來。

定義1  

令p為一命題,則語句「不是p所說的情形」是另乙個命題,稱為p的否定。p的否定用┐p表示。命題┐p讀作「非p」。

例3 找出命題「今天是星期五。」的否定,並用中文來表示。

解:否定為」今天不是星期五。」

命題的否定也可以看做是非運算子作用在命題上的結果。非運算子是從乙個已有的命題構造出來的乙個新命題。現在將將引入從兩個或多個已有命題構造命題的邏輯運算子,這些邏輯運算法也稱為聯接詞。

定義2  令p和q為命題。用pλq表示命題「p而且q」是這樣乙個命題:當p和q均為真時它為真,否則為假。命題pλq稱為p和q的合取。

例4 找出命題pλq,其中p命題為「今天是星期五」,q命題是「今天下雨」。

解 這兩個命題的合取pλq是命題「今天星期五且下雨」。這一命題在今天是下雨且是星期五為真,不是星期五的日子為假,不下雨也為假。

定義3  令p和q為命題,用pⅴq表示的命題「p或q」是這樣乙個命題:它的真值在p和q均為假的時候為假,否則為真。命題pⅴq稱為p和q的析取。

聯接詞「或」在析取中的使用對應詞與詞「或」(or)包含兩種情況之一,即是「同或」。析取所包含兩命題之一成真或兩者之一成真是,析取真值為真。

例5  若p和q就是例4中的兩個命題,它們的析取是什麼?

解 p和q的析取pⅴq是命題「今天是星期五,或今天下雨。」這一命題在星期五或下雨天(包括下雨的星期五)的任何一天都成真。只有在即不是星期五,又不下雨的日子此命題為假。

前面說過,在析取中使用聯接詞「或」對應與「或」包含的兩種情形之一,即「同或」。所以在析取中的兩個命題之一成真或兩者都成真時,析取成真。有時我們也按「異或」的含義使用「或」。用異或來聯接命題p和q時,就得到命題「p或q」。這一命題當成真且q為假時為真,或反過來當p為假且q為真時為真。p和q兩者均為真或假時,這一命題為假。

定義4  令p和q為命題。p和q的異或,用p⊕q表示,是這樣乙個命題:當p和q中恰有乙個為真時真,否則為假。

定義5  令p和q為命題。蘊含p→q是這樣乙個命題:在p成真而q為假時它為假,否則成真。在這一蘊含命題中p稱為假設,q稱為結論。

注意,只有p為真而q為假時p→q為假,所以當p和q均成真,或p為假(無論q的真值是什麼)時,其值為真。

有助於記住「當蘊含命題的前提為假時其值為真」這一事實的方法是把蘊含想象為合同或義務。如果這一陳述中的規定條件不成立,也就沒有義務。

例如,「如果你掙的錢超過25000,那麼你必須交稅」這一語句與掙錢少於25000的人無關。如果你掙的錢超過了25000而沒有交稅,你沒盡義務。同樣,在壘球手的合同中寫下「如果壘球擊出60個以上本壘打,獎金1000萬美元」,則只有球手擊出60多個本壘打而沒有得到上述獎金時,才是違反合同。當球手的本壘打小於60次時,上述合同沒有任何作用。

我們定義的蘊含比語言中的蘊含含義更為廣泛一些。例如,在「如果今天天晴,那麼我們去海灘」中有假設和結論之間的聯絡,這是一般語言的蘊含。而且除非今日的確天晴我們不去海灘,為假。否則上面蘊含總是成立的。

許多程式語言中使用if-then(如果-那麼)結構與邏輯中使用的不同。大部分程式語言中都有if p then s這樣的語句,其中p是命題而s乙個程式段(待執行的一條或多條語句)。當程式的執行遇到這樣乙個語句時,如果p為真,就執行s;當若p為假,則s不執行。

例6 若執行語句

if 2+2=4 then x=x+1 之前,x=0,執行後x的值是什麼(符號=代表賦值,語句x=x+1表示將x+1的值賦給x.)

解 應為2+2=4為真,賦值語句x=x+1被執行。因此在執行此語句之後x的值是0+1=1。

我們可以用非運算子和已定義的各聯接詞構造復合命題。小括號用於規定復合命題中的多個邏輯運算子的操作順序,最內層的小括號裡面的邏輯運算子首先操作。由p→q可以構成幾個相關的蘊含。命題q→p稱為p→q的逆蘊含,而p→q的倒置命題是┐p→┐q。

例 7 找出蘊含命題

「如果今天是星期四,那麼我今天有考試。」的逆命題和倒置命題。

解 逆命題是「如果我今天考試,那麼今天是星期四」。

倒置命題是「如果今天我不考試,那麼今天不是星期四」。

定義6 令p和q為命題。雙蘊含p←→q是這樣乙個命題:其真值是真有在p和q同樣的真值時為真,否則為假。術語稱為p當且僅q。

離散數學學習筆記目錄

寫在前面的話序目錄 開篇先插句題外話,蔡老的離散數學有興趣深究的可以去163看看。本文將基於課內教材 離散數學及其應用 英文版第7版 作者 美 kenneth h.rosen 上課時蔡老總說rosen寫的略泛,一把抓,於是廣卻不深,故不太推薦這本書 不過鑑於上課和考試都基於這本書,本人只好按這本大部...

數理邏輯(離散數學)學習筆記(1)

真值 乙個命題所取的值,即 真,假 蘊含關係真值表 ab a b001 0111 0011 1對上表的理解 a b的含義就是如果a,那麼b。舉例理解,如果m 1,那麼m 3。顯然這句話是真假命題,取決於m的取值。下面列表分析由於m值的取值不同所導致的真假情況。m a m 1 b m 3 命題真假01...

《離散數學》學習筆記1 邏輯和證明

今天開始離散數學的自學旅程。主題 邏輯和證明 邏輯規則給出數學語句的準確含義。邏輯對電腦科學有著重要作用。為了理解數學,我麼必須理解正確的數學論證是由什麼組成的。只要證明乙個數學語句是真的,我們就稱之為定理。我們要學會如何理解和構造正確的數學論證。1 命題邏輯 命題是乙個或真或假的陳述語句,即乙個陳...