動的なプログラミングアルゴリズム(ダイナミックプログラミング)

動的なプログラミングアルゴリズム(ダイナミックプログラミング)と関連する問題

1.はじめに

動的プログラミングは、多段階の意思決定プロセスの最適化を解決するための効果的な数学的手法である、彼は1951年にアメリカの学者Richard.bellmanに育てられた、彼の1957年のモノグラフ「ダイナミックプログラミング」マーク運用研究の出現の重要な枝-動的計画の誕生。
  
いわゆる多段決定問題のクラス、意思決定プロセスのシーケンスを形成するために、問題の決定の複数の相互に意思決定プロセスの各段階で作られたものを指し、これらの決定は、共通の全体最適化に基づいています目標は取ります。

**:**基本的な考え方
、その後いくつかの小さなローカル問題に分け位相に基づいて、より複雑な問題に対して、全体の問題は、全体の最高に達するためになるまで、一連の決定を行うために、ローカルの問題との再帰的な関係を、続きますターゲット。

:動的なプログラミングには、3つの重要な概念が含ま
最適な下部-
-ボーダー
-状態遷移方程式を

一般的な手順を解決することである:
1.構造的特徴および最適下部項を特徴付ける最適解の特性を、特定する。
2.再帰的に定義された最適値、サブソリューションの元の問題の解決策との関係を示す図である。
3 。ボトムアップファッションの計算各サブ問題、元の問題の最適値、及び二重カウントサブ問題を回避するために、
構成を最適値情報を計算することにより得られた前記最適解。

動的プログラミング特性を使用して
1求めて最適解
2.大きな問題は、下位問題に分解することができ、ならびにより小さな部分問題の下位問題重複
最適解は、全体的な準最適解に依存3. (状態遷移方程式)
問題ダウンの分析から4、問題のボトムアップ溶液
ディスカッション境界の根底にある問題

2.関連した質問

リンク:
:お金の質問を見つける
https://blog.csdn.net/a909301740/article/details/79940697を

最長共通部分列:
https://blog.csdn.net/mengmengdastyle/article/details/81809103

最長の増加シーケンス
オリジナルシーケンスLの1
L 2 =ソート(L 1)昇順に
、次いで、L 2 Lの一対。1用の最長共通部分列
得最長シーケンスを増加させます。

問題をゾーニングのセット
:パーティションの数
https://blog.csdn.net/jiyanfeng1/article/details/39314261

分配平衡:
n個の領域に分割され、必要に応じて
Sに問題を置くことができます/ nのナップザック問題は、その後、地域の解決
リファレンス:
https://blog.csdn.net/sinat_36246371/article/details/52914049

編集距離の問題(編集距離)
http://www.cnblogs.com/littlepanpc/p/7895810.html

その他の問題:

  1. https://blog.csdn.net/mengmengdastyle/article/details/81809103
  2. https://www.cnblogs.com/wuyuegb2312/p/3281264.html#q1
リリース8元の記事 ウォンの賞賛5 ビュー3410

おすすめ

転載: blog.csdn.net/G1011/article/details/89761828