首页 >
动态规划
✍ dations ◷ 2025-09-16 14:15:19 #动态规划
动态规划(英语:Dynamic programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构(英语:Optimal substructure)性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问题的解以得出原问题的解。通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量:一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。这种做法在重复子问题的数目关于输入的规模呈指数增长时特别有用。动态规划在查找有很多重叠子问题的情况的最优解时有效。它将问题重新组合成子问题。为了避免多次解决这些子问题,它们的结果都逐渐被计算并被保存,从简单的问题直到整个问题都被解决。因此,动态规划保存递归时的结果,因而不会在解决同样的问题时花费时间。动态规划只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能够分解成子问题来解决。背包问题作为NP完全问题,暂时不存在多项式时间算法。动态规划属于背包问题求解最优解的可行方法之一。此外,求解背包问题最优解还有搜索法等,近似解还有贪心法等,分数背包问题有最优贪心解等。
背包问题具有最优子结构和重叠子问题。动态规划一般用于求解背包问题中的整数背包问题(即每种物品所选的个数必须是整数)。
解整数背包问题:
设有
n
{displaystyle n}
件物品,每件价值记为
P
i
{displaystyle P_{i}}
,每件体积记为
V
i
{displaystyle V_{i}}
,用一个最大容积为
V
max
{displaystyle V_{text{max}}}
的背包,求装入物品的最大价值。
用一个数组
f
[
i
,
v
]
{displaystyle f}
表示取
i
{displaystyle i}
件商品填充一个容积为v的背包的最大价值,显然问题的解就是
f
[
n
,
V
max
]
{displaystyle f}
。f
[
i
,
v
]
=
{
f
[
i
−
1
,
v
]
,
v
<
V
i
max
{
f
[
i
−
1
,
v
]
,
f
[
i
−
1
,
v
−
V
i
]
+
P
i
}
,
v
≥
V
i
0
,
i
v
=
0
{displaystyle f={begin{cases}f,v<V_{i}\max{f,f+P_{i}},vgeq V_{i}\0,iv=0\end{cases}}}对于特例01背包问题(即每件物品最多放1件,否则不放入)的问题,状态转移方程:f
[
i
,
v
]
=
{
f
[
i
−
1
,
v
]
,
v
<
V
i
max
{
f
[
i
−
1
,
v
]
,
f
[
i
−
1
,
v
−
V
i
]
+
P
i
}
,
v
≥
V
i
0
,
i
v
=
0
{displaystyle f={begin{cases}f,v<V_{i}\max{f,f+P_{i}},vgeq V_{i}\0,iv=0\end{cases}}}参考Pascal代码参考C++代码(不含include和数组声明)
相关
- 心胸外科手术胸腔外科学或称心胸肺外科(英语:Cardiothoracic Surgery),是一门医学专科,专门研究胸腔内器官,包括心脏、肺、气道与呼吸系统、胸壁、纵隔、膈肌和食道等,以及这些器官与部位的诊断
- DICOM医疗数位影像传输协定(DICOM,Digital Imaging and Communications in Medicine)是一组通用的标准协定,在对于医学影像的处理、储存、打印、传输上。它包含了档案格式的定义及网
- 少子化少子化是指生育率降低,老人人口高达7%是高龄化社会,造成幼年人口比例逐渐减少的现象。少子化代表着未来劳动人口可能逐渐变少,对于社会结构、经济发展等各方面都会产生重大影响
- 电阻抗阻抗(electrical impedance)是电路中电阻、电感、电容对交流电的阻碍作用的统称。阻抗是一个复数,实部称为电阻,虚部称为电抗;其中电容在电路中对交流电所起的阻碍作用称为容抗,电
- 淋巴管平滑肌增生淋巴管平滑肌增生(英文:Lymphangioleiomyomatosis,通称:LAM),或称淋巴管平滑肌瘤、肺淋巴管肌瘤,是一种罕见、进行性、系统性疾病,通常发展为囊肿导致的肺功能丧失。LAM主要影响女性
- 阿纳帕阿纳帕(俄语:Ана́па)是俄罗斯克拉斯诺达尔边疆区的一个城市,是黑海沿岸的渡假胜地。2002年人口53,493人。阿纳帕交通设施有阿纳帕机场、火车站,一座小吨数轮船停靠之国际海
- 心理统计学心理统计学是统计学方法在心理学以及教育学测量领域的应用。它的目的是测量人的能力、知识、态度、性格特征等,并且发展相应的工具。在心理统计学早期的理论和应用之中,重点集
- 资讯技术信息技术(英语:Information Technology,缩写:IT)也称信息和通信技术(Information and Communications Technology,ICT),是主要用于管理和处理信息所采用的各种技术总称,主要是应用计算
- 皮肤划痕症皮肤划痕症,又称为人工荨麻疹,是皮肤病的一种,通常患者也有湿疹,属于荨麻疹的一种类型。常见的皮肤划痕症有两种,分别是“单纯性皮肤划痕症”和“症状性皮肤划痕症”。“单纯性
- 景观流行病学景观流行病学是研究疾病与环境因素之间的关系的科学。类似景观生态学, 景观流行病学通过分析风险模型和环境风险因素,来控制疾病的传播。1996年,叶甫根尼·帕夫洛夫斯基提出了