1-Sep-14 Analisis dan Perancangan Algoritma Kuliah 3 : Proof by induction E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan
Eko AB – Analisis dan Perancangan Algoritma 2 Methods of Proof Proof by Contradiction –Assume a theorem is false; show that this assumption implies a property known to be true is false -- therefore original hypothesis must be true Proof by Counterexample –Use a concrete example to show an inequality cannot hold Mathematical Induction –Prove a trivial base case, assume true for k, then show hypothesis is true for k+1 –Used to prove recursive algorithms
Eko AB – Analisis dan Perancangan Algoritma 3 Review: Induction Suppose –S(k) is true for fixed constant k Often k = 0 –S(n) S(n+1) for all n >= k Then S(n) is true for all n >= k
Eko AB – Analisis dan Perancangan Algoritma 4 Proof By Induction Claim:S(n) is true for all n >= k Basis: –Show formula is true when n = k Inductive hypothesis: –Assume formula is true for an arbitrary n Step: –Show that formula is then true for n+1
Eko AB – Analisis dan Perancangan Algoritma 5 Induction Example: Gaussian Closed Form Prove … + n = n(n+1) / 2 –Basis: If n = 0, then 0 = 0(0+1) / 2 –Inductive hypothesis: Assume … + n = n(n+1) / 2 –Step (show true for n+1): … + n + n+1 = ( …+ n) + (n+1) = n(n+1)/2 + n+1 = [n(n+1) + 2(n+1)]/2 = (n+1)(n+2)/2 = (n+1)(n+1 + 1) / 2
Eko AB – Analisis dan Perancangan Algoritma 6 Induction Example: Geometric Closed Form Prove a 0 + a 1 + … + a n = (a n+1 - 1)/(a - 1) for all a 1 –Basis: show that a 0 = (a )/(a - 1) a 0 = 1 = (a 1 - 1)/(a - 1) –Inductive hypothesis: Assume a 0 + a 1 + … + a n = (a n+1 - 1)/(a - 1) –Step (show true for n+1): a 0 + a 1 + … + a n+1 = a 0 + a 1 + … + a n + a n+1 = (a n+1 - 1)/(a - 1) + a n+1 = (a n )/(a - 1)
Eko AB – Analisis dan Perancangan Algoritma 7 Induction We’ve been using weak induction Strong induction also holds –Basis: show S(0) –Hypothesis: assume S(k) holds for arbitrary k <= n –Step: Show S(n+1) follows Another variation: –Basis: show S(0), S(1) –Hypothesis: assume S(n) and S(n+1) are true –Step: show S(n+2) follows
Eko AB – Analisis dan Perancangan Algoritma 8 Induksi Matematika Induksi Matematika merupakan suatu teknik yang dikembangkan untuk membuktikan pernyataan Induksi Matematika digunakan untuk mengecek hasil proses yang terjadi secara berulang sesuai dengan pola tertentu Indukasi Matematika digunakan untuk membuktikan universal statements n A S(n) dengan A N dan N adalah himpunan bilangan positif atau himpunan bilangan asli. S(n) adalah fungsi propositional
Eko AB – Analisis dan Perancangan Algoritma 9 Basis Step: Tunjukkan bahwa S(1) benar Inductive Step : Sumsikan S(k) benar Akan dibuktikan S(k) S(k+1) benar Conclusion: S(n) adalah benar untuk setiap n bilangan integer positif
Eko AB – Analisis dan Perancangan Algoritma 10 PEMBUKTIAN INDUKSI MATEMATIKA Contoh 1 Buktikan bahwa : … + n = ½ n(n+1) untuk setiap n bilangan integer positif Jawab : Basis : Untuk n = 1 akan diperoleh : 1 = ½ 1. (1+1) 1 = 1
Eko AB – Analisis dan Perancangan Algoritma 11 Induksi : misalkan untuk n = k asumsikan …+ k = ½ k (k+1) adib. Untuk n = k+1 berlaku …+ (k+1) = ½ (k+1) (k+2)
Eko AB – Analisis dan Perancangan Algoritma 12 Jawab : …+ (k+1) = (k+1) (k+2) / …+ k + (k+1) = (k+1) (k+2) / 2 k (k+1) / 2 + (k+1) = (k+1) (k+2) / 2 (k+1) [ k/2 +1 ] = (k+1) (k+2) / 2 (k+1) ½ (k+2) = (k+1) (k+2) / 2 (k+1) (k+2) / 2 = (k+1) (k+2) / 2
Eko AB – Analisis dan Perancangan Algoritma 13 Kesimpulan : …+ n = ½ n (n +1) Untuk setiap bilanga bulat positif n
Eko AB – Analisis dan Perancangan Algoritma 14 Contoh 2 Buktikan bahwa : … + n = (2n - 1) = n 2 untuk setiap n bilangan bulat positif Jawab : Basis : Untuk n = 1 akan diperoleh : 1 = 1 2 1 = 1
Eko AB – Analisis dan Perancangan Algoritma 15 Induksi : misalkan untuk n = k asumsikan …+ (2k – 1) = k 2 adib. Untuk n = k + 1 berlaku
Eko AB – Analisis dan Perancangan Algoritma …+ (2 (k + 1) – 1) = (k + 1) …+ (2k + 1) = (k + 1) …+ ((2k + 1) – 2) + (2k + 1) = (k + 1) …+ (2k - 1) + (2k + 1 ) = (k + 1) 2 k 2 + (2K + 1)= (k + 1) 2 k 2 + 2K + 1= k 2 + 2K + 1
Eko AB – Analisis dan Perancangan Algoritma 17 Kesimpulan : … + n = (2n - 1) = n 2 Untuk setiap bilangan bulat positif n
Eko AB – Analisis dan Perancangan Algoritma 18 Contoh 3 Buktikan bahwa : N 3 + 2n adalah kelipatan 3 untuk setiap n bilangan bulat positif Jawab : Basis : Untuk n = 1 akan diperoleh : 1 = (1) 1 = 3, kelipatan 3
Eko AB – Analisis dan Perancangan Algoritma 19 Induksi : misalkan untuk n = k asumsikan k 3 + 2k = 3x adib. Untuk n = k + 1 berlaku (k + 1) 3 + 2(k + 1) adalah kelipatan 3 (k 3 + 3k k+1) + 2k + 2 (k 3 + 2k) + (3k 2 + 3k + 3) (k 3 + 2k) + 3 (k 2 + k + 1) Induksi 3x + 3 (k 2 + k + 1) 3 (x + k 2 + k + 1)
Eko AB – Analisis dan Perancangan Algoritma 20 Kesimpulan : N 3 + 2n adalah kelipatan 3 Untuk setiap bilangan bulat positif n
Eko AB – Analisis dan Perancangan Algoritma 21 Contoh 4 Buktikan bahwa : n! => 2 n-1 untuk setiap n : 1,2,... jawab Basis unuk n=1 akan diperoleh : 1! => => 2 0 1 => 1
Eko AB – Analisis dan Perancangan Algoritma 22 Induksi : misalkan n=k asumsikan k! => 2 k-1 Adib untuk n = k+1 berlaku (k+1)! => 2 (k+1)-1 adalah benar (k+1)! = (k+1)(k!) (k+1)( 2 k-1 ) 2.2 k k-1 2 (k+1)-1
Eko AB – Analisis dan Perancangan Algoritma 23 Kesimpulan n! 2 n-1 Untuk untuk setiap n : 1,2,...
Eko AB – Analisis dan Perancangan Algoritma 24 Latihan Buktikan dengan induksi bentuk persamaan berikut k 2 k = (n – 1) 2 n Buktikan dengan induksi bahwa n 5 – n habis di bagi 5 untuk n bilangan bulat positif