我看到这个名字一脸懵逼,在思考这么奇怪的名字到底是哪里来的
这是这个名字的发明者是理查德·贝尔曼。他在我在兰德公司度过了1950 年的秋季,当前的首要任务是为多阶段决策过程起一个合适的名字,然而1950年并不是一个数学研究的好时候,在华盛顿,有一个非常绅士风度的人,叫威尔逊,他是国防部长。他对研究这个词有一种近乎偏执的恐惧和仇恨。要知道我不会轻易使用这个词。我用得很准确。如果人们在他面前使用“研究”这个词,他的脸会变得十分红润,同时十分的暴躁。你可以想象他对数学这个词的感受。
兰德公司受雇于空军,而威尔逊基本上是空军的老板。因此,我觉得我必须做点什么来保护威尔逊和空军,让他们免受我实际上在兰德公司内部做数学的事实的影响。
所以,我可以选择什么标题,什么名称?最初我对计划、决策、思考感兴趣。但出于各种原因,计划并不是一个好词。因此我决定使用规划这个词(规划一词表达了寻找最佳程序的含义,同时还有军事演练等含义)。同时我想透过动态这个词传达这是多阶段的,随时间变化的,同时让人印象深刻。一石二鸟的是。让我们用一个具有绝对精确含义的词,即动态.在经典物理学中,他还有一个非常有意思的特性,作为形容词不可能使用贬义的方式来使用这个词,因此我认为动态规划是一个好名字,这是连国会议员都无法反对的名字,所以我可以用它作为我行动的保护伞。
https://www.linkedin.com/pulse/origins-name-dynamic-programming-ashwin-rao
https://www.quora.com/Why-is-dynamic-programming-called-dynamic-programming#:~:text=The%20Secretary%20of%20Defense%20was,so%20he%20picked%20%E2%80%9Cdynamic%E2%80%9D.
所以动态规划可以视为一种优化技术,通过减少冗余计算的数量来极大地提高某些算法的性能。关键思想是避免一遍又一遍地重新计算相同的值,这可能会严重浪费计算资源。相反,该算法将先前解决的子问题的结果存储在内存中,并在再次需要时重用它们。这种方法对于解决具有重叠子问题的问题特别有用,这意味着在解决较大问题的过程中会多次遇到相同的子问题。
动态规划既不是动态也不规划,只是修复不良递归,简单的自下而上逐步逐步解决问题的方案。