1 / 31

Discrete Mathematics

Discrete Mathematics. Chapter 3 Mathematical Reasoning, Induction, and Recursion. 大葉大學 資訊工程系 黃鈴玲. 3.2 Sequences and Summations. ※ Sequence ( 數列 ) Def 1. A sequence is a function f from A  Z +

trente
Download Presentation

Discrete Mathematics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 anto denote f(n), and call ana term (項) of the sequence. Example 1.{an}, where an= 1/n , n  Z+  a1 =1, a2 =1/2 , a3 =1/3, … Example 2.{bn} , where bn= (-1)n, n N  b0 = 1, b1 = -1 , b2 = 1, … 3.2.1

  3. Special Integer Sequence A common problem in discrete mathematics isfinding a formula for constructing the term of a sequence.方法:找出 aiai+1的變化;加減某數或者乘除某數? 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項 ai(i-1)/2 +1= ai(i-1)/2 +2 =… = ai(i+1)/2 = i 3.2.2

  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 : a1= 5 a2=11 = 5 + 6 a3=17 = 11 + 6 = 5 + 6  2 : :  an= 5 + 6  (n-1) = 6n-1 3.2.3

  5. Example 8.Conjecture a simple formula for anif the first 10 terms of the sequence {an} are 1, 7, 25, 79, 241, 727, 2185, 6559, 19681,59047? Sol: 顯然非等差數列 後項除以前項的值接近3  猜測數列為 3n  … 比較: {3n} : 3, 9, 27, 81, 243, 729, 2187,… {an} : 1, 7, 25, 79, 241, 727, 2185,…  an= 3n - 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. Example 10. Example 13. (Double summation) 3.2.5

  7. Example 14. Table 2. Some useful summation formulae 3.2.6

  8. Cardinality Def 4.The sets A and B have the samecardinality (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. 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. Example 18. Show that the set of odd positive integers is a countable set. 3.2.8

  10. 1 1 Example 19. Show that the set of positive rational number (Q+) is countable. Pf: Q+ = { a / b | a, b Z+ } (Figure 2) ∴ Z+ : 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 … Q+ : Exercise : 9,13,17,38 (注意,因 等於 ,故 不算) ※Note. R is uncountable. (Example 20) 3.2.9

  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 ≦ 2n) 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 n2. Note. 不用MI就可以得証: Pf : Let P(n) denote the proposition that Basis step :P(1) is true , since 1=12 Inductive step : Suppose that P(k) is true for a positive integer k, i.e., 1+3+5+…+(2k-1)=k2 Note that 1+3+5+…+(2k-1)+(2k+1) = k2+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<2n for all nZ+ pf : Let P(n) be the proposition “ n < 2n”. Basis step :P(1) is true since 1 < 21. Inductive step : Assume that P(k) is true for a positive integer k, i.e., k < 2k. Consider P(k+1) : k + 1 < 2k+ 1  2k+ 2k =2k + 1 ∴ P(k+1) is true. By MI, P(n) is true for all nZ+. 3.3.3

  14. Example 6. The harmonic numbersHk, k =1,2,3,…, are defined by . Use MI to show that whenever n is a nonnegative integer. 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

  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: an=2n, n=0,1,2,… (2) a recursive form: a0=1, an+1=2an , 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 numbersf0, f1, f2…,are defined by : f0= 0 , f1 = 1 , fn = fn-1 + fn-2 , for n = 2,3,4,… what is f4 ? Sol : f4 = f3 + f2 = (f2 + f1) + (f1 + f0) = f2 + 2 = (f1 + f0) + 2 = 3 3.4.2

  20. Example 6. Show that fn > a n-2 , where Pf:( By 2nd MI ) Let P(n) be the statement fn>a n-2 . Basis: f3 = 2 > a 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. fn+1 = fn + fn-1 > a n-2 + a n-3 = a n-3(a +1) ∵ a +1= a2 ∴ fn+1 > a n-3  a2 = a 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 l, and wx* whenever w* and x.eg.  = { a, b, c } * = { l, 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(l)=0 recursive def : l(wx)=l(w)+1 if w*, x. lb la lc 3.4.5

  23. 0l1 n個 n個 Exercise 3,13, 25, 49 Exercise 39. When does a string belong to the set A of bit strings defined recursively by lA 0x1A if xA. Sol : A={l, 01 , 0011, 000111, …} ∴當bit string a = 000…011…1時 aA 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 recursiveif it solves a problem by reducing it to an instance of the same problem with smaller input. 3.5.1

  26. Algorithm 1. Procedurepower( a : nonzero real number, n : nonnegative integer ) ifn = 0 thenpower(a, n):=1 elsepower(a, n):= a*power(a, n-1). Example 1. Give a recursive algorithm for computing an, where aR \ {0}, nN. Sol : recursive definition of an : initial value : a0=1 recursive def : an = a  an-1. 3.5.2

  27. 從ai,ai+1,…aj中找 x Example 4. Find gcd(a,b) with 0a<b Algorithm 3. proceduregcd(a,b : nonnegative integers with a<b) ifa=0 thengcd(a,b) := b elsegcd(a,b) := gcd(b mod a, a). Sol : Example 5. Search x in a1, a2,…,an by Linear Search Sol : Alg. 4 proceduresearch (i, j, x) if ai = xthenlocation := i elseif i = jthenlocation := 0 elsesearch(i+1, j, x) call search(1, n, x) 3.5.3

  28. 表示左半邊ai, ai+1, …, am-1 至少還有一個元素 Example 6. Search x from a1,a2,…,an by binary search. search x from ai, ai+1, …, aj Sol : Alg. 5 procedurebinary_search (x , i , j) m := (i+j) / 2 ifx = amthenlocation := m else if (x < am and i < m) then binary_search(x, i, m-1) else if (x > am and j > m) then binary_search(x, m+1, j) elselocation := 0 call binary_search(x, 1, n) 3.5.4

  29. Example 7. Give the value of n!, nZ+ Sol : Note : n! = n (n-1)! Alg. 6 (Recursive Procedure) procedurefactorial (n: positive integer) ifn = 1 thenfactorial (n) := 1 elsefactorial (n) := nfactorial (n-1) Alg. 7 (Iterative Procedure) procedureiterative_factorial (n : positive integer) x := 1 for i := 1 ton x := i  x { x = n! } 3.5.5

  30. ※ iterative alg. 的計算次數通常比 recursive alg.少 ※ Find Fibonacci numbers (Note : f0=0, f1=1, fn=fn-1+fn-2 for n2) Alg. 8 (Recursive Fibonacci) procedureFibonacci (n : nonnegative integer) if n = 0 thenFibonacci (0) := 0 elseifn = 1 then Fibonacci (1) := 1 else Fibonacci (n) := Fibonacci (n-1)+Fibonacci (n-2) 3.5.6

  31. Alg.9 (Iterative Fibonacci) procedureiterative_fibonacci (n: nonnegative integer) if n = 0 theny := 0 // y = f0 else begin x := 0 y := 1 // y = f1 fori := 1 ton-1 begin z := x + y x := y y := z end end {y is fn} Exercise : 5 , 27 3.5.7

More Related