Jump to content

Talk:Dynamic programming

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by W3ricardo (talk | contribs) at 19:29, 28 January 2022 (Checkerboard: new section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Template:Vital article

Confusion

The first paragraph of the second part and the article on algorithms states that dynamic programming is a bottom-up approach, but later this article says dynamic programming may use bottom-up or top-down approaches. --zeno 11:46, 9 Feb 2004 (UTC)

I've revised that section. It was very vague and somewhat incorrect. I hope there's less confusion now. Derrick Coetzee 20:18, 5 Oct 2004 (UTC)

Weirdness

The page says "i dont know" in those terms, which is not only weirdly misplaced, but also improperly formatted. Someone check.

Misplaced section

The part following "The steps for using dynamic program goes as follows:" is out of place. Out of nowhere the article starts using terms like 'gap penalties' and 'sequence alignment.' Seems like this was copied from some article on a specific application, such as protien sequencing. Anon, Wed Jul 11 14:11:43 EDT 2007

Too many examples

This is not a textbook. One good example would suffice. Even worse, many of them are just too long (and boring). Put them in wikibooks. Unfortunately, any attempt to fix this article would be blocked as "vandalism". Way to go, Wikipedia!

Why ALGOL

Hello , in

function fib(n)

   if n <= 1 return n
   return fib(n − 1) + fib(n − 2)

I doubt that the return function would return a false if, so maybe you make a if n larger or equal to 1 out of it ? That also has the nice side effect that the Fibonacci numbers would become larger than -1, like the original series is larger than +1, I guess that is what you intended ...

Checkerboard

I don't think the Checkerboard example has optimal substructure. Consider the following example:

5 1 100 100 100 100
4 50 50 50 50 1
3 1 1 1 1 1
2 1 1 1
1 *1*
1 2 3 4 5

If I understood the problem correctly, the shortest path to row 4 goes to right, and the shortest path to row 5 goest to the left.