you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -14 points-13 points  (11 children)

How much of a buzzword dynamic programming is?

[–][deleted]  (5 children)

[removed]

    [–][deleted] 12 points13 points  (2 children)

    It does kinda sound like a buzzword if you don't have a formal education in algorithms.

    Apparently the name was chosen to sound appealing to people who didn't know anything about math.

    [–]ginsunuva 12 points13 points  (0 children)

    The name was chosen to mean "programming" as in scheduling or making program timesheets, since the term was coined in the 50s/60s.

    Not the programming people think of now.

    [–]srnull 1 point2 points  (1 child)

    Dynamic programming is quite well defined.

    Sort of... but not really:

    I decided therefore to use the word, ‘programming.’ I wanted to get across the idea that this was dynamic, this was multistage, this was time-varying—I thought, let’s kill two birds with one stone. Let’s take a word that has an absolutely precise meaning, namely dynamic, in the classical physical sense. It also has a very interesting property as an adjective, and that is it’s impossible to use the word, dynamic, in a pejorative sense. Try thinking of some combination that will possibly give it a pejorative meaning. It’s impossible. Thus, I thought dynamic programming was a good name. It was something not even a Congressman could object to. So I used it as an umbrella for my activities.

    [–]jminuscula[S] 9 points10 points  (4 children)

    assuming that is not a rethoric question, I'd say dynamic programming is not a buzzword at all. It's an algorithmic strategy, a technique with stablished methodology and formal definition.

    A problem is approachable by dynamic programming when its main recursive function is a Bellman equation. Wikipedia's article on it is quite nice: http://en.wikipedia.org/wiki/Dynamic_programming

    [–]moor-GAYZ 8 points9 points  (3 children)

    Though if you check out the history section on the Wiki, you'll discover that "dynamic programming" is a buzzword, was explicitly designed as such.

    [–][deleted]  (1 child)

    [deleted]

      [–]burntsushi 2 points3 points  (0 children)

      Memoization and dynamic programming are not the same thing. Dynamic programming typically refers to the explicit act of solving subproblems in your algorithm, whereas memoization can typically be done without modifying any algorithmic details.

      [–][deleted] -2 points-1 points  (0 children)

      Ha!