Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2. Recurrence Relations (遞迴關係)

Similar presentations


Presentation on theme: "Chapter 2. Recurrence Relations (遞迴關係)"— Presentation transcript:

1 Chapter 2. Recurrence Relations (遞迴關係)
2.1 遞迴與複雜度分析 2.2 歸納法 2.3 代入法 2.4 和因子法 2.5 轉換法 2.6 特徵多項式法 2.7 生成函數法 2.8 特殊類型

2 2.1 遞迴與複雜度分析 Algorithm Algorithm:a specified set of simple
instructions to be followed to solve a problem. require how much in the way of resoureces:time or space. 以決定該algorithm是否useful.

3 2.1 遞迴與複雜度分析 Analysis Note that 1. Input size
2. the number of basic computer steps

4 2.1 遞迴與複雜度分析 Fibonacci Fibonacci number: 0, 1, 1, 2, 3, 5, 8 Rule:

5 2.1 遞迴與複雜度分析 Fibonacci Exponential polynomial function fib1(n)
if n=0: return 0 if n=1: return 1 return fib1(n-1) + fib1(n-2) polynomial function fib2(n) if n=0: return 0 create an array f[0…n] f[0]=0, f[1]=1 for i=2…n: f[i]=f[i-1]+f[i-2] return f[n] T(n)=T(n-1)+T(n-2)+3 T(n) = n-1 T(n) ≧Fn

6 2.1 遞迴與複雜度分析 Fibonacci polynomial T(n) = O(logn)

7 2.1 遞迴與複雜度分析 Big-O Def:T(N)=O(f(N))
if there are positive constant c and n0 such that T(N) cf(N) when N n0 例:T(N)=1000N, f(N)=N2 n0=10 c=100 1000N cN ∴1000N=O(N2)

8 2.1 遞迴與複雜度分析 Big-O Def:

9 2.1 遞迴與複雜度分析 Big-O 不可寫

10 2.1 遞迴與複雜度分析 如何判斷function成長速度 1. 基本function: 2. 例如: error

11 2.1 遞迴與複雜度分析 NlogN N logN

12 2.1 遞迴與複雜度分析 如何判斷function成長速度 3. 利用limit比較f(N)與g(N)計算 例如:比較NlogN與N1.5

13 2.1 遞迴與複雜度分析  an= 3n, n = 0, 1, 2, 3, Recurrence Relation: an equation relating a number an to some of its predecessors in the sequence an= 3an-1, n > recurrence relation (or difference equation a0= boundary condition

14 2.1 遞迴與複雜度分析 例4. Fibonacci number : 1, 1, 2, 3, 5, 8, 13, 21, 34 之遞迴關係
an= an-1+ an-2, n > recurrence relation a0= 1 and a1= boundary condition

15 2.2 歸納法 例1: 證明「任意n 個人, 他們一定全部都在同一天出生。」 Basis step.
induction hypothesis: 假設「任意k 個人, 他們一定全部都在同一天出生」是正確 Inductive step. 則當有k + 1 個人 (編號1, 2, . . ., k +1) 時, 根據假設, 第1至第k人(共k個人) 一定在同一天出生,且第2至第k + 1人(共k 個人) 也一定在同一天出生, 因此, 這k +1 個人全部都在同一天出生, 根據數學歸納法得證。 1推至2 不成立

16 2.2 歸納法 例2: 證明對所有正整數n, 以下的式子成立: Basis step. 當n = 1 時, 左式= 1 = 右式, 此式成立
induction hypothesis: 假設n = k 時此式成立 Inductive step. 當n = k + 1

17 2.2 歸納法 解: 當k  1, 才可以有 k = 1 卻是induction 的第一步! 既然無法由k = 1 推出k = 2, 之後的所有正整數也都無法推出。

18 2.2 歸納法 例1. 利用數學歸納法證明 之結果為T(n) =

19 2.3 代入法 利用遞迴的關係,不斷疊代直到 boundary condition為止。 例1. 例2.

20 2.3 代入法 例3. 例4.

21 2.4 和因子法 遞迴方程式乘以summing factor Sn後,將造成前後項可以相抵,而留下簡單的項次,只要能計算出Sn值,則可回頭解出遞迴方程式。 例1. 例2. 例3.

22 2.5 轉換法 定義域的轉換 與值域的轉換 定義域的轉換 例1. 例2.

23 2.5 轉換法 值域的轉換 (1) 遞迴關係中每一項都有相同的變形 例3. 例4.

24 2.5 轉換法 值域的轉換 (2) 遞迴關係中某一項有變形 例5. 例6.

25 2.6 特徵多項式法 線性遞迴關係式 一般係數ci(n) 為常數,稱為常係數線性遞迴關係式。 當f(n) = 0時,稱為齊式遞迴關係式。

26 2.6 特徵多項式法 齊式解 1. 異根 例1. 例2. Fibonacci sequence

27 2.6 特徵多項式法 齊式解 2. 重根 例3. 例4.

28 2.6 特徵多項式法 齊式解 3. 虛根 例5.

29 2.6 特徵多項式法 非齊式解 例6. 例7.

30 2.6 特徵多項式法 特徵根為1之非齊式解and f(n) 為多項式 例8. 特徵根為f(n)指數 例9.

31 2.7 生成函數法 生成函數定義為無窮級數 G(Z) = 表示G(z) 的zn之係數為an 已知(1) (2) (3)

32 2.7 生成函數法 例1. 生成函數有兩種型式:冪級數與封閉式 若數值函數f: NR, 定義為f(i) = ai,則
(1) f(n) = 1: 冪級數為G(Z) = 封閉式為 封閉式為 (2) f(n) = n: 冪級數為G(Z) = (3) f(n) = n-1: 冪級數為G(Z) = 封閉式為

33 2.7 生成函數法 積分 生成函數基本公式: (1) (1-az)-k= (1-az)-1= (1-az)-2=
(3) ln(1+az) =

34 2.7 生成函數法 生成函數基本公式: (4) -ln(1-az) = 泰勒展開式 (5) eaz =

35 2.7 生成函數法 例2. 例3. 例4.

36 2.8 特殊類型 例1. N個節點能形成多少個二元樹? 序列1, 2, …, n,由1開始push and pop stack, 有多少種次序解? 例2. 括號的問題


Download ppt "Chapter 2. Recurrence Relations (遞迴關係)"

Similar presentations


Ads by Google