Comparison of Greedy Algorithm vs. Dynamic Programming - IT Assignment Help

Download Solution Order New Solution
Assignment Task

 

Abstract

Dynamic programming and greedy algorithm are two processes involved in building solutions for computational programming problems. In this literature review, the key issues and  the complex IT-related situations have been discussed with examples. The review also discusses the knapsack problem with the analysis of real-world situation along with the feasibility study. The  two main research papers selected for review are ‘Dynamic algorithm configuration: Foundation  of a new meta-algorithmic framework’ and ‘A smoothed analysis of the greedy algorithm for the  linear contextual bandit problem’. 

The literature review highlights key findings related to the chosen subject of the study. It was observed that the concepts of greedy algorithms and dynamic programming had a deep and dynamic association. It was further evaluated that both systems have their own separate reasons and methods of how they function. Besides that, dynamic programming might prove to be a more suitable method to use in comparison with the greedy algorithm.

Introduction 

The literature review is set to focus on two key research papers that are ‘Dynamic algorithm  configuration: Foundation of a new meta-algorithmic framework’ and ‘A smoothed analysis of the  greedy algorithm for the linear contextual bandit problem’. As mentioned by Kannan, et al. (2018), the greedy algorithm is recognized as an intuitive and  simpler algorithm, locally used in optimization problems, which directs optimal choice at each  stage aiding in finding the overall optimal way for solving the entire problem. On the other hand,  solving a problem by breaking it down into simplifier problems in such a way that the optimal  solution of the problem depends upon the solution of the sub-problems is called dynamic  programming. An example of dynamic programming can be taken as Fibonacci numbers. Greedy  strategy points out the initial stage of the problem. While within the framework of dynamic  programming, lists of techniques for optimization are employed for solving the specific aspects. While utilizing greedy algorithms, a random solution or choice which is considered to be the best  at that exact moment for the required work, without proper data analysis, is given preference for  the selection. While in the case of dynamic programming, the choice at first needs to be analyzed  based on the previous data which is then followed by the selection of the best solution.

 

LITERATURE REVIEW 

As per Jiang & Jiang (2017), for the memorization part, greedy optimization is quite simple and efficient as the previous choices are not necessary to look back. In the case of dynamic programming, a dynamic programming table is needed for the memorization process. The greedy algorithm never promotes reconsidering the choices made, which in turn restricts it from attaining the global optimal solution. Nevertheless, dynamic programming is quite extensive and is guaranteed to discover the optimal solution to the problem by deriving decision at each step considering the ongoing problem and the solution to formerly solved sub-problem. 

According to Wang, et al. (2017), dynamic programming is computational programming along with a mathematical optimization method. Where there is a problem that can be divided into similar sub-problems, dynamic programming is used so that the results can be re-used. For optimization,  these algorithms are mostly used. The dynamic algorithm tries to examine the subproblems which were previously solved before solving the in-hand problems. To solve the most challenging problem in the most efficient way dynamic programming is used. It guarantees the perfect solution based on the needs as it requires extremely researched data. Some of the problems which can be solved perfectly using dynamic programming are the longest common subsequence problem,  longest repeated subsequence problem, shortest common subsequence, etc. dynamic programming is most promising in solving these problems. Nowadays, dynamic programming is also used for bitcoin mining along with blockchain technology and these, as a result, are yielding positive results. 

The combinatorial optimization problem is an example of the Knapsack Problem (Hao, Ismail &  Ahmad, 2017). This suggests the best solution among various other solutions. In a combinatorial optimization problem, a set of items is given. Every item has a specified value and a mass. To know the number of every item which is also included in the collection in such a way that the total weight of all the items combined is equal to or less than the given limit along with the total value of all the items is as big as possible. The stimulus generalization of the knapsack problem has been analyzed a few years ago and numerous algorithms have been found based on the same such as a membrane-immune algorithm to solve multiple 0/1 knapsack problems, branch-and-bound algorithms, greedy algorithms, scaling based algorithms, dynamic programming, etc.  

If there are n number of items and each one among them has a weight of Wi along with a value of  Vi. In real-world applications, the 0-1 Knapsack problem is vastly studied which builds on discovering the lowest inefficient approach for portfolios seating challenge and to cut crude material seating challenge of the speculations. According to Biedenkapp, et al. (2020), the advancement approach for multi-objective settling of 0-1 Knapsack Problem is that many genuine worked papers are developed for solving the algorithms. It is a different case of the original KP  problem where every item is separated and filled in a folder. The folder comprises of those parts which were inputted as fit for the processing. 

4. Conclusions

In conclusion, dynamic programming can be considered as a better solution as compared to that of the greedy algorithm, as it is subject to extensive research-based solutions for the problem at hand.  Though it is a better solution than the greedy algorithm, it is costly than the other one. It requires time as well as a resource for deploying. A greedy is a generally faster method as it follows locally available choices for problem-solving which makes it easy to use. The fractional knapsack is an example of the greedy method and on the other hand, the 0/1 knapsack problem is an example of dynamic programming.

 

This IT Assignment has been solved by our IT Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.

Be it a used or new solution, the quality of the work submitted by our assignment Experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Get It Done! Today

Country
Applicable Time Zone is AEST [Sydney, NSW] (GMT+11)
+

Every Assignment. Every Solution. Instantly. Deadline Ahead? Grab Your Sample Now.