0% found this document useful (0 votes)
10 views75 pages

Lecture 6

Uploaded by

rajani mandhare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views75 pages

Lecture 6

Uploaded by

rajani mandhare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 75

Because learning changes

®
everything.

Induction and recursion

Chapter 5

With Question/Answer Animations

© McGraw Hill LLC. All rights reserved. No reproduction or distribution without the prior written consent of McGraw Hill LLC.
Chapter Summary
Mathematical Induction.
Strong Induction.
Well-Ordering.
Recursive Definitions.
Structural Induction.
Recursive Algorithms.
Program Correctness (not yet included in
overheads).

© McGraw Hill LLC 2


Mathematical Induction
Section 5.1

© McGraw Hill LLC 3


Section Summary 1

Mathematical Induction.
Examples of Proof by Mathematical
Induction.
Mistaken Proofs by Mathematical Induction.
Guidelines for Proofs by Mathematical
Induction.

© McGraw Hill LLC 4


Climbing an Infinite Ladder
Suppose we have an infinite ladder:

1. We can reach the first rung of the


ladder.

2. If we can reach a particular rung of


the ladder, then we can reach the
next rung.

From (1), we can reach the first rung.


Then by applying (2), we can reach
the second rung. Applying (2) again,
the third rung. And so on. We can
apply (2) any number of times to
reach any particular rung, no matter
how high up.
Access the text alternative for slide images.
© McGraw Hill LLC 5
Principle of Mathematical Induction
Principle of Mathematical Induction: To prove that P(n) is true for all
positive integers n, we complete these steps:

• Basis Step: Show that P(1) is true.

• Inductive Step: Show that P(k) → P(k + 1) is true for all positive
integers k.

To complete the inductive step, assuming the inductive hypothesis


that P(k) holds for an arbitrary integer k, show that must P(k + 1) be
true.

Climbing an Infinite Ladder Example:

• BASIS STEP: By (1), we can reach rung 1.

• INDUCTIVE STEP: Assume the inductive hypothesis that we can


reach rung k. Then by (2), we can reach rung k + 1.

Hence, P(k) → P(k + 1) is true for all positive integers k. We can reach
© McGraw Hill LLC
every rung on the ladder. 6
Important Points About Using
Mathematical Induction
Mathematical induction can be expressed as the
rule of inference
P 1  k P k   P k  1  n P n ,
where the domain is the set of positive integers.
In a proof by mathematical induction, we don’t
assume that P(k) is true for all positive integers! We
show that if we assume that P(k) is true, then P(k +
1) must also be true.
Proofs by mathematical induction do not always
start at the integer 1. In such a case, the basis step
begins at a starting point b where b is an integer.
We will see examples of this soon.
© McGraw Hill LLC 7
Validity of Mathematical Induction
Mathematical induction is valid because of the well ordering
property, which states that every nonempty subset of the set of
positive integers has a least element (see Section 5.2 and
Appendix 1). Here is the proof:
• Suppose that P(1) holds and P(k) → P(k + 1) is true for all
positive integers k.
• Assume there is at least one positive integer n for which P(n)
is false. Then the set S of positive integers for which P(n) is
false is nonempty.
• By the well-ordering property, S has a least element, say m.
• We know that m can not be 1 since P(1) holds.
• Since m is positive and greater than 1, m − 1 must be a
positive integer. Since m − 1 < m, it is not in S, so P(m − 1)
must be true.
• But then, since the conditional P(k) → P(k + 1) for every
© McGraw Hill LLC 8
Remembering How Mathematical
Induction Works
Consider an infinite We know that the first
sequence of domino is knocked
dominoes, labeled down, i.e., P(1) is true .
1,2,3, ..., where
each domino is We also know that if
standing. whenever the kth
domino is knocked over,
Let P(n) be the it knocks over the (k +
proposition that the 1)st domino, i.e, P(k) →
nth domino is P(k + 1) is true for all
knocked over. positive integers k.

Hence, all dominos are


knocked over.

P(n) is true for all positive


Access the text alternative for slide images.
© McGraw Hill LLC 9
Proving a Summation Formula by
Mathematical Induction
Example: Show
n
n n  1 
that:  
2
Note: Once we have
this conjecture,
Solution: i 1
mathematical
induction can be
1 1  1  / 2 1.
• BASIS STEP: P(1) is true used to prove it
since correct.
• INDUCTIVE STEP: Assume true
for P(k). k
k k  1 
The inductive

i 1 2
Under this
hypothesis is
assumption, k k  1 
1  2    k  k  1    k  1 
2
k k  1   2 k  1 

2


k  1 k  2 
2
© McGraw Hill LLC 10
Conjecturing and Proving Correct a
Summation Formula
Example: Conjecture and prove correct a formula for the sum of the first n
positive odd integers. Then prove your conjecture.
1 1, 1  3 4, 1  3  5 9, 1  3  5  7 16, 1  3  5  7  9 25.
Solution: We have:
• n2, integers is
We can conjecture that the sum of the first n positive odd
1  3  5    2n  1  n2 .
• We prove the conjecture is proved correct with mathematical induction.
2
• BASIS STEP: P(1) is true1since
= 1.
• INDUCTIVE STEP: P(k) → P(k + 1) for every positive integer k.
Assume the inductive hypothesis holds and then show that P(k + 1)
holds has well. Inductive Hypothesis:
1  3  5    2k  1  k 2
• So, assuming P(k), it follows that:
1  3  5    2k  1   2k  1   1  3  5    2k  1   2k  1 
k 2  2k  1 by the inductive hypothesis 
k 2  2k  1
2
k  1 
• Hence, we have shown that P(k + 1) follows from P(k). Therefore the
n2 .
sum of the first n positive odd integers is
© McGraw Hill LLC 11
Proving Inequalities 1

n
n 2
Example: Use mathematical induction to prove
thatall positive integers n.
for
n
n  2
Solution: Let P(n) be the proposition that .
1
• BASIS STEP: P(1) is true 1  2 2.
since k  2 k
, for
• INDUCTIVE STEP: Assume P(k) holds, i.e.,
arbitrary positive integer k. an
• Must show that P(k + 1) holds. Since by the
 2k , it follows
inductive khypothesis,
k  1  2k  1 2that:
k
 2k 2 2k 2k 1
n
Therefor n  2 holds for all positive
e integers n.
© McGraw Hill LLC 12
Proving Inequalities 2

n
Example: Use mathematical induction to 2prove n!, that
for
integer n ≥ 4. every
2n  nthat
Solution: Let P(n) be the proposition !.
• BASIS STEP: P(4) is true 24 = 16 < 4! = 24.
• since
INDUCTIVE STEP: Assume P(k) 2k  k! for an
holds, i.e.,
integer k ≥ 4. To show that P(k + arbitrary
1) holds:
2k 1 2 2k
 2 k! by the inductive hypothesis 
 k  1k!
k  1!
n
Therefore2  n! holds, for every integer
, n ≥ 4.
Note that here the basis step is P(4), since P(0), P(1), P(2), and
© McGraw Hill LLC
P(3) are all false. 13
Proving Divisibility Results
3
Example: Use mathematical induction to prove n  n isthat
by 3, for every positive integer n. divisible
Solution: Let P(n) be the n3  n is divisible
proposition
• BASIS STEP:thatP(1) is true13  1 = 0, which byis3.divisible
• since
INDUCTIVE STEP: Assume P(k) by k 3 3.
 k is divisible by
holds,
an i.e., positive integer k. To show3,
arbitrary for P(k +
that
k  1  k  1 k
1) follows: 3 3
 3k  3k  1   k  1 
2

k 3  k   3 k 2  k 
By the inductive hypothesis, the first k term
k  is divisible
3

and the second term is divisible by 3 since by it33 is an


integer multiplied by 3. So by part (i) ofkTheorem
 1  k 1 in
is
Section
divisible4.1
by ,
3.
Therefor n3  n is divisible by 3, for every integer
© McGraw Hill LLC e, positive integer n. 14
Number of Subsets of a Finite Set 1

Example: Use mathematical induction to show


that if S is a finite set with n elements, where n
n
2 subsetinteger, then S has
is a nonnegative
(Chapters.6 uses combinatorial methods to prove
this result.)
Solution: Let P(n) be the proposition that a
2n subset has
set with n elements
• Basis Step: s.
P(0) is true, because the empty
0
2
set has only itself asa1. subset and
• Inductive Step: Assume P(k) is true for an
arbitrary nonnegative integer k.

© McGraw Hill LLC 15


Number of Subsets of a Finite Set 2

Inductive Hypothesis: For an arbitrary nonnegative


2k subset
integer k, every set with k elements has
Let T be a set with s. k + 1 elements. Then T = S ∪
S Sk. = T − {a}. Hence
{a}, where a ∈ T and
For each subset X of S, there are exactly two
subsets of T, i.e., X and X ∪ {a}.

By the inductive hypothesis2Sk subsets.


has Since there
subsets of T for each subset ofareS,two
the number of
2k 2k1of
2subsets . T is
Access the text alternative for slide images.
© McGraw Hill LLC 16
Tiling Checkerboards 1

n n
2  2 checkerboard with one square
Example: Show that every
can be tiled using right triominoes.
removed
A right triomino is an L-shaped tile which
covers three squares at a time.
n n
2 every
Solution: Let P(n) be the proposition that 2 checkerboard
one square removed can be tiled using right with
triominoes. Use
mathematical induction to prove that P(n) is true for all
positive integers n.
• BASIS STEP: P(1) is true, because each of the four 2 × 2
checkerboards with one square removed can be tiled using one
right triomino.

k k
• INDUCTIVE STEP: Assume that P(k) is true2for  2every
checkerboard,
some positive for
integer k. Access the text alternative for slide images.
© McGraw Hill LLC 17
Tiling Checkerboards 2

Inductive Hypothesis: 2k Every


 2k checkerboard, for some positive
k, with one square removed caninteger
be tiled using right
triominoes.
k 1 k 1
Consider a2  2 checkerboard with one square removed. Split this
into four checkerboards 2k  2k, by dividing it in half in both
checkerboard
of size directions.

Remove a square from one of the 2k four 2k checkerboards. By the inductive


hypothesis, this board can be tiled. Also by the inductive hypothesis,
the other three boards can be tiled with the square from the corner of
the center of the original board removed. We can then cover the
k 1
 2k 1 with
three adjacent 2squares a triomino.
checkerboard with one square removed
Hence, the entire can be tiled
using right triominoes. Access the text alternative for slide images.
© McGraw Hill LLC 18
An Incorrect “Proof” by Mathematical
Induction 1

Example: Let P(n) be the statement that every set of


n lines in the plane, no two of which are parallel,
meet in a common point. Here is a “proof” that P(n)
is true for all positive integers n ≥ 2.
• BASIS STEP: The statement P(2) is true because any
two lines in the plane that are not parallel meet in a
common point.
• INDUCTIVE STEP: The inductive hypothesis is the
statement that P(k) is true for the positive integer k ≥
2, i.e., every set of k lines in the plane, no two of which
are parallel, meet in a common point.
• We must show that if P(k) holds, then P(k + 1) holds,
i.e., if every set of k lines in the plane, no two of which
© McGraw Hill LLC are parallel, k ≥ 2, meet in a common point, then every 19
An Incorrect “Proof” by Mathematical
Induction 2

Inductive Hypothesis: Every set of k lines in the plane,


where k ≥ 2, no two of which are parallel, meet in a
common
Consider point.
a set of k + 1 distinct lines in the plane, no two
parallel. By the inductive hypothesis, the first k of these lines p1 .
By themeet
must inductive hypothesis,
in a common the last k of these lines meet in a p2 .
point
common point
If p1 and p2 are different points, all lines containing both of them
same linemust sincebe
two points determine a line. This contradicts
the
the assumption that the lines p1 =are
p2 lies
distinct.
on allHence,
k + 1 distinct
therefore P(k + 1) holds. Assuming lines,
thatand
k ≥2, distinct lines
meet in a common point, then every k + 1 lines meet in a
common point.
There must be an error in this proof since the conclusion is
absurd. But where is the error?
• Answer: P(k)→ P(k + 1) only holds for kp≥3. 1 andIt the second
is not two that
the case must
a common
P(2) p2 . They
implies P(3). The do not
first have
two tomust
lines be the same
meet
meet in point
in since point
a common only
point
is common to both thesets of line
second
© McGraw Hill LLC 20
Guidelines:
Mathematical Induction Proofs
Template for Proofs by Mathematical Induction
1. Express the statement that is to be proved in the form “for all n ≥
b, P(n)” for a fixed integer b.
2. Write out the words “Basis Step.” Then show that P(b) is true,
taking care that the correct value of b is used. This completes the
first part of the proof.
3. Write out the words “Inductive Step”.
4. State, and clearly identify, the inductive hypothesis, in the form
“assume that P(k) is true for an arbitrary fixed integer k ≥ b.”
5. State what needs to be proved under the assumption that the
inductive hypothesis is true. That is, write out what P(k + 1) says.
6. Prove the statement P(k + 1) making use the assumption P(k). Be
sure that your proof is valid for all integers k with k ≥ b, taking
care that the proof works for small values of k, including k = b.
7. Clearly identify the conclusion of the inductive step, such as by
saying “this completes the inductive step.”
8. After completing the basis step and the inductive step, state the
© McGraw Hill LLC conclusion, namely, by mathematical induction, P(n) is true for all 21
Strong Induction and
Well-Ordering
Section 5.2

© McGraw Hill LLC 22


Section Summary 2

Strong Induction.
Example Proofs using Strong Induction.
Using Strong Induction in
Computational Geometry (not yet
included in overheads).
Well-Ordering Property.

© McGraw Hill LLC 23


Strong Induction
Strong Induction: To prove that P(n) is true for
all positive integers n, where P(n) is a
propositional function, complete two steps:
• Basis Step: Verify that the proposition P(1) is
true.
• Inductive
 P 1   P 2Step:
 Show
 P k the
  conditional
statement
 P k  1 
holds for all positive
integers k.
Strong Induction is sometimes
called the second principle of
mathematical induction or
complete induction.
© McGraw Hill LLC 24
Strong Induction and
the Infinite Ladder
Strong induction tells us that we can reach all
rungs if:
1. We can reach the first rung of the ladder.
2. For every integer k, if we can reach the first
k rungs, then we can reach the (k + 1)st
rung.
To conclude that we can reach every rung by
strong induction:
• BASIS STEP: P(1) holds
• INDUCTIVE STEP: Assume P(1) ∧ P(2) ∧∙∙∙
∧ P(k)
holds for an arbitrary integer k, and show
that
P(k + 1) must also hold.
© McGraw Hill LLC We will have then shown by strong induction 25
Proof using Strong Induction 1

Example: Suppose we can reach the first and


second rungs of an infinite ladder, and we know that
if we can reach a rung, then we can reach two rungs
higher. Prove that we can reach every rung. (Try this
with mathematical induction.)
Solution: Prove the result using strong induction.
• BASIS STEP: We can reach the first step.
• INDUCTIVE STEP: The inductive hypothesis is that
we can reach the first k rungs, for any k ≥ 2. We
can reach the
(k + 1)st rung since we can reach the (k − 1)st
rung by the inductive hypothesis.
© McGraw Hill LLC 26
Which Form of Induction Should Be
Used?
We can always use strong induction instead
of mathematical induction. But there is no
reason to use it if it is simpler to use
mathematical induction. (See page 335 of
text.)
In fact, the principles of mathematical
induction, strong induction, and the well-
ordering property are all equivalent.
(Exercises 41-43)
Sometimes it is clear how to proceed using
one of the three methods, but not the other
© McGraw Hill LLC
two. 27
Completion of the proof of the
Fundamental Theorem of Arithmetic
Example: Show that if n is an integer greater than 1, then n can
be written as the product of primes.
Solution: Let P(n) be the proposition that n can be written as a
product of primes.
BASIS STEP: P(2) is true since 2 itself is prime.
INDUCTIVE STEP: The inductive hypothesis is P(j) is true for all
integers j with 2 ≤ j ≤ k. To show that P(k + 1) must be true
under this assumption, two cases need to be considered:
• If k + 1 is prime, then P(k + 1) is true.
• Otherwise, k + 1 is2 composite
a b  k  1. and
By the
caninductive hypothesis
be written a and
as the product
written as the product
of two positive integersofaprimes and
can therefore
and bbwith be k + 1 can also be
written as the product of those primes.
Hence, it has been shown that every integer greater than 1 can
be written as the product of primes.
(uniqueness proved in Section 4.3)
© McGraw Hill LLC 28
Proof using Strong Induction 2

Example: Prove that every amount of postage of 12 cents


or more can be formed using just 4-cent and 5-cent stamps.
Solution: Let P(n) be the proposition that postage of n
cents can be formed using 4-cent and 5-cent stamps.
BASIS STEP: P(12), P(13), P(14), and P(15) hold.
• P(12) uses three 4-cent stamps.
• P(13) uses two 4-cent stamps and one 5-cent stamp.
• P(14) uses one 4-cent stamp and two 5-cent stamps.
• P(15) uses three 5-cent stamps.
INDUCTIVE STEP: The inductive hypothesis states that P(j)
holds for 12 ≤ j ≤ k, where k ≥ 15. Assuming the inductive
hypothesis, it can be shown that P(k + 1) holds.
Using the inductive hypothesis, P(k − 3) holds since k − 3 ≥
12. To form postage of k + 1 cents, add a 4-cent stamp to
the postage for k − 3 cents. Hence, P(n) holds for all n ≥ 12.
© McGraw Hill LLC 29
Proof of Same Example using
Mathematical Induction
Example: Prove that every amount of postage of 12 cents
or more can be formed using just 4-cent and 5-cent stamps.
Solution: Let P(n) be the proposition that postage of n
cents can be formed using 4-cent and 5-cent stamps.
BASIS STEP: Postage of 12 cents can be formed using three
4-cent stamps.
INDUCTIVE STEP: The inductive hypothesis P(k) for any
positive integer k is that postage of k cents can be formed
using 4-cent and 5-cent stamps. To show P(k + 1) where k
≥ 12 , we consider two cases:
• If at least one 4-cent stamp has been used, then a 4-cent stamp
can be replaced with a 5-cent stamp to yield a total of k + 1
cents.
• Otherwise, no 4-cent stamp have been used and at least three
5-cent stamps were used. Three 5-cent stamps can be replaced
© McGraw Hill LLC
by four 4-cent stamps to yield a total of k + 1 cents. 30
Well-Ordering Property 1

Well-ordering property: Every nonempty set of


nonnegative integers has a least element.
The well-ordering property is one of the axioms of
the positive integers listed in Appendix 1.
The well-ordering property can be used directly in
proofs, as the next example illustrates.
The well-ordering property can be generalized.
Definition: A set is well ordered if every subset has a
least element.
• N is well ordered under ≤.
• The set of finite strings over an alphabet using
lexicographic ordering is well ordered.
We will see a generalization of induction to sets other
© McGraw Hill LLC than the integers in the next section. 31
Well-Ordering Property 2

Example: Use the well-ordering property to prove the


division algorithm, which states that if a is an integer
and d is a positive
integer, then there are unique integers q and r with 0 ≤ r
< d, such that
a = dq + r.
Solution: Let S be the set of nonnegative integers of the
form a − dq, where q is an integer. The set isr nonempty a  dq0 .
since −dq can be made as large as needed.
The integer r is nonnegative. It also must be the case
• that r <well-ordering
By the d. If it were not, then there
property, S haswould
a leastbeelement
a smaller
a  d q0element
nonnegative  1  a  in
dqS,
0  d r  d  0.
namely,
• Therefore, there are integers q and r with 0 ≤ r < d.
(uniqueness of q and r is Exercise 37)

© McGraw Hill LLC 32


Recursive Definitions and
Structural Induction
Section 5.3

© McGraw Hill LLC 33


Section Summary 3

Recursively Defined Functions.


Recursively Defined Sets and
Structures.
Structural Induction.
Generalized Induction.

© McGraw Hill LLC 34


Recursively Defined Functions 1

Definition: A recursive or inductive


definition of a function consists of two steps.
• BASIS STEP: Specify the value of the
function at zero.
• RECURSIVE STEP: Give a rule for finding its
value at an integer from its values at
a0 , a1 ,  ,
smaller integers.
wher ai , where f(i) ai . This was done using
relations
e
A function=inf(n)
Section
is the recurrence
same as a sequence
2.4.

© McGraw Hill LLC 35


Recursively Defined Functions 2

Example: Suppose f is defined by:


f 0  3,
f n  1  2 f n   3
Findff1, 2 , ff3 , 4 
Soluti
on:ff1  2 0   3 2 3  3 9
ff2  2 1   3 2 9  3 21
ff3  2 2   3 2 21  3 45
ff4  2 3  3 2 45  3 93
Example: Give a recursive definition of the n!:
factorial f 0  1
Soluti function
on: f n  1 n  1 f n 
© McGraw Hill LLC 36
Recursively Defined Functions 3

Example: Give a recursive


definition of: n

a .
k 0
k

Solution: The first part of the


definition is 0

a
k 0
k a0 .

n 1
The second  n 
part is 
k 0
ak   ak   an  1.
 k 0 

© McGraw Hill LLC 37


Fibonacci Numbers 1

Example : The Fibonacci numbers are Fibonacci


defined as follows: (1170-
1250)
f0 0
f1 1 In Chapter 8, we will use
the Fibonacci numbers to
ffn  n 1  fn 2 model population growth
of rabbits. This was an
Findff2 , 3 , ff4 , 5 .
application described by
ff2  1  f0 1  0 1 Fibonacci himself.

ff3  2  f1 1  1 2 Next, we use strong


induction to prove a
ff4  3  f2 2  1 3 result about the
ff5  4  f3 3  2 5 Fibonacci numbers.

© McGraw Hill LLC 38


Fibonacci Numbers 2

Example 4: Show that n 3, fn   n 2 , wher   1  5 2.  


whenever Let P(n) be the
Solution: fn   n 2 . e
statement
Use strong induction to show that P(n) is true
whenever n ≥ 3.   2  f3
BASIS STEP: P(3) holds since
P(4) holds 
 2  3  5 2  3  f4 . 
since
INDUCTIVE STEP: Assume that P(j) f j   j  2 for all integers j
holds, i.e., with k  1
3 ≤ j ≤ k, where k ≥ 4. Show that P(k + fk 1   .
1)
• holds,
Sinc α i.e.,
2
= α  1 (because α is a x2 − x − 1
e solution of = 0),
 k  1  2  k  3   1 k  3   k  3  1  k  3  k  2   k  3
• By the inductive hypothesis, because k ≥
4 we have ff   k  3 ,   k 2. Why does
k 1 k
• Therefore, it follows this
that ff   fk  1   k  2   k  3  k  1 . equality
k 1 k
hold?
• Hence, P(k + 1) is true.
© McGraw Hill LLC 39
Lamé’s Theorem 1

Lamé’s Theorem: Let a and b be positive integers with


Gabriel
a ≥ b.
Lamé
Then the number of divisions used by the Euclidian
(1795-
algorithm to
1870)
find gcd(a,b) is less than or equal to five times the
number of
decimal digits in b. q1 , q2 , , qn 1 is
• Since each quotient
a r0 , b r1 ): at least 1 q  2 :
Proof: When we use the Euclidian algorithm to nfind
and
rn 1  f2 ,
gcd(a,b) with
r r q  r a ≥ b,0 r  r ,
0 1 1 2 2 1
• nr1 divisions rn 1 2rn 2 ff2  3 ,
r2q2  r3 are used
0 r3to robtain
2,
(with rn 2 rn 1  rn  ff3   f4 ,
 2

rn 2 rn 1qn 1  rn 0 rn  rn 1 , 


rn 1 rnqn . r2 r3  r4  ffn 1  n 2  fn ,
b r1 r2  r3  ffn  n 1  fn1 .
© McGraw Hill LLC 40
Lamé’s Theorem 2

It follows that if n divisions are used by the Euclidian


algorithm to find gcd(a,b) b  fn1with
. By Example fn1  α n  1, for n >
a ≥ b, then
wher α = 1   5  / 2. Therefor b4, α .
n 1
2,
e e,
Becaus log α  0.208  1 / 5, log b  n  1  log α  n  1 / 5 . Henc
10 10 10
e n  1  5 log10 b. e,

Suppose that b has k decimal b  10k and log10 b  k. It


digits. Then
follows that n − 1 < 5k and since k is an integer, n ≤
5k.
As a consequence of Lamé’s Theorem, O(log b) divisions
are used by the Euclidian algorithm to find gcd(a,b)
whenever a > b. 5 log10 b  1  since the number of
• digits Theorem, log
in b (which
By Lamé’s the10 bnumber
  1 is less
ofdecimal
than log10 b 
or needed
divisions to1.find
equals
gcd(a,b) with awas
> b the
is less equal to
Lamé’s Theorem firstthan or in
result equal to
computational
© McGraw Hill LLC
complexity. 41
Recursively Defined Sets and Structures 1

Recursive definitions of sets have two parts:


• The basis step specifies an initial collection of elements.
• The recursive step gives the rules for forming new elements
in the set from those already known to be in the set.
Sometimes the recursive definition has an exclusion
rule, which specifies that the set contains nothing
other than those elements specified in the basis
step and generated by applications of the rules in
the recursive step.
We will always assume that the exclusion rule holds,
even if it is not explicitly mentioned.
We will later develop a form of induction, called
structural induction, to prove results about
© McGraw Hill LLC 42
Recursively Defined Sets and Structures 2

Example : Subset of Integers S:


BASIS STEP: 3 ∊ S.
RECURSIVE STEP: If x ∊ S and y ∊ S, then x + y is
in S.

Initially 3 is in S, then 3 + 3 = 6, then 3 + 6


= 9, etc.
Example: The natural numbers N.
BASIS STEP: 0 ∊ N.
RECURSIVE STEP: If n is in N, then n + 1 is in N.

© McGraw Hill LLC Initially 0 is in S, then 0 + 1 = 1, then 1 + 1 43


Strings
Definition: The set Σ* of strings over the
alphabet Σ:
BASIS STEP: λ ∊ Σ* (λ is the empty string)
RECURSIVE STEP: If w is in Σ* and x is in Σ, then
wx ∊ Σ*.

Example: If Σ = {0,1}, the strings in in Σ*


are the set of all bit strings, λ,0,1, 00,01,10,
11, etc.
Example: If Σ = {a,b}, show that aab is in
Σ*.
© McGraw Hill LLC
• 44
String Concatenation
Definition: Two strings can be combined via
the operation of concatenation. Let Σ be a
set of symbols and Σ* be the set of strings
formed from the symbols in Σ. We can define
the concatenation of two strings, denoted by
∙, recursively as follows.
w λ w.
BASIS STEP: If ww∊
RECURSIVE Σ*,* then
and w2  * and x ∊ Σ, w1 .
1
w2 xIf w1 w2  x.
STEP: then
Ofte w1 w2 is written w1 w2 .
n w = abra as w = cadabra, the
If 1 2
w1 w2and
= concatenation
© McGraw Hill LLC abracadabr 45
Length of a String
Example: Give a recursive definition
of l(w), the length of the string w.
Solution: The length of a string can be
recursively defined by:
l   0;
l wx  l w   1 if w  * and x   .

© McGraw Hill LLC 46


Balanced Parentheses
Example: Give a recursive definition
of the set of balanced parentheses P.
Solution:
() ∊
BASIS STEP:
P
RECURSIVE STEP: If w ∊ () w ∊ (w) ∊ P
P, w () ∊
then P, and
P
Show . (() ()) is in
that ))(() P.
not in
Why is P?
© McGraw Hill LLC 47
Well-Formed Formulae in Propositional
Logic
Definition: The set of well-formed formulae
in propositional logic involving T, F,
propositional variables, and operators from
the set {¬,∧,∨,→,↔}.
BASIS STEP: T,F, and s, where s is a propositional
variable, are well-formed formulae.
RECURSIVE STEP: If E and F are well formed
formulae, then (¬ E), (E ∧ F), (E ∨ F), (E → F), (E
 
p  q   q  F  is a well-formed
↔ F), are well-formed formulae.
formula.
pq ∧ is not a well formed
Examples:
formula.
© McGraw Hill LLC 48
Rooted Trees
Definition: The set of rooted trees, where a
rooted tree consists of a set of vertices
containing a distinguished vertex called the
root, and edges connecting these vertices,
can be defined recursively by these steps:
BASIS STEP: A single vertex r is a rooted tree.
T1 ,T2 , ,Tn are disjoint
trees withSTEP:
RECURSIVE r1 , r2Suppose
,, rn , respectively.
that Then the
rooted
roots by starting with
formed graph
a root r, which is not in
any of the Trooted
1 ,T2 , , Ttrees
n , and adding an edge from r
of the r1 , r2 ,, rn ,to
is also
eacha rooted
vertices tree.

© McGraw Hill LLC 49


Building Up Rooted Trees

Trees are studied extensively in Chapter 11.


Next we look at a special type of tree, the full
binary tree. Access the text alternative for slide images.
© McGraw Hill LLC 50
Full Binary Trees 1

Definition: The set of full binary


trees can be defined recursively by
these steps.
BASIS STEP: There is a full binary tree
consisting of only a Tsingle
T and vertex full
are disjoint r.
1 2
trees, there
RECURSIVE is a If
STEP: binary
full binary tree, T1 T2 ,
consisting
denoted byof a root r together with edges
connecting the root to each of the roots
T1 and
of the left subtree
the right T2 .
subtree
© McGraw Hill LLC 51
Building Up Full Binary Trees

Access the text alternative for slide images.


© McGraw Hill LLC 52
Induction and Recursively Defined Sets
Example: Show that the set S defined by specifying
that 3 ∊ S and that if x ∊ S and y ∊ S, then x + y is in
S, is the set of all positive integers that are multiples
of 3.
Solution: Let A be the set of all positive integers
divisible by 3. To prove that A = S, show that A is a
subset of 3S1and
= 3 ∊SS,is
byathe
subset ofofA.
first part recursive
• INDUCTIVE definition.
A⊂ S: Let P(n)
STEP:be the statement
Assume that
P(k) is true. By 3n
thebelongs to S.
second part of the
recursive definition, if 3k ∊ S, then since 3 ∊ S, 3k + 3 = 3(k + 1) ∊
BASIS STEP:
S. Hence, P(k + 1) is true.
• S ⊂ A: 3 1.
BASIS STEP:STEP:
INDUCTIVE 3 ∊ S The
by the first part
second part of
of recursive definition,
the recursive andadds
definition 3= x
+y to S, if both x and y are in S. If x and y are both in A, then both x
and y are divisible by 3. By part (i) of Theorem 1 of Section 4.1, it
follows that x + y is divisible by 3.
We used mathematical induction to prove a result
about a recursively defined set. Next we study a
© McGraw Hill LLC
more direct form induction for proving results about 53
Structural Induction
Definition: To prove a property of the
elements of a recursively defined set, we
use structural induction.
BASIS STEP: Show that the result holds for all
elements specified in the basis step of the
recursive definition.
RECURSIVE STEP: Show that if the statement is
true for each of the elements used to construct
new elements in the recursive step of the
definition, the result holds for these new
elements.

The validity of structural induction can be


© McGraw Hill LLC 54
Full Binary Trees 2

Definition: The height h(T) of a full binary tree T is


defined recursively as follows:
• BASIS STEP: The height of a full binary tree T consisting of
only a root r is h(T) = 0.
• RECURSIVE STEP: T1 and
If T2 are full binary trees, then the full
T T1 T2 has binary tree
 max h T1 , h T2 .
h T  1 height
The number of vertices n(T) of a full binary tree T
satisfies the following recursive formula:
• BASIS STEP: The number of vertices of a full binary tree T
consisting of only a root r is n(T) = 1.
• RECURSIVE STEP: T1 and If T2 are full binary trees, then the full
T T1 T2 has the number of binary tree
n T  1 vertices
n T1   n T2 .
© McGraw Hill LLC 55
Structural Induction and Binary Trees
hT 1
Theorem: If T is a full binary n T  2  1.
tree,
Proof: then
Use structural induction.
• BASIS STEP: The result holds for a full binary tree consisting only of a
root, n T  1 and h T  0. Hencen T  1 2  1 1.
0 1

,
n T1  2  1   1 and
h T 1
• RECURSIVE STEP:
AssumehT2 1 also
n T2  2  1 wheneveT1 and T2 are full binary
n T  1  n T   n Tr 
1 2 by recursive
trees. formula of n T 

  
1  2hT1 1  1  2hT2 1  1  by inductive hypothesis 
 
2 max 2hT1 1 ,2hT2 1  1
2 2  1 2   1
max hT ,hT 1
max 2 , 2  2
x y max x , y 

2 2ht   1 by recursive definition of h T 
2ht 1  1
© McGraw Hill LLC 56
Generalized Induction 1

Generalized induction is used to prove


results about sets other than the integers
that have the well-ordering property.
(explored in more detail in Chapter 9)
For example, consider an ordering on 1 ×
x1 , yN is N,
ordered
than pairs of
or equal y2  if
x2 ,nonnegative x1  integers.
x2 , or x1 x2 an less
y1  y2 . This
Specify
to that
is called the either
lexicographic d
Strings ordering.
are also commonly ordered by a
lexicographic ordering.
The next example uses generalized induction
to prove a result about ordered pairs from N
© McGraw Hill LLC
× N. 57
Generalized Induction 2

m ,n is defined 
Example: Supposeathat m, n  N N
bya0,0 = 0 an am 1,n for
1 if n 0 and m  0
d am ,n  .
am ,n 1  n if n  0
Show am ,n m  n n  1  2 is defined for m, n  N N.
that
Solution: Use generalized all
induction. a0,0 0  0.1  2
BASIS STEP:STEP:
INDUCTIVE am,n m  nn  1  2
Assume that m′,n′) is less than (m,n) in the
whenever(̍
lexicographic ordering of N × N .
• If n = 0, by the inductive hypothesis we can conclude
am ,n am  1,n  1 m  1  n n  1  2  1 m  n n  1  2.
• If n > 0, by the inductive hypothesis we can
am ,n am 1,n  1 m  n n  1 2  n m  n n  1 2.
conclude
© McGraw Hill LLC 58
Recursive Algorithms
Section 5.4

© McGraw Hill LLC 59


Section Summary 4

Recursive Algorithms.
Proving Recursive Algorithms Correct.
Recursion and Iteration (not yet
included in overheads).
Merge Sort.

© McGraw Hill LLC 60


Recursive Algorithms
Definition: An algorithm is called
recursive if it solves a problem by
reducing it to an instance of the same
problem with smaller input.
For the algorithm to terminate, the
instance of the problem must
eventually be reduced to some initial
case for which the solution is known.

© McGraw Hill LLC 61


Recursive Factorial Algorithm
Example: Give a recursive algorithm
n!, where n is a nonnegative
for computing
integer.
Solution: Use the recursive
definition of the factorial function.
procedure factorial(n: nonnegative integer)
if n = 0 then return 1
else return n factorial n  1 
 output is n!

© McGraw Hill LLC 62


Recursive Exponentiation Algorithm
Example: Give a recursive algorithm
n
a , where a is a nonzero real
for computing
and n is a nonnegative
number integer.
n
Solution: Use the recursive a.
definition of
procedure power(a: nonzero real number, n:
nonnegative integer)
if n = 0 then return 1
else return a power a , n  1 
 output is a n

© McGraw Hill LLC 63
Recursive GCD Algorithm
Example: Give a recursive algorithm for
computing the greatest common divisor of
two nonnegative integers a and b with a <
b.
Solution: Use the reduction
gcd(a,b) = gcd(b mod a, a)
and the condition
procedure gcd(0,b)
gcd(a,b: = b when
nonnegative b > 0.
integers
with a < b)
if a = 0 then return b
else return gcd (b mod a, a)
{output is gcd(a, b)}
© McGraw Hill LLC 64
Recursive Modular Exponentiation
Algorithm
Example: Devise a a recursive algorithm
bn mod
for m, where b, n, and m are integers
computing
n≥ with m ≥1≤
0, and 2, b
≤ m.
(see text for full
Solution:
explanation)
procedure mpower(b,m,n: integers with b > 0 and
m ≥ 2, n ≥ 0)
if n = 0 then
return 1
2
else if n is even then  mod
b , n / 2, m
els return mpower
 m2

e retu mpower b,  n / 2  , m  mod m b mod m mod
rnis bn mod m m
output
© McGraw Hill LLC 65
Recursive Binary Search Algorithm
Example: Construct a recursive version of a binary
search algorithm.
Solution: Assume wea1have , a2 ,, an , an increasing
integers. Initially i is 1 and j is n.sequence
We are of
searching for x.
procedure binary search(i, j, x : integers, 1≤ i ≤ j ≤n)
m :  i  j  / 2 
if x am the
returnn
else m ifx  am and i < m)
( return binary
then
x  am and j >m)
else search(i,m−1,x)
if ( return binarythen
else search(m+1,j,x)
returnis location ofa1 , a2 ,, an if it appears,
{output
0
x in otherwise 0}
© McGraw Hill LLC 66
Proving Recursive Algorithms Correct
Both mathematical and strong induction are useful techniques
to show that recursive algorithms always produce the correct
output.
Example: Prove that the algorithm for computing the powers
of realprocedure
numbers is correct.nonzero real number, n:
power(a:
nonnegative integer)
if n = 0 then return
a power a , n 11

else
outputreturn
is a n

Solution: Use mathematical induction on the exponent n.


a 0 1 for every nonzero real number a, and
BASIS STEP:
INDUCTIVE STEP: power(a,0) = 1. k
The inductive hypothesis is that a , for all a
Assuming=the inductive hypothesis, the algorithm ≠0. a k 1 ,
power(a,k)
correctly
sinc computes
e power a , k  1  a power a , k  a a k a k 1 .
© McGraw Hill LLC 67
Merge Sort 1

Merge Sort works by iteratively splitting a


list (with an even number of elements) into
two sublists of equal length until each sublist
has one element.
Each sublist is represented by a balanced
binary tree.
At each step a pair of sublists is successively
merged into a list with the elements in
increasing order. The process ends when all
the sublists have been merged.

© McGraw Hill LLC


The succession of merged lists is 68
Merge Sort 2

Example: Use merge sort to put the


list
8,2,4,6,9,7,10, 1, 5, 3
into increasing order.
Solution:

Access the text alternative for slide images.


© McGraw Hill LLC 69
Recursive Merge Sort 1

Example: Construct a recursive merge


sort algorithm.
Solution: Begin with the list of n elements
L. L  a1 , a2 ,, an 
procedure mergesort
if n > 1
then
m :  n / 2 
L1 :a1 , a2 ,, am
L2 :am1 , am2 ,, an
L :merge mergesort L1 , mergesort L2 
{L is now sorted into elements in
increasing order}

© McGraw Hill LLC 70


Recursive Merge Sort 2

Subroutine merge, which merges two


sorted lists.L , L :sorted
procedure merge( 1 2
L :empty list lists)
whileL1 and L2 are both
nonempty
remove smaller of first L1 and L2 from its
elements
put at theof right end of L list;
if this removal makes one list empty
then remove all elements from the other list and
append them to L
return L {L is the merged list with the elements in
Complexity
increasing order} of Merge: Two sorted lists
with
m elements and n elements can be merged
into a sorted list using no more than m + n
© McGraw Hill LLC 71
Merging Two Lists
Example: Merge the two lists 2,3,5,6
and 1,4.
Solution:
TABLE 1 Merging the Two Sorted Lists 2, 3, 5, 6
and 1, List
First 4. Second List Merged List Comparison
2356 14 1<2
2356 4 1 2<4
356 4 12 3<4
56 4 123 4<5
56 1234
123456

© McGraw Hill LLC 72


Complexity of Merge Sort 1

Complexity of Merge Sort: The number of


comparisons needed to merge a list with n
elements is O(n log n). 2m.
For simplicity,
At the assume
end of the thatprocess,
splitting n is a power of 2,a say
we have
m
2
binary tree lists
with with one element
m levels, and at
The merging level m. begins at level m with 2m list
process
m 1
with one element
the pairs of 2 lists of two elements.
s
combined
merger intotwo one comparison.
takes Each
The procedure continues, at each level (k
= m, m−1,2 m−1,
k
2m  k elements are merged2k 1
lists ...,3,2,1)
lists, 2m  k 1 with
elements atinto level
• We know (byk−1.
with the complexity of the merge subroutine)
m k
that each merger2takes  2mat k most
 1 2m k 1  1 comparison
s.
© McGraw Hill LLC 73
Complexity of Merge Sort 2

Summing over the number of comparisons at


each level, shows that
m m m

2 k 1
2 m  k 1
 1   2 m
 2 k 1
m2 m
   1 nlog n  n  1,
2 m

k 1 k 1 k 1
m
because m = log
m
nn 2
and .
(The
k 1
 in the formula
2 k 1

expression2m  1 usingabove
theisformula for the sum
evaluated
terms of a as of theprogression, from Section
geometric
2.4.)
In Chapter 11, we’ll see that the fastest
comparison-based sorting algorithms have O(n
log n) time complexity. So, merge sort achieves
© McGraw Hill LLC 74
End of Main Content

Because learning changes everything. ®

www.mheducation.com

© McGraw Hill LLC. All rights reserved. No reproduction or distribution without the prior written consent of McGraw Hill LLC.

You might also like