2 ms·
"Dynamic programming" may not be the best name, but it's well-established, and there's always a cost to proposing another name: fragmentation of understanding.
by jsyedidia 16y ago
"Dynamic programming" may not be the best name, but it's well-established, and there's always a cost to proposing another name: fragmentation of understanding. It's better that everybody continue to use the same non-optimal name than having different groups of people using different names for the same concept, and not realizing they're talking about the same thing.
Therefore, I think it's best to adhere to the rule, which is in fact generally followed by scientists, that only researchers who publish something new should propose new names.
In fact, "dynamic programming" already does already have a lot of other names. For example, certain versions of the "belief propagation" algorithm might be considered to be a form of dynamic programming, and the "belief propagation" algorithm itself has versions that are called the "forward backward algorithm" for Hidden Markov Models, the "Viterbi algorithm," the "sum-product algorithm," the "turbo-decoding" algorithm, the "Kalman filter," and the "transfer matrix." The reason there are so many names is that the "belief propagation" algorithm is a great algorithm that is often optimal, so it kept being reinvented.
It's not as bad as it seems though; an important advance that has occurred over the last decade is that researchers from very different communities have all started to describe these essentially similar algorithms using the same visual language of "graphical models." To learn more about that, see the book on "Information, Physics, and Computation," by Mezard and Montanari, the book on "Probabilistic Graphical Models," by Koller and Friedman, or my own articles ;-).