5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences &...

41
Sequences Summation & Product Common sequences Solving recurrences Application Summary 5. Sequences & Recursion Terence Sim

Transcript of 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences &...

Page 1: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5. Sequences & Recursion

Terence Sim

Page 2: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

A mathematician, like a painteror poet, is a maker of patterns.

Godfrey Harold Hardy,1877— 1947

Reading

Sections 5.1 — 5.4, 5.6 — 5.8 of Epp.Section 2.10 of Campbell.

Page 3: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.1. Sequences

You may already be familiar with the following sequences:

N: 0, 1, 2, 3, 4, 5, . . .Even numbers: 0, 2, 4, 6, 8, 10, . . .Primes: 2, 3, 5, 7, 11, 13, . . .Geometric: 1, 2, 4, 8, 16, 32, . . .Squares: 0, 1, 4, 9, 16, 25, . . .Fibonacci: 0, 1, 1, 2, 3, 5, . . .

Page 4: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.1.1. Explicit formula

In general, denote a sequence of numbers by:

a0, a1, a2, a3, a4, a5, . . .

That is, an = f (n), for some function f () and n ∈ N. The indexingvariable is n.

Thus, one way to express a sequence is to specify the function f (), eg.

• Even numbers: f (n) = 2n.

• Squares: f (n) = n2.

• Geometric: f (n) = 2n.

• Fibonacci: f (n) = 1√5

[( 1+√5

2 )n − ( 1−√5

2 )n].

The function f () permits direct computation of the nth term of thesequence. However, this may not be “efficient”.

Page 5: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Quiz 1: What is the next number in the sequence?

1, 3, 5, 7, ?

Page 6: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Quiz 2: What is the next word in this sequence?

I, CAN, DO, ?

Page 7: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.1.2. Recurrence relation

Another way to express a sequence is to specify how an is relatedto its predecessors an−1, an−2, . . ., called the recurrence relation,together with some initial conditions.

Examples:

Sequence Recurrence relation Initial conditions

Even numbers: an = an−1 + 2 a0 = 0Geometric: an = 2an−1 a0 = 1Fibonacci: an = an−1 + an−2 a1 = 1, a0 = 0

Page 8: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Starting from the initial conditions, we can simply apply therecurrence relation repeatedly to “work forwards” to get anysubsequent term we wish.

Example: Given the following recurrence relation and initialconditions, work out the next few terms.

ck = ck−1 + kck−2 + 1, for all integers k ≥ 2

c0 = 1, and c1 = 2

Thus,

c2 = c1 + 2c0 + 1 = 2 + 2(1) + 1 = 5

c3 = c2 + 3c1 + 1 = 5 + 3(2) + 1 = 12

c4 = c3 + 4c2 + 1 = 12 + 4(5) + 1 = 33

Page 9: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

A recurrence relation is easily implemented in code. For example,the previous sequence written as a recursive function in Python:

def cTermR(n):

if n < 2:

return n+1

else:

return cTermR(n-1) + n * cTermR(n-2) + 1

However, this runs slowly for large n, eg. n = 40.

Page 10: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

A better way is to re-write it as a while loop to “work forwards” fromthe initial conditions:

def cTermI(n):

if n == 0:

return 1

I = 2 #) Initial conditions

CAN = 1 #)

DOIT = 2

while n > 1:

(I,CAN) = (I+CAN*DOIT+1,I) #Recurrence relation

DOIT = DOIT + 1

n = n - 1

return I

This runs significantly faster for large n.

Page 11: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

What sequence does this recurrence generate?

an = an−1 + 2

Answer: It depends on the initial conditions.

• If a0 = 0, we get 0, 2, 4, 6, 8, . . .

• If a0 = 1, we get 1, 3, 5, 7, 9, . . .

Thus, a recurrence relation alone, without initial conditions, doesnot define a unique sequence.

Page 12: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.2. Summation & Product

Summing a sequence will yield another sequence

n∑i=m

ai = am + am+1 + . . .+ an−1 + an = Sn, ∀n ∈ N.

Example:n∑

i=0

i =n(n + 1)

2= 4n.

This is the sum of the first n + 1 integers, starting from 0. Itgenerates the sequence called the Triangle numbers.

n 0 1 2 3 4 5 6

4n 0 1 3 6 10 15 21

Page 13: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Multiplying a sequence will also yield another sequence

n∏i=m

ai = am × am+1 × . . .× an−1 × an = Pn, ∀n ∈ N.

Example:n∏

i=1

i = n!

This is the product of the first n integers, starting from 1, which isknown as factorials.

n 0 1 2 3 4 5 6

n! 1 1 2 6 24 120 720

Note that the formula above gives 0! =∏0

i=1 i = 1 because an empty

product defaults to 1.

Page 14: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Sums and Products may be written recursively too:

n∑i=m

ai =

{0, if n < m,(∑n−1

i=m ai

)+ an, otherwise.

n∏i=m

ai =

{1, if n < m,(∏n−1

i=m ai

)· an, otherwise.

Note: the cases when n < m are called the empty sum and emptyproduct, respectively. The empty sum is 0 by definition, while theempty product is 1 by definition.

Page 15: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Theorem 5.1.1 (Epp)

Page 16: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Sometimes, it is more convenient to change the indexing variable in asum. To do this, we (i) change the term; (ii) change both lower andupper limits.

Example

Replace k with j = k − 1 in∑n+1

k=1k

n+k .

Answer: since j = k − 1, so k = j + 1.

1. Replace k in the term: j+1n+j+1 .

2. Change the lower limit: k = 1 becomes j + 1 = 1, so j = 0.Change the upper limit: k = n + 1 becomes j + 1 = n + 1, so j = n

Thus:n+1∑k=1

k

n + k=

n∑j=0

j + 1

n + j + 1=

n∑k=0

k + 1

n + k + 1.

The last step is obtained by changing “dummy” variable j back to k.

Page 17: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.3. Common sequences

We will study a few common sequences:

• Arithmetic sequence

• Geometric sequence

• Square numbers

• Triangle numbers

• Fibonacci numbers

• Binomial numbers

Page 18: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.3.1. Arithmetic sequence

An arithmetic sequence is given by the recurrence:

∀n ∈ N, an =

{a, if n = 0,

an−1 + d , otherwise.

where a, d are real constants.The explicit formula is: an = a + nd , ∀n ∈ N.

Example: The positive odd numbers 1, 3, 5, 7, 9, . . . is an arithmeticsequence generated by a = 1, and d = 2.

The sum of the first n terms is defined as Sn =∑n−1

i=0 ai . This sequencehas the explicit closed form1 formula:

(1) Sn =n

2[2a + (n − 1)d ] , ∀n ∈ N, and a, d ∈ R.

1“Closed form” means “not using recursion, summation, product, or ellipsis”

Page 19: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.3.2. Geometric sequence

A geometric sequence is given by the recurrence:

∀n ∈ N, an =

{a, if n = 0,

ran−1, otherwise.

where a, r are real constants.The explicit formula is: an = arn, ∀n ∈ N.

Example: The power sequence 1, 2, 4, 8, 16, . . . is a geometric sequencegenerated by a = 1, r = 2.

The sum of the first n terms is defined as Sn =∑n−1

i=0 ai . This sequencehas the explicit closed form formula:

(2) Sn =a(rn − 1)

r − 1, ∀n ∈ N, and a, r ∈ R, r 6= 1.

For the special case |r | < 1, the sum to infinity is S∞ = a1−r .

Page 20: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.3.3. Square numbers

The square numbers is the sequence 0, 1, 4, 9, 16, 25, . . ..

The explicit formula is ∀n ∈ N, �n = n2.

Interestingly, �n = sum of the first n odd numbers.

To see this, note that the positive odd numbers is an arithmetic sequencewith a = 1, d = 2. Using Equation (1) for the sum of an arithmeticsequence:

∀n ∈ N, Sn =n

2[2a + (n − 1)d ]

=n

2[2(1) + (n − 1)(2)]

= n2

= �n.

Page 21: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.3.4. Triangle numbers

The triangle numbers is the sequence 0, 1, 3, 6, 10, 15, 21, . . ..

The explicit formula is ∀n ∈ N, 4n = n(n+1)2 .

As noted previously, 4n = sum of the first n + 1 integers. Interestingly,the sum of two consecutive terms is a square number:

∀n ∈ Z+, 4n +4n−1 =

[n(n + 1)

2+

(n − 1)n

2

]=

1

2

[n2 + n + n2 − n

]= n2 = �n = (4n −4n−1)2.

Page 22: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.3.5. Fibonacci numbers

The Fibonacci sequence is usually defined recursively:

∀n ∈ N, F0 = 0, F1 = 1,

Fn = Fn−1 + Fn−2

This gives the famous sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, . . .

The explicit formula is:

∀n ∈ N, Fn =φn − (−φ)−n√

5.

where φ = (1 +√

5)/2 ≈ 1.6180339887 . . . is called the golden ratio.

Strangely, even though each term involves√

5, the resulting number is aninteger. The above formula is never used in a computer program, sincemanipulating

√5 introduces rounding errors.

Page 23: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Fibonacci numbers and the golden ratio occur frequently in nature.

(a) Nautilus shell (b) Hurricane (c) Galaxy

Video: https://youtu.be/SjSHVDfXHQ4 (d) Ratios in the human face

Page 24: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.3.6. Binomial numbers

The binomial numbers is the triangular sequence called Pascal’s triangleor Yang Hui’s triangle.

Pascal’s triangle

Yang Hui’s triangle

Page 25: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Note that there are two indices in the triangle: the rows are indexed by nfrom top to bottom, while the columns are indexed by r from left to right.

The explicit formula is:

∀n, r ∈ N such that r ≤ n,

(n

r

)=

n!

r !(n − r)!.

This formula crops up when choosing r things from n things. We willfuther explore combinatorics in a future lecture.

The recurrence relation and initial conditions are:

∀n, r ∈ N,(n

r

)=

1, if r = 0 and n ≥ 0,(n−1r

)+(n−1r−1), if 0 < r ≤ n,

0, otherwise.

The second line above also says that adding two consecutive terms in onerow gives one term in the next row.

Page 26: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Other interesting identities, (n

r

)=

(n

n − r

)This says that choosing r things from n is the same as omitting n − rthings from n.

n∑r=0

(n

r

)= 2n

which says the sum of all possible ways to choose r things from n is 2n.

Now, 2n = 2× 2n−1

Thus,n∑

r=0

(n

r

)= 2×

n−1∑r=0

(n − 1

r

)That is, the sum of numbers in one row of the triangle is twice that ofthe previous row.

Page 27: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.4. Solving recurrences

Given a recurrence relation with initial conditions, how do yousolve it to get an explicit closed form formula?

1. Look it up.

2. Guess and check (aka iteration).

3. Use formula.

Page 28: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.4.1. Consult math tables

The CRC Standard Mathematical Tables and Formulae lists manyuseful results and theorems.

https://www.crcpress.com/CRC-Standard-Mathematical-Tables-and-Formulae-32nd-Edition/Zwillinger/

9781439835487

Page 29: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.4.2. Guess and Check

Starting from the initial conditions, use the given recurrencerelation to calculate the first few terms. Note the pattern thatemerges. Guess the formula, and check it with Induction.

Example: solve the following

∀k ∈ Z+, mk =

{1, if k = 1,

2mk−1 + 1, if k ≥ 2.

Page 30: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Solution:

m1 = 1

m2 = 2m1 + 1 = 2(1) + 1 = 2 + 1

m3 = 2m2 + 1 = 2(2 + 1) + 1 = 22 + 2 + 1

m4 = 2m3 + 1 = 2(22 + 2 + 1) + 1 = 23 + 22 + 2 + 1

m5 = 2m4 + 1 = 2(23 + 22 + 2 + 1) + 1 = 24 + 23 + 22 + 2 + 1

Thus, we may guess the formula: mn = 2n−1 + 2n−2 + . . .+ 21 + 20.

This is the sum of a geometric sequence. Using Equation (2), we get:

mn = 2n − 1, for all integers n ≥ 1.

We then check the formula using Induction.

Page 31: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Check using Induction

1. Let P(n) = ( mn = 2n − 1 ), ∀n ∈ Z+.

2. m1 = 1, by the initial conditions.

3. Also, 21 − 1 = 1. Thus P(1) is true.

4. For any k ∈ Z+:

5. Assume P(k) is true.

6. That is, mk = 2k − 1.

7. Now, mk+1 = 2mk + 1, by the recurrence relation.

8. = 2(2k − 1) + 1, using the Inductive hypothesis.

9. = 2k+1 − 2 + 1 = 2k+1 − 1, so P(k + 1) is true.

10. Thus by Mathematical Induction, the statement is true. �

Page 32: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.4.3. Using formula

Guess and check works for relatively simple recurrences. But forsomething like the Fibonacci sequence, things get tedious veryquickly. Fortunately there is a better way.

Definition 5.4.1 (Second-order Linear HomogeneousRecurrence Relation with Constant Coefficients)

A second-order linear homogeneous recurrence relation withconstant coefficients is a recurrence relation of the form:

ak = Aak−1 + Bak−2, ∀k ∈ Z≥k0

where A,B are real constants, B 6= 0 and k0 is an integer constant.

The Fibonacci sequence is an example of such a recurrencerelation.

Page 33: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Theorem 5.8.3 (Epp) Distinct-Roots Theorem

Suppose a sequence a0, a1, a2, . . . satisfies a recurrence relation

ak = Aak−1 + Bak−2

for real constants A,B, with B 6= 0, and k ∈ Z≥2. If the characteristicequation

t2 − At − B = 0

has two distinct roots r and s, then a0, a1, a2, . . . is given by the explicitformula

an = Crn + Dsn, ∀n ∈ N

where C ,D are real numbers determined by the initial conditions a0, a1.

Proof: see page 322 of Epp.

Page 34: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Example: solve the Fibonacci sequence

Fk = Fk−1 + Fk−2, for all integers k ≥ 2

with initial conditions F0 = 0,F1 = 1.

Clearly, the Fibonacci recurrence is a second-order linear homogeneousrecurrence relation, with A = B = 1. Its characteristic equation is:

t2 − t − 1 = 0

Using the standard quadratic formula, we get:

t =1±

√1− 4(−1)

2

which yields distinct roots:

φ = (1 +√

5)/2, ψ = (1−√

5)/2

Page 35: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Thus, by Theorem 5.8.3 (Epp), the explicit formula is:

Fn = Cφn + Dψn, ∀n ∈ N

We now need to solve for C and D using the initial conditions.

F0 = 0 = Cφ0 + Dψ0 = C + D

F1 = 1 = Cφ1 + Dψ1 = Cφ+ Dψ

These are two linear equations in two unknowns. Solving them gives:

C = 1/√

5, D = −1/√

5

Note that ψ = −1/φ. We can thus write:

∀n ∈ N, Fn =φn − (−φ)−n√

5.

Page 36: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

Theorem 5.8.5 (Epp) Single-Roots Theorem

Suppose a sequence a0, a1, a2, . . . satisfies a recurrence relation

ak = Aak−1 + Bak−2

for real constants A,B, with B 6= 0, and k ∈ Z≥2. If the characteristicequation

t2 − At − B = 0

has a single real root r , then a0, a1, a2, . . . is given by the explicit formula

an = Crn + Dnrn, ∀n ∈ N

where C ,D are real numbers determined by the value a0, and any otherknown value of the sequence.

Proof omitted.

Page 37: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.5. Application

Tower of Hanoi

Eduoard Lucas invented this puzzle in 1883. The goal is to move a set ofn disks of different sizes from one pole to another, subject to:

(i) Only one disk can be moved at a time.

(ii) At all times, no disk can rest on a smaller disk.

What is the minimum number of moves needed?

Page 38: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

The key to solving this puzzle is to think recursively.

(a) Initial position. (b) After moving k − 1 disks fromA to B.

(c) After moving bottom diskfrom A to C .

(d) After moving k − 1 disks fromB to C .

Page 39: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

1. To move the whole stack of k disks from A to C , at some point youneed to move the bottom (largest) disk from A to C .

2. Since the bottom disk cannot rest on something smaller, C must beempty when you move the bottom disk over. Also, there cannot beanything on top of the bottom disk when you want to move it.

3. Thus, the top k − 1 disks must be on B.

4. Suppose an efficient genie helped you move the top k − 1 disksfrom A to B, using mk−1 moves.

· · ·

Page 40: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5. You can now move the bottom disk from A to C , using 1 move.

6. You then ask the genie to move the k − 1 disks from B to C , usinganother mk−1 moves.

7. Thus, total number of moves is mk = 2mk−1 + 1.

8. This is the most efficient way, because if the bottom disk did notmove directly from A to C , but say, it went to B first, then thiswould incur even more moves.

Line 7 is thus the recurrence relation, and the initial condition isobviously m1 = 1, because a tower of 1 disk requires just 1 move.

From Section 5.4.2, the solution to this recurrence relation is:mn = 2n − 1, for n ∈ Z+.

Page 41: 5. Sequences & Recursion - NUS Computing - Homecs1231/lect/Week6_Sequences.pdf5. Sequences & Recursion Terence Sim SequencesSummation & Product Common sequences Solving recurrencesApplicationSummary

Sequences Summation & Product Common sequences Solving recurrences Application Summary

5.6. Summary

• Sequences are common in Computer Science. They can beexpressed either by an explicit closed-form formula, or byrecurrence relations plus some initial conditions.

• In either way, code can be written to generate the sequence.

• Common sequences include Arithmetic and Geometricsequences, Square and Triangle numbers, Fibonacci, andBinomial numbers.

• Sums and products of a sequence generate another sequence.

• Solving a recurrence relation may be done in several ways:looking it up, guessing and checking, using a formula.

• Recurrence relations are important for analyzing the behaviorof algorithms and data structures.