Discrete Mathematics: Induction and Recursion
Discrete Mathematics: Induction and Recursion
Mathematics
Chapter 4
Induction and Recursion
(
i 1
2i - 1) 2 i
i 1
- n n ( n 1) - n n 2
n
Pf : Let P(n) denote the proposition that (
i 1
2i - 1) n 2
Ch4-4
Example 7. The harmonic numbers Hk, k =1,2,3,…, are
1 1 1
defined by H k 1 ... . Use MI to show that
2 3 k
n
H 2n 1 whenever n is a nonnegative integer.
2
Pf : Let P(n) be the proposition that “ H 2n 1 n / 2 ”.
Basis step : P(0) is true, since H 20 H1 1 1 0 / 2.
Inductive step : Assume that P(k) is true for some k,
i.e., H 2k 1 k / 2
Consider P(k+1) :
Ch4-5
1 1 1 1 1 1
H 2k 1 1 k k k k 1
2 3 2 2 1 2 2 2
1 1 1
H 2k k k k 1
2 1 2 2 2
k 1 1 1
(1 ) k k k 1
2 2 1 2 2 2
k 1 1 1
(1 ) k k k
2 2 2 k
2 2 k
2 2k
k 2k
(1 ) k
2 2 2k
k 1
1
2
∴P(k+1) is true.
By MI, P(n) is true for all nZ+. Exercise : 7, 13
Ch4-6
4.2 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.
Ch4-7
Example 2. Show that if nZ 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 kZ and k >1.
Note: 此題無法僅用 MI 證
Ch4-8
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 (m1) + 5 n.
P(k+1) is true.
By Strong MI, P(n) is true if nZ and n 12.
Exercise : 7
Ch4-9
4.3 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).
Ch4-10
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)
Def1, Example 5. The Fibonacci numbers f0, 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
Ch4-11
1 5
Example 6. Show that fn > a n-2 , where a ,n 3
2
Pf: ( By Strong MI )
Let P(n) be the statement fn >a n-2 .
Basis: f3 = 2 > a
3 5
f4 3 a 2
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 > a n-2 + a n-3
= a n-3(a +1)
∵ a +1= a 2
∴ fn+1 > a n-3 a 2 = a n-1
We get that P(n+1) is true.
By Strong MI , P(n) is true for all n 3
Ch4-12
※Recursively defined sets.
Example 7. Let S be defined recursively by
3S
x+yS if xS and yS.
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 3nS
…
(ii) S A : (利用S的定義) S=A
(1) 3 A ,
(2) if xA,yA, then 3|x and 3|y.
3|(x+y) x+yA
∴S A Ch4-13
Definition 2. The set of strings over an alphabet
is denoted by *. The empty string is denoted
by l, l , and wx* whenever w* and x.
eg. = { a, b, c }
la lb lc
* = { 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.
Ch4-14
Exercise 3, 7, 13, 48, 49
Exercise 39. When does a string belong to the
set A of bit strings defined recursively by
lA
0x1A if xA.
Sol :
A={l, 01 , 0011, 000111, …}
0l1
Ch4-15
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
Ch4-16
4.4 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)
Ch4-17
Example 2. Give a recursive algorithm for
computing an, where aR \ {0}, nN.
Sol :
recursive definition of an :
initial value : a0=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).
Ch4-18
Example 4. Find gcd(a,b) with 0a<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).
call binary_search(x, 1, n)
Ch4-20
Example 1. Give the value of n!, nZ+
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)
Ch4-22
Alg.8 (Iterative Fibonacci)
procedure iterative_fibonacci (n: nonnegative integer)
if n = 0 then y := 0 // y = f0
else begin
x := 0
y := 1 // y = f1
for i := 1 to n-1
begin
i=1 i=2 i=3
z := x + y
x := y z f2 f3 f4
y := z x f1 f2 f3
end y f2 f3 f4
end
{y is fn }
Exercise : 11, 35
Ch4-23