Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Systems For Advanced Applications 27th International Conference Dasfaa 2022 Virtual Event April 11 14 2022 Proceedings Part 2 Lncs 13246

Authors: Arnab Bhattacharya ,Janice Lee Mong Li ,Divyakant Agrawal ,P. Krishna Reddy ,Mukesh Mohania ,Anirban Mondal ,Vikram Goyal ,Rage Uday Kiran

1st Edition

3031001257, 978-3031001253

More Books

Students also viewed these Databases questions

Question

At what level(s) was this OD intervention scoped?

Answered: 1 week ago