私の先輩の1人が就職の面接を受け、動的と呼ばれる理由を尋ねられました。彼は答えることができず、面接官をあきらめた後、それについて動的なものは何もないと言った、それはちょうどそのように呼ばれた。それは私には信じがたいことです。
これは、副問題が実行時に解決され、最終目標の達成に使用されるという事実を示していますか?実行時に発生する動的メモリ割り当てのように?
[回答]
質問する前に、この wikiの記事を読んでおくべきでした。申し訳ありません。
私の先輩の1人が就職の面接を受け、動的と呼ばれる理由を尋ねられました。彼は答えることができず、面接官をあきらめた後、それについて動的なものは何もないと言った、それはちょうどそのように呼ばれた。それは私には信じがたいことです。
これは、副問題が実行時に解決され、最終目標の達成に使用されるという事実を示していますか?実行時に発生する動的メモリ割り当てのように?
[回答]
質問する前に、この wikiの記事を読んでおくべきでした。申し訳ありません。
回答:
実際、「動的プログラミング」という名前には特別なものはありません。テクニック自体は、再帰をスマートに巻き戻すことについてです。この質問を見て、@ Jeffeの回答を見てください。Belmanはその名前を故意に混乱させるために選択していると報告されています。
ここに興味深い話があります。ベルマンはこのパラダイムを開拓しました。しかし、これは実際には数学的研究でした。当時の当時の国防長官は、研究と数学という言葉に夢中だった(クレイジーガイ、そうだ!)。ベルマンは、秘書が彼の仕事に激怒し、結局彼をトラブルに巻き込むであろうことを恐れていました。だから少し物事を曖昧にするために、彼はそれを動的プログラミングと呼んだが、それについて「動的」なものは何もない。
リチャード・ベルマンはベルマンの言葉でそれを動的プログラミングと呼んだ
私は(1950年の)秋の四半期をRANDで過ごしました。私の最初の仕事は、多段階の意思決定プロセスの名前を見つけることでした。
興味深い質問は、「動的プログラミング」という名前はどこから来たのですか?1950年代は数学的研究にとって良い年ではありませんでした。ワシントンにはウィルソンという非常に興味深い紳士がいました。彼は国防長官でした、そして彼は実際に病理学上の恐れと研究という言葉への憎悪を持っていました。私はこの用語を軽く使っていません。正確に使っています。彼の顔は息苦しくなり、彼は赤くなり、人々が彼の前で研究という言葉を使うと、彼は暴力的になるでしょう。あなたは彼がどのように感じたのかを想像できます。RAND Corporationは空軍に雇用されており、空軍は基本的にWilsonを上司としていた。したがって、私は実際にRAND Corporation内で数学をしているという事実からウィルソンと空軍を守るために何かをしなければならないと感じました。タイトル、名前、選べますか?そもそも、計画、意思決定、思考に興味がありました。しかし、計画はさまざまな理由で良い言葉ではありません。そこで「プログラミング」という言葉を使うことにしました。これは動的で、多段階であり、時変であるという考えを伝えたかったのです。一石二鳥を殺そうかと思った。古典的な物理的な意味で絶対的に正確な意味を持つ、つまり動的な単語を考えてみましょう。また、形容詞として非常に興味深い特性があり、ダイナミックという言葉を軽蔑的な意味で使用することは不可能です。悲惨な意味をもたらす可能性のある組み合わせを考えてみてください。それは不可能だ。したがって、動的プログラミングは良い名前だと思いました。それは、下院議員さえも反対することができなかった何かでした。