CDM. Recurrences and Fibonacci. 20-fibonacci 2017/12/15 23:16. Terminology 4. Recurrence Equations 3. Solution and Asymptotics 6.

Similar documents
CDM. Recurrences and Fibonacci

Math 324 Summer 2012 Elementary Number Theory Notes on Mathematical Induction

CDM Combinatorial Principles

MATH 324 Summer 2011 Elementary Number Theory. Notes on Mathematical Induction. Recall the following axiom for the set of integers.

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

Computational Complexity - Pseudocode and Recursions

Some Review Problems for Exam 2: Solutions

FINITE ABELIAN GROUPS Amin Witno

Fall 2017 Test II review problems

Sequences of Real Numbers

Divisibility in the Fibonacci Numbers. Stefan Erickson Colorado College January 27, 2006

1. multiplication is commutative and associative;

2. THE EUCLIDEAN ALGORITHM More ring essentials

ALGEBRA II: RINGS AND MODULES OVER LITTLE RINGS.

3 Finite continued fractions

4 Linear Recurrence Relations & the Fibonacci Sequence

1. Introduction to commutative rings and fields

5 + 9(10) + 3(100) + 0(1000) + 2(10000) =

Lecture 12 : Recurrences DRAFT

Computational Complexity. This lecture. Notes. Lecture 02 - Basic Complexity Analysis. Tom Kelsey & Susmit Sarkar. Notes

= 1 2x. x 2 a ) 0 (mod p n ), (x 2 + 2a + a2. x a ) 2

Discrete Mathematics and Probability Theory Fall 2018 Alistair Sinclair and Yun Song Note 6

1. Introduction to commutative rings and fields

2 Arithmetic. 2.1 Greatest common divisors. This chapter is about properties of the integers Z = {..., 2, 1, 0, 1, 2,...}.

Lecture 6: Finite Fields

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

Contribution of Problems

Problem Solving in Math (Math 43900) Fall 2013

6 Cosets & Factor Groups

Notes on Continued Fractions for Math 4400

PARTIAL FRACTIONS: AN INTEGRATIONIST PERSPECTIVE

Discrete Mathematics and Probability Theory Summer 2014 James Cook Note 5

Transposition as a permutation: a tale of group actions and modular arithmetic

CDM. Finite Fields. Klaus Sutner Carnegie Mellon University. Fall 2018

Ex. Here's another one. We want to prove that the sum of the cubes of the first n natural numbers is. n = n 2 (n+1) 2 /4.

FIFTH ROOTS OF FIBONACCI FRACTIONS. Christopher P. French Grinnell College, Grinnell, IA (Submitted June 2004-Final Revision September 2004)

Primes in arithmetic progressions

After linear functions, the next simplest functions are polynomials. Examples are

Number theory (Chapter 4)

Q 2.0.2: If it s 5:30pm now, what time will it be in 4753 hours? Q 2.0.3: Today is Wednesday. What day of the week will it be in one year from today?

Number Systems III MA1S1. Tristan McLoughlin. December 4, 2013

Recurrences COMP 215

3 The language of proof

CS1800: Strong Induction. Professor Kevin Gold

1 Continued Fractions

Slope Fields: Graphing Solutions Without the Solutions

Topic Contents. Factoring Methods. Unit 3: Factoring Methods. Finding the square root of a number

2.1 Convergence of Sequences

SECTION 9.2: ARITHMETIC SEQUENCES and PARTIAL SUMS

1 Maintaining a Dictionary

Lecture 3: Latin Squares and Groups

Basic elements of number theory

Basic elements of number theory

CS1800: Mathematical Induction. Professor Kevin Gold

Seunghee Ye Ma 8: Week 2 Oct 6

1 Recursive Algorithms

CHAPTER 3: THE INTEGERS Z

COUNTING NUMERICAL SEMIGROUPS BY GENUS AND SOME CASES OF A QUESTION OF WILF

F 2k 1 = F 2n. for all positive integers n.

MATH 115, SUMMER 2012 LECTURE 12

ACCESS TO SCIENCE, ENGINEERING AND AGRICULTURE: MATHEMATICS 1 MATH00030 SEMESTER / Lines and Their Equations

The well-known Fibonacci sequence is defined by a recurrence. Specifically,letF i denote the ith number. Then, we have:

Learning Objectives

1 Overview and revision

Algorithms (II) Yu Yu. Shanghai Jiaotong University

Proof Techniques (Review of Math 271)

ORDERS OF ELEMENTS IN A GROUP

A sequence is k-automatic if its n th term is generated by a finite state machine with n in base k as the input.

Math 109 HW 9 Solutions

be any ring homomorphism and let s S be any element of S. Then there is a unique ring homomorphism

Basic Algorithms in Number Theory

1.1.1 Algebraic Operations

Determinants: Introduction and existence

22. The Quadratic Sieve and Elliptic Curves. 22.a The Quadratic Sieve

6.042/18.062J Mathematics for Computer Science March 17, 2005 Srini Devadas and Eric Lehman. Recurrences

Theorem 5.3. Let E/F, E = F (u), be a simple field extension. Then u is algebraic if and only if E/F is finite. In this case, [E : F ] = deg f u.

What if the characteristic equation has a double root?

Continuing discussion of CRC s, especially looking at two-bit errors

CHAPTER 3. Sequences. 1. Basic Properties

Solving recurrences. Frequently showing up when analysing divide&conquer algorithms or, more generally, recursive algorithms.

Asymptotic Notation. such that t(n) cf(n) for all n n 0. for some positive real constant c and integer threshold n 0

. As the binomial coefficients are integers we have that. 2 n(n 1).

The tensor product of commutative monoids

A Guide to Arithmetic

Rigid Divisibility Sequences Generated by Polynomial Iteration

Algorithm Analysis Recurrence Relation. Chung-Ang University, Jaesung Lee

Recursion. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry. Fall 2007

1 Reductions and Expressiveness

COMPUTING GALOIS GROUPS WITH GENERIC RESOLVENT POLYNOMIALS

Chinese Remainder Theorem

Grade 7/8 Math Circles. Continued Fractions

IB Mathematics HL Year 2 Unit 11: Completion of Algebra (Core Topic 1)

Zeta types and Tannakian symbols

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 1

Section 11.1: Sequences

DR.RUPNATHJI( DR.RUPAK NATH )

Covering Subsets of the Integers and a Result on Digits of Fibonacci Numbers

Part III, Sequences and Series CS131 Mathematics for Computer Scientists II Note 16 RECURRENCES

numerical analysis 1

Solutions to odd-numbered exercises Peter J. Cameron, Introduction to Algebra, Chapter 3

Transcription:

CDM Recurrences and Fibonacci 1 Recurrence Equations Klaus Sutner Carnegie Mellon University Second Order 20-fibonacci 2017/12/15 23:16 The Fibonacci Monoid Recurrence Equations 3 Terminology 4 We can define a sequence (u n) n 0 in two standard ways: Explicitly: u n = n(n + 1)/2. Inductively: u n = u n 1 + n. Inductively definitions are often much easier to find, e.g. in running time analysis. But we then want a explicit formula for the sequence, or at least an asymptotically correct explicit formula. Definition An equation of the form u n = a 1u n 1 + a 2u n 2 +... a ku n k + f(n) is a linear recurrence equation of order k. Solving this recurrence means to find an explicit formula for u n. linear: there are no terms u 2 i, u i, and so on order k: u n depends on u n 1, u n 2,..., u n k called homogeneous if f(n) = 0, non-homogeneous otherwise Solving recurrences turns out to be rather difficult. Requires somewhat complicated machinery, and lot s of tricks. Sometimes, the best approach is to make an educated guess and then verify. Of course, that requires experience. Here are some basic ideas. First-Order 5 Solution and Asymptotics 6 How do we solve the equation u n = a u n 1 + b The natural attack is to substitute the equation into itself a number of times and hope for a pattern. u n = a 2 u n 2 + ab + b u n = a 3 u n 3 + a 2 b + ab + b u n = a 4 u n 4 + a 3 b + a 2 b + ab + b In this case there is an easy conjecture, which can be proved by induction: u n = a n u 0 + b i<n a i So for a 1 we have but for a = 1 we get u n = a n u 0 + b an 1 a 1 u n = u 0 + bn If we are not interested in details (e.g., in running time analysis) we can simply say u n = Θ(a n ) = Θ(2 n log 2 a ) in the case a 1 and u n = Θ(n) otherwise. In this particular case asymptotic notation is just a convenient way to hide irrelevant detail, but sometimes it is the only way to get a reasonable answer.

Non-Constant 7 Case a 1 8 How about u n = a u n 1 + f(n)? It is easy to see that u n = a n u 0 + a i f(n i) i<n We need to know more about f to proceed. Example u 0 = 0 u n = u n 1 + n Since a = 1 we easily get u n = n(n + 1)/2. How about the slightly more complicated u 0 = 0 u n = a u n 1 + n This already makes an astonishing mess. To tackle the problem, first use a standard trick in mathematics: chop off offending parts and consider homogeneous case: That s easy: u n = a n u 0. u n = a u n 1 Crazy Idea: Let s try something that looks like the homogeneous solution, plus a term similar to f(n), something like u n = c 0 + c 1n + c 2a n This may or may not work, we are just guessing here. Onward 9 example 10 We need a(c 0 + c 1(n 1) + c 2a n 1 ) + n = c 0 + c 1n + c 2a n Use u 0 = 0, and substitute n = 1 and n = 2: c 0 + c 2 = 0 c 0(a 1) c 1 + 1 = 0 c 0(a 1) + c 1(a 2) + 2 = 0 For example has solution u 0 = 0 u n = 2 u n 1 + n u n = 2 n+1 n 2 = Θ(2 n ) with solutions c 0 = These coefficients produces the final solution a c (a 1) 2 1 = 1 a 1 u n = a(an 1) n(a 1) (a 1) 2. Not much different from our Hanoi solution: u 0 = 0 u n = 2 u n 1 + 1 with solution u n = 2 n 1 = Θ(2 n ) The Flip-Side 11 Recall from last time: Recurrence Equations Complicated problems often have simple recursive solutions. Now we are dealing with the opposite problem: 2 Second Order Simple recursive problems often have complicated solutions. The Fibonacci Monoid There is no free lunch after all...

Fibonacci Numbers 13 Fibonacci Plot 14 The simplest second-order recurrence is the famous Fibonacci recurrence (homogeneous): F 0 = 0, F 1 = 1 F n = F n 1 + F n 2 What can we say about these numbers? Clearly F n < 2 n, but they grow pretty quickly: here s a log-plot. Characteristic Equation 15 The Golden Ratio 16 The plot suggests that log F n is essentially linear. Hence we should have F n c x n. What are the constants c and x? We need or Definition cx n = cx n 1 + cx n 2 x 2 x 1 = 0 This is the characteristic equation of the recurrence. Solutions of the characteristic equation: x 1/2 = 1 ± 5 2 We clearly need the root larger than 1, often called the Golden Ratio Φ = 1 + 5 1.61803 2 A log-linear plot of the first 26 Fibonacci numbers; note the exponential scale. The second root is Φ = 1 5 = 1 Φ. 2 If we set c = 1/ 5 we get a fairly good approximation F n Φ n / 5. E.g., F 20 = 6765 and So it looks like F n = Θ(Φ n ). Φ 20 5 F 20 0.0000295639 We will construct a solution of the recurrence from these. Precise Solution 17 DeMoivre-Binet 18 But can we get a precise expression for F n? How about using both roots of the equation? We could try something like Lemma DeMoivre-Binet Formula F n = c 1Φ n + c 2 Φn Yields linear equations c 1 + c 2 = 0 c 1Φ + c 2 Φ = 1 with solution c 1 = c 2 = 1/ 5. Again, this is the guess-and-verify approach. F n = (Φ n Φ n )/ 5 Proof. Write G n = (Φ n Φ n )/ 5. We know G 0 = 0 = F 0 and G 1 = 1 = F 1. But it is straightforward to check that But then by induction F n = G n. So G n = G n 1 + G n 2. F n = ((1 + 5) n (1 5) n )/(2 n 5). Note that this expression really yields an integer: the square roots of 5 all cancel out.

Computing with 5 19 Application: Bit-Counts 20 Since Φ 0.618034 we have lim Φ n = 0 quite rapidly, which explains why the second term is not so important. This is really a bit strange: we are computing in the field extension Q( 5), i.e., with numbers of the form x + y 5 where x, y Q in order to compute an integer. Note that Q( 5) is closed under addition and multiplication, so we can really do arithmetic. For example (x + y 5) 1 = (x y 5)/(x 2 5y 2 ) We have F n 0.45 1.62 n 2 0.7n 1 Hence the binary expansion of F n should have about 0.7n digits. Quite close: F 1000: 694 binary digits, F 10000: 6942 binary digits. So we can easily estimate the amount of memory needed to store Fibonacci numbers. By a simple error estimate we get: F n = round(φ n / 5) Alternates (above/below actual integer value): 0.447, 0.724, 1.171, 1.894, 3.065, 4.960, 8.025, 12.985 Fibonacci Sums 21 More Identities 22 Can we find a nice description of i n Fi? Sums of Squares F i = F n+2 1 i n F 2 i = F n F n+1. i n Proof. By induction on n. Let S n = i n Fi. Base: S 0 = 0 = F 2 1. Cassini s Identity Step: S n+1 = S n + F n+1 = F n+2 1 + F n+1 = F n+3 1. F 2 n F n 1 F n+1 = ( 1) n Done. Exercise: Figure out i n F2i. Both identities are easy to prove by induction. The point is finding them in the first place (relatively easy with Mathematica). Fast Fibonacci Numbers 23 Extending the Recurrence 24 We can certainly compute F n in O(n) steps (assuming arithmetic is O(1) which is a bit fishy). Is there a better way? The Q( 5) computation is no better (and in fact worse). Can we perhaps speed up the recursion? Yes! F 2n = F 2 n + 2 F n F n 1 F 2n+1 = F 2 n+1 + F 2 n The key is to extend the basic recurrence: F n+1 = 1 F n + 1 F n 1 F n+2 = 2 F n + 1 F n 1 F n+3 = 3 F n + 2 F n 1 F n+4 = 5 F n + 3 F n 1 F n+5 = 8 F n + 5 F n 1 F n+5 = 13 F n + 8 F n 1 Now it s easy to conjecture Lemma This can be proved brute-force by induction, but where on earth do these equations come from? F n+m = F m+1f n + F mf n 1

Proof 25 GCDs of Fibonacci Numbers 26 Proof. By induction on m. Base m = 0 is trivial. Step: But there is more. F n and F n 1 are coprime. Proof. By tracing the Euclidean algorithm. F n+m+1 = F n+m + F n+m 1 = F m+1f n + F mf n 1 + F mf n + F m 1F n 1 Lemma gcd(f m, F n) = F gcd(n,m). Done. = F m+2f n + F m+1f n 1 Proof. Let d = gcd(f n+m, F n). The lemma implies Our claim follows from the lemma: set m = n and m = n, n = n + 1, respectively. 0 = F m F n 1 (mod d), so d divides F m. Hence gcd(f m+n, F n) = gcd(f n, F m). A Wild Monoid 28 Recurrence Equations Our fast recurrence is one way to compute Fibonacci numbers quickly. Are there any other clever ways? Second Order Definition (Fibonacci Monoid) Define the Fibonacci product on pairs of natural numbers by (x, y) (x, y ) = (xx + yy, yy + xy + x y) 3 The Fibonacci Monoid It is straightforward to check: N N with Fibonacci product and (1, 0) forms a commutative monoid. So??? 29 A Surprise 30 Recall that in any monoid we can compute a n in O(log n) monoid multiplications, using the standard squaring trick. Here are some powers of (0, 1) in the Fibonacci monoid: z = 1; while( n > 0 ) { if( n odd ) z = z * a; a = a * a; n = n/2; } return z; // neutral element // monoid multiplication k (0, 1) 2k F 2 k 0 (0, 1) 1 1 (1, 1) 1 2 (2, 3) 3 3 (13, 21) 21 4 (610, 987) 987 5 (1346269, 2178309) 2178309 This uses ds(n) + dc(n) monoid operations where ds(n) is the digit sum of n (number of 1 s in binary expansion), and dc(n) is the total number of digits in the binary expansion. So we can compute F 32 in just 5 monoid operations. Of course, these operations involve several multiplications and additions of naturals.

The Generator 31 Computing F 1022 32 The key fact is that the submonoid generated by (0, 1) produces the Fibonacci numbers: (x, y) (0, 1) = (y, x + y) A straightforward induction shows that In the Fibonacci monoid, (0, 1) n = (F n 1, F n). So we can compute F 1024 and F 1023 very quickly: 11 Fibonacci multiplications suffice. But how about F 1022? If we can use the standard algorithm we need 19 operations. Wild Idea: Perhaps we can work backwards from F 1024 as in using just 13 operations? F 1022 = (0, 1) 210 (0, 1) 2 Well, for this we need a group, not just a monoid. Any chance the Fibonacci monoid might be a group? The Fibonacci Group 33 The Fibonacci Group 34 Given x and y we have to solve for x and y. No problem: (xx + yy, yy + xy + x y) = (1, 0) x x + y = x 2 + xy y 2 y y = x 2 + xy y 2... except that we are now dealing with rationals rather than naturals. Also note that (0, 0) has no inverse, but that is the only problem: x 2 + xy y 2 has no other integral solutions. At any rate, (0, 1) 1 = ( 1, 1) so for the one element we are most interested in, there is no problem. So we have a group on Q Q {(0, 0)}, but we are really interested in the subgroup generated by (0, 1) which does not involve rationals. The question arises how many group operations are needed to compute F n. Straight Line Programs 35 Examples 36 We can describe a computation like the one above for F 1022 as a straight line program (SLP), a sequence of instructions Here is a SLP for F 31 using only multiplication (no division). v k = v i v j v k = v i/v j = v i v 1 j where k is the line number and i, j < k. We always start with v 0 = (0, 1) The result is the value of the variable v k in the last instruction. We call that k the length of the SLP. Optimal then simply means: minimal length. So, we want an algorithm that, on input n, determines the optimal SLP with output F n. This turns out to be difficult even for fairly small values of n. So length 8 suffices. v 0 = (0, 1) F 1 v 1 = v 0 v 0 F 2 v 2 = v 1 v 1 F 4 v 3 = v 2 v 2 F 8 v 4 = v 3 v 3 F 16 v 5 = v 4 v 3 F 24 v 6 = v 5 v 2 F 28 v 7 = v 6 v 1 F 30 v 8 = v 7 v 0 F 31

F 31 37 F 31 38 A length 6 SLP for F 31 that uses division. Yes, but that s not so easy to show. Nor is the solution unique. v 0 = (0, 1) F 1 v 1 = v 0 v 0 F 2 v 2 = v 1 v 1 F 4 v 3 = v 2 v 2 F 8 v 4 = v 3 v 3 F 16 v 5 = v 4 v 4 F 32 v 6 = v 5/v 0 F 31 Is length 6 perhaps optimal? Exercise v 0 = (0, 1) F 1 v 1 = v 0 v 0 F 2 v 2 = v 1 v 1 F 4 v 3 = v 2 v 2 F 8 v 4 = v 3 v 3 F 16 v 5 = v 4/v 0 F 15 v 6 = v 5 v 4 F 31 Show that length 6 is optimal for F 31: there is no shorter SLP that computes F 31. A Little Help 39 What s going on? 40 Looking at these examples, notice that we only worry about the n in F n. We could have written v 0 = 1 1 v 1 = v 0 + v 0 2 v 2 = v 1 + v 1 4 v 3 = v 2 + v 2 8 v 4 = v 3 + v 3 16 v 5 = v 4 v 0 15 v 6 = v 5 + v 4 31 The same simplification works for all our SLPs. First note that in order to execute an SLP we need two things: an arbitrary group G, and a special element a G. We can then initialize v 0 = a in line 0, and run through the other instructions interpreting multiplication and division in the group G. The same program can be run over any group G, and with any starting value a G. So, given an SLP P, a group G, and a G, we can define P (G, a) G as the result of executing P over G with initial value a. Two Groups 41 Representation is Crucial 42 Now consider the two groups Z = Z, +, 0 F = F,, (1, 0) where F is the subgroup of the full Fibonacci group generated by (0, 1). These two groups are isomorphic via f : Z F : f(n) = (0, 1) n = (F n 1, F n) This is another example where an isomorphism makes life so much easier. Everybody understands Z, +, 0 very well intuitively. But F,, (1, 0) is a bit mysterious. It doesn t matter, they are isomorphic, so we can argue in either one. So, in a sense, instead of computing P (F, (0, 1)) we can just as well compute P (Z, 1): f(p (Z, 1)) = P (F, (0, 1))

The Fibonacci Field 43 Quoi? 44 Note that there is a natural addition on Q Q: add vectors component-wise. It is easy to check that Fibonacci multiplication coexists peaceful with this addition. For example, we have distributivity: x (y + z) = x y + x z. Hence, we really have a commutative ring. But we have already seen that other than zero every element has an inverse, so we are actually dealing with a field the Fibonacci field. F = Q Q, +,, (0, 0), (1, 0) Fields are a key concept in algebra, so one wonders if there is any simple description of this field. The DeMoivre-Binet formula suggest that 5 should play a role. (1, 0) is the multiplicative neutral element, so (n, 0) corresponds to n N. The inverse (1/n, 0) corresponds to 1/n and (m/n, 0) to the rational m/n. So Q embeds into F via r (r, 0). But what is our generator a = (0, 1)? 1/a = ( 1, 1) = a (1, 0) = a 1 F Hence a solves the equation x 2 x 1 = 0 in F, corresponding to 1/2(1 + 5). But then ( 1, 2) corresponds to 5. If you are suspicious, note that ( 1, 2) 2 = (5, 0). The Isomorphism 45 Non-Adjacent Form 46 Base B = 2, digit set D = { 1, 0, 1}. Proposition The following map is a field isomorphism: Exercise Prove the proposition. f : Q[ 5] F a + b 5 (a b, 2b) For every natural number n there are digits d i D such that n = d i2 i and d id i+1 = 0. i = 0; while( n > 0 ) { if( n odd ) d[i] = 2 - (n mod 4); else d[i] = 0; n = (n - d[i])/2; i++; }