Dynamic programming algorithm (Dynamic Programming)

Dynamic programming algorithm (Dynamic Programming) and related issues

1 Introduction

Dynamic programming is an effective mathematical methods to solve the multi-stage decision-making process optimization, he was raised by an American scholar Richard.bellman in 1951, an important branch of his 1957 monograph "dynamic programming" marks the advent of operational research - the birth of dynamic programming.
  
The so-called multi-stage decision refers to a class of problem, one made in each stage of multiple interrelated decision-making process of the issue decision to form a sequence of decision-making process, and these decisions are based on overall optimization of the common goal to take.

** The basic idea: **
to a more complex problem in accordance with the phasing, broken down into several smaller local problem, and then follow the recursive relationship between local problems, in order to make a series of decisions, until the entire problem to reach the best overall aims.

Dynamic programming includes three important concepts:
- optimal substructure
- the border
- the state transition equation

Solving general steps are:
1. Identify the optimal solution properties, which characterize the structural features and optimal substructure wherein;
2. recursively defined optimal value, depicts the relationship between the solution of the original problem of sub Solutions;
3 . in a bottom-up fashion calculate each sub-problem, the optimal value of the original problem, and to avoid double counting sub-problem;
4. the optimal solution obtained by calculating the optimum value information, configuration.

Using dynamic programming characteristics:
1. a seeking optimal solutions
2. big problem can be broken down into sub-problems, as well as overlapping subproblems of subproblems smaller
3. The optimal solution depends on the overall sub-optimal solutions (state transition equation)
4. from the analysis of the problem down, bottom-up solution to the problem
the problem underlying the discussion boundary

2. Related Questions

Links:
find the money question:
https://blog.csdn.net/a909301740/article/details/79940697

Longest common subsequence:
https://blog.csdn.net/mengmengdastyle/article/details/81809103

Longest increasing sequence
of the original sequence L . 1
L 2 = Sort (L . 1 ) which in ascending order
and then L 2 pair of L . 1 for the longest common subsequence
resultant longest increasing subsequence.

Set of zoning issues
the number of partitions:
https://blog.csdn.net/jiyanfeng1/article/details/39314261

Partition equilibrium:
if desired is divided into n regions
can put the problem into S / n knapsack problem solving then regional
Reference:
https://blog.csdn.net/sinat_36246371/article/details/52914049

Edit distance problem (Edit Distance)
http://www.cnblogs.com/littlepanpc/p/7895810.html

other problems:

  1. https://blog.csdn.net/mengmengdastyle/article/details/81809103
  2. https://www.cnblogs.com/wuyuegb2312/p/3281264.html#q1
Released eight original articles · won praise 5 · Views 3410

Guess you like

Origin blog.csdn.net/G1011/article/details/89761828