Dynamic Programming and the Coin Collecting Problem

coin collecting problem

Imagine a coin-collecting problem where you must make sure that you collect as many coins as possible while still facing the opposite way. If your robot is unable to collect as many coins as possible, it will eventually crash. The best way to avoid this is to use Dynamic Programming. This algorithm can find the optimal path and maximum number of coins, based on a 3D table. Once you solve this problem, you can move on to other challenges.

You can use this algorithm to find the optimum solution for coins of denominations 1, 3, and four. This algorithm produces two coins, yielding a minimum of six coins in each row. It uses the formula (8.4) and backtraces computations to find the optimal solution. You should also be aware that this algorithm is time-consuming and can result in wrong solutions. Nevertheless, it can be useful to understand the coin-collecting problem to avoid getting into debt.

CSC 8301 introduces the concept of dynamic programming and the coin-collecting problem. The class will start with Malik Magdon-Ismail’s slides on overfitting. Afterward, the class will move on to the Robot Coin Collection Algorithm. You can apply dynamic programming to solve this problem. If you know how to program Python, you will have a better chance of succeeding with this challenge. There are many challenges you may encounter while solving the problem.