KS 091201 MATEMATIKA DISKRIT DISCRETE MATHEMATICS Mathematical Induction

  • Slides: 38
Download presentation
KS 091201 MATEMATIKA DISKRIT (DISCRETE MATHEMATICS ) Mathematical Induction And Recursion Discrete Math Team

KS 091201 MATEMATIKA DISKRIT (DISCRETE MATHEMATICS ) Mathematical Induction And Recursion Discrete Math Team 1

2 -- KS 091201 Outline Simulation Game : Hanoi Tower Induction Definition Induction Example

2 -- KS 091201 Outline Simulation Game : Hanoi Tower Induction Definition Induction Example (Weak Induction) Strong Induction

3 -- KS 091201

3 -- KS 091201

4 Simulation Game: Hanoi Tower The objective of the puzzle is to move the

4 Simulation Game: Hanoi Tower The objective of the puzzle is to move the entire stack to another rod, obeying the following rules: 1. Only one disk may be moved at a time. 2. Each move consists of taking the upper disk from one of the rods and sliding it onto another rod, on top of the other disks that may already be present on that rod. 3. No disk may be placed on top of a smaller disk.

5 What is induction? A method of proof It does not generate answers: it

5 What is induction? A method of proof It does not generate answers: it only can prove them Three parts: Base case(s): show it is true for one element Inductive hypothesis: assume it is true for any given element Must be clearly labeled!!! Show that if it true for the next highest element

6 Induction example Show that the sum of the first n odd integers is

6 Induction example Show that the sum of the first n odd integers is n 2 Example: If n = 5, 1+3+5+7+9 = 25 = 52 Formally, Show n P(n) where P(n) = ni=12 i-1= n 2 Base case: Show that P(1) is true P(1) = 1 Inductive hypothesis: assume true for k Thus, we assume that P(k) is true, or that P(k) = ki=12 i 1= k 2 Note: we don’t yet know if this is true or not! Inductive step: show true for k+1 We want to show that: P(k+1) = k+1 i=12 i-1= (k+1)2

7 Induction Example Induction Hypothesis P(k) = ki=1 2 i-1= k 2 Inductive Steps

7 Induction Example Induction Hypothesis P(k) = ki=1 2 i-1= k 2 Inductive Steps P(k+1) = k+1 i=1 2 i-1 = ki=12 i-1 + (2 (k+1) -1) = k 2 + (2 k +1) = (k+1)2

8 What did we show Base case: P(1) If P(k) was true, then P(k+1)

8 What did we show Base case: P(1) If P(k) was true, then P(k+1) is true i. e. , P(k) → P(k+1) We know it’s true for P(1) Because of P(k) → P(k+1), if it’s true for P(1), then it’s true for P(2) Because of P(k) → P(k+1), if it’s true for P(2), then it’s true for P(3) Because of P(k) → P(k+1), if it’s true for P(3), then it’s true for P(4) Because of P(k) → P(k+1), if it’s true for P(4), then it’s true for P(5) And onwards to infinity Thus, it is true for all possible values of n In other words, we showed that: [P(1) k (P(k) P(k+1))] n P(n)

9 Second induction example Show the sum of the first n positive even integers

9 Second induction example Show the sum of the first n positive even integers is n 2 + n Rephrased: n P(n) where P(n) = ni=1 2 i = n 2 + n The three parts: Base case Inductive hypothesis Inductive step

10 Induction example Show that n! < nn for all n > 1 Base

10 Induction example Show that n! < nn for all n > 1 Base case: n = 2 2! < 22 2<4 Inductive hypothesis: assume k! < kk Inductive step: show that (k+1)! < (k+1)k+1 (k+1)! = (k+1) k! < (k+1) kk < (k+1)k = (k+1)k+1

11 Interesting Induction Someone with zero hairs is bald. Someone with one more hair

11 Interesting Induction Someone with zero hairs is bald. Someone with one more hair than a bald person is bald. . . turn the inductive crank…… . Therefore, someone with 1, 000 hairs is bald. What’s wrong with this induction?

12 More Examples Prove that if h> -1, then 1+nh (1+h)n for all non-negative

12 More Examples Prove that if h> -1, then 1+nh (1+h)n for all non-negative integer n. Prove that n 2 1 mod 8 for all odd integer n.

13 Strong induction Weak mathematical induction assumes P(k) is true, and uses that (and

13 Strong induction Weak mathematical induction assumes P(k) is true, and uses that (and only that!) to show P(k+1) is true Strong mathematical induction assumes P(1), P(2), …, P(k) are all true, and uses that to show that P(k+1) is true. [P(1) P(2) p(3) … P(k) ] P(k+1)

14 Strong induction example 1 Show that any number > 1 can be written

14 Strong induction example 1 Show that any number > 1 can be written as the product of primes Base case: P(2) 2 is the product of 2 (remember that 1 is not prime!) Inductive hypothesis: P(1), P(2), P(3), …, P(k) are all true Inductive step: Show that P(k+1) is true

15 Strong induction example 1 Inductive step: Show that P(k+1) is true There are

15 Strong induction example 1 Inductive step: Show that P(k+1) is true There are two cases: k+1 is prime It can then be written as the product of k+1 is composite It can be written as the product of two composites, a and b, where 2 ≤ a ≤ b < k+1 By the inductive hypothesis, both P(a) and P(b) are true

16 Strong Induction Examples 2 Prove that every amount of 12 cents or more

16 Strong Induction Examples 2 Prove that every amount of 12 cents or more can be formed using just 4 -cent and 5 -sent stamps. Basis Step 12 = 3 * 4 cent stamp 13 = 2 * 4 + 1 * 5 14 = 1 * 4 + 2 * 5 15 = 3 * 5 Inductive step: Suppose P(j) is true for 12 j k (k 15). It is sufficient to show that P(k+1) is true. We know that P(k -3) is true since k 15. To form postage of k+1 cents, we just need to add 1 4 -cent postage to the stamps we used to form k-3 cents.

17 Mathematical Induction Note : Mathematical induction can be used only to prove results

17 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(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 2. Inductive step : the implication P(k) → P(k+1) is shown to be true for every k Z+

18 Example 2. Use MI to prove that the sum of the first n

18 Example 2. Use MI to prove that the sum of the first n odd positive integers is n 2. Note. Pf : Let P(n) denote the proposition that k, Ch 4 -18 Basis step : P(1) is true , since 1=12 Inductive step : Suppose that P(k) is true for a positive integer i. e. , 1+3+5+…+(2 k 1)=k 2 Note that 1+3+5+…+(2 k 1)+(2 k+1) = k 2+2 k+1= (k+1)2 ∴ P(k+1) is true By induction, P(n) is true for all n Z+

19 Example 5. Use MI to prove the inequality n < 2 n for

19 Example 5. 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 < 21. 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+.

20 Example 7. The harmonic numbers Hk, k =1, 2, 3, …, are defined

20 Example 7. The harmonic numbers Hk, 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) :

21 >= >= ∴P(k+1) is true. By MI, P(n) is true for all n

21 >= >= ∴P(k+1) is true. By MI, P(n) is true for all n Z+.

22 Strong Induction Basis step Inductive step : Assume all the statements P(1), P(2),

22 Strong Induction Basis step Inductive step : Assume all the statements P(1), P(2), …, P(k) are true. Show that P(k+1) is also true.

23 Example 2. Show that if n Z and n >1, then n can

23 Example 2. 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(2), P(3), …, P(k) are true. Consider P(k + 1) : Case 1 : k + 1 is prime P(k+1) is true Case 2 : k + 1 is composite, i. e. , k + 1 = ab where 2 a b < k+1 By the induction hypothesis, both a and b can be written as the product of primes. P(k+1) is true. By Strong MI, P(k) is true if k Z and k >1.

24 Example 4. Prove that every amount of postage of 12 cents or more

24 Example 4. Prove that every amount of postage of 12 cents or more can be formed using just 4 -cent and 5 -cent stamps. Pf : Let P(n) be the statement that the postage of n cents can formed using just 4 -cent and 5 -cent stamps. Basis : P(12) is true, since 12 = 4 3; P(13) is true, since 13 = 4 2 + 5 1; P(14) is true, since 14 = 4 1 + 5 2; P(15) is true, since 15 = 5 3; Inductive : Assume P(12), P(13), …, P(k) are true. Consider P(k+1) : Suppose k 3 = 4 m + 5 n. (k 3 12) Then k+1 = 4 (m 1) + 5 n. P(k+1) is true. By Strong MI, P(n) is true if n Z and n 12.

25 Recursive Definitions. Def. The process of defining an object in terms of itself

25 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=2 n, n=0, 1, 2, … (2) a recursive form: a 0=1, an+1=2 an , n=0, 1, 2, … Example 1. Suppose that f is defined recursively by f(0)=3 , f(n+1)=2 f(n)+3 Find f(1), f(2), f(3), f(4).

26 Example 2. Give an inductive (recursive) definition of the factorial function F(n) =

26 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) Def 1, Example 5. The Fibonacci numbers f 0, f 1, f 2…, are defined by : f 0 = 0 , f 1 = 1 , fn = fn 1 + fn 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

27 Example 6. Show that fn > n 2 , where Pf: ( By

27 Example 6. Show that fn > n 2 , where Pf: ( By Strong MI ) Let P(n) be the statement fn > n 2. Basis: f 3 = 2 > so that P(3) and P(4) are true. Inductive: Assume that P(3), P(4), …, P(n) are true. We must show that P(n+1) is true. fn+1 = fn + fn 1 > n 2 + n 3 = n 3( +1) ∵ +1= 2 ∴ fn+1 > n 3 2 = n 1 We get that P(n+1) is true. By Strong MI , P(n) is true for all n 3

28 ※Recursively defined sets. Example 7. Let S be defined recursively by 3 S

28 ※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 3 n S … (ii) S A : (1) 3 A , S=A (2) if x A, y A, then 3|x and 3|y. 3|(x+y) x+y A ∴S A Ch 4 -28

29 Definition 2. The set of strings over an alphabet is denoted by *.

29 Definition 2. 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 * = { , 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 .

30 Exercise 3, 7, 13, 48, 49 Exercise 39. When does a string belong

30 Exercise 3, 7, 13, 48, 49 Exercise 39. When does a string belong to the set A of bit strings defined recursively by A 0 x 1 A if x A. Sol : A={ , 01 , 0011, 000111, …} 0 1 ∴bit string = 000… 011… 1 A n個 Ch 4 -30 n個

31 Ackermann’s function A(m, n) = 2 n if m = 0 0 if

31 Ackermann’s function A(m, n) = 2 n 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. Ch 4 -31

32 Recursive algorithms. ※ Sometimes we can reduce the solution to a problem with

32 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.

33 Example 2. Give a recursive algorithm for computing an, where a R

33 Example 2. Give a recursive algorithm for computing an, where a R {0}, n N. Sol : recursive definition of an : initial value : a 0=1 recursive def : an = a an 1. ∴ Algorithm 2. 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). Ch 4 -33

34 Example 4. Find gcd(a, b) with 0 a<b Sol : Algorithm 4. procedure

34 Example 4. Find gcd(a, b) with 0 a<b Sol : Algorithm 4. 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, …, an by Linear Search Sol : Alg. 5 procedure search (i, j, x: integers) if ai = x then location : = i else if i = j then location : = 0 else search(i+1, j, x) ai, ai+1, …aj x call search(1, n, x)

35 Example 6. Search x from a 1, a 2, …, an by binary

35 Example 6. Search x from a 1, a 2, …, an by binary search (recursive version). search x from ai, ai+1, …, aj Sol : Ch 4 -35 Alg. 5 procedure binary_search (x , i , j: integers) m : = (i+j) / 2 if x = am then location : = m ai, ai+1, …, am 1 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) else location : = 0 call binary_search(x, 1, n)

36 Example 1. Give the value of n!, n Z+ Sol : Note :

36 Example 1. Give the value of n!, n Z+ Sol : Note : n! = n (n 1)! Alg. 1 (Recursive Procedure) procedure factorial (n: positive integer) if n = 1 then factorial (n) : = 1 else factorial (n) : = n factorial (n 1) Alg. (Iterative Procedure) procedure iterative_factorial (n : positive integer) x : = 1 for i : = 1 to n x : = i x { x = n! }

37 ※ iterative alg. recursive alg. ※ Find Fibonacci numbers (Note : f 0=0,

37 ※ iterative alg. recursive alg. ※ Find Fibonacci numbers (Note : f 0=0, f 1=1, fn=fn 1+fn 2 for n 2) Alg. 7 (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)

38 Alg. 8 (Iterative Fibonacci) procedure iterative_fibonacci (n: nonnegative integer) if n = 0

38 Alg. 8 (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 i=1 i=2 i=3 z : = x + y z f 2 f 3 f 4 x : = y y : = z x f 1 f 2 f 3 end y f 2 f 3 f 4 end {y is fn } Ch 4 -38 Exercise : 11, 35