アルゴリズムの記録

動的プログラミングアルゴリズム
、ダイナミックプログラミングアルゴリズムは、問題が解決するために、再帰的(またはパーティション)方法とすることができるように、分割によって問題、状態と状態との間の関係の定義です。
いくつかのサブ問題(ステージ)に解決すべき問題は、サブ問題解決の前、サブステージを解決するために、それは子供の問題を解決するための有用な情報を提供します。
二次元アレイにおける保存の異なる段階で異なる状態に、一度だけ各サブ問題解決のために、二重カウントを低減するために、最もこの機能のサブ問題を重複の問題を解決するための動的プログラミング以来。

一般的に、ダイナミックプログラミングの問題は、3つのプロパティを持つ必要があります:
(1)最適化の原則を:問題の解決サブ最適のソリューションも最高に含まれている場合、彼らは言った、最適なサブ構造という会うの問題点最適の原則。
(2)無後の効果:相状態が確立されていること、これは将来の状態の決定には影響しません。言い換えれば、将来の状況のプロセスは、現在の状況で、以前の状態には影響を与えません。
(3)副問題重複:すなわち、部分問題の間で独立していない、次の段階で決定下位問題は、複数回使用することができます。(このプロパティは、動的プログラミングに必要な条件が適用されないが、これは動的プログラミングアルゴリズムの性質でない場合、他のアルゴリズムと比較して利点を有していません)

最も重要なことは、三つの要素のプログラミング動的決定することである:
位相を(1)の問題
(2)各ステージのステータス
(3)は、前段の間の漸化式の後段に形質転換しました

公開された45元の記事 ウォンの賞賛9 ビュー30000 +

おすすめ

転載: blog.csdn.net/zhanglinlove/article/details/90733651