Question: Why Is "Dynamic Programming" Called Dynamic?
gravatar for Egon Willighagen
8.9 years ago by
Egon Willighagen5.3k wrote:

I see the term dynamic programming pop up in sequence-related algorithms, but I am unclear as to why this is called dynamic. Where does the name dynamic come from, and how are these algorithms not static? As far as I can tell, the algorithm does not change dynamically based on the passed input...

ADD COMMENTlink written 8.9 years ago by Egon Willighagen5.3k
gravatar for Pierre Lindenbaum
8.9 years ago by
France/Nantes/Institut du Thorax - INSERM UMR1087
Pierre Lindenbaum133k wrote:

copied from

Richard Bellman's autobiography ( ) suggests that he chose the term “dynamic programming” to be intentionally distracting.

The 1950s were not good years for mathematical research. We had a very interesting gentleman in Washington named Wilson. He was secretary of Defense, and he actually had a pathological fear and hatred of the word ‘research’. I'm not using the term lightly; I'm using it precisely. His face would suffuse, he would turn red, and he would get violent if people used the term ‘research’ in his presence. You can imagine how he felt, then, about the term ‘mathematical’. The RAND Corporation was employed by the Air Force, and the Air Force had Wilson as its boss, essentially. Hence, I felt I had to do something to shield Wilson and the Air Force from the fact that I was really doing mathematics inside the RAND Corporation.

What title, what name, could I choose? In the first place I was interested in planning, in decision making, in thinking. But planning, is not a good word for various reasons. 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.

ADD COMMENTlink modified 16 months ago by _r_am32k • written 8.9 years ago by Pierre Lindenbaum133k

Oh, that both explains everything, and is a brilliant story!

ADD REPLYlink written 8.9 years ago by Egon Willighagen5.3k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1602 users visited in the last hour