Question: Recursive sequences are sequences of numbers which can be represented by recursive formula. The most famous example continues is a Fibonacci Sequence. Considerthefollowingsequence { fn

Recursive sequences are sequences of numbers which can be represented by recursive formula. The most famous example continues is a Fibonacci Sequence.
Considerthefollowingsequence{fn |n>=0}definedas: f0=1,f1=1,f2=2 and,for i>2, define fi :=2f_{i1}+7f_{i2}+4 f_{i3}.
(a) A common strategy with such recursive sequences is to view it as a matrix multiplication. Let Fi :=[ f_{i1} f_{i2} f_{i3]^T. Then, the recurrence relation can be represented as: AF_{i1}=F_i
How does A need to be chosen in order to represent the recurrence equation from the beginning of the task? Also, for i >2, derive an equation for F_i in terms of F_2, A, and i. Justify your answers.
(b) Use part (a) to build an efficient algorithm that computes f_n, based on the divide and conquer strategy. Note that you are only asked to compute f_n and none of the intermediate values. Your algorithm will derive inspiration from an algorithm discussed in lecture.
Let M(n) be the number of 3\times 3 matrix multiplications performed to compute fn. Derive a recurrence relation for M(n) with an appropriate base case. You may assume that n =2m +2 for integer m. Solve it to compute the number of 3\times 3 matrix multiplications performed (asymptotic is fine). Finally, use this value to state an asymptotically tight bound for the running time, assuming that each arithmetic operation performed, i.e., addition and multiplication can be performed in constant time.
(Hint: You may need a driver function so that only fn value is returned. Your driver function will invoke a recursive algorithm (say, AExp). Let T (n) be the number of 3\times 3 matrix multiplications to compute AExp(n). First, formulate a recurrence relation for T (n) with appropriate base(s). Then, express M(n) in terms of the function T with appropriate base case and solve for M (n) assuming n =2m +2 for some integer m.)
(c) Prove by induction that, for some constant a >1, f_n =\Theta (a^n). Namely, prove by induction that for some constant c1 you have f_n <= c_1 a^n, and for some constant c_2 you have f_n >= c_2 a^n. What is the right constant a and the best c_1 and c_2 you can find. The best c_1 is the smallest possible value for c_1, and the best c_2 is the largest possible value for c_2.
Based on your results what can you say about the number of bits needs to represent fn, as n grows larger.
(Hint: Pay attention to the base case n =0,1,2. Also, you need to do two very similar inductive proofs.)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!