1 / 38

Solving Recurrence Relations: Examples and Applications

This module covers recurrence relations, their solutions, and applications in various scenarios such as compound interest, Tower of Hanoi, and bit strings. It also explains how to solve linear homogeneous recurrence relations with constant coefficients.

Download Presentation

Solving Recurrence Relations: Examples and Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Module #17:Recurrence Relations Rosen 5th ed., §6.1-6.3 ~29 slides, ~1.5 lecture (c)2001-2003, Michael P. Frank

  2. §6.1: Recurrence Relations • A recurrence relation (R.R., or just recurrence) for a sequence {an} is an equation that expresses an in terms of one or more previous elements a0, …, an−1 of the sequence, for all n≥n0. • A recursive definition, without the base cases. • A particular sequence (described non-recursively) is said to solve the given recurrence relation if it is consistent with the definition of the recurrence. • A given recurrence relation may have many solutions. (c)2001-2003, Michael P. Frank

  3. Recurrence Relation Example • Consider the recurrence relation an = 2an−1 − an−2 (n≥2). • Which of the following are solutions?an = 3nan = 2n an = 5 Yes No Yes (c)2001-2003, Michael P. Frank

  4. Example Applications • Recurrence relation for growth of a bank account with P% interest per given period: Mn = Mn−1 + (P/100)Mn−1 • Growth of a population in which each organism yields 1 new one every period after 2 periods of its birth. Pn = Pn−1 + Pn−2 (Fibonacci relation) Current Population =(Population at 1 sec. before) + (population at 2 sec.before) with P0 =P1=1. (c)2001-2003, Michael P. Frank

  5. Solving Compound Interest RR • Mn = Mn−1 + (P/100)Mn−1 = (1 + P/100) Mn−1 = rMn−1 (let r = 1 + P/100) = r (rMn−2) = r·r·(rMn−3) …and so on to… = rnM0 (c)2001-2003, Michael P. Frank

  6. Tower of Hanoi Example • Problem: Get all disks from peg 1 to peg 2. • Only move 1 disk at a time. • Never set a larger disk on a smaller one. Peg #1 Peg #2 Peg #3 (c)2001-2003, Michael P. Frank

  7. Hanoi Recurrence Relation • Let Hn = # moves for a stack of n disks. • Optimal strategy: • Move top n−1 disks to spare peg. (Hn−1 moves) • Move bottom disk. (1 move) • Move top n−1 to bottom disk. (Hn−1 moves) • Note: Hn = 2Hn−1 + 1 (c)2001-2003, Michael P. Frank

  8. Solving Tower of Hanoi RR Hn = 2 Hn−1 + 1 = 2 (2 Hn−2 + 1) + 1 = 22 Hn−2 + 2 + 1 = 22(2 Hn−3 + 1) + 2 + 1 = 23Hn−3 + 22 + 2 + 1 … = 2n−1H1 + 2n−2 + … + 2 + 1 = 2n−1 + 2n−2 + … + 2 + 1 (since H1 = 1) = = 2n − 1 (c)2001-2003, Michael P. Frank

  9. More examples: Find recurrence relation and initial condition • Example 6: The number of bit strings of length n that do not have two consecutive 0s. • Example 7: The number of n-digit code-words that contains only even number of 0s. E.g. 1230407869, 123. • Example 8: The number of ways to parenthesize the product of n+1 numbers, x0, x1, …, xn. (c)2001-2003, Michael P. Frank

  10. §6.2: Solving Recurrences • A linear homogeneous recurrence of degree k with constant coefficients (“k-LiHoReCoCo”) is a recurrence of the forman = c1an−1 + … + ckan−k,where the all c1, c2, …, ckare real, and ck≠ 0. • The solution is uniquely determined if initial conditions a0…ak−1 are provided. (c)2001-2003, Michael P. Frank

  11. Solving LiHoReCoCos • Basic idea: Look for solutions of the form an = rn, where r is a constant. • This requires the characteristic equation:rn = c1rn−1 + … + ckrn−k, i.e., rk − c1rk−1 − … − ck = 0 • The solutions (characteristic roots) can yield an explicit formula for the sequence. (c)2001-2003, Michael P. Frank

  12. Solving 2-LiHoReCoCos • Consider an arbitrary 2-LiHoReCoCo:an = c1an−1 + c2an−2 • It has the characteristic equation (C.E.): r2 − c1r − c2 = 0 Theorem 1: Suppose above characteristic equation has 2 roots r1≠r2. Prove that {an } is a solution of an = c1an−1 + c2an−2 if and only if an = α1r1n + α2r2n for n=0,1,2, … where α1, α2 are constants. Proof: (c)2001-2003, Michael P. Frank

  13. Proof of Theorem 1 (←)Assume an = α1r1n + α2r2n is a solution Since r1,r2 are roots of r2 − c1r − c2 = 0, we have r12 = c1r1+ c2 0 and r22 = c1r2+ c2. We can see that (c)2001-2003, Michael P. Frank

  14. Proof of Theorem 1 (→)Suppose {an} is a solution of the recurrence relation and the initial condition a0=C0 and a1=C1 hold. Solve α1 and α2, gives (r2 ≠ r1) Hence, the sequence {an} with α1r1n + α2r2n satisfies the two initial condition. Since this recurrence relation and these initial conditions uniquely determine the sequence, it follows that an = α1r1n + α2r2n. (c)2001-2003, Michael P. Frank

  15. Example • Solve the recurrence an = an−1 + 2an−2 given the initial conditions a0 = 2, a1 = 7. • Solution: Use theorem 1 • c1 = 1, c2 = 2 • Characteristic equation: r2 − r − 2 = 0 • Solutions: r = [−(−1)±((−1)2 − 4·1·(−2))1/2] / 2·1 = (1±91/2)/2 = (1±3)/2, so r = 2 or r = −1. • So an = α1 2n + α2 (−1)n. (c)2001-2003, Michael P. Frank

  16. Example Continued… • To find α1 and α2, solve the equations for the initial conditions a0 and a1: a0 = 2 = α120 + α2 (−1)0 a1 = 7 = α121 + α2 (−1)1 Simplifying, we have the pair of equations: 2 = α1 + α2 7 = 2α1 − α2which we can solve easily by substitution: α2 = 2−α1; 7 = 2α1 − (2−α1) = 3α1 − 2; 9 = 3α1; α1 = 3; α2 = 1. • Final answer: an = 3·2n − (−1)n Check: {an≥0} = 2, 7, 11, 25, 47, 97 … (c)2001-2003, Michael P. Frank

  17. The Case of Degenerate Roots • Now, what if the C.E. r2 − c1r − c2 = 0 has only 1 root r0? • Theorem 2: Then,an = α1r0n + α2nr0n, for all n≥0,for some constants α1, α2. (c)2001-2003, Michael P. Frank

  18. k-LiHoReCoCos • Consider a k-LiHoReCoCo: • It’s C.E. is: • Thm.3: If this has k distinct roots ri, then the solutions to the recurrence are of the form: for all n≥0, where the αi are constants. (c)2001-2003, Michael P. Frank

  19. Degenerate k-LiHoReCoCos • Suppose there are t roots r1,…,rt with multiplicities m1,…,mt. Then: for all n≥0, where all the α are constants. (c)2001-2003, Michael P. Frank

  20. LiNoReCoCos • Linear nonhomogeneous RRs with constant coefficients may (unlike LiHoReCoCos) contain some terms F(n) that depend only on n (and not on any ai’s). General form: an = c1an−1 + … + ckan−k + F(n) The associated homogeneous recurrence relation(associated LiHoReCoCo). (c)2001-2003, Michael P. Frank

  21. Solutions of LiNoReCoCos • A useful theorem about LiNoReCoCos: • If an = p(n) is any particular solution to the LiNoReCoCo • Then all its solutions are of the form:an = p(n) + h(n),where an = h(n) is any solution to the associated homogeneous RR (c)2001-2003, Michael P. Frank

  22. Example • Find all solutions to an = 3an−1+2n. Which solution has a1 = 3? • Notice this is a 1-LiNoReCoCo. Its associated 1-LiHoReCoCo is an = 3an−1, whose solutions are all of the form an = α3n. Thus the solutions to the original problem are all of the form an = p(n) + α3n. So, all we need to do is find one p(n) that works. (c)2001-2003, Michael P. Frank

  23. Trial Solutions • If the extra terms F(n) are a degree-t polynomial in n, you should try a degree-t polynomial as the particular solution p(n). • This case: F(n) is linear so try an = cn + d. cn+d = 3(c(n−1)+d) + 2n (for all n) (−2c+2)n + (3c−2d) = 0 (collect terms) So c = −1 and d = −3/2. So an = −n − 3/2 is a solution. • Check: an≥1 = {−5/2, −7/2, −9/2, … } (c)2001-2003, Michael P. Frank

  24. Finding a Desired Solution • From the previous, we know that all general solutions to our example are of the form: an = −n − 3/2 + α3n. Solve this for α for the given case, a1 = 3: 3 = −1 − 3/2 + α31 α = 11/6 • The answer is an = −n − 3/2 + (11/6)3n (c)2001-2003, Michael P. Frank

  25. Theorem 5 If is a particular solution of the LiNoReCoCo Then every solution is of the form , where is a solution of the associated homogeneous recurrence relation (c)2001-2003, Michael P. Frank

  26. Theorem 6 Suppose that satisfies the linear nonhomogeneous recurrence relation where are real numbers and where and s are real numbers. (to be continued ….) (c)2001-2003, Michael P. Frank

  27. Theorem 6 If , there is a particular solution of the form If with multiplicity of m,there is a particular solution of the form (c)2001-2003, Michael P. Frank

  28. Time to combine solutions of sub-problems Time for each sub-problem §5.3: Divide & Conquer R.R.s Main points so far: • Many types of problems are solvable by reducing a problem of size n into some number a of independent sub-problems, each of size n/b, where a1 and b>1. • The time complexity to solve such problems is given by a recurrence relation: • T(n) = a·T(n/b) + g(n) (c)2001-2003, Michael P. Frank

  29. Divide+Conquer Examples • Binary search: Break list into 1 sub-problem (smaller list) (so a=1) of size n/2 (so b=2). • So T(n) = T(n/2)+c (g(n)=c constant) • Merge sort: Break list of length n into 2 sublists (a=2), each of size n/2 (so b=2), then merge them, in g(n) = Θ(n) time. • So T(n) = 2T(n/2) + cn (roughly, for some c) • Quick sort: (?) (c)2001-2003, Michael P. Frank

  30. Fast Multiplication Example • The ordinary grade-school algorithm takes Θ(n2) steps to multiply two n-digit numbers. • This seems like too much work! • So, let’s find an asymptotically faster multiplication algorithm! • Objective: To find the product of two base-b numbers, and • First, break c and d in half: c=bnC1+C0, d=bnD1+D0, and then... (c)2001-2003, Michael P. Frank

  31. Zero Three multiplications, each with n-digit numbers Derivation of Fast Multiplication (Multiply out polynomials) (Factor last polynomial) (c)2001-2003, Michael P. Frank

  32. Recurrence Rel. for Fast Mult. Notice that the time complexity T(n) of the fast multiplication algorithm obeys the recurrence: • T(2n)=3T(n)+(n)i.e., • T(n)=3T(n/2)+(n) So a=3, b=2. Time to do the needed adds & subtracts of n-digit and 2n-digit numbers (c)2001-2003, Michael P. Frank

  33. Theorem 1 • Let f be an increasing function such that: whenever b|n, where Then Furthermore, when and , (c)2001-2003, Michael P. Frank

  34. Proof of Theorem 1-(1) (c)2001-2003, Michael P. Frank

  35. Proof of Theorem 1-(2) (c)2001-2003, Michael P. Frank

  36. The Master Theorem Consider a function f(n) that, for all n=bk for all kZ+,,satisfies the recurrence relation: f(n) = af(n/b) + cnd with a≥1, integer b>1, real c> 0, d ≥ 0. Then: (c)2001-2003, Michael P. Frank

  37. Master Theorem Example • Recall that complexity of fast multiply was: T(n)=3T(n/2)+(n) • Thus, a=3, b=2, d=1. So a > bd, so case 3 of the master theorem applies, so: which is O(n1.58…), so the new algorithm is strictly faster than ordinary Θ(n2) multiply! (c)2001-2003, Michael P. Frank

  38. Complexity of Merge Sort (c)2001-2003, Michael P. Frank

More Related