Download presentation
Presentation is loading. Please wait.
Published byKelly Cain Modified over 9 years ago
1
Discrete Mathematics Chapter 3 Mathematical Reasoning, Induction, and Recursion 感謝 大葉大學 資訊工程系 黃鈴玲老師 提供
2
3.2 Sequences and Summations ※ Sequence ( 數列 ) Def 1. A sequence is a function f from A Z + (or A N ) to a set S. We use a n to denote f ( n ), and call a n a term ( 項 ) of the sequence. Example 1. {a n }, where a n = 1/n, n Z + a 1 =1, a 2 =1/2, a 3 =1/3, … Example 2. {b n }, where b n = ( 1) n, n N b 0 = 1, b 1 = 1, b 2 = 1, … 3.2.1
3
Special Integer Sequence Example 6. What is a rule that can produce the term of a sequence if the first 10 terms are 1, 2, 2, 3, 3, 3, 4, 4, 4, 4? Sol : 規則:數字 i 出現 i 次 數字 i 出現之前共有 1+2+3…….+(i 1) = i(i 1)/2 項 a i(i 1)/2 +1 = a i(i 1)/2 +2 =… = a i(i+1)/2 = i 3.2.2 A common problem in discrete mathematics is finding a formula for constructing the term of a sequence. 方法:找出 a i a i+1 的變化;加減某數或者乘除某數?
4
Example 7. How can we produce the terms of a sequence if the first 10 terms are 5, 11, 17, 23, 29, 35,41, 47, 53, 59 ? Sol : a 1 = 5 a 2 =11 = 5 + 6 a 3 =17 = 11 + 6 = 5 + 6 2 : : a n = 5 + 6 (n 1) = 6n 1 3.2.3
5
Example 8. Conjecture a simple formula for a n if the first 10 terms of the sequence {a n } are 1, 7, 25, 79, 241, 727, 2185, 6559, 19681,59047 ? Sol : 顯然非等差數列 後項除以前項的值接近 3 猜測數列為 3 n … 比較: {3 n } : 3, 9, 27, 81, 243, 729, 2187,… {a n } : 1, 7, 25, 79, 241, 727, 2185,… a n = 3 n 2, n 1 3.2.4
6
Summations Here, the variable j is call the index of summation, m is the lower limit, and n is the upper limit. 3.2.5 Example 10. Example 13. (Double summation)
7
Example 14. Table 2. Some useful summation formulae 3.2.6
8
Cardinality Def 4. The sets A and B have the same cardinality (size) if and only if there is a one-to-one correspondence (1-1,onto 的 function) from A to B. Def 5. A set that is either finite or has the same cardinality as Z + (or N) is called countable ( 可數 ). A set that is not countable is called uncountable. 3.2.7
9
3.2.8 Example 18. Show that the set of odd positive integers is a countable set. Pf: (Figure 1) Z + : 1 2 3 4 5 6 7 8 … …… { 正奇數 } : 1 3 5 7 9 11 13 15 … f : Z + { 正奇數 } f ( n) = 2n – 1 is 1-1 & onto.
10
Example 19. Show that the set of positive rational number (Q + ) is countable. ∴ Z + : 1, 2, 3, 4, 5, 6, 7, 8, 9 … Q + : ( 注意,因 等於 ,故 不算 ) ※ Note. R is uncountable. (Example 20) Exercise : 9,13,17,38 3.2.9 Pf: Q + = { a / b | a, b Z + } (Figure 2) 1 1
11
3.3 Mathematical Induction( 數學歸納法 ) Note : Mathematical induction can be used only to prove results obtained in some other way. It is not a tool for discovering formulae or theorems. (p.239) P(n) : a propositional function (e.g. n ≦ 2 n ) A proof by mathematical induction (MI) that P ( n ) is true for every n Z + consists of two steps : 1. Basis step : The proposition P(1) is shown to be true.( 若 n 從 0 開始則證 P(0) 為真 ) 2. Inductive step : the implication P(k) → P(k+1) is shown to be true for every k Z + 3.3.1
12
Example 1. Use MI to prove that the sum of the first n odd positive integers is n 2. Note. 不用 MI 就可以得証 : Pf : Let P(n) denote the proposition that Basis step : P(1) is true, since 1=1 2 Inductive step : Suppose that P(k) is true for a positive integer k, i.e., 1+3+5+…+(2k 1)=k 2 Note that 1+3+5+…+(2k 1)+(2k+1) = k 2 +2k+1= (k+1) 2 ∴ P(k+1) is true By induction, P(n) is true for all n Z + 3.3.2
13
Example 2. Use MI to prove the inequality n<2 n for all n Z + pf : Let P(n) be the proposition “ n < 2 n ”. Basis step : P(1) is true since 1 < 2 1. Inductive step : Assume that P(k) is true for a positive integer k, i.e., k < 2 k. Consider P(k+1) : k + 1 < 2 k + 1 2 k + 2 k =2 k + 1 ∴ P(k+1) is true. By MI, P(n) is true for all n Z +. 3.3.3
14
Example 6. The harmonic numbers H k, k =1,2,3,…, are defined by. Use MI to show that Pf : Let P(n) be the proposition that “ ”. Basis step : P(0) is true, since. Inductive step : Assume that P(k) is true for some k, i.e., Consider P(k+1) : 3.3.4 whenever n is a nonnegative integer.
15
∴ P(k+1) is true. By MI, P(n) is true for all n Z +. 3.3.5
16
※ The 2nd principle of mathematical induction: ( 又稱為強數學歸納法 strong induction) Basis step 相同 Inductive step : Assume P(k) is true for all k n Show that P(n+1) is also true. 3.3.6
17
Example 14. Show that if n Z and n >1, then n can be written as the product of primes. Pf : Let P(n) be the proposition that n can be written as the product of primes. Basis : P(2) is true, since 2 is a prime number Inductive : Assume P(k) is true for all k n. Consider P(n+1) : Case 1 : n+1 is prime P(n+1) is true Case 2 : n+1 is composite, i.e., n+1=ab where 2 a b < n+1 By the induction hypothesis, both a and b can be written as the product of primes. P(n+1) is true. By 2nd MI, P(n) is true if n Z and n >1. Note: 此題無法用 1st MI 證 Exercise : 3,11,17 3.3.7
18
3.4 Recursive Definitions. Def. The process of defining an object in terms of itself is called recursion( 遞迴 ). e.g. We specify the terms of a sequence using (1) an explicit formula: a n =2 n, n=0,1,2,… (2) a recursive form: a 0 =1, a n+1 =2a n, n=0,1,2,… Example 1. Suppose that f is defined recursively by f(0)=3, f(n+1)=2f(n)+3 Find f(1), f(2), f(3), f(4). 3.4.1
19
Example 2. Give an inductive (recursive) definition of the factorial function F(n) = n!. Sol : initial value : F(0) = 1 recursive form : F(n+1) = (n+1)! = n! (n+1) = F(n) (n+1) Example 5. The Fibonacci numbers f 0, f 1, f 2 …, are defined by : f 0 = 0, f 1 = 1, f n = f n 1 + f n 2, for n = 2,3,4,… what is f 4 ? Sol : f 4 = f 3 + f 2 = (f 2 + f 1 ) + (f 1 + f 0 ) = f 2 + 2 = (f 1 + f 0 ) + 2 = 3 3.4.2
20
Example 6. Show that f n > n 2, where Pf: ( By 2nd MI ) Let P(n) be the statement f n > n 2. Basis: f 3 = 2 > so that P(3) and P(4) are true. Inductive: Assume that P(k) is true, 3 k n, n 4. We must show that P(n+1) is true. f n+1 = f n + f n 1 > n 2 + n 3 = n 3 ( +1) ∵ +1= 2 ∴ f n+1 > n 3 2 = n 1 We get that P(n+1) is true. By 2nd MI, P(n) is true for all n 3 3.4.3
21
※ Recursively defined sets. Example 7. Let S be defined recursively by 3 S x+y S if x S and y S. Show that S is the of positive integers divisible by 3 (i.e., S = { 3, 6, 9, 12, 15, 18, … } Pf: Let A be the set of all positive integers divisible by 3. We need to prove that A=S. (i) A S : (By MI) Let P(n) be the statement that 3n S … (ii) S A : ( 利用 S 的定義 ) (1) 3 A, (2) if x A,y A, then 3|x and 3|y. 3|(x+y) x+y A ∴ S A S = A 3.4.4
22
Example 8. The set of strings over an alphabet is denoted by *. The empty string is denoted by, and wx * whenever w * and x . eg. = { a, b, c } * = {, a, b, c, aa, ab, ac, ba, bb, bc, … abcabccba, …} Example 9. Give a recursive definition of l(w), the length of the string w * Sol : initial value : l( )=0 recursive def : l(wx)=l(w)+1 if w *, x . a b c 3.4.5
23
Exercise 3,13, 25, 49 Exercise 39. When does a string belong to the set A of bit strings defined recursively by A 0x1 A if x A. Sol : A={, 01, 0011, 000111, …} ∴當 bit string = 000…011…1 時 A n個n個 n個n個 0 1 3.4.6
24
Ackermann’s function A(m, n) = 2n if m = 0 0 if m 1 and n = 0 2 if m 1 and n = 1 A(m 1, A(m, n 1)) if m 1 and n 2 Exercise 49 Show that A(m,2)=4 whenever m 1 Pf : A(m,2) = A(m 1, A(m,1)) = A(m 1,2) whenever m 1. A(m,2) = A(m 1,2) = A(m 2,2) = … = A(0,2) = 4. 3.4.7
25
3.5 Recursive algorithms. ※ Sometimes we can reduce the solution to a problem with a particular set of input to the solution of the same problem with smaller input values. eg. gcd( a,b ) = gcd( b mod a, a ) (when a < b ) Def 1. An algorithm is called recursive if it solves a problem by reducing it to an instance of the same problem with smaller input. 3.5.1
26
Example 1. Give a recursive algorithm for computing a n, where a R \ {0}, n N. Sol : recursive definition of a n : initial value : a 0 =1 recursive def : a n = a a n 1. Algorithm 1. Procedure power( a : nonzero real number, n : nonnegative integer ) if n = 0 then power(a, n):=1 else power(a, n):= a * power(a, n 1). ∴ 3.5.2
27
Example 4. Find gcd(a,b) with 0 a<b Sol : Algorithm 3. procedure gcd(a,b : nonnegative integers with a<b) if a=0 then gcd(a,b) := b else gcd(a,b) := gcd(b mod a, a). Example 5. Search x in a 1, a 2,…,a n by Linear Search Sol : Alg. 4 procedure search (i, j, x) if a i = x then location := i else if i = j then location := 0 else search(i+1, j, x) 從 a i,a i+1,…a j 中找 x call search(1, n, x) 3.5.3
28
Example 6. Search x from a 1,a 2,…,a n by binary search. Sol : Alg. 5 procedure binary_search (x, i, j) m := (i+j) / 2 if x = a m then location := m else if (x < a m and i < m) then binary_search(x, i, m 1) else if (x > a m and j > m) then binary_search(x, m+1, j) else location := 0 call binary_search(x, 1, n) search x from a i, a i+1, …, a j 3.5.4 表示左半邊 a i, a i+1, …, a m 1 至少還有一個元素
29
Example 7. Give the value of n !, n Z + Sol : Note : n! = n (n 1)! Alg. 6 (Recursive Procedure) procedure factorial (n: positive integer) if n = 1 then factorial (n) := 1 else factorial (n) := n factorial (n 1) Alg. 7 (Iterative Procedure) procedure iterative_factorial (n : positive integer) x := 1 for i := 1 to n x := i x { x = n! } 3.5.5
30
※ iterative alg. 的計算次數通常比 recursive alg. 少 ※ Find Fibonacci numbers (Note : f 0 =0, f 1 =1, f n =f n 1 +f n 2 for n 2 ) Alg. 8 (Recursive Fibonacci) procedure Fibonacci (n : nonnegative integer) if n = 0 then Fibonacci (0) := 0 else if n = 1 then Fibonacci (1) := 1 else Fibonacci (n) := Fibonacci (n 1)+Fibonacci (n 2) 3.5.6
31
Alg.9 (Iterative Fibonacci) procedure iterative_fibonacci (n: nonnegative integer) if n = 0 then y := 0 // y = f 0 else begin x := 0 y := 1 // y = f 1 for i := 1 to n 1 begin z := x + y x := y y := z end {y is f n } Exercise : 5, 27 i = 1i = 2i = 3 zf2f2 f3f3 f4f4 xf1f1 f2f2 f3f3 yf2f2 f3f3 f4f4 3.5.7
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.