Question: #1314

CS 331 Design and Analysis of Algorithms Project #1 Complete Solution

CS 331 Design and Analysis of Algorithms Project #1

Program the following algorithms that we covered in the class:
a. Classical matrix multiplication
b. Divide-and-conquer matrix multiplication
c. Strassen's matrix multiplication
In order to obtain more accurate results, the algorithms should be tested with the same matrices of different sizes many times. The total time spent is then divided by the number of times the algorithm is performed to obtain the time taken to solve the given instance. Let the matrix size be n x n. Carry out a complete test of your algorithms with n = 2, 4, 8, 16, 32, 64, 128, 256, … (up to the largest size of n that your computer can handle)
Write a detailed report together with graphs explaining the data sets, test strategies and explanation of the results. What are the theoretical complexity comparisons of the three algorithms? Is the classical matrix multiplication always faster than the divide-and-conquer matrix multiplication? Conclude your report with the strength and constraints of your work.
Turn in your report and a hard copy of your program. Project is due at the beginning of class on the due date. Late submission will be accepted with a penalty of 10% per calendar day. I encourage discussion among students, but I expect each student to hand in original work. You are responsible for doing your own work and for insuring that your work is protected from copying. The University’s policy on Academic
Integrity, as stated in the catalog, will be enforced.

Solution: #1294

CS 331 Design and Analysis of Algorithms Project #1 Complete Solution

This Tutorial is rated A+ p...

Tutormaster
Rating: A+ Purchased: 11 x Posted By: Vikas
Comments
Posted by: Vikas

Online Users