Dynamic Programming

 

 


 

Customize your search:

E.g., 2017-09-19
E.g., 2017-09-19
E.g., 2017-09-19
Sep 25th 2017

After sequencing genomes, we would like to compare them. We will see that dynamic programming is a powerful algorithmic tool when we compare two genes (i.e., short sequences of DNA) or two proteins. When we "zoom out" to compare entire genomes, we will employ combinatorial algorithms.

Average: 5.4 (7 votes)
Sep 25th 2017

The primary topics in this part of the specialization are: greedy algorithms (scheduling, minimum spanning trees, clustering, Huffman codes) and dynamic programming (knapsack, sequence alignment, optimal search trees).

Average: 6.2 (6 votes)
Sep 18th 2017

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Average: 6.5 (11 votes)

Sep 11th 2017

How efficiently can you pack objects into a minimum number of boxes? How well can you cluster nodes so as to cheaply separate a network into components around a few centers? These are examples of NP-hard combinatorial optimization problems. It is most likely impossible to solve such problems efficiently, so our aim is to give an approximate solution that can be computed in polynomial time and that at the same time has provable guarantees on its cost relative to the optimum.

Average: 3.5 (2 votes)