3. RECURSIVE ALGORITHMS and RECURRENCE RELATIONS )!N(O

Total Page:16

File Type:pdf, Size:1020Kb

3. RECURSIVE ALGORITHMS and RECURRENCE RELATIONS )!N(O 3. RECURSIVE ALGORITHMS AND RECURRENCE RELATIONS In discussing the example of finding the determinant of a matrix an algorithm was outlined that defined det(M) for an nxn matrix in terms of the determinants of n matrices of size (n-1)x(n-1). If D(n) is the work required to evaluate the determinant of an nxn matrix using this method then D(n)=n . D(n-1) To solve this -- in the sense of ending up with an expression for D(n) that does not have reference to other occurrences of the function D() on the right hand side -- we can use progressive substitutions as follows: D(n)= n. D(n-1) = n. (n-1). D(n-2) = n. (n-1). (n-2). … x 3 x 2 x D(1) a constant, the cost of returning a number n! ⇒ D(n)∈O(n!) COMP1004: Part 2.2 27 Now consider ALGORITHM Factorial(n) // Recursively calculates n! for positive integer n if n=1 return 1 else return n*Factorial(n-1) The only possible choice for the elementary operation here is multiplication, so we choose as a cost function F(n) = number of multiplications to evaluate Factorial(n) The algorithm as defined then implies that F(1) = 0 F(n) = F(n-1) + 1, n>1 The general-n form can be rewritten as F(n)-F(n-1)=1 Letting n → n-1 in the above, we also have F(n-1)-F(n-2)=1 We can continue to do this until the row beginning with F(2), which contains the first mention of the base case (n-1 = 2-1 = 1). F(n) - F(n-1) = 1 + F(n-1) – F(n-2) = 1 + F(n-2) – F(n-3) = 1 n-1 equations …. …. … + F(2) - F(1) = 1 F(n) - F(1) = n-1 ('Method of differences’ or ‘ladder method'.) COMP1004: Part 2.2 28 Adding up the rungs of the ladder there are cancellations on the left hand side for every term except F(n) and F(1), and for the right hand side the sum is just n-1. → F(n) = F(1) + n - 1 → F(n) = n-1, since F(1)=0 → F(n) ∈ O(n). Aside: Is this reasonable, is evaluating n! really only in O(n)? The analysis ignored the fact that large values will build up quickly and so it was not in this case ideal to count integer multiplications as elementary. However it was a simple example that showed the techniques that can also be used in much more complex cases. * * * Expressions like ‘D(n) = n D(n-1)’ ‘F(n) = F(n-1) +1’ are known as recurrence relations. A recurrence relation is a formula that allows us to compute the members of a sequence one after the other, given one or more starting values. These examples are first order recurrence relations because a reference is made to only one smaller sized instance. A first order recurrence requires only one ‘starting value’ -- in the first of these cases D(1), in the second F(1) -- in order to obtain a unique solution for general n. Recurrence relations arise naturally in the analysis of recursive algorithms, where the starting values are the work required to compute base cases of the algorithm. COMP1004: Part 2.2 29 Consider as another example of a first order recurrence relation f(0) = 1 (the base case is for n=0) f(n) = c. f(n-1) n > 0 (It doesn't matter here what hypothetical algorithm may have generated the definition of f(n). Most of the examples in this section will be starting directly from a recurrence relation and will be focused primarily on developing the mathematical tools for solving such relations.) By inspection, f(n) = c. f(n-1) = c2. f(n-2) … = cn. f(0) = cn f(n)=cn is the solution of this recurrence relation. It is purely a function of the input size variable n, it does not make reference on the right hand side to the original cost function applied to any other input sizes. The expression D(n)= n. D(n-1) is clearly also a first order recurrence of the same kind, but here the multiplying coefficient depends on n. This is the next step up in complication, where for a general n-dependent multiplier b(n) f(n) = b(n)xf(n-1) (1) (defined for n > a with base case value f(a) given) Again by inspection f(n) = b(n)xf(n-1) = b(n)xb(n-1)xf(n-2) = b(n)xb(n-1)x...xb(a+1)xf(a) COMP1004: Part 2.2 30 (note it was not possible to go any further because there would then be a reference to f(a-1), which is not defined) giving as a general solution to (1) $" n $& f(n) = #!b(i)'xf(a) %$i=a+1 ($ in the determinant example n a=1, f(1)=1, b(i)=i, giving f(n) = !b(i) = 2x3x...xn = n! i=a+1 (1) is the most general case of a first order (it makes reference to only one smaller sized instance), homogeneous (there is nothing on the r.h.s. that doesn't multiply a smaller sized instance, such as a polynomial in n) recurrence relation. What about the factorial function recurrence F(n) = F(n-1) + 1 ? This is a simple example of a first order, inhomogeneous recurrence relation, for which the general form (with non-constant coefficients b(n), c(n)) is f(n) = b(n)xf(n-1) + c(n) (n > a, f(a) given) (2) If we try to do this one by progressive substitution as for the determinant case we quickly get into difficulties: f(n) = b(n)xb(n-1)x f(n-2) + b(n)xc(n-1) + c(n) = b(n)xb(n-1)xb(n-2)xf(n-3) + b(n)xb(n-1)xc(n-2) + b(n)xc(n-1)+ c(n) = .............. COMP1004: Part 2.2 31 In cases like this we need to define instead a new function g(n) by f(n) = b(a+1)xb(a+2)x…xb(n)x g(n) , n>a f(a) ≡ g(a) (the two functions agree on the base case) Substituting in this way for f(n) in (2): f(n) = b(n)xf(n-1) + c(n) b(a+1)xb(a+2)x…xb(n)x g(n) = b(n)xb(a+1)xb(a+2)x… xb(n-1)x g(n-1) + c(n) same coefficient Then dividing by the product b(a+1)xb(a+2)x…xb(n), the common multiplier of both instances of the function g(), gives g(n) = g(n-1) + d(n) (3) c(n) where d(n) = . b(a +1)xb(a + 2)x...xb(n) (3) is now in a much simpler form (the important thing is that the multiplier of the smaller-input instance of the function on the r.h.s. is now 1) and can be solved by the ladder method we used in the case of F(n) (where d(n) =1, independent of n) to give the solution n $" n $& f(n) = )b(i)#f(a) + ! d(j)' i=a+1 %$ j=a+1 ($ in the factorial example a=1, f(1)=0, b(i)=1, n n d(j) = 1, giving f(n) = n-1 (as !d(j) = !1= n "1) j=2 j=2 COMP1004: Part 2.2 32 It's possible, and not incorrect, to memorise and quote the above formula and substitute into it in order to solve a given recurrence relation, as the formula can be applied to inhomogeneous first order recurrences of any degree of complexity. However it’s more instructive, and often easier, to consider inhomogeneous recurrences on a case-by-case basis, noting that in the examples you would be given the base case input ‘a’ will normally be 0 or 1, and the d-summation above -- which could in principle be hard and require an approximation technique -- will use just the series summation formulae you have already seen. Example: f(0)=0 (base case a=0) f(n)= 3f(n-1) + 1, n > 0 Change variable: n f(n) = 3n g(n) (b(i) = 3 for all i, so !b(i) = 3n ) i=1 This gives 3n g(n) = 3. 3n-1 g(n-1) + 1 3n → g(n) = g(n-1) +1/3n Now use the method of differences (ladder method) to obtain n 1 g(n) = ∑ i i=1 3 COMP1004: Part 2.2 33 n In detail: g(n) – g(n-1) = 1/3 n-1 g(n-1) – g(n-2) = 1/3 ... ... 1 g(1) – g(0) = 1/3 n 1 g(n) – g(0) = ∑ i i=1 3 (When you are familiar with these techniques you don’t need to show all the details.) Multiplying both sides of the solution for g(n) by 3n gives the solution for f(n) n 1 f(n) 3n = ∑ i i=1 3 We evaluate the sum using the formula for a geometric series: n n 1 ⎡ i ⎤ i = a ∑ ⎢∑ ⎥ 1 i=1 3 ⎣ i=1 ⎦a= 3 ⎡a(1− an )⎤ = ⎢ ⎥ 1 ⎣ 1− a ⎦a= 3 1 ⎛ 1 ⎞ = ⎜1− n ⎟ 2 ⎝ 3 ⎠ Hence n 3 " 1 % 1 n n f(n) = $1! ' = 3 !1 ( O(3 ) 2 # 3n & 2 ( ) COMP1004: Part 2.2 34 SOLVING HIGHER ORDER RECURRENCES USING THE CHARACTERISTIC EQUATION This is a technique which can be applied to linear recurrences of arbitrary order but is less general than some of the techniques illustrated for first order recurrences in that we will henceforth assume that • anything multiplying an instance(for some input size) of the function is a constant • the recurrence relations are homogeneous -- they don’t contain any term that isn’t a multiple of an instance of the function we are trying to obtain a 'closed' solution for Hence, we are here trying to solve kth order recurrences of the general form ak f(n) + ak-1 f(n-1) +… + a0 f(n-k) = 0 where the {ai} are constants.
Recommended publications
  • Triangular Numbers /, 3,6, 10, 15, ", Tn,'" »*"
    TRIANGULAR NUMBERS V.E. HOGGATT, JR., and IVIARJORIE BICKWELL San Jose State University, San Jose, California 9111112 1. INTRODUCTION To Fibonacci is attributed the arithmetic triangle of odd numbers, in which the nth row has n entries, the cen- ter element is n* for even /?, and the row sum is n3. (See Stanley Bezuszka [11].) FIBONACCI'S TRIANGLE SUMS / 1 =:1 3 3 5 8 = 2s 7 9 11 27 = 33 13 15 17 19 64 = 4$ 21 23 25 27 29 125 = 5s We wish to derive some results here concerning the triangular numbers /, 3,6, 10, 15, ", Tn,'" »*". If one o b - serves how they are defined geometrically, 1 3 6 10 • - one easily sees that (1.1) Tn - 1+2+3 + .- +n = n(n±M and (1.2) • Tn+1 = Tn+(n+1) . By noticing that two adjacent arrays form a square, such as 3 + 6 = 9 '.'.?. we are led to 2 (1.3) n = Tn + Tn„7 , which can be verified using (1.1). This also provides an identity for triangular numbers in terms of subscripts which are also triangular numbers, T =T + T (1-4) n Tn Tn-1 • Since every odd number is the difference of two consecutive squares, it is informative to rewrite Fibonacci's tri- angle of odd numbers: 221 222 TRIANGULAR NUMBERS [OCT. FIBONACCI'S TRIANGLE SUMS f^-O2) Tf-T* (2* -I2) (32-22) Ti-Tf (42-32) (52-42) (62-52) Ti-Tl•2 (72-62) (82-72) (9*-82) (Kp-92) Tl-Tl Upon comparing with the first array, it would appear that the difference of the squares of two consecutive tri- angular numbers is a perfect cube.
    [Show full text]
  • Physics 403, Spring 2011 Problem Set 2 Due Thursday, February 17
    Physics 403, Spring 2011 Problem Set 2 due Thursday, February 17 1. A Differential Equation for the Legendre Polynomials (15 pts): In this prob- lem, we will derive a second order linear differential equation satisfied by the Legendre polynomials (−1)n dn P (x) = [(1 − x2)n] : n 2nn! dxn (a) Show that Z 1 2 0 0 Pm(x)[(1 − x )Pn(x)] dx = 0 for m 6= n : (1) −1 Conclude that 2 0 0 [(1 − x )Pn(x)] = λnPn(x) 0 for λn a constant. [ Prime here and in the following questions denotes d=dx.] (b) Perform the integral (1) for m = n to find a relation for λn in terms of the leading n coefficient of the Legendre polynomial Pn(x) = knx + :::. What is kn? 2. A Generating Function for the Legendre Polynomials (20 pts): In this problem, we will derive a generating function for the Legendre polynomials. (a) Verify that the Legendre polynomials satisfy the recurrence relation 0 0 0 Pn − 2xPn−1 + Pn−2 − Pn−1 = 0 : (b) Consider the generating function 1 X n g(x; t) = t Pn(x) : n=0 Use the recurrence relation above to show that the generating function satisfies the first order differential equation d (1 − 2xt + t2) g(x; t) = tg(x; t) : dx Determine the constant of integration by using the fact that Pn(1) = 1. (c) Use the generating function to express the potential for a point particle q jr − r0j in terms of Legendre polynomials. 1 3. The Dirac delta function (15 pts): Dirac delta functions are useful mathematical tools in quantum mechanics.
    [Show full text]
  • Polynomial Sequences Generated by Linear Recurrences
    Innocent Ndikubwayo Polynomial Sequences Generated by Linear Recurrences: Location and Reality of Zeros Polynomial Sequences Generated by Linear Recurrences: Location and Reality of Zeros Linear Recurrences: Location by Sequences Generated Polynomial Innocent Ndikubwayo ISBN 978-91-7911-462-6 Department of Mathematics Doctoral Thesis in Mathematics at Stockholm University, Sweden 2021 Polynomial Sequences Generated by Linear Recurrences: Location and Reality of Zeros Innocent Ndikubwayo Academic dissertation for the Degree of Doctor of Philosophy in Mathematics at Stockholm University to be publicly defended on Friday 14 May 2021 at 15.00 in sal 14 (Gradängsalen), hus 5, Kräftriket, Roslagsvägen 101 and online via Zoom, public link is available at the department website. Abstract In this thesis, we study the problem of location of the zeros of individual polynomials in sequences of polynomials generated by linear recurrence relations. In paper I, we establish the necessary and sufficient conditions that guarantee hyperbolicity of all the polynomials generated by a three-term recurrence of length 2, whose coefficients are arbitrary real polynomials. These zeros are dense on the real intervals of an explicitly defined real semialgebraic curve. Paper II extends Paper I to three-term recurrences of length greater than 2. We prove that there always exist non- hyperbolic polynomial(s) in the generated sequence. We further show that with at most finitely many known exceptions, all the zeros of all the polynomials generated by the recurrence lie and are dense on an explicitly defined real semialgebraic curve which consists of real intervals and non-real segments. The boundary points of this curve form a subset of zero locus of the discriminant of the characteristic polynomial of the recurrence.
    [Show full text]
  • Linear Recurrence Relations: the Theory Behind Them
    Linear Recurrence Relations: The Theory Behind Them David Soukup October 29, 2019 Linear Recurrence Relations Contents 1 Foreword ii 2 The matrix diagonalization method 1 3 Generating functions 3 4 Analogies to ODEs 6 5 Exercises 8 6 References 10 i Linear Recurrence Relations 1 Foreword This guide is intended mostly for students in Math 61 who are looking for a more theoretical background to the solving of linear recurrence relations. A typical problem encountered is the following: suppose we have a sequence defined by an = 2an−1 + 3an−2 where a0 = 0; a1 = 8: Certainly this recurrence defines the sequence fang unambiguously (at least for positive integers n), and we can compute the first several terms without much problem: a0 = 0 a1 = 8 a2 = 2 · a1 + 3 · a0 = 2 · 8 + 3 · 0 = 16 a3 = 2 · a2 + 3 · a1 = 2 · 16 + 3 · 8 = 56 a4 = 2 · a3 + 3 · a2 = 2 · 56 + 3 · 16 = 160 . While this does allow us to compute the value of an for small n, this is unsatisfying for several reasons. For one, computing the value of a100 by this method would be time-consuming. If we solely use the recurrence, we would have to find the previous 99 values of the sequence first. Moreover, until we compute it we have no good idea of how large a100 will be. We can observe from the table above that an grows quite rapidly as n increases, but we do not know how to extrapolate this rate of growth to all n. Most importantly, we would like to know the order of growth of this function.
    [Show full text]
  • Analysis of Non-Linear Recurrence Relations for the Recurrence Coefficients of Generalized Charlier Polynomials
    Journal of Nonlinear Mathematical Physics Volume 10, Supplement 2 (2003), 231–237 SIDE V Analysis of Non-Linear Recurrence Relations for the Recurrence Coefficients of Generalized Charlier Polynomials Walter VAN ASSCHE † and Mama FOUPOUAGNIGNI ‡ † Katholieke Universiteit Leuven, Department of Mathematics, Celestijnenlaan 200 B, B-3001 Leuven, Belgium E-mail: [email protected] ‡ University of Yaounde, Advanced School of Education, Department of Mathematics, P.O. Box 47, Yaounde, Cameroon E-mail: [email protected] This paper is part of the Proceedings of SIDE V; Giens, June 21-26, 2002 Abstract The recurrence coefficients of generalized Charlier polynomials satisfy a system of non- linear recurrence relations. We simplify the recurrence relations, show that they are related to certain discrete Painlev´e equations, and analyze the asymptotic behaviour. 1 Introduction Orthogonal polynomials on the real line always satisfy a three-term recurrence relation. For monic polynomials Pn this is of the form Pn+1(x)=(x − βn)Pn(x) − γnPn−1(x), (1.1) with initial values P0 = 1 and P−1 = 0. For the orthonormal polynomials pn the recurrence relation is xpn(x)=an+1pn+1(x)+bnpn(x)+anpn−1(x), (1.2) 2 where an = γn and bn = βn. The recurrence coefficients are given by the integrals 2 an = xpn(x)pn−1(x) dµ(x),bn = xpn(x) dµ(x) and can also be expressed in terms of determinants containing the moments of the orthog- onality measure µ [11]. For classical orthogonal polynomials one knows these recurrence coefficients explicitly, but when one uses non-classical weights, then often one does not Copyright c 2003 by W Van Assche and M Foupouagnigni 232 W Van Assche and M Foupouagnigni know the recurrence coefficients explicitly.
    [Show full text]
  • Series Solutions of Ordinary Differential Equations
    Series Solutions of Homogeneous, Linear, 2nd Order ODE “Standard form” of a homogeneous, linear, 2nd order ODE: y′′ + p( z) y′ + q( z) y = 0 The first step is always to put the given equation into this “standard form.” Then the technique for obtaining two independent solutions depends on the existence and nature of any singularities of the ODE at the point z = z0 about which the series is to be expanded. By a change of variable, the ODE can always be written so that z0 = 0 and this is assumed below. Case I: z = 0 is an ordinary point: (1) Assume a power series solution about z = 0: ∞ n y() z= ∑ an z . Eq. (1) n=0 (2) Substitute Eq. (1) and its derivatives into the ODE and require that the coefficients of each power of z sum to zero to get a recurrence relation. The recurrence relation expresses a coefficient an in terms of the coefficients ar where r ≤ n − 1. (3) Sometimes the recurrence relation will have two solutions which can be used to construct series for two independent solutions to the ODE, y1(z) and y2(z). Other times, independent solutions can be obtained by choosing differing starting points for the series, e.g. a0 = 1, a1 =0 or a0 = 0, a1 = 1. A systematic approach is to assume Frobenius power series solutions ∞ σ n y() z= z∑ an z Eq. (2) n=0 with σ = 0 and σ = 1 instead of using only Eq. (1). (4) Try to relate the power series to the closed form of an elementary function (not always possible).
    [Show full text]
  • The Fractional Derivative of the Dirac Delta Function and New Results on the Inverse Laplace Transform of Irrational Functions
    The fractional derivative of the Dirac delta function and new results on the inverse Laplace transform of irrational functions Nicos Makris1 Abstract Motivated from studies on anomalous diffusion, we show that the memory function M(t) of q + complex materials, that their creep compliance follows a power law, J(t) ∼ t with q 2 R , dqδ(t−0) + is the fractional derivative of the Dirac delta function, dtq with q 2 R . This leads q + to the finding that the inverse Laplace transform of s for any q 2 R is the fractional dqδ(t−0) derivative of the Dirac delta function, dtq . This result, in association with the con- sq volution theorem, makes possible the calculation of the inverse Laplace transform of sα∓λ + where α < q 2 R which is the fractional derivative of order q of the Rabotnov function α−1 α + "α−1(±λ, t) = t Eα, α(±λt ). The fractional derivative of order q 2 R of the Rabotnov function, "α−1(±λ, t) produces singularities which are extracted with a finite number of frac- tional derivatives of the Dirac delta function depending on the strength of q in association with the recurrence formula of the two-parameter Mittag–Leffler function. arXiv:2006.04966v1 [math-ph] 8 Jun 2020 Keywords: Generalized functions, Laplace transform, anomalous diffusion, fractional calculus, Mittag–Leffler function 1Department of Civil and Environmental Engineering, Southern Methodist University, Dallas, Texas, 75276 [email protected] Office of Theoretical and Applied Mechanics, Academy of Athens, 10679, Greece 1 1 Introduction 1 The classical result for the inverse Laplace transform of the function F(s) = sq is (Erdélyi 1954) 1 1 L−1 = tq−1 with q > 0 (1) sq Γ(q) 1 In Eq.
    [Show full text]
  • Recurrence Relations
    Recurrence Relations Introduction Determining the running time of a recursive algorithm often requires one to determine the big-O growth of a function T (n) that is defined in terms of a recurrence relation. Recall that a recurrene relation for a sequence of numbers is simply an equation that provides the value of the n th number in terms of an algebraic expression involving n and one or more of the previous numbers of the sequence. The most common recurrence relation we will encounter in this course is the uniform divide-and-conquer recurrence relation, or uniform recurrence for short. Uniform Divide-and-Conquer Recurrence Relation: one of the form T (n) = aT (n=b) + f(n); where a > 0 and b > 1 are integer constants. This equation is explained as follows. T (n): T (n) denotes the number of steps required by some divide-and-conquer algorithm A on a problem instance having size n. Divide A divides original problem instance into a subproblem instances. Conquer Each subproblem instance has size n=b and hence is conquered in T (n=b) steps by making a recursive call to A. Combine f(n) represents the number of steps needed to both divide the original problem instance and combine the a solutions into a final solution for the original problem instance. For example, T (n) = 7T (n=2) + n2; is a uniform divide-and-conquer recurrence with a = 7, b = 2, and f(n) = n2. 1 It should be emphasized that not every divide-and-conquer algorithm produces a uniform divide- and-conquer recurrence.
    [Show full text]
  • 1. Introduction
    Pr´e-Publica¸c˜oes do Departamento de Matem´atica Universidade de Coimbra Preprint Number 10–09 RELATIVE ASYMPTOTICS FOR ORTHOGONAL MATRIX POLYNOMIALS A. BRANQUINHO, F. MARCELLAN´ AND A. MENDES Abstract: In this paper we study sequences of matrix polynomials that satisfy a non-symmetric recurrence relation. To study this kind of sequences we use a vector interpretation of the matrix orthogonality. In the context of these sequences of matrix polynomials we introduce the concept of the generalized matrix Nevai class and we give the ratio asymptotics between two consecutive polynomials belonging to this class. We study the generalized matrix Chebyshev polynomials and we deduce its explicit expression as well as we show some illustrative examples. The concept of a Dirac delta functional is introduced. We show how the vector model that includes a Dirac delta functional is a representation of a discrete Sobolev inner product. It also allows to reinterpret such perturbations in the usual matrix Nevai class. Finally, the relative asymptotics between a polynomial in the generalized matrix Nevai class and a polynomial that is orthogonal to a modification of the corresponding matrix measure by the addition of a Dirac delta functional is deduced. Keywords: Matrix orthogonal polynomials, linear functional, recurrence relation, tridiagonal operator, asymptotic results, Nevai class. AMS Subject Classification (2000): Primary 33C45; Secondary 39B42. 1. Introduction In the last decade the asymptotic behavior of matrix orthonormal polyno- mials, the distribution of their zeros as well as their connection with matrix quadrature formulas have paid a increasing attention by many researchers. A big effort was done in this direction in the framework of the analytic theory of such polynomials by A.
    [Show full text]
  • Recurrence Relations Luminita Vese November 14, 2006 Definition
    Recurrence relations Luminita Vese November 14, 2006 Definition: A recurrence relation for a sequence an is a formula which expresses { } the nth term of the sequence in terms of one or more of the previous terms of the sequence. Typically the recurrence relation is known and one wants to determine explicitly • the sequences which satisfy the given recurrence relation. Sometimes one wants to find its limit, convergence properties, etc. Many natural functions are easily expressed as recurrences: • an = an 1 + 1, a1 = 1 an = n (polynomial) − ⇒ n an = 2an 1, a0 = 1 an = 2 (exponential) − ⇒ an = nan 1, a1 = 1 an = n! (factorial) − ⇒ It is often easy to find a recurrence as the solution of a counting problem. • Mathematical induction provides a useful tool to solve recurrences: guess a solution • and prove it by induction (as we will see). Example: Find the sequence satisfying un = 2un 1 + 1, n 1, u0 = 0. − ≥ Solution: - To guess the solution: compute un for small values of n for insight. Thus u0 = 0, u1 = 1, u2 = 3, u3 = 7, u4 = 15, u5 = 31, u6 = 63, u7 = 127, ... n - Prove un = 2 1 by induction. − Linear recurrences, with finite history, constant coefficients can always be solved • mechanically. Examples: - Fibonacci sequence F0 = 0, F1 = 1, Fn = Fn 1 + Fn 2, for n 2. − − ≥ To find the characteristic polynomial, we rewrite Fn+2 = Fn+1 + Fn for n 0, or 2 ≥ 1+√5 Fn+2 Fn+1 Fn = 0. The characteristic equation is x x 1 = 0, with roots α = 2 − 1 √−5 − − n n and β = −2 .
    [Show full text]
  • Recurrence Relations
    400 lecture note #8 [§5.6-5.8] Recurrence Relations 1 Recursive Algorithms • A recursive algorithm is an algorithm which invokes itself. • A recursive algorithm looks at a problem backward -- the solution for the current value n is a modification of the solutions for the previous values (e.g. n-1). • Basic structure of recursive algorithms: procedure foo(n) 1. if n satisfy some condition then // base case 2. return (possibly a value) 3. else 4. (possibly do some processing) 5. return (possibly some processing using) 6. foo(n-1) // recursive call • Examples: 1. Factorial (n!) 0! = 1 1! = 1 2! = 1 * 2 = 1! * 2 3! = 1 * 2 * 3 = 2! * 3 n! = 1 * 2 * 3 * .. * (n-1) * n = (n-1)! * n . Recursive algorithm for factorial: Input: A positive integer n >= 0 Output: n! procedure factorial(n) 1. if n = 0 then 2. return 1 // base case, 0! = 1 3. return n * factorial(n-1) // recursive call . Trace of procedure calls when n = 3 factorial(3) factorial(2) factorial(1) factorial(0) return 1 return 1 * 1 = 1 return 2 * 1 = 2 return 3 * 2 = 6 2. Compound interest With an initial amount of $100 and 22 % annual interest, the amount at the end of the nth year, An, is expressed recursively as: (1.22) , 1 = 100.0, = 0 ∙ −1 ≥ � . A general recursive algorithm for compound interest after n years (where n >= 0) with initial amount a and interest rate r is procedure compound_interest(n, a, r) 1. if (n == 0) then 2. return a 3. return ((1 + r) * compound_interest(n-1, a, r)) end compound_interest 3.
    [Show full text]
  • Chapter 3 Recursion and Recurrence Relations
    Chapter 3 Recursion and Recurrence Relations CS 130 – Discrete Structures Recursive Examples CS 130 – Discrete Structures 2 Recursion • Recursive definitions: define an entity in terms of itself. • There are two parts: – Basic case (basis): the most primitive case(s) of the entity are defined without reference to the entity. – Recursive (inductive) case: new cases of the entity are defined in terms of simpler cases of the entity. • Recursive sequences – A sequence is an ordered list of objects, which is potentially infinite. s(k) denotes the kth object in the sequence. – A sequence is defined recursively by explicitly naming the first value (or the first few values) in the sequence and then define later values in the sequence in terms of earlier values. CS 130 – Discrete Structures 3 Examples of Recursive Sequence • A recursively defined sequence: – S(1) = 2 …… basis case – S(n) = 2 * S(n-1), for n >= 2 …… recursive case – what does the sequence look like? – T(1) =1 …… basis case – T(n) = T(n-1) + 3, for n >= 2 …… recursive case – what does the sequence look like? CS 130 – Discrete Structures 4 Fibonacci Sequence • The Fibonacci Sequence is defined by: • F(1) = 1, F(2) = 1 …… basis case • F(n) = F(n-2) + F(n-1), for n > 2 …… recursive case • the sequence? • http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/fibnat.html#Rabbits CS 130 – Discrete Structures 5 Proofs Related To Recursively Defined Sequence • Proofs of properties about recursively defined entities are typically inductive proofs. • Prove directly from the definition •
    [Show full text]