第三章では、作品をまとめたもの

まず、動的計画アルゴリズムを理解します

   動的なプログラミングアルゴリズムは、一つの点から決定問題です。例えば、出発点から目的地dまで暁明は、途中ではB1、B2、B3、C1、C2、C3を介して行くかもしれない、とこれらの場所の異なるコスト、暁明を通じて最も高価な作るために行くためにどのように?

   ボブはDプラスコスト([A] [B])にBから最小のコスト(コスト[B]、[D])を知ることができれば、動的プログラミングの観点から、最小のコストは、あなたは彼がフィニッシュラインDに達したことを知ることができます最適なソリューションを提供します。コストを知っている[B]、[D]、分小さな問題に大きな問題に再帰的に(コスト[C]、[D])......そのような層、およびこれらを知らなければなりません小さな問題とお互いに依存して、順序、最適解の小さな問題と動的プログラミングの点で意思決定は、最終溶液に関連する大きな問題があります。ダイナミックプログラミングは、多くの場合、最終的には、進歩的な小さな問題を記録した二次元配列の手段の大きな問題に答えを得るためにテーブルとして使用されます。

第二に、再帰的なプログラミングの問題は、式1

1.最長の単調に増加するシーケンス

[j]は、最長の単調増加のシーケンス番号jの終了を示すと仮定する。

再帰式[I] = MAX(A [J] +。1、A [I])   (I> = 1、0 <= J <I)

1  INT MAX_LENGTH(INT N、をint []){
 2      INT端= 1 ; END <N;エンド++ ){
 3          のためにINT =開始0 ; <始端;開始++ ){
 4              あれば([終了] > [開始] &&長[終了] <長[開始] + 1 + [開始])長さ[END] =長さ1 5          }
 6      }
 7      INT MAX_LENGTH =長さ[ 0 ]。
8      のためのint型 I =0 ; 私は、n <; 私は++ ){
 9          であれば(MAX_LENGTH <長さ[i])とMAX_LENGTH = 長さ[I]。
10      }
 11      リターンMAX_LENGTH。 
12 }

2.問題がヨットを雇います

仮定コスト[i] [j]は、サイトJ Iからサイトへの最小コストを表します。

コスト[I] [J] = MAX(コスト[I] [J]、コスト[I] [K] +コスト[K] [J])(1 <= iは<jの<= N、I、N < <= K <= j)は

1  空隙 minzj(INT [B 201 ] [ 201 ]、int型N)
 2  {
 3  
4      INT R = 2 ; R <= N; R ++ 5      {
 6          のためのint型 i = 1 ; iが= N-R + < 1 ; iは++ 7          {
 8              のint J = I + R- 1 9              int型 K = iは+ 1、K <Jあり、k ++ 10              {
 11                 INT T = B [i]は[K] + B [k]は[J]。
12                  であれば(T < [I] [J] B)
 13                  {
 14                      B [i]が[j]が= Tと、
15                  }
 16              }
 17          }
 18      }
 19 }

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

少しファジー動的なプログラミングを学ぶために。

 

おすすめ

転載: www.cnblogs.com/lycsuper/p/11787960.html