670 likes | 889 Vues
Instructor Tianping Shuai. R. Johnsonbaugh Discrete Mathematics 7 th edition, 2009 Chapter 7 Recurrence Relations. 7.1 Introduction.
E N D
Instructor Tianping Shuai R. Johnsonbaugh Discrete Mathematics 7th edition, 2009 Chapter 7 Recurrence Relations
7.1 Introduction • A recurrence relation for the sequence {an} is an equation that expresses an is terms of one or more of the previous terms of the sequence, namely, a0, a1, …, an-1, for all integers n with n n0, where n0 is a nonnegative integer. • A sequence is called a solution of a recurrence relation if it terms satisfy the recurrence relation.
7.1 Introduction • In other words, a recurrence relation is like a recursively defined sequence, but without specifying any initial values (initial conditions). • Therefore, the same recurrence relation can have (and usually has) multiple solutions. • If both the initial conditions and the recurrence relation are specified, then the sequence is uniquelydetermined.
7.1 Introduction • Example 1:Consider the recurrence relation an = 2an-1 – an-2 for n = 2, 3, 4, … • Is the sequence {an} with an=3n a solution of this recurrence relation? • For n 2 we see that 2an-1 – an-2 = 2(3(n – 1)) – 3(n – 2) = 3n = an. • Therefore, {an} with an=3n is a solution of the recurrence relation.
7.1 Introduction • Is the sequence {an} with an=5 a solution of the same recurrence relation? • For n 2 we see that 2an-1 – an-2 = 25 - 5 = 5 = an. • Therefore, {an} with an=5 is also a solution of the recurrence relation. Definition 1:A recurrence relation is an infinite sequence a1, a2, a3,…, an,… in which the formula for the nth term an depends on one or more preceding terms, with a finite set of start-up values or initial conditions
Examples of recurrence relations • Example 2: • Initial condition a0 = 1 • Recursive formula: a n = 1 + 2a n-1 for n > 2 • First few terms are: 1, 3, 7, 15, 31, 63, … • Example 3: • Initial conditions a0 = 1, a1 = 2 • Recursive formula: a n = 3(a n-1 + a n-2) for n > 2 • First few terms are: 1, 2, 9, 33, 126, 477, 1809, 6858, 26001,…
Modeling with Recurrence Relations • Example: • Someone deposits $10,000 in a savings account at a bank yielding 5% per year with interest compounded annually. How much money will be in the account after 30 years? • Solution: • Let Pn denote the amount in the account after n years. • How can we determine Pn on the basis of Pn-1?
Modeling with Recurrence Relations • We can derive the following recurrence relation: Pn = Pn-1 + 0.05Pn-1 = 1.05Pn-1. • The initial condition is P0 = 10,000. Then we have: P1 = 1.05P0 P2 = 1.05P1 = (1.05)2P0 P3 = 1.05P2 = (1.05)3P0 … Pn = 1.05Pn-1 = (1.05)nP0We now have a formula to calculate Pn for any natural number n and can avoid the iteration.
Modeling with Recurrence Relations • Let us use this formula to find P30 under the initial condition P0 = 10,000: P30 = (1.05)3010,000 = 43,219.42 • After 30 years, the account contains $43,219.42.
Algorithm • Input: n • Output: the account after n years • procedure interest(n) • if n =0 then • return (1000) • return(1.05 * interest(n-1)) • end interest
Compound interest • Given • P = initial amount (principal) • n = number of years • r = annual interest rate • A = amount of money at the end of n years At the end of: • 1 year: A = P + rP = P(1+r) • 2 years: A = P + rP(1+r) = P(1+r)2 • 3 years: A = P + rP(1+r)2 = P(1+r)3 … • Obtain the formula A = P (1 + r) n
Modeling with Recurrence Relations • Another example: • Let an denote the number of bit strings of length n that do not have two consecutive 0s (“valid strings”). Find a recurrence relation and give initial conditions for the sequence {an}. • Solution: • Idea: The number of valid strings equals the number of valid strings ending with a 0 plus the number of valid strings ending with a 1.
Modeling with Recurrence Relations • Let us assume that n 3, so that the string contains at least 3 bits. • Let us further assume that we know the number an-1 of valid strings of length (n – 1). • Then how many valid strings of length n are there, if the string ends with a 1? • There are an-1 such strings, namely the set of valid strings of length (n – 1) with a 1 appended to them. • Note: Whenever we append a 1 to a valid string, that string remains valid.
Modeling with Recurrence Relations • Now we need to know: How many valid strings of length n are there, if the string ends with a 0? • Valid strings of length n ending with a 0 must have a 1 as their (n – 1)st bit (otherwise they would end with 00 and would not be valid). • And what is the number of valid strings of length (n – 1) that end with a 1? • We already know that there are an-1 strings of length n that end with a 1. • Therefore, there are an-2 strings of length (n – 1) that end with a 1.
Modeling with Recurrence Relations • So there are an-2 valid strings of length n that end with a 0 (all valid strings of length (n – 2) with 10 appended to them). • As we said before, the number of valid strings is the number of valid strings ending with a 0 plus the number of valid strings ending with a 1. • That gives us the following recurrence relation: an = an-1 + an-2
Modeling with Recurrence Relations • What are the initial conditions? • a1 = 2 (0 and 1) • a2 = 3 (01, 10, and 11) • a3 = a2 + a1 = 3 + 2 = 5 • a4 = a3 + a2 = 5 + 3 = 8 • a5 = a4 + a3 = 8 + 5 = 13 • … • This sequence satisfies the same recurrence relation as the Fibonacci sequence. • Since a1 = f2 and a2 = f3, we have an = fn+1.
Fibonacci sequence • Initial conditions: • f1 = 1, f2 = 2 • Recursive formula: • f n+1 = f n-1 + f n for n > 3 • First few terms:
Eugene Catalan • Belgian mathematician, 1814-1894 • Catalan numbers are generated by the formula: Cn = C(2n,n) / (n+1) for n > 0 • The first few Catalan numbers are:
Eugene Catalan • How many routes are there from the lower-left of n × n square grid to the upper-right corner if we are restricted to traveling only to the right or upward and if we are allowed to touch but not go above a diagonal line from the lower-left to the upper-right corner? (n,n)
(n,n) (k,k) (0,0) (k, k) (k,k) (n,n)
Towers of Hanoi Start with three pegs numbered 1, 2 and 3 mounted on a board, n disks of different sizes with holes in their centers, placed in order of increasing size from top to bottom. • Object of the game: find the minimum number of moves needed to have all n disks stacked in the same order in peg number 3.
Rules of the game: Hanoi towers Start with all disks stacked in peg 1 with the smallest at the top and the largest at the bottom • Use peg number 2 for intermediate steps • Only a disk of smaller diameter can be placed on top of another disk
End of game: Hanoi towers • Game ends when all disks are stacked in peg number 3 in the same order they were stored at the start in peg number 1. • Verify that the minimum number of moves needed is the Catalan number C3 = 7. Start End
Recurrence Relation: Hanoi towers • Cn =2 Cn-1 +1 • C1 =1 • We can prove that Cn =2n -1
A problem in Economics • Demand equation: p = a - bq Supply equation: p = kq There is a time lag as supply reacts to changes in demand • Use discrete time intervals as n = 0, 1, 2, 3,… Given the time delayed equations pn = a – bqn (demand) pn+1 = kqn+1 (supply) The recurrence relation obtained is pn+1 = a – bpn /k
Ackermann’s function • Initial conditions: A(0,n) = n + 1, for n = 0, 1, 2, 3,… • Recurrence relations: A(m,0) = A(m – 1, 1), for m = 1, 2, 3,… A(m,n) = A(m -1, A(m, n -1)) for m = 1, 2, 3,… and n = 1, 2, 3,…
7.2 Solving recurrence relations • In general, we would prefer to have an explicit formula to compute the value of an rather than conducting n iterations. • For one class of recurrence relations, we can obtain such formulas in a systematic way.
7.2 Solving recurrence relations Two main methods: • Iteration • Method for linear homogeneous recurrence relations with constant coefficients
Method 1: Iteration • Problem: Given a recursive expression with initial conditions a0, a1 try to express an without dependence on previous terms. • Example: an = 2an-1 for n > 1, with initial conditiona0 = 1 • Solution: an = 2n
Method 1: Iteration • a1 =2 • an = an-1 +3 n 2 • an = an-1 +3 an-1 = an-2 +3 • an = an-1 +3= an-2 +3 +3= an-2 + 2*3 • an-2 = an-3 +3 • an = an-2 + 2*3 = an-3 +3 + 2*3 = an-3 +3 *3 • an = an-k + k*3 (let k=n-1) • an = a1 + (n-1)*3=2 + (n-1)*3
Method 1: Iteration • Hanoi C1 = 1 • Cn = 2Cn-1 +1 n 2 Cn = 2Cn-1 +1 = 2(2Cn-2 +1)+1 = 22 Cn-2 +2+1 = 23 Cn-3 + 22 +2+1 . . . = 2n-1 C1 +2n-2 + 2n-3 + . . . +22 +2+1 = 2n-1 +2n-2 + 2n-3 + . . . +22 +2+1 = 2n -1
More on the iteration method Example: DeerPopulation growth • Deer population dn at time n • Initial condition: d0 = 1000 • Increase from time n-1 to time n is 10%. Therefore the recursive function is dn – dn-1 = 0.1dn-1 dn = 1.1dn-1 • Solution: dn = 1000(1.1)n
Method 2: Linear homogeneous recurrence relations Definition 7.2.6 A linear homogeneous recurrence relation of order k with constant coefficients is a recurrence relation of the form an = c1an-1 + c2an-2 +…+ ckan-k, ck ≠0 and initial conditions a0 = C0, a1 = C1 , … , ak-1 = Ck-1
Method 2: Linear homogeneous recurrence relations The recurrence relation Sn = 2Sn-1 is linear homogeneous recurrence relation of order 1. The recurrence relation fn = fn-1 +fn-2 is linear homogeneous recurrence relation of order 2. • an = 3an-1 an-2 • an - an-1 = 2n • an =3n an-1
Method 2: Linear homogeneous recurrence relations • an = 5an-1 - 6an-2 • a0 =7 a1 =16 • Order 2 • Solution for order 1 is of the form sn =tn 。 for example Sn = 2Sn-1 • Solution for order 2 is of the formVn =tn ?
Method 2: Linear homogeneous recurrence relations Vn =tn Vn = 5 Vn-1 - 6 Vn-2 tn = 5 tn-1 - 6 tn-2 tn - 5 tn-1 + 6 tn-2 = 0 t2 - 5 t+ 6 = 0 t=2, t=3 Note that U n = b2n+d3n is a solution. To satisfy the initial conditions, we must have 7 = U 0 = b20+d30 =b+d 16 = U 1 = b21+d 31 =2b+3d b=5, d= 2 U n = 5*2n+2*3n We have two solutions Sn = 2nTn = 3n
Method 2: Linear homogeneous recurrence relations Theorem 7.2.11: Given the second order linear homogeneous recurrence relation with constant coefficients an = c1an-1 + c2an-2 and initial conditions a0 = C0, a1 = C1 1. If S and T are solutions then U = bS + dT is also a solution for any real numbers b, d 2. If r is a root of t2 – c1t – c2 = 0, then the sequence {rn}, n = 0, 1, 2,… is also a solution。
Case 1: Two different roots 3. If r1 and r2 (r1 r2) are solutions of the quadratic equation t2 – c1t – c2 = 0, then there exist constants b and d such that an = br1n + dr2n forn = 0, 1, 2, 3,…
Solving Recurrence Relations • Example: What is the solution of the recurrence relation an = an-1 + 2an-2 with a0 = 2 and a1 = 7 ? • Solution: The characteristic equation of the recurrence relation is r2 – r – 2 = 0. • Its roots are r = 2 and r = -1. • Hence, the sequence {an} is a solution to the recurrence relation if and only if: • an = 12n + 2(-1)n for some constants 1 and 2.
Solving Recurrence Relations • Given the equation an = 12n + 2(-1)n and the initial conditions a0 = 2 and a1 = 7, it follows that • a0 = 2 = 1 + 2 • a1 = 7 = 12 + 2 (-1) • Solving these two equations gives us 1 = 3 and 2 = -1. • Therefore, the solution to the recurrence relation and initial conditions is the sequence {an} with • an = 32n – (-1)n.
Solving Recurrence Relations • Example: Give an explicit formula for the Fibonacci numbers. • Solution: The Fibonacci numbers satisfy the recurrence relation fn = fn-1 + fn-2 with initial conditions f0 = 0 and f1 = 1. • The characteristic equation is r2 – r – 1 = 0. • Its roots are
Solving Recurrence Relations • Therefore, the Fibonacci numbers are given by • for some constants 1 and 2. • We can determine values for these constants so that the sequence meets the conditions f0 = 0 and f1 = 1:
Solving Recurrence Relations • The unique solution to this system of two equations and two variables is • So finally we obtained an explicit formula for the Fibonacci numbers:
More on linear homogeneous recurrence relations:Case 2: One root of multiplicity 2 Theorem 7.2.14: Let an = c1an-1 + c2an-2 be a second order linear homogeneous recurrence relation with constant coefficients. • Let a0 = C0, a1 = C1 be the first two terms of the sequence satisfying the recurrence relation. If r is a root of multiplicity 2 satisfying the equation t2 – c1t – c2 = 0, then: there exist constants b and d such that an = brn + dnrn for n = 0, 1, 2, 3,…
Solving Recurrence Relations • Example: What is the solution of the recurrence relation an = 6an-1 – 9an-2 with a0 = 1 and a1 = 6? • Solution: The only root of r2 – 6r + 9 = 0 is r0 = 3.Hence, the solution to the recurrence relation is an = 13n + 2n3n for some constants 1 and 2. To match the initial condition, we need a0 = 1 = 1, a1 = 6 = 13 + 23 Solving these equations yields 1 = 1 and 2 = 1. Consequently, the overall solution is given by an = 3n + n3n.
Solving Recurrence Relations dn =4(dn - 1 - dn - 2 ) d0 = d1 =1 t2 - 4t+4 = 0 r1 = r2 = r=2 dn= b 2n+ d n2n d0 = d1 =1 d0=1= b 20+ d 020 = b d1=1= b 21+ d 121 = 2 b + 2 d =1 b =1, d = - ½ dn= 2n- n2n-1
Solving Recurrence Relations For the general linear homogeneous recurrence relation of order k with constant coefficients, if r is a root of tk - c1 tk-1 - c2 tk-2 - . . . - ck =0 of multiplicity m, it can be shown that rn nrn . . . nm-1rn are solutions.
7.3 Applications to the analysis of algorithms 1. Selection sorting • This algorithm sorts the sequence s1 , s2. . ., sn in increasing order by first selecting the largest item and placing it last and then recursively sorting the remaining elements.
Selection Sorting Algorithm • Input: s1 , . . ., sn and n • Output: s1 , . . ., sn arranged in increasing order • Procedure election_sort(S,n) • // basic • if n=1 then • return • // find max • max_index :=1 • for i:=2 to n do • if Si > Smax_index then • max_index :=i • //move • swap(si, Smax_index) • call election_sort(S,n-1) • end election_sort