算法課筆記系列(0)——Prologue and Notation

爲了準備週四的期中考試,所以花時間複習前面知識的同時,也一併寫一篇,就當做複習筆記了。

這一部分主要介紹了一些基本的定義和數學的證明方法。

首先,定義了集合的定義:集合是一些無序元素的集合,具有確定性、互異性和無序性。然後介紹了一部分集合的一些基本概念,如集合的基數,如|S|表示集合S的基數,即元素的個數;兩個集合相等S=T是指S中每一個元素都在T中,T中的每個元素也都在S中;子集(可以包含空集)、真子集(不包含空集)、嚴格子集(不包含自身相等的情況),以及的集合的並、交、差、補集、笛卡爾積、冪集。

接着介紹了函數的定義,定義域Dom(f), 值域Ran(f),映射和操作,單射函數(一一映射),滿射(Ran(f) = B),雙射(既是單射又是滿射),反函數(Dom(g) = Ran(f), g(f(x)) = x),fg表示domain {x| x Dom(g) ∧g(x) ∈Dom(f)},valuef (g(x)). 另外,就是注意多項式的定義,一個多項式是由變量和常數構成的有限長度的表達式,只能使用加,減,乘和非負的整數冪指數(用於判別一個表達式是否是多項式)。

關係的定義,分爲等價關係和偏序。如果A是一個集合,一個性質M(x1,…xn)對於An的n行記錄成立,但是不對於其餘n行記錄全部成立的性質稱爲A上的一個n元關係或者A的預測。如,性質x<y. 2 < 5,6 <4. 這裏,A是整數集合。A上的一個二元關係R稱爲等價關係如果滿足自反性、對稱性和傳遞性;A上的一個二元關係R稱爲偏序如果滿足反自反省和傳遞性。如:

         

下面是該部分的重點——證明。

1. Proof by Construction 通過構造來證明

這是最直觀的一種證明方式,比如證明一個式子是奇數,就將其構造成2k+1,偶數就構造成2k,帶入式子中,一步步往結論上面靠。

2. Proof by Contrapositive 通過逆否定理來證明

逆否定理可以分爲通過推出矛盾和舉反例。如已知p成立,要證明q成立則可以轉化爲¬q 而推出 ¬p。該定理的使用場景是¬q比較好列出的情況。通過推出矛盾,則是如果證明p命題爲true,則轉化爲證明¬p是false。即假設原命題不成立,推出矛盾,則證明原假設不正確,原命題是成立的。

3. Proof by cases通過案例來證明

案例證明則是將原命題的條件分爲幾個子集,證明對每一個子集都成立,則推出原命題成立。

4. Proof by Mathematical Induction 通過數學歸納法來證明

數學歸納法主要是分爲三個步驟(考試的時候要寫清楚每一個步驟),

Basic step:這一步主要是對前面比較小的幾個數帶入式子推出成立,即P(n0)成立;

Induction Hypothesis: 這一步則是假設原式對於n = k成立,即P(k)成立;

Proof of Induction Step: 這一步則是證明當n = k+1時,式子也成立。

這部分還講了數學歸納法的兩個變形,第一種是Minimal counterexample Principle, 其實就是歸納證明和Proof by contradiction的一個組合。爲了證明一個命題,假設原命題是不成立的,那麼至少存在一個反例。考慮到有一些規模會比較大的數,因此考慮反例的時候可以考慮存在一個反例C是最小的。然後,找出矛盾點在可以找一個比C還要小的反例使得最小假設不成立。這種方法稱爲無窮遞減法。比如課上的例子:

           

  假設k是使得式子可以被 3整除的最小數,通過構造證明k-1也可以被3整除,小於假設k的最小性,因此推翻原假設被3整除不是對所有的n>=0成立。

  第二種變形是The strong principle of Mathematical Induction. 與傳統的數學歸納法的不同點在於,第二步假設的時候,不是證明P(k)成立,而是證明對於k>=n0, 對於每一個n滿足n0<=n <=k,都有P(n)成立,進而推導P(k+1)成立。

舉個栗子:證明對於任意的n∈ N,n>=2, 都有質數因子。

證明:

定義P(n)爲命題:n要麼是質數,要麼是兩個或者多個質數的乘積。接下來證明對於任意的n>=2,P(n)成立。

1.     Basic step. P(2)成立,因爲2是質數

2.     Induction hypothesis. 假設對於k>=2, 2 <= k <= n, P(n)都成立(Strong principle)

3.     Proof of induction step. 證明P(k+1)成立。

如果P(k+1)是質數,命題顯然成立;

如果P(k+1)不是一個質數,那麼根據質數的定義,k+1 = r * s, 其中r和s都是大於1小於k+1的正整數。即有 2 <=r <= k, 2 <=s <= k, 這樣根據歸納假設,r和s要麼是質數,要麼是兩個或者多個質數的乘積。那麼他們的乘積k+1也就是兩個或者多個質數的乘積。證得P(k+1)成立。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章