アルゴリズムの設計と解析 - 動的計画

ダイナミックプログラミングアルゴリズムの最初に、理解

  分割統治の共通の元の問題に非常に類似しているために、動的プログラミングアルゴリズムはいくつかのサブ問題、元の問題の解決策に分解した後、サブ問題が発見されました。動的プログラミングのサブ問題は、しばしば重複互いに独立していないとの差です。だから、ダブルカウントを避けるために、あなたは、再び問題児に直面したとき、解決された答えを得るためにルックアップテーブルを子供の問題を記録するテーブルを作成することができます。アルゴリズムは、一般にほとんどのプロパティの問題を解決するために使用され、また、最適な下位問題と重複する性質、すなわち下部の重複性質の性質および最適な下位問題を有しています。

  動的なプログラミングアルゴリズムでこの種の問題を解決するための基本的な手順です:

図1は、再帰的関係(すなわち、書き込み再帰式)3つのサブ問題の最適値を確立するために性質および2の構造の最適解を見つけるためのボトムアップ再帰形の最適値を算出する(トップダウンであってもよいです、問題のすなわちメモ方法)4.最適解を最適解を得るために必要である最適値溶液を設定することで、第三の工程で得られた情報を記録することができます。

 

第二に、再帰式

1. Nからなる最も長い単調配列は配列の数だけインクリメントされます。

漸化式:LEN [I] = MAX(LEN [J] + 1)(0 <J <I)、lenが[I]からなる番号がインクリメントされ、i番目に最初のシーケンスから単調の最長シーケンスを表します長さ

nは長江ヨットのレンタルステーション1,2、...、n個のセット2.長江ヨットクラブ。来場者は、これらのヨットのレンタルステーションでヨットをレンタルして下流のいずれかのボートのレンタルステーションでヨットを返すことができます。ヨットレンタル局iが局jとのレンタルボートを借りるR(i、j)は、1 <= iが<jの<= nです。nは船から船1のレンタルステーションにレンタルステーションを借りるために必要な最小を計算するアルゴリズムを設計するようにしてください。

漸化式:[I] [j]を借り=分(借りる[I] [K] + [K] [j]を借り)借りて、(I <K <= j)は、[I] [j]は、i番目を表しますj番目のレンタルステーションへのレンタルステーションは、最低家賃を必要と

 

ペアの第三に、プログラミング

いくつかの非常に良い状況をプログラミングするこのペアは、互いに通信し、彼らは、より高い効率を問題を検出して解決するようにプログラムすることができます。

 

 

おすすめ

転載: www.cnblogs.com/Jettle/p/11788021.html