Module #17: Recurrence Relations

Slides:



Advertisements
Similar presentations
Advanced Counting Techniques
Advertisements

section 6.2 Solving Recurrence Relations
A simple example finding the maximum of a set S of n numbers.
CS 2210 (22C:19) Discrete Structures Advanced Counting
April 9, 2015Applied Discrete Mathematics Week 9: Relations 1 Solving Recurrence Relations Another Example: Give an explicit formula for the Fibonacci.
이산수학(Discrete Mathematics)
Recurrences. What is a Recurrence Relation? A system of equations giving the value of a function from numbers to numbers in terms of the value of the.
1 Copyright M.R.K. Krishna Rao Solving Recurrence Relations Steps for solving a linear homogeneous recurrence relation of degree 2 : Step #1.
Recurrence Relations Reading Material –Chapter 2 as a whole, but in particular Section 2.8 –Chapter 4 from Cormen’s Book.
Recurrences The expression: is a recurrence. –Recurrence: an equation that describes a function in terms of its value on smaller functions Analysis of.
6.Advanced Counting Techniques 1 Copyright M.R.K. Krishna Rao 2003 Ch 6. Recurrence Relations A recurrence relation for the sequence {a n } is an equation.
Applied Discrete Mathematics Week 9: Relations
Advanced Counting Techniques
Discrete Math For Computing II
Chapter 8. Section 8. 1 Section Summary Introduction Modeling with Recurrence Relations Fibonacci Numbers The Tower of Hanoi Counting Problems Algorithms.
Analysis of Algorithms
Chap. 7 (c) , Michael P. Frank1 Chapter 7: Advanced Counting Techniques.
Advanced Counting Techniques CSC-2259 Discrete Structures Konstantin Busch - LSU1.
Project 2 due … Project 2 due … Project 2 Project 2.
Chapter 8 With Question/Answer Animations 1. Chapter Summary Applications of Recurrence Relations Solving Linear Recurrence Relations Homogeneous Recurrence.
14.1 CompSci 102© Michael Frank Today’s topics Recurrence relationsRecurrence relations –Stating recurrences –LiHoReCoCo –Divide & conquer –Master’s method.
Recurrence Relation. Outline  What is a recurrence relation ?  Solving linear recurrence relations  Divide-and-conquer algorithms and recurrence relations.
Module #20 - Recurrences 1 Ch. 7 Recurrence Relations Rosen 6 th ed., §§7.1.
15.1 CompSci 102© Michael Frank Today’s topics Recurrence relationsRecurrence relations –Stating recurrences –LiHoReCoCo Reading: Sections Reading:
Module #17: Recurrence Relations Rosen 5 th ed., §
Based on Rosen, Discrete Mathematics & Its Applications, 5e Prepared by (c) Michael P. Frank Modified by (c) Haluk Bingöl 1/18 Module.
Module #1 - Logic 1 Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c) , Michael P. Frank and Modified By Mingwu Chen Recurrence.
Chapter 8 With Question/Answer Animations. Chapter Summary Applications of Recurrence Relations Solving Linear Recurrence Relations Homogeneous Recurrence.
Advanced Counting Techniques CSC-2259 Discrete Structures Konstantin Busch - LSU1.
Module #20 - Recurrences Solving Recurrences Rosen 6 th ed., §7.2.
CHAPTER TWO RECURRENCE RELATION
7.2 Solving Linear Recurrence Relations Some of these recurrence relations can be solved using iteration or some other ad hoc technique. However, one important.
ADVANCED ALGORITHMS REVIEW OF ANALYSIS TECHNIQUES (UNIT-1)
Recurrence Relations. Outline Recurrence relationsSolving recurrence relationsRecurrence and Divide-and-conquer algorithmsGenerating functions
CS 312: Algorithm Analysis Lecture #7: Recurrence Relations a.k.a. Difference Equations Slides by: Eric Ringger, with contributions from Mike Jones, Eric.
Divide and Conquer Faculty Name: Ruhi Fatima Topics Covered Divide and Conquer Matrix multiplication Recurrence.
Mathematical Analysis of Recursive Algorithm CSG3F3 Lecture 7.
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
Advanced Counting Techniques
Discrete Math For Computing II. Contact Information B. Prabhakaran Department of Computer Science University of Texas at Dallas Mail Station EC 31, PO.
Advanced Algorithms Analysis and Design By Dr. Nazir Ahmad Zafar Dr Nazir A. Zafar Advanced Algorithms Analysis and Design.
CSG523/ Desain dan Analisis Algoritma
CSG523/ Desain dan Analisis Algoritma
Hubert Chan (Chapters 1.6, 1.7, 4.1)
Recursion Sections 8.1 and 8.2 of Rosen Spring 2013
CMSC Discrete Structures
Advanced Counting Techniques
Modeling with Recurrence Relations
Introduction to the Design and Analysis of Algorithms
UNIT- I Problem solving and Algorithmic Analysis
Introduction to Recurrence Relations
UNIT-6 Recurrence Relations
Class Notes 7: High Order Linear Differential Equation Homogeneous
Chapter 4 Divide-and-Conquer
Hubert Chan (Chapters 1.6, 1.7, 4.1)
Chapter 2 Fundamentals of the Analysis of Algorithm Efficiency
Module #17: Recurrence Relations
Recursion and Recurrence Relations
Divide and Conquer Algorithms Part I
CS 2210 Discrete Structures Advanced Counting
CMSC Discrete Structures
Solving Recurrence Relations
CMSC Discrete Structures
Introduction To Algorithms
Recurrence Relations Discrete Structures.
Chapter 7 Advanced Counting Techniques
Recurrence Relations (RRs)
Recurrence Relations Rosen 5th ed., §6.2 5/22/2019
ICS 253: Discrete Structures I
Divide and Conquer Merge sort and quick sort Binary search
Presentation transcript:

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

§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. 1/17/2019 (c)2001-2003, Michael P. Frank

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

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 starting 2 periods after its birth. Pn = Pn−1 + Pn−2 (Fibonacci relation) 1/17/2019 (c)2001-2003, Michael P. Frank

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

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 1/17/2019 (c)2001-2003, Michael P. Frank

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 1/17/2019 (c)2001-2003, Michael P. Frank

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 = 23 Hn−3 + 22 + 2 + 1 … = 2n−1 H1 + 2n−2 + … + 2 + 1 = 2n−1 + 2n−2 + … + 2 + 1 (since H1 = 1) = = 2n − 1 1/17/2019 (c)2001-2003, Michael P. Frank

§6.2: Solving Recurrences General Solution Schemas A linear homogeneous recurrence of degree k with constant coefficients (“k-LiHoReCoCo”) is a recurrence of the form an = c1an−1 + … + ckan−k, where the ci are all real, and ck ≠ 0. The solution is uniquely determined if k initial conditions a0…ak−1 are provided. 1/17/2019 (c)2001-2003, Michael P. Frank

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. 1/17/2019 (c)2001-2003, Michael P. Frank

Solving 2-LiHoReCoCos Consider an arbitrary 2-LiHoReCoCo: an = c1an−1 + c2an−2 It has the characteristic equation (C.E.): r2 − c1r − c2 = 0 Thm. 1: If this CE has 2 roots r1≠r2, then an = α1r1n + α2r2n for n≥0 for some constants α1, α2. 1/17/2019 (c)2001-2003, Michael P. Frank

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. 1/17/2019 (c)2001-2003, Michael P. Frank

Example Continued… Check: {an≥0} = 2, 7, 11, 25, 47, 97 … 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 − α2 which 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 … 1/17/2019 (c)2001-2003, Michael P. Frank

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. 1/17/2019 (c)2001-2003, Michael P. Frank

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. 1/17/2019 (c)2001-2003, Michael P. Frank

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

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). 1/17/2019 (c)2001-2003, Michael P. Frank

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 1/17/2019 (c)2001-2003, Michael P. Frank

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. 1/17/2019 (c)2001-2003, Michael P. Frank

Discrete Mathematics and its Applications 1/17/2019 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, … } 3 x -5/2 = -15/2. Plus 2x2=4=8/2 is -7/2. 1/17/2019 (c)2001-2003, Michael P. Frank (c)2001-2002, Michael P. Frank

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 1/17/2019 (c)2001-2003, Michael P. Frank

Time for each subproblem §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 subproblems, 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) Time for each subproblem Time to break problem up into subproblems 1/17/2019 (c)2001-2003, Michael P. Frank

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) = T(n/2) + cn (roughly, for some c) 1/17/2019 (c)2001-2003, Michael P. Frank

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! To find the product cd of two 2n-digit base-b numbers, c=(c2n-1c2n-2…c0)b and d=(d2n-1d2n-2…d0)b, first, we break c and d in half: c=bnC1+C0, d=bnD1+D0, and then... (see next slide) 1/17/2019 (c)2001-2003, Michael P. Frank

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

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 1/17/2019 (c)2001-2003, Michael P. Frank

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: 1/17/2019 (c)2001-2003, Michael P. Frank

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! 1/17/2019 (c)2001-2003, Michael P. Frank

§6.4: Generating Functions Not covered this semester. 1/17/2019 (c)2001-2003, Michael P. Frank

§6.5: Inclusion-Exclusion This topic will have been covered out-of-order already in Module #15, Combinatorics. As for Section 6.6, applications of Inclusion-Exclusion: No slides yet. 1/17/2019 (c)2001-2003, Michael P. Frank