首页 >
动态规划
✍ dations ◷ 2025-01-22 22:58:33 #动态规划
动态规划(英语: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和数组声明)
相关
- 大脑大脑(英语:Cerebrum),由左右两个大脑半球组成。将两个半球隔开的是称为大脑纵隔的沟壑,两个半球除了胼胝体相连以外完全左右分开。半球表面布满脑沟,沟与沟之间所夹细长的部分称为
- 甲状腺功能亢进甲状腺功能亢进症(Hyperthyroidism),又称甲状腺机能亢进症,简称甲状腺亢进、甲亢,是一种由于体内过量的三碘甲腺原氨酸(T3)和 四碘甲腺原氨酸(T4,也即甲状腺素)造成的临床症状。而甲状
- 污染物排放控制污染物排放控制基本从三个方面开发:第一种方法是目前最常用的方法,但需要投入并没有经济效益,采取这种方法肯定会增加生产成本,降低产品竞争力,一般污染物排放单位不会自动处理,必
- 象形字象形文是根据构字方式而划分的一种汉字。六书中的一项,属于“独体造字法”。 六书有四个基本法则:象形、指事、会意、形声;两种补充法则:转注、假借。 许慎《说文解字》云:“象形
- 字母间距字符间距(英语:Letterspacing,也称英语:Tracking)简称字距,在字体排版学中指的是字符之间的空隙,该属性影响文本行或文本块的密度。字符间距容易与字距调整混淆。CSS(层叠样式表)中,wo
- 肾皮质肾皮质(Renal cortex)是肾的外层部分,介于肾鞘膜和肾髓质的中间部分。成人的肾皮质形成连续的光华的外层区域,其间有一些突起肾柱(renal column),延伸至肾锥体(renal pyramid)。它包
- 线粒体基质1 线粒体外膜 2 膜间隙5 内层11 线粒体 DNA 12 基质颗粒 13 核糖体 14 ATP 合酶 15 孔蛋白线粒体基质是线粒体中由线粒体内膜包裹的内部空间,其中充满无定形液体,含有参与三
- 四号德尔塔-4运载火箭是德尔塔系列运载火箭的一个型号,由波音综合国防系统集团(IDS)设计,由位在阿拉巴马州迪凯特的联合发射同盟(United Launch Alliance)所建造。在最后一次位于联合
- 联胺联氨、联胺、二氮烷或.mw-parser-output ruby.zy{text-align:justify;text-justify:none}.mw-parser-output ruby.zy>rp{user-select:none}.mw-parser-output ruby.zy>rt{fo
- 无尾目无尾目(学名:Anura)是两生纲的一个目,其下生物即蛙或蟾。该目的生物成体基本无尾,卵一般产于水中,孵化成蝌蚪,用鳃呼吸,经过变态,成体主要用肺呼吸,但多数皮肤也有部分呼吸功能。无尾